کتابخانه

دانلود کتاب، جزوه، تحقیق | مرجع دانشجویی

کتابخانه

دانلود کتاب، جزوه، تحقیق | مرجع دانشجویی

مقاله118-بررسی و شبیه سازی عملکرد کنترلر CAN تعداد 86ص

 

 

فهرست

 

عنوان

صفحه

چکیده

 

فصل اول – مقدمه

1-1- مقدمه

1-2- معرفی CAN

1-3- مقدمه ای بر تراشه های قابل برنامه ریزی

1-4- مروری بر زبان های توصیف سخت افزاری

1-5- نرم افزارهای طراحی تراشه های FPGA

1

 

2

3

4

6

8

9

 

فصل دوم – مروری بر کارهای انجام شده

2-1- مقدمه

2-2- میکروکنترلر مقاوم شده در برابر تشعشع

2-3- کانولوشن کننده های (Convolelrs) دو بعدی

2-4- فیلترهای دیجیتال

2-4-1- فیلترهای با پاسخ ضربه محدود (FIR)

2-4-2- فیلترهای با پاسخ ضربه نامحدود (IIR)

2-4-3- فیلترهای Wavelet متقارن

2-5- تبدیل کسینوسی گسسته و معکوس آن (IDCT,DCT)

2-6- مبدلهای فضای رنگی ()

2-7- مدولاتور دیجیتال

2-8- کنترلر گذرگاه USB

2-9- کنترلر گذرگاه PCI

2-10-کد کننده گفتار ITU-T G.723.1

2-11- کد کننده ها کدفایر

2-12- پیاده سازی سخت افزاری الگوریتم های سطح بالای پردازش تصویر

با استفاده از پیکر بندی جزئی FPGA در زمان اجرا

2-13- مترجم های زبان های سطح بالا به زبان VHDL

2-14- پیاده سازی یک پردازشگر تصویر قابل پیکر بندی مجدد

2-15- جمع بندی

 

10

11

11

14

15

15

17

18

19

19

20

21

23

24

24

25

 

26

28

29

 

فصل سوم – کنترلر گذرگاه CAN

3-1- مقدمه

3-2- پایه های تراشه کنترلر CAN

3-3- بررسی سخت افزار کنترلر CAN

3-3-1- شمارنده های خطا در کنترلر CAN

3-3-2- ثبات های کنترل

3-3-2-1- ثبات فعال کننده وقفه ها

3-3-2-2- ثبات وضعیت

3-3-2-3- ثبات واسط CPU

3-3-2-4- ثبات پیکربندی گذرگاه

3-3-2-5- ثبات CIK out

3-3-3- واحد زمان بندی بیت

3-3-3-1- سرعت نامی نرخ بیت

3-3-3-2- ثبات صفر زمان بندی بیت

3-3-3-3- ثبات یک زمان بندی بیت

3-3-4- ثبات ماسک توسعه یافته و استاندارد

3-3-5- بسته های پیام

3-3-5-1- میدان کنترل

3-3-5-2- میدان داوری یا شناسه

3-3-5-3- میدان داده

3-3-5-4- میدان ترکیب بندی

3-3-6- ثبات وقفه

3-4- دریافت و ارسال پیام

3-4-1- انواع فریم های اطلاعات قابل مبادله بین گره ها و کنترلر

3-4-1-1- فریم داده

3-4-1-2- فریم دور

3-4-1-3- فریم خطا

3-4-1-4- فریم اضافه بار

3-4-2- بررسی کدهای خطا در تبادلات کنترلرCAN

 

 

31

32

33

34

34

36

36

37

38

38

39

40

40

41

41

42

42

42

45

45

45

45

46

46

46

48

48

49

50

 

فصل چهارم – خلاصه ای از خصوصیات اصلی زبان VHDL

4-1- مقدمه

4-2- شی (object)

4-3- عملگرهای زبان VHDL

4-4- توصیف کننده های یک مولفه

4-5- ساختارهای همزمانی و ترتیبی

