پایان نامه بررسي و شبيه سازي عملكرد كنترلر CAN با استفاده از زبان توصيف سخت افزاري BVHDL
مقدمه
در دو دهه گذشته پيشرفت روز افزون علم الكترونيك تحولات شگرفي را در كار آمدي سطوح فناوري باعث گرديده است به شكلي كه اين روند رو به افزايش در عرصه هاي گوناگون از قبيل ارتباطات، پزشكي، اتوماسيون، نظامي و … كاملا مشهود است.
به عنوان نمونه در اتوماسيون صنعتي و روباتيك واحدهاي الكترونيكي كه بخش مهمي از سيستم بشمار مي روند توانسته اند بهره وري سيستم را فزوني بخشند. از مسايل مطرح در اين زمينه مي توان طراحي و پياده سازي شبكه هاي صنعتي را نام برد . از جمله اين شبكه ها، (Control Area Network) CAN ، شبكه Profibus و شبكه Ethernet هستند. كه هر يك از اين شبكه ها در زمينه خاصي كاربرد دارند.
در شبكه هاي فوق و از جمله شبكه كنترل محلي (CAN) نياز به تراشه هاي كنترل شبكه است كه از نوع تراشه هاي خاص بوده و انواع متفاوتي از آنها توسط كمپانيهاي سازنده به بازار عرضه شده اند. يكي از اين محصولات تراشه 82527 اينتل مي باشد كه مورد توجه طراحان شبكه هاي كنترل محلي قرار گرفته است.
از ديگر ابداعات علم الكترونيك كه امروزه كاربرد فراوان دارد طراحي و پياده سازي مدارهاي ديجيتال و پردازنده هاي با كاربرد خاص بر روي تراشه هاي قابل برنامه ريزي است. از مزاياي مهم اين نوع پيادهسازي مدارات ديجتال، طراحي مدارهاي با قابليت پيكربندي مجدد بر اساس خواست طراح است.
علاوه بر اين در صورتي كه تهيه يك تراشه با كاربرد خاص بنا به دلايل گوناگون از جمله عدم انتقال تكنولوژي مشكل باشد با داشتن مشخصات كاري آن تراشه به اين روش مي توان تراشه مورد نظر را بر روي تراشه هاي قابل برنامه ريزي پياده سازي نمود.
در اين پروژه با استفاده از يكي از زبانهاي توصيف سخت افزاري و تراشه هاي قابل برنامه ريزي به طراحي و پياده سازي تراشه 82527 ( كنترلر گذرگاه CAN ) اقدام شده است. در عين حال اصلاحاتي نيز در عملكرد اين تراشه لحاظ شده كه كار آيي آنرا بهبود مي بخشد. در ادامه اين فصل ابتدا به معرفي گذرگاه CAN مي پردازيم. پس از آن مروري بر تراشه هاي قابل برنامه ريزي و در انتها هم مروري بر زبانهاي توصيف سخت افزاري خواهيم داشت.
در فصل دوم مروري بر برخي از پياده سازيها در ارتباط با طراحي و اصلاح پردازنده هاي عمومي و نيز پياده سازي پردازشگرهاي سيگنال ديجيتال خواهيم داشت. در فصل سوم يكي از پر كاربردترين كنترلرهاي گذرگاه CAN و پروتكلهاي ارتباطي در اين شبكه را معرفي خواهيم نمود.در فصل چهارم به معرفي يكي از زبان هاي توصيف سخت افزار كه در اين پروژه مورد استفاده قرار گرفته است مي پردازيم. در فصل پنجم به پياده سازي كنترلر معرفي شده مي پردازيم. در انتها نتايج حاصل از پياده سازي را نشان خواهيم داد و به جمع بندي خواهيم پرداخت.
1-2- معرفي CAN
شبكه كنترل محلي (Control Area Network) براي كنترل سيم بندي هاي ساده تا شبكه هاي پيچيده قابل استفاده بوده و از جمله موارد كاربرد اين شبكه را مي توان سيستمهاي اتوماسيون صنعتي، وسائل و تجهيزات پزشكي، صنايع خودرو، هواپيما، كشتي سازي و … را نام برد.
به عنوان مثال در اتومبيل هاي پيشرفته مانند مرسدس بنز براي متصل نمودن و در عين حال مديريت بر واحدهاي الكترونيكي بخشهاي مختلف از قبيل موتور، درها، نمايشگرها و … اين شبكه استفاده مي شود. در صنايع حمل و نقل ريلي مثل قطار و مترو نيز اين شبكه براي كنترل اجزا مختلف سيستم مورد استفاده قرار مي گيرد.
استانداردهاي گوناگون با سرعتهاي متفاوت كه بر اساس قواعد CAN عمل مي نمايند وضع گرديده است و هر يك از صنايع استفاده كننده از شبكه كنترل محلي يكي از اين استانداردها را بكار مي برند استفاده مي نمايند.
در اين شبكه ارتباطات بين بخشهاي مختلف به صورت سريال مي باشد و اتصال اجزاي مختلف اين شبكه توسط گذرگاه سريالي كه از پروتكلهاي استاندارد CAN پيروي مي كند صورت مي گيرد.
بخشهاي مختلف اين شبكه عبارتند از :
يك كنترلر شبكه، يك ميكروكنترلر يا ميكروپروسسور و تعداد لازم فرستنده – گيرنده پيام (Transciver) و ايزوله كننده هاي نوري (Opto cupler).
ميكروكنترلر به منظور راه اندازي و فرمان دادن به كنترلر شبكه بكار گرفته مي شود. در بعضي از شبكههاي بزرگ بيشتر از يك كنترلر وجود دارد. شكل هاي (1-1) تا (1-3) نحوه اتصال اجزا مختلف اين شبكه را نشان مي دهند.
تراشه هاي كنترلر زيادي از شركتهاي سازنده نيمه هادي به بازار عرضه شده است. به عنوان نمونه تراشه هاي 82526 و 82527 از شركت اينتل تراشه 82200 از كارخانه فيليپس از جمله تراشه هاي كنترلر عرضه شده مي باشند. كنترلر 82527 در صنعت كاربرد بيشتري دارد زيرا اين تراشه از بقيه كاملتر است. از دلايل ديگر كاربرد اين تراشه شركت سازنده آن است، به دليل اينكه محصولات شركت اينتل در ايران رايج تر مي باشد.
كنترلر شبكه توسط گذرگاه سريال (CAN Bus) اطلاعات لازم را از گره هاي شبكه (فرستنده – گيرنده ها) دريافت نموده و در صورت لزوم در اختيار پردازنده سيستم قرار مي دهد. همچنين با توجه به فرامين پردازنده سيستم پيامهائي را به گره هاي شبكه ارسال مي كند.
تاريخچه تكامل شبكه كنترل محلي (CAN)
استفاده از شبكه داخلي در وسائط نقليه توسط شركت بوش (1983).
تصويب و معرفي قواعد مربوط گذرگاه CAN (1986).
ساخت و ارائه نخستين كنترلر گذرگاه CAN (1987).
تصويب و ارائه نسخه دوم قواعد ارتباطات در گذرگاه CAN توسط شركت بوش (1991).
معرفي پروتكل (قواعد) لايه هاي بالائي در شبكه مذكور (1991).
تشكيل و معرفي هيات كاربران CiA (CAN in Automation) (1992).
ارائه قواعد مربوط به لايه كاربردي شبكه توسط CiA(1992).
توليد اولين اتومبيل از كارخانه مرسدس بنز كه از CAN استفاده نمود(1992).
تصويب استاندارد ISO 11989 مربوط به CAN (1993).
برگزاري اولين كنفرانس CAN توسط انجمن CiA (1994).
ارائه اصلاحات استاندارد ISO 11898 (1995)..
توسعه قواعد ارتباطات در CAN (2000). [1] [2] [3] [4] [5].
1-3- مقدمه اي بر تراشه هاي قابل برنامه ريزي
مدارهاي مجتمع با كاربرد خاص ASIC (Application Specific Integrated Ciccuits) به سه دسته تقسيم مي شوند:
الف – مدارهاي كاملا خاص Full Custom .
ب- مدارهاي نيمه سفارشي Semi – Custom .
ج- مدارهاي قابل برنامه ريزي PLD و Gate Array .
در مورد اول طرح مدار در حد گيت ها و ترانزيستورها توسط نرم افزارهاي شبيه سازي آماده شده و تست مي گردد. اين مشخصات در اختيار سازنده قرار مي گيرد و سازنده اين طرح را به صورت ترانزيستوري در آورده و آن را بر روي سطح سيليكون خام پياده مي نمايد.
در مورد دسته ب همانند حالت قبل مدار با كمك نرم افزار ويژه طراحي شده و سپس نتيجه طراحي جهت ساخت در اختيار سازنده قرار مي گيرد با اين تفاوت كه اين بار مدار بر روي تراشه هاي نيمه خام گيت ها مثل AND و OR يا مدارهاي ديگر بر روي آنها از قبل ايجاد گرديده و فقط اتصالات بين آنها وجود ندارد كه اينها اتصالاتي هستند كه با توجه به طرح مشتري بر روي تراشه ايجاد مي گردند. يك نمونه اين مدارها Gate Array مي باشد.
مدارهاي قابل برنامه ريزي آنهائي هستند كه بر خلاف دسته اول ساخت آنها در كارخانه سازنده و قسمتهاي تكميلي آن توسط خود مشتري انجام مي شود در صورتيكه در مدارهاي نيمه خام و قسمت آخر يعني ايجاد اتصالات توسط سازنده انجام گرفته و تنها قسمت مياني يعني طراحي اتصالات توسط مشتري قابل انجام است. مدارهاي قابل برنامه ريزي شامل انواع PLA ، FPGA و حتي PROM ، EPROM نيز مي شوند.
تراشه هاي PGA در دو دهه گذشته محبوبيت زيادي كسب نموده اند. در اين تراشه ها هيچ نوع الگوي ارتباطي از قبل تعيين شده اي وجود ندارد و بنابراين طراح آزادي كامل در جهت ايجاد اين اتصالات را دارد. بر اساس نوع برنامه ريزي اين تراشه ها در دو دسته تقسيم بندي مي شوند :
الف- نوعي كه وارد كردن برنامه در آنها بايستي در كارخانه سازنده انجام گيرد Masked PGA .
ب- تراشه هاي قابل برنامه ريزي در محل .
FPGA از لحاظ نوع ساختار ساده ترين و قديميترين آنها شامل ماتريسي ازNAND يا NOR هاي دو وروي مي باشد. در تراشه هاي دسته (الف) همانند دسته (ب) بخش اول كار يعني ساخت تراشه يا مرحله ايجاد اتصالات در كارخانه سازنده انجام مي شود سپس طراح با توجه به طرح خود ارتباط بين دريچه ها را تعيين نموده و پس از شبيه سازي مدار و اطمينان از عملكرد صحيح آن اطلاعات مربوط به اتصالات مورد نظر را به صورت يك برنامه كامپيوتري تحويل كارخانه سازنده مي دهد تا ماسكهاي مورد نيز تهيه گشته و بقيه مراحل تا پايان كار و تكميل ساخت تراشه توسط سازنده انجام پذيرد در دسته (ب) بخش ايجاد اتصالات هم توسط كاربر و با كمك دستگاه برنامه ريزي ويژه در محل كار طراح قابل انجام است و احتياج به مراجعه به سازنده براي انجام اين كار نيست.
بايستي توجه داشت كه دسته (ب) در ازاي داشتن اين مزيت اين نقطه ضعف را نيز دارد كه بخش مهمي از سطح سيليكون براي ايجاد امكانات برنامه ريزي در محل استفاده شده است. بنابراين در نوع اخير از درصد كمتري از سطح سيليكون براي ايجاد اصل مدار استفاده مي شود.يكي از نقاط ضعف عمده تراشههاي Masked PGA در آن است كه اگر اشكالي پس از اتمام كار در تراشه ساخته شده كشف شود در آن صورت تمام مراحل تهيه ماسك و ايجاد اتصالات توسط سازنده بايستي دو مرتبه از ابتدا تكرار گردند اين موضوع هزينه جبران اشتباه را خيلي بالا مي برد نكته ديگري كه در استفاده از اين نوع تراشه بايستي در نظر داشت اين است كه تعداد تراشه مورد نياز بايد انقدر زياد باشد كه جبران هزينه هاي توليد ماسك و غيره را بنمايد. همچنين زمان قابل ملاحظه براي انجام اين مراحل را توسط كارخانه سازنده نيز بايستي در نظر داشت.
نمونه اي از موارد كاربرد تراشه هاي FPGA :
– رمز گذاري و رمز گشايي داده ها .
– پردازنده هاي محاسباتي.
– پردازنده هاي تصويري و صوتي ( فشرده سازي، بازسازي، فيلتر و ….)
– كنترلرهاي گذرگاه هاي CAN ، PCI و … [6] [7]
1-4- مروري بر زبان هاي توصيف سخت افزاري
HDL (Hardware Description Language) روش توسعه يافتهاي از توصيف رفتار سيستمهاي منطقي به وسيله روابط منطقي است. اين زبان ها بسياري از مشخصه هاي روابط منطقي و روابط حالت را در درون خود دارند. در اين قسمت، بيشتر تمركز ما بر روي VHDL است.
VHDL(VHSIC(Very High Speed Integrated Circuit)Hardware Description Language)
امروزه اين زبان به عنوان استاندارد صنعتي MIL SID 454L معرفي شده است و تمامي طرح هاي ASIC مربوط به وزارت دفاع آمريكا بايد طبق اين زبان استاندارد نوشته شوند.
اين زبان به عنوان قسمتي از پروژه VHSIC (مدارهاي مجتمع با تكنولوژي مشخصي، تعريف و شبيه سازي نمود. زماني كه يك مدار منطقي بوسيله اين زبان تعريف مي گردد، مي توان ان را به هر پروسه منطقي و يا بر روي ماژول هاي طراحي شده توسط هر يك از توليد كننده هاي ابزارهاي منطقي انتقال داد. (VHSIC HDL) VHDL يك سيستم منطقي را به صورت ساختار بالا به پايين توصيف مي كند.
براي بدست آوردن توصيفي از يك سيستم به صورت ساختار بالا به پايين، سيستم را به صورت مجموعه اي از زير سيستم ها تقسيم مي كنيم كه بوسيله يك سري رابط به هم متصل مي گردند. هر يك از زير سيستم هاي بالايي را مي توان به توابع و زير سيستم هاي كوچكتر تقسيم كرد. اين عمل همچنان ادامه مي يابد تا به پايين ترين سطح از سيستم دست بيابيم كه در اين سطح هر يك از زير سيستم ها را مي توان بوسيله گيتها و بخشهاي آماده ديگر طراحي نمود.
به اين ترتيب، بدليل آنكه هر يك از طبقات اين ساختار منطقي به صورت يكتا مشخص شده اند.
هر يك از آنها را مي توان به تنهايي شبيه سازي نمود و تابع منطقي اجرا شده بوسيله آنها را آزمايش كرده و خطاهاي احتمالي را بر طرف نمود. ابتدا صحت عملكرد پايين ترين طبقه اين سيستم را آزمايش كرده و با تركيب زير سيستم هاي پايين تر به زير سيستم هاي پيچيده تر مي رسيم تا جاييكه به طرح سيستم مورد نظر كه در بالاترين طبقه اين ساختار وجود دارد برسيم.
پس از انجام اين عمل، به مرحله تركيب مي رسيم كه در آن كل طرح را پياده كرده و سپس براي بدست آوردن پارامترهاي زماني آن، عمل شبيه سازي را انجام مي دهيم. [7]
1-5- نرم افزارهاي طراحي تراشه هاي FPGA
از جمله شركتهاي فعال در زمينه نرم افزارهاي طراحي تراشه هاي FPGA مي توان از ALTERA نام برد كه عرضه كننده مجموعه نرم افزار MAXPlus مي باشد. اين مجموعه به عنوان ورودي خود توصيف مدار را به زبانهاي عمومي VHDL و Verilog HDL و يا زبان اختصاصي ALTERA يعني AHDL مي پذيرد. از بين ديگر فعالان اين زمينه مي توان از شركتهاي ACTEL ، ATMEL و Xilinx نام برد.
نقد و بررسیها
هنوز بررسیای ثبت نشده است.