این حجم از اتصالات و مدارات الکترونیکی باعث شد که
فرآیند طراحی، تولید، مونتاژ، عیبیابی و تعمیر و نگهداری خودروها بسیار
دشوارتر و پیچیدهتر از قبل شود. با ظهور میکروکامپیوترها و ECU در خودرو و
نیاز به اتصالات مختلف، این مسئله ابعاد جدیدتری نیز به خود گرفت.
ایده به کارگیری تکنولوژی مالتیپلکس
(Multiplex) را باید یکی از بهترین راهحلهای ممکن برای این مسئله دانست.
مالتی پلکسینگ (Multiplexing) موجب شد تا امکان برقراری ارتباطات مختلف و
پیچیده با رشته سیمهای محدود برقرار شود و تمامی واحدهای کنترلی در قالب
یک شبکه انتقال داده قرار بگیرند و بدین ترتیب ضمن کاهش حجم سیمکشی به
میزان قابل توجه، قابلیتهای نوینی برای مجموعه فراهم شود که پیش از این
تنها با کیلومترها سیمکشی در خودرو قابل دسترسی بود.
مالتیپلکس چیست؟
اصولا مالتیپلکسکردن بسته به نوع کاربرد، مفاهیم مختلفی دارد اما به صورت کلی مالتیپلکس کردن در مدارات الکترونیکی یعنی انتقال چندین سیگنال مختلف از یک یا چند رشته سیم مشترک و محدود. به زبان ساده با مالتیپلکس کردن میتوانیم با استفاده از یک خط مشترک، چندین سیگنال مختلف را به مقصد برسانیم بدون اینکه نیازی به رشته سیم مستقل برای هر سیگنال یا به عبارت بهتر ارتباط نقطه به نقطه وجود داشته باشد. در نتیجه مدارات ما به میزان قابل توجهی سادهتر و کمحجمتر میشود. با استفاده از مداری به اسم مالتیپلکسر (جمعکننده سیگنال) و دیمالتیپلکسر (تفکیککننده مجدد سیگنال) امکان ارسال چند پیغام در خط مشترک فراهم میشود. خط انتقال مورد نظر میتواند انواع مختلفی داشته باشد؛ از سیمهای تکرشته ساده گرفته تا اتصالات چاپی، خطوط تلفن، سیمهای کواکسیال، ارتباط رادیویی و مادون قرمز و حتی ارتباط ماهوارهای. تکنولوژی مالتیپلکس را باید یکی از فراگیرترین تکنولوژیهای امروزی دانست که تقریبا در اکثر وسایل الکترونیکی امروزی کاربرد دارد، از طراحی تراشههای الکترونیکی و مدارات مجتمع گرفته تا ساعتهای دیجیتال، کامپیوترها، انواع گجتهای هوشمند و حتی خطوط تلفن و انواع شبکههای کامپیوتری نظیر شبکه جهانی اینترنت میتوان مفهوم مالتیپلکسینگ را مشاهده کرد.
مالتیپلکسینگ در خودرو
همانطور که در ابتدا اشاره کردیم، افزایش حجم دسته سیمها و اتصالات به
کار رفته در خودروها به علت افزایش سیستمهای کنترلی مختلف و وسایل
مصرفکننده، موجب پیچیدگی و ناکارآمدی سیستمهای الکترونیکی خودروها و
دشواری فرآیند طراحی، ساخت و مونتاژ و عیبیابی آن شد.
روشهای متعددی
برای کاهش حجم دسته سیمها به کار گرفته شد مانند طراحی ماژول کنترل بدنه و
گردآوری تمام سیستمهای کنترلی پراکنده در قالب یک ECU مرکزی و طراحی
سیستم درگاه OBD جهت عیبیابی یونیتهای مختلف سیستم.
اما باید مالتی
پلکسینگ را کارآمدترین روش ممکن دانست که ضمن کاهش قابل توجه اتصالات، موجب
افزایش پویایی و کارآمدی سیستم میشود. در این روش، خودرو منطقهبندی شده و
برای هر منطقه و سیستم، یک واحد کنترل (ECU یا گره) در نظر گرفته میشود
که کنترل آن مجموعه را بر عهده دارد. با متصلکردن تمامی این واحدهای کنترل
از طریق دو رشته سیم میتوان این امکان را فراهم آورد که تمامی این
یونیتها در قالب یک شبکه با آرایش و پروتکل مشخص، اقدام به تبادل داده
کنند.
در نتیجه دیگر نیازی به بهرهگیری از صدها رشته سیم مختلف جهت
برقراری ارتباط نقطه به نقطه مابین یونیتها برای انتقال دستورات و اطلاعات
کلیدها و سنسورها نیست و تمامی اطلاعات مورد نیاز در داخل شبکه و توسط
تنها دو خط ارتباطی جریان مییابد. عموما در خودروهای مالتیپلکس، ماژول
کنترل بدنه یا BCM به عنوان مدیر و سرور شبکه در نظر گرفته میشود. در اکثر
خودروها با توجه به منطقهبندی خودرو و تنوع زیاد واحدهای کنترلی، از چند
شبکه مالتیپلکس با آرایش و پروتکل متفاوت استفاده میشود که تمامی آنها به
صورت مشترک به BCM متصل میشوند و BCM به عنوان یک درگاه یا مترجم مابین
این شبکهها عمل کرده و به صورت همزمان تمامی آنها را مدیریت میکند.
شبکههای مالتیپلکس از نظر نوع آرایش و پروتکل به کار رفته در آنها بسیار
متنوع هستند اما آرایش BUS با پروتکل CAN ا(Car Area Network) پرکاربردترین
و موفقترین نوع شبکه مالتی پلکس است که امروزه در اکثر تولیدات
خودروسازان حضور دارد.
با توجه به تنوع زیاد شبکهها از نظر نوع آرایش و
ساختار و پروتکل به کار رفته (که خود نیازمند یک نوشتار جداگانه است) و
محبوبیت زیاد شبکه CAN، در این نوشتار تنها به بررسی شبکه CAN میپردازیم.
لازم به ذکر است که پایه و اساس مکانیسم سایر شبکههای مالتیپلکس نیز چندان با شبکه CAN متفاوت نیست.
شبکه CAN:
اساس کار شبکه CAN بر مبنای ارسال پیغام در شبکه به شیوه انتشاری
(Broadcast) بدون هیچگونه آدرسدهی مشخص است. در این شبکه هر ECU یا گره
به وسیله یک کنترلر شبکه (مالتیپلکسر) به شبکه متصل شده و آرایش اتصال نیز
به صورت BUS است؛ یعنی ECUها به صورت جداگانه به خطوط گذرگاه متصل
شدهاند. هر ECU در شبکه دارای یک سری پایه ورودی یا
Input و خروجی یا
output است که از طریق آن به خطوط BUS متصل شده است. هنگامی که یک گره یا
ECU میخواهد پیغامی را در شبکه ارسال کند، محتوای مورد نظر خود را (که
میتواند شامل اطلاعات یک سنسور یا فعالشدن یک کلید باشد) تحویل
کنترلکننده شبکه خود میدهد. کنترلکننده شبکه یا مدار مالتیپلکسر شامل
یک مدار تولیدکننده فرکانس، یک مجموعه کنترلکننده پروتکل و یک مدار
ترانسیور (فرستنده و گیرنده) است.
پیغام مورد نظر ECU که قرار است در
شبکه ارسال شود، توسط پردازنده خود ECU تولید شده و به کنترلکننده پروتکل
(در اینجا کنترلکننده CAN) میرسد. کنترلکننده پیغام دریافتی را روی یک
فریم اطلاعاتی منطبق بر استاندارد CAN قرار داده و با توجه به مفهوم و درجه
اهمیت پیغام، آن را شناسهگذاری (برچسبگذاری) میکند و تحویل تراشه
ترانسیور میدهد. در فریم اطلاعاتی تولیدشده استانداردهای زیادی جهت
جلوگیری از تداخل اطلاعات، شناسه مفهوم و اولویت پیغام به صورت کدهای
باینری (دستگاه اعداد مبنای 2) و هگزادسیمال (دستگاه اعداد مبنای 16) تعریف
میشود. نهایتا پیغام تولید شده به شیوه دیفرانسیلی (تفاضلی) در خطوط شبکه
ارسال میشود. علت این شیوه ارسال، کاهش اثرات نویز در خطوط است چون در
حالت دیفرانسیلی، خود سیگنالهای پیغام و معکوس آن در دو خط شبکه به جریان
درآمده و میدانهای مغناطیسی تولیدشده را خنثی میکند.
همچنین در
صورت بروز قطعی در یکی از خطوط، ارتباط از دست نمیرود. همانطور که در
ابتدا گفتیم در شبکه CAN آدرسدهی خاصی وجود ندارد بنابراین هنگامی که
پیغامی توسط ترانسیور یک ECU ارسال میشود، تمامی ECUهای متصل به شبکه به
طور همزمان پیغام را مشاهده میکنند، یعنی پیغام انتشار یافته یا
Broadcast شده است. اما از آنجایی که محتوای پیغام برچسبگذاری شده، تنها
ECUهایی اقدام به دریافت و خوانش پیغام میکنند که متوجه شوند اطلاعات
پیغام مورد نظر به آنها مربوط است.
سایر ECUها که نیازی به پیغام
صادرشده ندارند، صرفا ناظر شبکه هستند تا زمانی که پیغام مربوط به آنها
صادر شود و یا خودشان بخواهند پیغامی را صادر کنند. هنگامی که ECU صرفا
ناظر است و نیازی به تحلیل و پردازش اطلاعات دریافتی ندارد، به صورت
Input/output عمل کرده و محتوای دریافتی را نادیده گرفته و مجددا تحویل
شبکه میدهد. مسئله شناسهگذاری پیغام در روش انتشاری اهمیت بسیار بالایی
دارد چرا که بدین صورت هنگامی که ECU سیستم سوخترسانی اطلاعات سرعت خودرو
را در شبکه ارسال میکند، به عنوان مثال ECU سیستم تهویه متوجه میشود که
نیازی به این اطلاعات ندارد و تنها اطلاعات مورد نظر برای یونیتی نظیر
یونیت صفحه کیلومترشمار لازم است.
یکی از مشکلاتی که در شبکههای
انتشاری وجود دارد مسئله داوری حق تقدم ارسال پیغام است. در یک شبکه
انتشاری نظیر شبکه CAN، تمامی ECUها مستر هستند یعنی قادر به تولید فریم
اطلاعاتی و ارسال و دریافت پیغام هستند. هنگامی که یک ECU میخواهد پیغامی
را در شبکه ارسال کند، مشکل خاصی وجود ندارد اما مشکل داوری و حق تقدم
هنگامی ایجاد میشود که چند ECU به طور همزمان قصد اشغال BUS و مخابره
پیغام را داشته باشند.
برای حل این مشکل، از فرایند دستیابی چندگانه به
مسیر استفاده میشود. هر ECU که بخواهد پیغامی را مخابره کند، ابتدا صبر
میکند که شبکه ساکت شود و بعد از آنکه کنترلکننده شبکه آن ECU اختیار BUS
را به دست گرفت، با ارسال یک بیت به مفهوم آغاز پیغام، شروع به
سنکرونکردن (هماهنگکردن) اطلاعات جهت شروع ارسال کرده و سایر ECUها ساکت
میشوند. هنگامی که چند ECU به طور همزمان بخواهند شبکه را به دست بگیرند و
بیت سنکرون برای آغاز پیغام ارسال کنند، خطای برخورد رخ میدهد. در این
حالت فرآیند داوری جهت دستیابی چندگانه به شبکه انجام میشود و اجازه ارسال
پیغام در ابتدا به ECUهایی داده میشود که شناسه پیغام آنها اولویت
بالاتری داشته باشد. به عنوان مثال، دستور روشنشدن چراغهای جلو در اولویت
پایینتری از فرمان فعالشدن فن رادیاتور قرار میگیرد و بنابراین ابتدا
پیغام فن رادیاتور ارسال شده و سپس پیغام چراغ جلو ارسال میشود. البته با
توجه به سرعت انتقال داده در شبکه CAN که میتواند تا مرز یک مگابیت بر
ثانیه برسد، تاخیری در ارسال دستور هنگام فرایند داوری از جانب سرنشینان
خودرو حس نمیشود.
یکی دیگر از قابلیتهای شبکه CAN و عموم شبکههای مالتیپلکس، قابلیت کشف خطا هنگام فعالیت و رفع آن تا حد امکان است.
به عنوان مثال، اگر مشکلی در خطوط BUS رخ داده یا یکی از آنها قطع شود،
سیستم از حالت ارسال دیفرانسیلی به حالت غیردیفرانسیلی یا انتقال موازی
رفته و از خطوط سالم باقیمانده استفاده میکند. در شبکه CAN با توجه به
ساختار انتقال داده انتشاری، برای اینکه ECUها از اتصال به شبکه اطمینان
داشته باشند هنگام دریافت پیغام، دریافت آن را تایید کرده و تاییدیه خود را
به ECU فرستنده ارسال میکنند. هر پیغامی که در شبکه ارسال میشود، باید
حتما مورد تایید تمامی ECUهای متصل به شبکه قرار بگیرد.
اگر یک ECU
اطلاعات نامربوط و اشتباه بفرستد، در صورت کشف خطا توسط سایرین، اعلام خطا
در شبکه رخ داده و درخواست ارسال مجدد صورت میگیرد. اگر چندین بار پیاپی
در ارسال پیغام اشتباهی رخ دهد، ECU مسئول از شبکه به نوعی اخراج شده و
دیگر اجازه دستیابی به BUS به آن داده نمیشود.
در یک جمعبندی نهایی
باید گفت که استفاده از تکنولوژی مالتیپلکس با وجود پیچیدگی و گستردگی
زیاد مباحث تئوری آن، موجب سادگی سختافزاری و حجم سیمکشیها و اتصالات
خودروهای امروزی شده و در عین حال کارایی و هوشمندی سیستم و امکان
پیادهسازی تجهیزات و امکانات جدید را افزایش داده است.