4-6- روشهای توصیف سخت افزار

4-6-1- روش توصیف ساختاری

4-6-2- روش توصیف فلوی داده (Data Flow)

4-6-3- روش توصیف رفتاری

4-7- کد نویسی قابل سنتز

4-8- جمع بندی

51

52

52

52

53

55

55

56

57

58

59

60

 

فصل پنجم – پیاده سازی کنترلر گذرگاه CAN

5-1- مقدمه

5-2-ثبات ارسال و دریافت پیام در کنترلر

5-3- ثبات ماسک

5-4- سیستم مقایسه شناسه ها

5-5- افزایش تعداد بسته های پیام

5-6- واحد محاسبه کننده کد CRC

5-7- دیاگرام پایه های کنترلر طراحی شده و پیاده سازی دیکودر آدرس

5-8- نرم افزار مورد استفاده در پیاده سازی کنترلر CAN

5-9- جمع بندی

 

 

61

62

62

63

64

66

67

72

73

73

فصل ششم – نتایج و جمع بندی

6-1- مقدمه

6-2- نتایج حاصل از تست وضعیتهای مختلف کنترلر

6-3- نتایج حاصل از تست واحد CRC توسعه یافته

6-4- نتایج حاصل از تست stuff bit

6-5- ارسال فریم خطا

6-6- بررسی وضعیت پایه فرکانس خروجی CLK out

6-7- بررسی عملکرد حالت Sleep , pwd

6-8- نتایج مربوط به پیاده سازی سخت افزار روی تراشه

6-9- نتیجه گیری و پیشنهادات برای ادامه کار

مراجع

74

75

75

78

80

82

83

84

85

86

I

 

چکیده

یکی از موضوعات مطرح در اتوماسیون صنعتی و روباتیک تبادل اطلاعات بین اجزاء شبکه مانند CPU و فرستنده و گیرنده هایی است که نظارت و کنترل اجزاء یک سیستم را بعهده دارند از جمله زیر ساختهای لازم برای تبادل اطلاعات وجود شبکه ها و گذرگاه های تعریف شده و استاندارد برای اتصال اجزاء یک سیستم اتوماسیون صنعتی است شبکه کنترل محلی (CAN-Control Area Network) و گذرگاه آن مدتی است که در سیستمهای صنعتی مورد استفاده قرار گرفته است و تراشه های متعددی با عنوان کنترلر گذرگاه CAN مورد استفاده قرار می گیرد یکی از این محصولات تراشه 82527 اینتل می باشد که اخیرا مورد توجه طراحان شبکه های کنترل محلی قرار گرفته است .

از ابداعات جدید علم الکترونیک که امروزه کاربرد روزافزونی یافته است طراحی و پیاده سازی مدارهای دیجیتال و پردازنده های با کاربرد خاص بر روی تراشه های قابل برنامه ریزی FPGA است از مزایای مهم این نوع پیاده سازی طراحی مدارهای با قابلیت پیکربندی مجدد بر اساس خواست طراح است .

علاوه بر این در صورتی که تهیه یک تراشه با کاربرد خاص بنا به دلایل گوناگون از جمله عدم انتقال تکنولوژی مشکل باشد با داشتن و مشخصات کاری آن تراشه به این روش می توان تراشه مورد نظر را بر روی تراشه های قابل برنامه ریزی پیاده سازی نمود.

در این پروژه با استفاده از زبان توصیف سخت افزاری VHDL و تراشه های قابل برنامه ریزی به طراحی و پیاده سازی تراشه 82527 (کنترلر گذرگاه CAN ) اقدام شده است در عین حال اصلاحاتی نیز در عملکرد این تراشه لحاظ شده که کارایی آن را بهبود می بخشد نتایج بدست آمده موفقیت این پروژه را در طراحی ، پیاده سازی و بهبود تراشه با انجام تغییرات پیشنهادی نشان می دهد .

فصل اول

مقدمه

 

 

 

 

 

 

 

 

 

 

 

 

1-1- مقدمه

در دو دهه گذشته پیشرفت روز افزون علم الکترونیک تحولات شگرفی را در کار آمدی سطوح فناوری باعث گردیده است به شکلی که این روند رو به افزایش در عرصه های گوناگون از قبیل ارتباطات، پزشکی، اتوماسیون، نظامی و ... کاملا مشهود است.

به عنوان نمونه در اتوماسیون صنعتی و روباتیک واحدهای الکترونیکی که بخش مهمی از سیستم بشمار می روند توانسته اند بهره وری سیستم را فزونی بخشند. از مسایل مطرح در این زمینه می توان طراحی و پیاده سازی شبکه های صنعتی را نام برد . از جمله این شبکه ها، (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 نام برد.

 

 

فصل دوم

مروری بر کارهای انجام شده

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2-1- مقدمه

در این فصل مروری بر استفاده از زبان های توصیف سخت افزاری و تراشه های FPGA در طراحی پردازنده ها فیلترها و دیگر مدارات دیجیتالی خواهیم داشت.

بسیاری از پردازنده ها، پردازشگرهای با کاربرد خاص، پردازشگرهای کمکی (Coprocessor)، کنترلرهای گذرگاه های مختلف اعم از USB ،PCL و .... را می توان به صورت بهینه بر روی تراشه های FPGA پیاده سازی نمود. علاوه بر این می توان در صورتی که نیاز باشد اصلاحاتی بر روی آنها انجام داد و مطابق با شرایط لازم طراحی را تغییر داد. به عنوان نمونه میکرو کنترلر مقاوم شده در برابر تشعشع از جمله پردازنده های اصلاح شده است که در بخش اول به آن اشاره خواهیم نمود. البته لازم است به ساختمان پردازنده ای که می خواهیم آن را اصلاح نمائیم آگاهی کامل داشته باشیم.

علاوه بر این مدارهای ویژه مانند فیلترهای دیجیتال از قبیل FIR ، IIR ، Wavelet ، فیلترهای غیر خطی، وفقی با استفاده از زبان VHDL و تراشه های FPGA قابل ساخت هستند. اکثر توابعی که در الگوریتم های پردازش سیگنال اعم از صوت و تصویر مانند مبدلهای DCT ، FFT سیستم های تعیین موقعیت، آشکارسازهای لبه تصویر و ... مورد استفاده قرار می گیرند را می توان به این روش طراحی نمود. کنترلرهای وقفه، DMA و انواع کنترلرهای گذرگاه ها نیز به صورت بهینه شده و اصلاح یافته بر روی تراشه های FPGA قابل پیاده سازی هستند.

برخی از دانشمندان مترجم هائی تهیه نموده اند که با استفاده از این مترجم ها می توان الگوریتم های پردازش تصویر و صوت را که با استفاده از زبانهای سطح بالا مانند C و یا محیط های شبیه سازی مانند مطلب تهیه گشته اند به زبان VHDL تبدیل نمود. در بخش آخر به معرفی یکی از این مترجم ها خواهیم پرداخت.

 

2-2- میکرو کنترلر مقاوم شده در برابر تشعشع

مقاومت در برابر خطا(Fault - Tolerance ) و قابلیت اعتماد بالا از مشخصات ضروری صنایع نظامی می باشند. مدارات دیجیتال بکار گرفته شده در صنایع هوا فضا تحت تاثیر انواع تشعشعات قرار می‌گیرند. یک روش کاهش خطا به منظور مقاوم شدن در برابر تشعشع استفاده از تکنیک کد همینگ (Hamming) می باشد.

یکی از میکرو کنترلرهای دیجیتالی که بیشتر در این صنایع بکار گرفته می شود خانواده میکرو کنترلر 8051 است. این تراشه را که بلوک دیاگرام ساختمان آن در شکل (2-1) نشان داده شده است با استفاده از زبان توصیف سخت افزاری VHDL می توان بوسیله تکنیک کد همینگ نسبت به تشعشع مقاوم نمود.

شکل(2-1) بلوک دیاگرام ساختمانی میکرو کنترلر 8051

 

همان طور که در شکلهای (2-2) تا (2-5) نشان داده شده است این تکنیک به رجیسترهای مسیر داده، واحد کنترل، ماشین حالت و حافظه قابل اعمال می باشد.

شکل (2-3) اعمال کد همینگ به واحد کنترل و ماشین حالت

 

نتایج حاصل از اعمال این تکنیک در جدول (2-1) نشان داده شده است.

 

909 CLBs used

Full protected

8051-8bit

جدول (2-1) نتایج حاصل از اعمال همینگ کد

 

ملاحظه می شود که پیاده سازی 8051 مقاوم شده با استفاده از CLB 909 (Configurable Logic Block) قابل انجام م باشد. این روش را می توان بر روی بسیاری از میکرو کنترلرها و میکروپروسسورها اعمال نمود[8].

 

2-3- کانولوشن کننده های (Convolvers) دو بعدی

کانولوشن کننده های دو بعدی در پردازش تصویر به منظور اعمال فیلتر، تشخیص لبه (Edge Detection) ، درون یابی (Interpolation) و واضح نمودن (Sharpening) بسیار موثر هستند به عنوان نونه، عمل یک کانولوشن کننده که لبه های یک تصویر را برای خروجی بر جسته و واضح (Sharpen) می نماید Edge Enhancement نامیده می شود.

کانولوشن کننده داده های تصویری را در قطعات کوچک (مثلا پنجره های 3×3) همانند شکل (2-6) مورد پردازش قرار می دهد.

3

2

1

6

5

4

9

8

7

 

شکل (2-6) پنجره 3×3 برای عمل کانولوشن

 

بلوک دیاگرام یک کانالوشن کننده دو بعدی در شکل (2-7) نمایش داده شده است . [9] [10]

 

 

در شکل فوق x نمایشگر یک پیکسل از تصویر می باشد.

 

2-4- فیلترهای دیجیتال

فیلتر های دیجیتال از پر کاربردترین اجزا در پردازش سیگنال های دیجیتال می باشند. کار یک فیلتر حذف قسمتهای نامطلوب یک سیگنال یا استخراج سیگنال هایی در محدوده فرکانسی خاص می باشد. به عبارت دیگر فیلتر فرکانس های مشخصی از یک سیگنال را انتخاب و سپس حذف و یا تغییر می دهد. این کار به منظور کاهش نویز و یا شکل دادن به طیف سیگنال انجام می گیرد.

بیشتر فیلترهای قدیمی در کاربردهای DSP با بکارگیری پردازنده های DSP ویژه پیاده سازی می‌شدند. این پردازنده های DSP قادر به انجام عملیات ضرب و ذخیره اطلاعات با سرعت بالا هستند ولی دارای محدودیت در پهنای باند می باشند. فقط تعداد معینی عملیات قبل از ورود نمونه بعدی توسط این پردازنده ها قابل انجام می باشند که در نتیجه محدود کننده پهنای باند است. پردازنده های DSP به صورت ذاتی ترتیبی می باشند و بنابراین DSP هایی که از یک پردازنده بهره می برند قادر به انجام یک عمل بر روی یک مجموعه داده در هر زمان می باشند. این مسئله باعث محدودیت در فرکانس کلی سیستم می شود. فیلترهای بر پایه FPGA با معماری خطی لوله ای موازی پیاده سازی می شوند که باعث افزایش عملکرد کلی سیستم می گردد. پیاده سازی با FPGA همچنین امکان ارزیابی دقیق در تمام مراحل الگوریتم را امکان پذیر می سازد. موارد ذکر شده عمده ترین تفاوت های بین یک فیلتر بر پایه FPGA با متناظر DSP آن می‌باشد.

پیاده سازی فیلترهای دیجیتال با فرکانس نمونه برداری چند مگا هرتز با بکارگیری DSP های استاندارد غالبا دشوار است و گران تمام می شود. امکان بالقوه پردازش موازی و برنامه ریزی مجدد FPGA ها را به یک راه حل ایده آل تبدیل می کند. قابلیت برنامه ریزی مجدد. تغییر در فیلتر در هر زمان را امکان پذیر می سازد [11].

 

2-4-1- فیلترهای با پاسخ ضربه محدود(FIR)

فیلترهای با پاسخ ضربه محدود (FIR) در طراحی فیلتر پایین گذر، کانولوشن تصویر، انتخاب باند، عدم همپوشانی(Anti Aliasing)، تخمین، درون یابی و بسیاری دیگر از سیستم های پردازش سیگنال دیجیتال (DSP) کاربرد فراوان دارند. تراشه های FPGA برای پیاده سازی فیلترهای FIR بسیار ایده آل هستند. معماری یک فیلتر FIR در شکل (2-8) نشان داده شده است.

 

فیلتر صفحه قبل دارای هشت رجیستر هشت بیتی است. خروجی هر رجیستر را با x (n) نشان می‌دهیم. معادله این فیلتر عبارت است از :

یک فیلتر FIR با پاسخ فاز خطی، دارای ضرائب متقارن است. این تقارن اجازه می دهد که x(n) های متقارن با یکدیگر جمع شود قبل از اینکه آنها بوسیله ضرایب ضرب شوند. در این صورت طراحی به صورت شکل (2-9) حاصل می شود [12] [13].

 

نتایج حاصل از پیاده سازی در جدول (2-2) نشان داده شده است.

 

 

2-4-2- فیلتر با پاسخ ضربه نامحدود (IIR)

این فیلتر در طیف وسیعی از سیستم های پردازش سیگنال استفاده می گردد از جمله کاربردهای این فیلتر در پردازش صوت و تصویر دیجیتال، تعیین وضعیت (Conditioning) و فیلتر نمودن کانال انتخابی است.

بلوک دیاگرام فیلتر IIR در شکل (2-10) نشان داده شده است.

 

 

فیلتر IIR ، biquad مرتبه دوم با معادلات زیر را می توان برای ساختن فیلترهای IIR مرتبه بالاتر استفاده نمود.

 

 

خروجی فیلتر y

ورودی فیلتر x

پارامترهای ثابت a , b

نتایج حاصل از پیاده سازی در جدول (2-3) نشان داده شده است. [14] [15]

 

30

Maximum Sample rate (MSPS)

29 %

Percentage of EPF 10k50Device Utilized

 

جدول (2-3) نتایج حاصل از پیاده سازی فیلتر IIR

 

2-4-3- فیلترهای Wavelet متقارن

با استفاده از توابع Wavelet سیگنالهای داده به مولفه های فرکانسی متفاوت تجزیه می گردد. این توابع برای نمایش و تقریب سیگنالهای غیر پیوسته کاربرد دارند. ضرایب Wavelet را با استفاده از تعداد زیادی فیلتر بالاگذر و پایین گذر می توان محاسبه نمود. مطابق شکل (2-11) در هر مرحله فیلتر پاین گذر سیگنال را هموارتر می سازد و فیلتر بالاگذر کلیه اطلاعات سیگنال را به صورت مقیاس بندی شده ارائه
می نماید.

 

در مواردی که توابع Wavelet برای فشرده سازی تصویر بکار می رود فیلترهای Wavelet متقارن مناسب هستند زیرا این فیلترهای در لبه های تصویر اعوجاج کمتر و فشرده سازی بالاتری را فراهم می‌نمایند. یکی از انوع فیلترهای متقارن که کاربرد بیشتری دارد در شکل (2-12) نشان داده شده است.


خرید و دانلود مقاله118-بررسی و شبیه سازی عملکرد کنترلر CAN تعداد 86ص

نظرات 0 + ارسال نظر
امکان ثبت نظر جدید برای این مطلب وجود ندارد.