چکیده:

دراین پایان نامه مراحل طراحی یک سیستم دیجیتال و کاربردهای آن شرح داده شده است.

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

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

در فصل سوم با معرفی انواع نرم افزارهای پردازش سیگنال ها به صورت دیجیتال چگونگی یکپارچه کردن سیستم، به کمک دستورات پیوند دهنده شرح داده شده است که پس از این مرحله سیستم
آماده ی تحویل به مشتری است.

برای بیان نقش پردازنده های DSP در زندگی روزمره ، چندین مثال از کاربردهای بیشمار پردازش دیجیتال در فصل چهارم آورده شده است. این کاربرد ها را می توان به دو دسته آنالیز/ فیلتر اطلاعات و فرآیندهای کنترلی تقسیم بندی کرد. بنابراین هر کاربرد به سخت افزار و نرم افزار خاصی نیاز دارد که در این مجموعه تا حدودی معرفی شده اند.

فصل اول :

مشخصات عمومی پردازنده هاي DSP

مقدمه:
پردازش سيگنال هاي ديجيتال با استفاده از عمليات رياضي قابل انجام است. در مقايسه، برنامه نويسي و پردازش منطقي روابط، تنها داده هاي ذخيره شده را مرتب مي كند. اين بدان معني است كه كامپيوترهاي طراحي شده براي كاربردهاي عمومي و تجارتي به منظور انجام محاسبات رياضي، مانند الگوريتم هاي انجام تحليل فوريه و فيلتر كردن مناسب و بهینه نيستند. پردازشگرهاي ديجيتال وسايل ميكروپروسسوري هستند كه به طور مشخص براي انجام پردازش سيگنال هاي ديجيتال طراحي شده اند. پردازنده هاي DSP دسته اي از پردازنده هاي خاص مي باشند كه بيشتر براي انجام بلادرنگ پردازش سيگنال هاي ديجيتال استفاده مي شوند.

اين پردازنده ها توانايي انجام چندين عمليات همزمان در يك سيكل دستورالعمل شامل چندين دسترسي به حافظه، توليد چندين آدرس با استفاده از اشاره گرها و انجام جمع و ضرب سخت افزاري به طور همزمان را دارا مي باشند و سرعت بالاي آن ها نيز به واسطه اين ويژگي ها است. اين وسايل به ميزان بسيار زيادي در دهه اخير رشد كرده اند و كاربردهاي متنوعي از دستگاه هاي تلفن سيار تا ابزارهاي علمي پيشرفته پيدا كرده اند. همچنين بعضي قابليت اجراي منطق مميز

شناور (Floating point) به صورت سخت افزاري را دارند. در صورتي كه سيگنال در بازه ديناميكي بزرگي متغير با زمان باشد، اين قابليت بسيار مفيد مي باشد. اگر نمونه ها در زمان بين نمونه برداري ها نياز به پردازش با سرعت بالا داشته باشند مي توان از پردازنده هاي عملكرد بالا استفاده نمود. در اين حالت پردازنده بايد در سريع ترين زمان ممكن پردازش را به پايان برساند كه اين نيازمند كم بودن زمان سيكل دستورالعمل در پردازنده مي باشد. از ديدگاه هزينه، ابعاد و طراحي آس

ان، تجهيزات جانبي پردازنده بسيار مهم مي باشند.
تجهيزات معمول روي پردازنده ها، پين هاي ورودي / خروجي، مدارهاي واسط سريال و موازي، مبدل ديجيتال به آنالوگ (DAC) و مبدل آنالوگ به ديجيتال (ADC) مي باشند. لحاظ كردن فاكتورهاي فوق در طراحي و ساخت DSPها، موجب شده است كه DSP هاي متنوعي موجود باشند. بديهي اس
۱-۱) تحلیل سيستم هاي DSP :
سيستم نمونه DSP در شكل‌(۱-۱) نشان داده شده است. همان گونه كه ديده مي شود اين سيستم ازسه بخش اصلي تشكيل گرديده است. بخش ابتدايي براي آماده سازي سيگنال و تبديل آن به نوع ديجيتال و بخش انتهايي كه نتايج حاصل از پردازش ديجيتالي را دوباره به شكل اوليه تغيير مي دهد و قسمت مركزي كه پردازشگر ديجيتال را براي اجراي يك الگوريتم، يك برنامه و يا مجموعه اي از محاسبه هاي منطقي – رياضي تشكيل مي دهد. واحدهاي ابتدايي و انتهاي سيستم فوق مورد بحث ما نمي باشند و در اين فصل به طور عمده به بخش اصلي پردازشگر پرداخته مي شود.[۱]

شكل (۱-۱) : دياگرام بلوكي سيستم DSP نوعي[۱]

اولين نكته قابل توجه اين است كه چگونه سيستم DSP طراحي مي شود؟ چگونگي و روش طراحي سيستم را
مي توان در شكل‌(۱-۲)‌ مشاهده كرد. اولين قدم در اين طراحي، تحليل سيگنال ورودي و تعيين مشخصات آن مانند حداقل و حداكثر دامنه، پهناي باند، محتواي طيفي سيگنال و حدود تغييرات، نسبت سيگنال به نويز (SNR) آن است.

همان طور كه سيگنال اصلي آنالوگ باشد، اولين مرحله، پيش پردازش سيگنال و تبديل آن به شكل ديجيتالي است. ميزان و نوع تقويت كننده ورودي، طراحي فيلتر ضدهمپوشاني، حداقل نرخ نمونه برداري و در نهايت طراحي مبدل آنالوگ به ديجيتال در مهمترين موارد اين مرحله از طراحي سيستم پردازشگر ديجيتالي است.
سومين مرحله از طراحي سيستم پردازشگر، طراحي نرم افزاري – سخت افزاري پردازشگر ديجيتال است. محتواي طيفي سيگنال و SNR سيگنال ورودي و نيز مشخصات مورد نياز در خروجي عمليات پردازش كه مي تواند آشكارسازي مولفه هاي فركانس باشد و يا ممكن است بهبود خصوصيات SNR سيگنال مد نظر باشد، تابع انتقال سيستم DSP و الگوريتم هاي محاسبه آن را تعيين مي كند.
در پردازش زمان – حقيقي پهناي باند سيگنال، سرعت پردازش و ميزان بار پردازشي ميان سخت افزار و نرم فزار را تعيین مي كند. اكنون اين سوال اساسي قابل مطرح است كه تفاوت پردازشگرهاي DSP و ميكروپروسسورها چه هستند؟ همان طور كه مي دانيم كامپيوترهاي ديجيتال بر مبناي ميكروپروسسورها كار مي كنند كه با اجراي مراحل منطقي در آن ها، محاسبه و الگوريتم هايي انجام مي يابد.
اما نوع محاسبه ها و سرعت انجام آن ها بسيار پايين تر از انتظاراتي نظير انجام روباتيك، كنترل سريع ماشين ها، استخراج سريع پارامترها از سيگنال هاي زمان – حقيقي و امثال آن است. ولي به هر حال در دهه هاي اخير نشان داده شده است كه كامپيوترها به ميزان بسيار زيادي در دو زمينه مديريت و كار با داده، مانند پردازش متن ، مديريت پايگاه داده و محاسبه هاي رياضي مورد استفاده قرار مي گيرد.
همه ميكروپروسسورها كم و بيش هر دو وظيفه فوق را مي توانند اجرا كنند، ولي بسيار مشكل و يا گران است كه بتوان وسيله اي داشت كه براي هر دو وظيفه بهينه باشد.[۱]

شكل( ۱-۲): روش طراحي سيستم [۱] DSP

براي بررسي و تاييد عملكرد سيستم پيشنهادي، ابتدا سيگنال ورودي و مدل پردازش شبيه سازي نرم افزاري

تعیین مي گردد. سپس با اطلاعات اوليه و تاييد نهايي گراف جريان سيستم از شبيه ساز نرم افزاري استخراج گرديده كه مبناي پياده سازي سخت افزاري – نرم افزاري پردازشگر ديجيتالي قرار مي گيرد.
مصالحه زيادي در طراحي سخت افزاري، مانند اندازه مجموعه دستورالعمل ها و تعداد وقفه ها ميان آن ها انجام گرديده است. همچنين، مسائل بازاري و تجاري، نظير هزينه ي توسعه و ساخت، رقابت و طول عمر محصولات از اهميت فوق العاده اي برخوردارند. اين ملاحظات موجب بروز

ميكروپرسسورهاي پنتيوم شد.
به طريق مشابه DSP ها نيز براي محاسبه هاي رياضي در پردازش سيگنال هاي ديجيتال طراحي شدند كه سرعت اجراي بيشتر الگوريتم هاي DSP تقريبا به طور كامل با تعداد ضرب – جمع هاي مورد نياز محدود مي شوند.
علاوه بر اجرای محاسبه های رياضي با سرعت زياد، DSP ها بايد داراي توانايي پيشگويي زمان اجرا باشند.
بيشتر DSP هاي مورد استفاده در كاربردهاي مختلف به صورت پيوسته اي عمل پردازش را انجام داده، بدون اين كه شروع و خاتمه تعريف شده اي داشته باشند و متناسب با سرعت مورد نياز در كاربرد عمل مي كنند.
دلايل متعددي وجود دارد كه سرعت سيستم DSP مورد طرح بيش از حد نياز نباشد، زيرا با افزايش آن هزينه، مصرف توان و پيچيدگي طرح نيز افزايش مي يابد. اين دلايل اطلاعات درستي از زمان اجراي پردازش را ضروري مي سازد تا هم وسيله مناسب انتخاب شود و هم الگوريتم هاي مورد استفاده به نحو صحيحي طراحي شوند.

۱-۲) معماري پردازشگرهاي ديجيتال :
يكي از مهم ترين گلوگاه هاي اجراي الگوريتم هاي DSP، انتقال اطلاعات به/ از حافظه است. اين اطلاعات شامل «داده» مانند نمونه هاي سيگنال ورودي و ضرايب فيلتر و «دستورالعمل ها» كه به صورت كدهاي باينري به صورت دنباله وار به برنامه اعمال مي گردد، مي شوند.

الف) معماري وان – نيومان :
ساده ترين نوع انجام اين عمل توسط وان – نيومان [۱۹۰۳-۱۹۵۷,Von Neumann] ارائه گرديد. معماري
وان – نيومان تنها داراي يك حافظه و يك گذرگاه براي نقل و انتقال داده به واحد پردازش مركزي (CPU) است. اين معماري در شكل (۱-۳) نشان داده شده است. طرح وان – نيومان براي حالتي كه همه وظايف در برنامه اي كه به صورت سريال انجام مي شوند، به طور كامل قابل قبول است.

شكل (۱-۳): معماري وان – نيومان [۱]

ب) معماري هاروارد :
معماري ديگر تنها وقتي مورد نياز مي شوند كه پردازش سريع مورد نياز باشد. در شكل (۱-۴) معماري ديگري به نام هاروارد نشان داده شده است كه در دانشگاه هاروارد با هدايت هوارد آيكن [Haward Aiken 1900-1973] در سال ۱۹۴۰ ارائه شده است. در اين طرح حافظه هاي جداگانه اي براي داده ها و دستورالعمل ها در نظر گرفته شده است كه داراي گذرگاه هاي جداگانه اي نيز مي باشند. چون در اين طرح، گذرگاه ها به طور مستقل دستورالعمل ها و داده ها را همزمان واكشي مي كنند كه موجب افزايش سرعت پردازش مي شود. بسياري از DSP ها امروزه از اين نوع معماري استفاده مي كنند.

 

 

شكل (۱-۴): معماري هاروارد [۱]

ج) معماري Super Harvard :
معماري با سطح بالاتري با نام Super Harvard در شكل(۱-۵) نشان داده شده است. در واقع اين معماري توسعه يافته طرح Harvard با اضافه كردن خصوصياتي براي افزايش گذردهي است. اين طرح با چندين روش بهينه سازي كه نوعي از خصوصيات آن ها با Cache دستورالعمل و كنترل كننده I/O در شكل نشان داده شده است.

شكل(۱-۵): معماري [۱] Super Harvard

الگوريتم هاي DSP عموما بيشتر زمان اجراي خود را در حلقه هاي انجام دستورالعمل ها سپري مي كنند. اين بدين معني است كه يك مجموعه دستورالعمل برنامه به طور پيوسته از حافظه برنامه به CPU انتقال مي يابد. معماري SHARC براي انجام اين حالت از Cache دستورالعمل استفاده مي كند كه مزيت آن محسوب مي شود. شكل (۱-۶) معماري SHARC با شرح بيشتري نشان داده شده است كه در آن كنترل كننده I/O به حافظه داده متصل گرديده است.

شكل (۱-۶): معماري DSP براي انجام وظايف موازي[۱]

برخي پردازشگرهاي SHARC هر دو درگاه هاي سري و موازي را براي ارتباط دارند كه سرعت بالايي را فراهم
مي كند. براي مثال با سرعت ساعت ۴۰MHz، دو درگاه سري كه هر كدام با ۴۰ Mbits/Sec كار مي كنند و شش درگاه موازي كه با سرعت ۴۰ Mbytes داده را انتقال مي دهند. وقتي همه درگاه هاي موازي با هم كار كنند، سرعتي معادل ۲۴۰ Mbytes/Sec را فراهم مي كند.
سرعت هاي بالاي I/O از مشخصات كليدي پردازشگرها است. مهم ترين مسئله در مرتبه اول، انتقال داده به داخل DSP، انجام محاسبات و خروج نتيجه قبل از نمونه بعدي است.
موارد ديگر در مرتبه بعدي قرار مي گيرند. اگرچه برخي پردازشگرها داراي مبدل هاي آنالوگ به ديجيتال و ديجيتال به آنالوگ روي كارت اصلي اند ولي همه پردازشگرها مي توانند از طريق واسط گذرگاه هاي سري يا موازي با مبدل هاي خارجي مرتبط باشند.
در بلوك دياگرام شكل (۱-۶)در بخش CPU دو بلوك مولد آدرس داده (DAG) ديده مي شود كه هر يك براي يكي از دو حافظه به كار مي رود. اين بلوك ها آدرس هاي ارسالي به حافظه هاي برنامه داده را كنترل مي كنند، يعني مشخص مي كنند چه اطلاعاتي بايد در حافظه خوانده يا نوشته شوند.
بخش رجيستر داده در CPU به روش مشابه ميكروپروسسورها مورد استفاده قرار مي گيرد. علاوه بر وظايف عمومي مانند ذخيره كننده داده، اين رجيستر ها مي توانند براي كنترل حلقه ها و شمارنده ها نيز به كار روند.
انجام محاسبات رياضي به سه بخش ضرب كننده، واحد منطقي محاسبه (ALU) و انتقال دهنده تقسيم مي شود. ضرب كننده مقادير دو رجيستر را در هم ضرب كرده و نتيجه را در رجيستر ديگري قرار مي دهد.
ALU عمليات جمع، تفريق، قدرمطلق و عمليات منطقي (NOT, XOR, OR, AND)، تبديل فرمت اعداد

نقطه – ثابت و نقطه- شناور و امثال آن را انجام مي دهد.
مهم ترين مشخصه SHARC اين است كه عمليات ضرب كننده و ALU به طور موازي در آن انجام مي شوند.
علاوه بر ويژگي هاي فوق اين پردازنده ها داراي روتين هاي سرويس دهي وقفه و اجزاي جانبي روي چيپ
مي باشند كه ارتباط پردازنده را با دنياي بيرون فراهم مي كند. در شكل (۱-۷) يك سيستم ساده داراي پردازنده DSP نشان داده شده است.

شكل (۱-۷): سيستم پردازش سيگنال هاي ديجيتال (DSP)[2]

۱-۳) مشخصات پردازشگرهاي :DSP
پردازشگرهاي DSP زيادي وجود دارند، ولي تقريبا همه آن ها با عمليات پايه اي يكساني طراحي مي شوند و در نتيجه مشخصات پايه اي يكساني دارند. اين مشخصات به سه مورد اصلي زير دسته بندي مي شوند‌:
محاسبه هاي پرسرعت خاص
انتقال داده به/ از دنياي واقعي
معماري حافظه دسترسي چندگانه

انجام پردازش به چند عمل خاص نيازمند است كه عبارتند از :
جمع و ضرب ها
تاخيرها
كار و تنظيم آرايه ها
در ادامه به تشريح هر يك از واحدهاي پردازنده هاي DSP مي پردازيم.

واحد MAC :
اكثر پردازنده ها عمليات ضرب را با يكسري از عمليات انتقال و جمع پياده سازي مي كنند كه هر كدام از آن ها نياز به يك سيكل كاري پردازنده دارند. در پردازنده هاي DSP يك سخت افزار خاص جهت انجام عمليات ضرب در يك سيكل كاري ترتيب داده شده است. در اكثر پردازنده هاي DSP پيشرفته حداقل يك واحد اجرايي براي انجام عمليات ضرب در يك سيكل وجود دارد.

دسترسي موثر به حافظه :

در واقع انجام عمليات ضرب به بيش از يك سيكل نياز دارد چرا كه علاوه بر دستورالعمل ضرب احتياج به دسترسي به داده هاي مورد نياز وجود دارد پردازنده هاي DSP امكان دسترسي وسيع تري به حافظه نسبت به پردازنده هاي همه منظوره دارند.

ضمن اين كه در پردازنده هاي نسل جديد امكان چند دسترسي به حافظه فراهم شده است و اين پردازنده ها داراي
بانك هاي داده مجزا مي باشند كه هر يك از اين بانك ها توسط يك مسير خاص داده قابل دسترسي مي باشند و
مي توان در يك سيكل در آن ها نوشت و يا از آن ها خواند. چون حافظه مربوط به دستورالعمل ها (كدهاي برنامه) و داده ها جداي از هم مي باشند پردازنده مي تواند در يك سيكل به طور موازي به هر دو دسترسي داشته باشد. در ضمن براي بهينه سازي بهتر، بانك هاي كوچكي از حافظه، از نوع RAM، نزديك پردازنده قرار مي گيرد كه اين بانك ها حافظه پنهان نام دارند. وقتي يك گروه از دستورالعمل ها به صورت مداوم اجرا مي شوند، مثلا در يك حلقه ، بانك حاقظه پنهان با دستورالعمل هاي مربوط فوق پر مي شود و مسير مربوط به كدهاي برنامه، براي واكشي كردن داده ها از حافظه استفاده مي شود. مسيرهاي دسترسي به حافظه با پهناي بالا نياز به حمايت واحدهاي سخت افزاري خاصي دارند كه براي توليد آدرس به كار مي روند. اين واحدها به طور موازي با واحد اصلي اجراي كدها كار مي كنند و دسترسي به داده، در موقعيت جديد حافظه بدون اتلاف زمان جهت محاسبه آدرس جديد را قادر مي سازد.[۲]
از قسمت هاي مهم آدرس دهي مي توان به آدرس دهي غير مستقيم توسط ثبات به همراه افزايش آدرس قبل و يا بعد از عمليات اشاره كرد.
افزايش يا كاهش آدرس به صورت اتوماتيك مربوط به اشاره گر به حافظه در الگوريتم هايي كه عمليات به صورت تكراري بر روي يكسري از داده ها انجام مي شود، به كار مي رود.

در اكثر پردازنده هاي DSP، آدرس دهي به صورت دايره اي را نيز تامين مي كنند. بدين صورت كه در پردازنده اين امكان وجود دارد كه به صورت پي در پي به بلوكي از داده دسترسي نمايد و به صورت اتوماتيك به آدرس شروع بلوك داده بازگردد. اين ويژگي براي دسترسي به ضرايب فيلتر در يك فيلتر FIR و پياده سازي بافرهايي به صورت First In – First out بسيار مفيد مي باشد.
از مدهاي آدرس دهي ديگر كه در پردازنده ها به كار مي روند مي توان به مد آدرس دهي «Bit Reversed» كه مناسب براي محاسبات تبديل فوريه است و نيز بانك هاي ثبات ها براي دسترسي خاص اشاره كرد.

واحدهاي اجرايي مستقل از هم :
پردازنده هاي DSP اكثرا داراي واحدهاي اجراي مستقل از هم هستند كه به صورت موازي قادر هستند كار كنند. به عنوان مثال علاوه بر واحد انجام عمليات ضرب واحد ALU براي انجام محاسبات منطقي و رياضي وجود دارد.

نمايش داده و دقت نمايش :
بيشتر پردازنده هاي DSP از داده ها به صورت نقطه ثابت به جاي نمايش نقطه شناور كه اكثرا در كاربردهاي مهندسي به كار مي رود، استفاده مي كنند. در فرمت نقطه ثابت نقطه باينري‌ (معادل با نقطه مميز در عمليات رياضي مبناي ۱۰) در مكان ثابتي در طول كلمه قرار گرفته است و اين بر خلاف نمايش به فرم نقطه شناور است كه در آن اعداد به كمك توان و مانتيس نمايش داده مي شوند و نقطه باينري طبق ارزش توان تغيير مي كند. نمايش نقطه ثابت نسبت به نمایش نقطه شناور ارزان تر بوده و توان كمتري نسبت به آنها ‌(در يك سرعت يكسان) مصرف مي كنند. پردازنده هاي نقطه شناور نياز به سخت افزار اضافه تر و پيچيده تري براي تحقق يافتن ساختار خود دارند. اغلب پردازنده هاي نقطه ثابت از داده هاي به طول ۱۶ بيت استفاده مي كنند كه براي اكثر كاربردهاي DSP مناسب مي باشند. پردازنده هاي با طول ۲۰، ۲۴ يا ۳۲ بيت دقت بيشتري را فراهم مي كنند.
براي اطمينان يافتن از اين كه در داده هاي نقطه ثابت كيفيت كافي مي باشد، اغلب پردازنده هاي DSP داراي يك سري انباشتگر هستند تا نتايج چندين عمليات ضرب را در خود نگاه دارند. اين ثبات ها از ديگر ثبات ها وسيع ترند (طول بزرگ تري دارند) تا بتوانند اعداد بزرگتري را نمايش دهند و از ايجاد سرريز جلوگيري كنند.
ضمنا اغلب پردازنده ها داراي واحدهايي براي مشخص كردن اشباع در عمليات رياضي و واحدهاي شيفت دهنده
مي باشند.
حلقه هاي بدون بالا سري :
الگوريتم هاي پردازش سيگنال داراي حلقه هاي فراواني مي باشند. پردازنده هاي DSP براي تحقق حلقه داراي ساختار خاصي مي باشند. اغلب يك دستورالعمل تكرار فراهم شده است كه به برنامه نويس اين امكان را مي دهد تا بدون صرف كردن سيكل اضافي براي به روز كردن و آزمايش كردن شماره گر حلقه و يا پرش به ابتداي حلقه، يك حلقه را پياده سازي كند اين مشخصات تحت عنوان «Zero-Overhead Loop» ناميده مي شود.
اجزاي جانبي :
جهت سهولت در دريافت و ارسال سيگنال ها، پردازنده ها شامل واسطه هاي سريال و موازي هستند و مكانيزم خاصي براي ساده كردن عمليات دارند. به عنوان نمونه وقفه هاي داراي كمترين بالاسري و واحد دسترسي مستقيم به حافظه فراهم شده اند تا اين كه انتقال و تبادل داده ها با كمترين مداخله پردازنده صورت گيرد.
همچنين وقفه ها با اولويت هاي مختلف و قابل ماسك كردن فراهم شده اند و در هنگام وقفه ها مشخصات و وضعيت پردازنده به صورت اتوماتيك ذخيره مي شوند.
دستورالعمل هاي خاص :

دستورالعمل هاي پردازنده با در نظر گرفتن دو هدف زير طرح شده اند :
– از سخت افزار مربوطه بيشترين استفاده صورت گيرد.
– كمترين فضاي حافظه براي ذخيره كردن برنامه ها نياز باشد.
با برآورده كردن هدف اول، در يك دستورالعمل مي توان چندين عمليات را انجام داد. به عنوان مثال واكشي يك يا دو داده از حافظه به طور موازي با عمليات رياضي، توسط واحد اجراي مربوطه اش انجام مي شود. براي تحقق هدف دوم طول دستورالعمل ها كوتاه نگه داشته مي شوند و لذا ثبات هاي مورد نياز براي واكشي كدهاي برنامه از حافظه محدود مي شوند. در ضمن در پردازنده ها يك سري بيت ها نشان دهنده وضعيت پردازنده هستند كه ويژگي هاي عملكرد پردازنده را نشان مي دهند. مثلا بيت هايي براي نشان دادن اشباع عمليات و يا گرد كردن نتايج.
(۴-۱ بهبود كارايي پردازنده هاي DSP معمولي :
يك ايده جهت افزايش كارايي پردازنده ها، افزودن واحدهاي اجرايي موازي مي باشد. در عمل اكثرا واحدهاي ضرب كننده و جمع كننده اضافه مي شوند. علاوه بر اين تغييرات سخت افزاري، يك سري دستورالعمل جديد نيز ارائه مي شوند كه از امتيازات اضافه شدن واحدهاي سخت افزاري استفاده مي كنند. بدين ترتيب با افزايش موازي كاري در پردازنده هاي نسل جديد مي توان عملیات بيشتري در يك سيكل انجام داد.
اين پردازنده ها عموما مسير داده پهن تري را دارا هستند تا در آن ها امكان دسترسي داده بيشتري در هر سيكل فراهم شود. همچنين اين پردازنده ها از دستورالعمل هاي با طول بزرگ تري استفاده مي كنند تا امكان توصيف انجام عمليات موازي در يك دستورالعمل فراهم شود.
افزايش پيچيدگي سخت افزار باعث افزايش توان مصرفي و قيمت پردازنده مي شود. فراهم كردن اين ويژگي كه پردازنده بتواند دستورالعمل هاي بيشتري را در گروه هاي موازي منتشر و اجرا كند، باعث مي شود تا توان مصرفي به اندازه پردازنده هاي نسل قبل (معمولي) باقي بماند و در هزينه ساخت آن ها صرفه جويي شود. لذا با استفاده از دستورالعمل هاي ساده، عمليات رمزگشايي و اجرا، ساده تر، و سرعت برنامه ها بالاتر مي شود.
اكنون شركت هاي اصلي سازنده پردازنده ها، از معماري انتشار چند گانه در پردازنده هاي نسل جديد استفاده

 

مي كنند. پردازنده هايي كه از خاصيت فوق استفاده مي كنند تحت عناوين Superscaler، VLIW شناخته
مي شوند. اين دو معماري به جز در نحوه گروه بندي دستورالعمل ها براي اجراي موازي، كاملا شبيه به هم هستند.
اكثر پردازنده هاي معماري انتشار چندگانه از كلاس VLIW هستند. اين كلاس از واحدهاي اجرايي زيادي استفاده مي كند و هر واحد اجرايي دستورالعمل هاي مخصوص به خود را داراست. شكل( ۱-۸ )يك واحد اجرايي به همراه مسير داده هاي مربوط را نشان مي دهد.

. شكل( ۱-۸ ): بلوک های اصلی پردازنده بهبود یافته[۲]

پردازنده هاي با معماري VLIW اكثرا تعداد زيادي مسير براي دسترسي به حافظه داده و تغذيه واحدهاي اجرايي مختلف را دارا هستند. اين پردازنده ها اغلب از توان مصرفي بالاتري نسبت به پردازنده هاي معمولي استفاده
مي كنند.

۱-۵) ساختار SIMD :
SIMD به تنهايي يك معماري نمي باشد بلكه تكنيكي است كه مي تواند در هر معماري به كار رود و كارايي پردازنده را در بعضي از الگوريتم ها افزايش دهد. بدين ترتيب كه به پردازنده اين امكان را مي دهد كه چندين نوع مثال از يك عمليات را به صورت موازي با داده هاي مختلف اجرا كند.
مثلا يك دستورالعمل ضرب از نوع SIMD مي تواند دو يا چندين ضرب را بر روي داده هاي مختلف ورودي و در يك سيكل (به صورت موازي) اجرا كند. اين نوع عمليات در كاربردهاي پردازش سيگنال و مالتي مديا بسيار به كار مي رود.

از ديگر قابليت هاي پردازنده هاي DSP مي توان به موارد زير اشاره كرد:
حافظه هاي قابل دسترسي چند گانه براي انجام عمليات همزمان و ذخيره سازي نتايج
رجيسترهاي متعدد براي نگهداري موقت داده ها
توليد كارآمد آدرس براي آرايه ها

محاسبه هاي رياضي – بيشتر عمليات DSP با انجام جمع و ضرب هاي همزمان صورت مي گيرد. بنابراين پردازشگرها معمولا داراي سخت افزارهاي جمع و ضرب اند كه به طور موازي با يك دستورالعمل مي توانند به كار برده شوند.
براي مثال مسير داده يك پردازشگر در شكل (۱-۹) زير نشان داده شده است كه

سخت افزار ضرب و جمع به صورت موازي در فضاي يك دستورالعمل تنها كار مي كند.

شكل (۱-۹): مسير داده و انجام ضرب – جمع در پردازشگر نمونه[۱]

واسط هاي ورودي – خروجي (I/O ) :
علاوه بر محاسبه هاي رياضي، DSP بيشتر با دنياي واقعي بايد در ارتباط باشد. اين موضوع حائز اهميت بوده و از مهم ترين تفاوت هاي ميكروپروسسور و DSP ها محسوب مي شود. در كاربردهاي DSP همان گونه كه در شكل(۱-۱۰) نشان داده شده است، پردازشگر بايد با منابع مختلفي از داده هاي محيط واقعي كار كند و حتي بايد قادر باشد كه اين داده ها را به صورت بلادرنگ ارسال و دريافت نمايد.
منابع اصلي داده هاي خارجي عبارتند از :
– ورودي و خروجي سيگنال ها
– ارتباط با كنترل كننده سيستم با نوع متفاوت
– ارتباط با ساير پردازشگرهاي همنوع
نياز به كار با منابع داده اي متفاوت به صورت كارآمد و بلادرنگ خصوصيات ويژه اي را براي پردازشگرهاي DSP به وجود مي آورد.

شكل(۱-۱۰): نحوه ارتباط پردازشگر با محيط واقعي [۱]

سيگنال هاي ورودي اغلب از طريق درگاه سريال همزمان شده، وارد مي شوند و داراي دو يا سه سيم بوده و براي سيگنال هاي صوتي و مخابراتي تا نرخ داده ۱۰Mb/s مناسب اند.
بيشتر مبدل هاي صحبت و صوتي واسط گذرگاه هاي سريال DSP هستند كه داراي سه سيم، ساعت، داده و همزمان سازي هستند. سيم چهارم (همزمان ساز قاب)، درگاه را براي داده هاي TDM در مخابرات، توانمند
مي سازد.

پردازشگرهاي DSP معمولا داراي درگاه هاي سري همزماني – ساعت ارسالي و داده – به صورت مجزا هستند، هر چند در پاره اي از پردازشگرها، مانند خانواده DSP56000 درگاه سري ناهمزمان نيز وجود دارد كه ساعت از داده بازسازي مي شود. درگاه هاي سري ممكن است ساعت را از ساعت تراشه DSP گرفته و يا از منبع خارجي دريافت كنند. از طريق درگاه سريال داده اغلب به صورت خودكار به حافظه DSP وارد و بدون توقف DSP در آن نوشته مي شود و مي توان داده ها را همزمان دريافت و ارسال كرد.
درگاه اتصال امكان اتصال چندين پردازشگر DSP از يك نوع را فراهم مي كند. براي مثال پردازشگرهاي TMS320C40 و ADSP060 داراي شش درگاه اتصالند.
درگاه اتصال به صورت DMA عمل مي كند، بدين معني كه داده در درگاه به طور خودكار روي حافظه DSP نوشته مي شود، يا بدون وقفه، بدون اين كه DSP را متوقف كند.
همان گونه كه گفته شد معمولا مي توان داده را همزمان ارسال يا دريافت كرد. براي مثال در پردازشگر TMS320C40 مي توان همه شش درگاه اتصال يا درگاه مشترك را با تمام نرخ ۲۰Mbyte/sec به كار گرفت تا نرخ انتقال داده ۱۲۰Mbyte/sec امكان پذير شود.

معماري حافظه :
همان طور كه گفته شد براي واكشي كردن دو عملگرد در يك دوره دستورالعمل تنها، نياز به دستري به دو حافظه همزمان است. البته با توجه به ذخيره نتيجه – و خواندن خود دستورالعمل- در حقيقت بيش از دو حافظه در دوره دستورالعمل مورد نياز است. به اين دليل در پردازشگرهاي DSP معمولا قابليت دسترسي به چنديد حافظه در يك دوره دستورالعمل وجود دارد. دو روش معمول دسترسي چندگانه به حافظه در دوره دستورالعمل عبارتند از :
معماري Harvard
معماري وان – نيومان اصلاح شده
شرح موارد فوق قبلا ارائه گرديده است. در هر دو معماري فوق، برنامه نويس بايد دقت كند كه در چه حافظه اي داده قرار مي گيرد. براي مثال در معماري Harvard همان طور كه دو عملگرد در يك بانك حافظه قرار گيرند، همزمان به هر دو امكان دسترسي وجود ندارد.

فصل دوم:

معرفی پردازنده هاي DSP
و
سخت افزارهای لازم جهت کار با آنها

۲-۱) مقدمه:
پردازنده ها بر اساس فاکتورهایی مثل سرعت، انعطاف پذیری، مصرف انرژی، طراحی سریع و آسان و قیمت پردازنده واجزای آن مورد بررسی قرار می گیرند و نقش یک طراح برای انجام پردازش اطلاعات این است که بسته به کاربرد، بهترین پردازنده را انتخاب کند.
در حالت کلی برای انجام پردازش اطلاعات از قبیل آنالیز و فیلتر کردن به صورت دیجیتال می توان از یکی از انواع پردازنده های زیر کمک گرفت. [۳]
• GPP
• DSP
• FPGA
• ASIC
• ASSP
که در جدول (۲-۱) مقایسه ای بین پردازنده های DSP و دیگر پردازنده ها صورت گرفته است:

 

جدول (۲-۱): مقایسه ی پردازنده ها از نظر سختی طراحی، انعطاف پذیری طراحی، سرعت و مصرف انرژی[۳]

در این فصل به معرفی پردازنده های DSP موجود در بازار پرداخته می شود و سه خانواده مهم آنها از نظر معماری، کاربرد و قیمت، مورد بررسی قرار می گیرند و کارت های آموزشی جهت کار با آنها معرفی می شوند و همچنین به علت در دسترس نبودن پردازنده ی مناسب، یک نمونه بورد آموزشی به عنوان یک سامانه ی حداقلی
(Minimum system) از نظر سخت افزار داخلی بررسی می شود و در حین معرفی پردازنده ها نحوه ی ارتباط و ایجاد سیگنال ها ی خارجی به طور مختصر توضیح داده می شود و در فصل بعدی انواع نرم افزارهای موجود برای برنامه ریزی بورد های مختلف معرفی می شوند.
بعضی از نرم افزارهای معرفی شده، توانایی ارتباط با کارت های آموزشی را دارند و چند نمونه از کاربردهای معرفی شده در این فصل، در فصل چهارم نيز برای پردازنده های DSP به اختصار مورد بررسی قرار می گیرند.
از آنجایی که پردازش سیگنال هاي دیجیتال یکی از مهمترین تکنولوژي هایی است که امروزه بسیار گسترده شده است DSP در بخش زیادي از محصولات فنی به چشم می خورد و شرکت هاي زیادي در زمینه تولید این پردازنده ها فعالیت دارند که پردازنده هایی با قابلیت هاي مختلف و براي کاربردهاي مشخص تولید می کنند. این امر از طرفی موجب شده است که استفاده کنندگان، حق انتخاب بیشتري داشته باشند و بتوانند معیارهاي بهتر و بیشتري را درنظر بگیرند. در نتیجه پردازنده اي که تمام یا بخش زیادي از نیازهاي آنها را برآورده می کند خریداري نمایند و ازطرف دیگر یک خرید مناسب را مستلزم بررسی و مطالعه علمی و صرف وقت بیشتري کرده است[۴] .

سه شرکت معتبر در زمینه ساخت DSP عبارتند از :
• (www.ti.com) Texas Instruments
• (www.analog.com) Analog Devices
• Motorola یا به عبارتی free scale
در شکل (۲-۱) مقایسه فروش شرکت های فعال در زمینه یDSP و در شکل(۲-۲) بررسی رشد فروش

پردازنده های DSP طی سال های اخیر صورت گرفته است:

شکل (۲-۱): مقایسه درآمد شرکت های مختلف در زمینه ی DSP در سال ۲۰۰۴ [۵]

شکل (۲- ۲): درآمد سالیانه حاصل از فروش پردازنده های DSP بین سال های ۲۰۰۲ تا ۲۰۰۷[۵]

(۲-۲ خانواده ی پردازنده های Texas Instrument: [6]
معروفترین و بزرگترین شرکت سازنده پردازنده های DSP شرکت Texas Instrument می باشد. پردازنده های
دیجیتال این خانواده را می توان به سه دسته ی اصلی به اضافه ی دو دسته ی فرعی زیر تقسیم بندی کرد:
• TMS320C2000
• TMS320C5000 و دسته ی فرعی OMAP
• TMS320C6000 و دسته ی فرعی DANINCI

در شکل (۲- ۳) درخت پردازنده های DSP شرکت TI به نمایش گذاشته شده است:

شکل (۲- ۳): درخت پردازنده های DSP شرکت TI [6]

نامگذاری این خانواده در شکل (۲-۴) به نمایش گذاشته شده است و با استفاده ار نام قطعه، اطلاعاتی در مورد مشخصات فیزیکی مثل جنس Package، رنج دما و همچنین مشخصات فنی مثل تکنولوژی ساخت و نوع پردازنده را می توان به دست آورد.

شکل (۲- ۴): نامگذاری پردازنده های خانواده ی TI [6]

مقدمه ی کلی برمعماری پردازنده های دیجیتال شرکت TI: [7]
همان طور که در شکل (۲-۵) مشاهده می شود یک پردازنده DSP به ط

ور کلی دارای چهار قسمت مهم زیر
می باشد:
۱٫ باسهای داخلی و خارجی
۲٫ اجزای جانبی
۳٫ حافظه ی داخلی و خارجی
۴٫ قسمت هسته ی مرکزی
کلاک همزمان تولید شده در هسته ی مرکزی با توجه به نحوه ی برنامه ریزی شدن ثبات ها ی مختلف موجب فعال شدن و غیر فعال شدن بخشهای مختلف داخلی و خارجی می شود.
همان طور که مشخص است هر بخش مستقل از بخش های دیگر می تواند فعال یا غیر فعال شود و با توجه به اینکه بعضی از اجزای جانبی نیاز به کلاک های متفاوتی دارند قسمت هایی برای ایجاد کلاک هایی با سرعت بالا و کلاک هایی با سرعت پایین در نظر گرفته شده است.
از قسمت های مهم اجزای داخلی به کار رفته که در اکثر پردازنده های این خانواده مشترک هستند می توان به بخش های سخت افزاری SPI،MCBSP ، تایمر و A/D و همچنین انواع مختلف حافظه مانند DMA اشاره کرد که از طریق دو باس کاملا متفاوت یعنی باس حافظه و باس اجزای جانبی (باس داده) کنترل می شوند و به کمک قسمت تسهیم کننده ی GPIO به کمک سیگنال های ارسالی از طرف مرکز کنترل امکان ارتباط بین اجزای جانبی داخلی و خارجی را فراهم می کند.
و قسمت های غیر مشترک در ادامه فصل توضیح داده می شود.

شکل (۲- ۵): همزمانی و کنترل سیگنال های داخلی برای پردازنده ی [۷] C28

قسمت هسته ی مرکزی:
برای انجام سریعتر دستورات در خیلی از پردازنده های این گروه دو مسیر موازی داده در نظر می گیرند . همانطور که در شکل (۲-۶) نشان داده شده است برای انجام توابع مختلف ثبات های مختلفی استفاده شده است و ۳۲ رجیستر کنترلی CPU به دو قسمتA , B نامگذاری شده اند: .M نشان دهنده ی قسمت ضرب، .Lنشان دهنده ی واحد حساب و منطق،.D نشان دهنده واحد داده و.S نشان دهنده ی واحد شیفت می باشد.
وظیفه ی واکشی، ارسال داده و کنترل برنامه به عهده ی هسته ی مرکزی است که این وظایف به کمک تولید سیگنال های کنترلی ایجاد شده توسط هسته انجام می شود.

شکل (۲- ۶): قسمت هسته ی مرکزی[۷]

 

 

-۲-۲الف( خانواده ی TMS320C2000:
مشخصات:
• ۳۲ بیتی و نقطه ثابت
• حداکثر قابلیت انجام ۱۵۰ میلیون دستور در ثانیه
• ولتاژ کاری ۱٫۸ تا ۱٫۹
• قیمت بین ۳ تا ۱۶ دلار
این سری دارای کاربردهای کنترلی است. کاربردهایی شبیه میکروکنترلرها دارند. با این تفاوت که دارای اطمینان بالاتر و همچنین کارآیی بیشتر هستند. در کنترل دیجیتال موتور و منابع تغذیه دیجیتال و اتوماسیون و کاربردهای پزشکی استفاده می شوند.
و در شکل (۲-۷) مشخصات سه نمونه این سری یعنی C240X,C280XX,C281X به نمایش گذاشته شده است و می توان آنها را از نظر قیمت و کارایی با هم مقایسه کرد و همچنین اطلاعاتی در مورد میزان حافظه ی
هر نمونه از پردازنده های این سری را بدست آورد.

شکل (۲- ۷ ): مقایسه ی نمونه های سری C2000 [6]

معماری داخلی یکی از اعضای این سری در شکل (۲-۸) به نمایش گذاشته شده است. از قسمتهای غیر مشترک در این معماری می توان قسمت تولید PWM و ارتباط CAN را اشاره کرد و تفکیک پذیری پالس مناسب یکی از پارامترهای مهم در انتخاب بین پردازنده های این سری می باشد. همچنین می توان به قسمت تولید
پالس های کد شده مربعی ( (QEP اشاره کرد که برای ارتباط با کد کننده هایی با افزایش خطی یا چرخشی استفاده می شوند که در یافتن اطلاعات سرعت و جهت حرکت از ماشین های گردان که کارآیی و دقت بالایی دارند مورد استفاده قرار می گیرند.

 

شکل (۲-۸): معماری داخلی یکی از اعضای خانواده ی C2000 [6]

-۲-۲ب ( سری C5000: [6]
این سری بر اساس مصرف توان بهینه شده اند به طوریکه در حدود mw0.12 مصرف توان و کارایی تا حدود۶۰۰MIPS دارند و لذا در وسایلportable مثل دوربین، موبایل،mp3 player و GPS کاربرد دارند.
در شکل (۲- ۹) چند نمونه از پردازنده های این سری مشاهده می شوند که بر اساس کارایی و کاربرد مرتب شده اند.

شکل (۲-۹): مقایسه خانواده ی C5000 بر اساس کارایی و کاربرد [۶]

فرکانس کاری آنها تا ۳۰۰ مگا هرتز بوده و قیمتی در حدود ۴٫۵ تا ۱۸٫۵ دلار دارند و بین ۵ تا ۱۰ برابر نسبت به سریC2000 دارای قابلیت انجام دستور بیشتری می باشند. نمونه های ۵۵x به دلیل مصرف توان کمتر و زیادتر بودن MIPS و همچنین قابلیت مجتمع شد

ن با هسته پردازنده ی ARAM9 کاربردهای فراوان تری دارند.
در شکل (۲-۱۰) به عنوان نمونه اجزا و تعداد قطعات تشکیل دهنده ی TMSC55X نشان داده شده و تعداد تایمرها و پورت های ورودی- خروجی و میزان حافظه یSRAM ،DRAM و… مشخص شده است.

شکل (۲-۱۰): اجزا و قطعات جانبی تشکیل دهنده ی TMSC55X [6]

در شکل (۲- ۱۱) دو سری از این خانواده با هم مقایسه شده اند:

الف ) ب)

شکل (۲- ۱۱): الف) معماری داخلی C54 ب)مقایسه قابلیت های C55,C54 [8]

-۲-۲ج( سری C6000: [6]
این پردازنده ها برای پردازش عملیات سنگین صنعتی در زمینه های ویدئویی و تصویر برداری و کار های بنیادی با پهنای باند بالا و همچنین در کار بردهای صوتی استفاده می شوند و می توان سه نمونه مهم این خانواده را به صورت زیر تقسیم بندی کرد:
• C62x
• C64x
• C67x

که خانواده ی C62X,C64X دارای ممیز ثابت بوده و C67X دارای ممیز شناور می باشد. سری C64X که در سال ۲۰۰۰ وارد بازار شد که علاوه بر قابلیت های پردازنده C62X توانایی پردازش به صورت SIMD را نیز دارا می باشد.
نمونه ی C67X همانند C64X توانایی اجرای کد های نوشته شده برای C62X را دارا است و این بسیار جالب است که یک پردازنده ی ممیز شناور با دستورات یک پردازنده ممیز ثابت سازگاری نشان دهد اما مصرف توان این سری یعنی سری C6000 در حدود ۵۰ برابر بیشتر از سری C5000 است به عنوان مثال یکی از پردازنده های نمونه ی C67X دارای مصرف توان ۶۹۴MW در فرکانس ۲۰۰MHZ می باشد.
همه ی این پردازنده ها می توانند به صورت VLIW عمل کنند که باعث می شود به طور همزمان تا ۸ دستور را در یک سیکل انجام دهند. همانطور که در شکل (۲-۱۲) نمایش داده شده است سه قسمت اساسی متصل به گذرگاه عبارتند از: بخش برنامه، داده و اجزای جانبی.
از تفاوت های معماری پردازنده C6000 با سری های قبلی می توان به توانایی انجام دستورات ممیز شناور، حافظه های داخلی بسیار بیشتر و باس های بزرگتر اشاره کرد.

 

شکل (۲- ۱۲): بلوک دیاگرام اجزا و قطعات جانبی TMS320C6701 [9]

در جدول (۲-۲) مقایسه ای بین اعضای این خانواده صورت گرفته است که اطلاعاتی در زمینه ی کارآیی، میزان حافظه، تعداد پین ها و قیمت اعضای مهم این خانواده در آن نهفته است.

جدول(۲-۲): مقایسه بین اعضای خانواده C6000 [6]

یک سری از پردازنده ها که به Digital Media Processor ها معروفند و با نام تجاری DAVINCI شناخته
می شوند ترکیبی از TMS32064xx و ARAM9 هستند. (شبیه OMAP)
از اعضای این خانواده می توان به TMS320DM644 اشاره کرد و قیمتی بین ۱۱ تا ۴۰ دلار دارند. در بلوک دیاگرام شکل (۲-۱۳) معماری این پردازنده به طور کامل معرفی می شود که در داخل این نمونه علاوه بر دو نوع پردازنده قسمت هایی برای پردازش ویدئویی و اجرای پروتکل های ارتباط وجود دارد.
و با دقت بیشتر در شکل، اطلاعات زیادی در مورد قابلیت های وسیع این پردازنده می توان به دست آورد.

شکل (۲-۱۳): بلاک دیاگرام داخلی DAVINCI [6]

ازکاربردهای این سری از پردازنده ها می توان به موارد زیر اشاره کرد:
• وسایل قابل حمل ویدئویی
• دوربین های عکاسی دیجیتال
• تلفن های تصویری
در شکل (۲-۱۴) بعضی دیگر از کاربردهای این نوع پردازنده را مشاهد

ه می کنید:

.

شکل (۲-۱۴): کاربردهایی از پردازنده ی DAVINCI [6]

در شکل (۲-۱۵) بلوک دیاگرام دوربین های دیجیتال و نحوه ی ارتباط اجزای جانبی لازم در شکل به خوبی آشکار است. نکته ی قابل توجه در شکل این است که اجزایی چو

ن کلیدها، LCD، تنظیم کننده ی ZOOM و… توسط یک MCU کنترل می شوند. این پردازنده کمکی از طریق پردازنده ی اصلی کنترل می شود. بقیه قطعات مثل کد کننده های صوتی و تصویری به طور مستقیم توسط پردازنده کنترل مي شوند.
در واقع طراحی یک بورد برای پردازش تصویر و صدا به صورت دیجیتال شامل انتخاب قطعه مناسب برای هر یک از قسمت های بلوک دیاگرام با توجه به نیاز های مطرح شده است.

شکل (۲-۱۵): بلوک دیاگرام یک دوربین دیجیتال[۱۰]

(۳-۲ تجهیزات سخت افزاری جهت کار با پردازنده های دیجیتال :
پس از معرفی اعضای مهم خانواده ی پردازنده های دیجیتال Texas Instrument به معرفی کارت های توسعه یافته و دیگر تجهیزات سخت افزاری آن پرداخته می پردازیم.

• DSK که قیمتی در حدود ۴۰۰ تا ۶۰۰ دلار دارند در دو نوع اتصال USB و اتصال موازی به همراه نرم افزارCCS studio مخصوصDSK ارئه می شوند و این کارت ها مناسب کارهای اولیه و آموزشی می باشند.

در شکل (۲-۱۶) قسمتهای مختلف و مهم این نوع بورد ها مشخص شده است.

شکل (۲-۱۶): قسمت های مهم و اساسی [۱۱] DSK

طبق بررسی های انجام شده برای شروع به کارهای آموزشی در آزمایشگاه های DSP در سال های اخیر اکثراً ازDSK ها استفاده می کنند که می تواند به عنوان یک minimum system برای کار با سری C6000 مورد استفاده قرار گیرد.
این بورد ها قابلیت توسعه یافتن و افزایش حافظه از طریق شکاف هایDaughter Card را دارند و حتی بعضی شرکت ها برای افزایش قابلیت های DSK اقدام به تولید daughter card های سازگار با DSK کرده اند و به عنوان نمونه می توان به Daughter card از نوع DSK6XXXHPI متعلق به شرکت Educational DSP اشاره کرد که اجازه دسترسی به HPI از طریق پورت سریال، موازی وUSB را می دهد.[۱۲]
این بورد شامل آی سی های زیر می باشد: [۱۳]

• TPS56100PWP منبع تغذیه بسیار مناسب برای کنترل ولتاژ ۵ولت ورو

 

دی
• MT48LC4M16A2TG-8E SDRAM 64 مگا بایتی) (۱ Meg x 16 x 4 banks
• SN74LVTH16374DGG فلیپ فلاپ D
• SN74LVTH162245DGGR ارسال اطلاعات به گذرگاه ۱۶ بیتی با سه وضعیت خروجی
• AT29LV010A-15JC حافظه ی فلش از نوع CMOSیک مگا بایتی(۸ x 128KB) که با ولتاژ سه ولت کار می کند
• TMS320C6711-100 پردازنده ی دیجیتال ممیز شناور
• SN74ACT8990FNR امتحان و کنترل گذر گاه بر اساس استاندارد JTAG IEEE 1149.1
• SN74LVTH125PWR بافر گذرگاه چهار لایه با سه وضعیت خروجی که با ولتاژ ۳٫۳ ولت کار می کند
• SN74CBTD3384PW سوئیچ گذرگاه ۱۰بیتی با قابلیت LEVEL SHIFTING
• ICS501-DPF ضرب کننده ی کلاک PLL
• TLC320AD535PM CODEC دو کاناله برای ارتباط با بلند گو و میکروفون
• SN74CBT3257PW مالتی پلکسر و دی مالتی پلکسر
• TL1431CD رگولاتور شنت ۳۷ ولتی با جریان دهی ۱۰۰ میلی آمپری
• TL5001CDP کنترل کننده ی PWM
• TPS2817DBV Driver, high-speed, single-channel

ذکر چند نکته در مورد قطعات روی بورد DSK ضروری به نظر می رسد. اول اینکه تقریبا بورد های دیگر نیز شامل قسمت های مشابهی با این بورد می باشند و درک کامل عملکرد بورد به طراحی بورد های سخت افزاری DSP کمک بسیاری می کند.

از این قسمت های مشابه می توان به موارد زیر اشاره کرد:

• قسمت تغذیه بورد که شامل آی سی ها ی تولید وتنظیم ولتاژهای مورد نیاز اجزای متعدد بورد می باشد .

• حافظه ی FLASH و حافظه های SDRAM روی بورد که نقش تعیین کننده ای تا کنون در قیمت بورد ها داشته اند. همچنین کانکتور برای ارتباط حافظه های جانبی به بورد نیز در نظر گرفته می شود.

• قسمت انجام پروتکل JTAG برای تست قطعات دیجیتال بر روی برد به کار می رود که این قسمت مدار با تمام قسمتهایی که باید تست شوند ارتباط دارد و بعضی از پارامترها مثل کلاک و ورودی و خروجی قسمتهای مختلف را بررسی می کند. برای ارتباط با خارج از بورد معمولا روی بوردها کانکتور هایی برای ارتباط JTAG تعبیه می کنند.

• پورت های سریال و پورت های موازی در روی بورد و بسته به اینکه پورت ه

ای روی بورد می خواهند به چه وسیله ای متصل شوند بعد از آنها آی سی های متفاوتی قرار می گیرند. به عنوان مثال در این بورد پس از پورت های سریالی که به بلند گو و میکروفن وصل اند کد کننده صوت قرار می دهند و یا
آی سی های بافری که بعد از پورت های موازی قرار گرفته اند.

نکته ی مهم دیگری که در مورد بورد های DSP مثل بورد فوق باید مورد بررس

ی قرار بگیرند مسئله ی نگاشت حافظه برای بورد می باشد که به هر جزء یک آدرس منحصر به فرد نسبت داده می شود و آدرس اجزائ جانبی توسط یک فایل به بورد شناسانده می شود. در شکل(۲-۱۶) نگاشت حافظه بورد C6711 به نمایش گذاشته شده است:

شکل (۲-۱۶): نگاشت حافظه ی بورد DSKC6711 [11]
از نظر امکان سنجی ساخت یک مینیمم سیستم با توجه به تهیه شدن نقشه ی داخلی این بورد و همچنین وجود نرم افزار قوی CCS STUDIO برای کار با این بورد امکان ساخت این قطعه در داخل کشور وجود دارد مشروط بر اینکه قطعات آن فراهم شود و PCB آن توسط یک طراح به کمک نرم افزارهایی چون PROTEL البته با رعایت مسائل کاملا پیچیده ی طراحی بورد فرکانس بالا و به کمک فیبرهای مخصوص انجام شود هر چند که به دلیل تولید کم در داخل کشور مسلما قیمت تمام شده ی آن از قیمت بورد که در حدود ۲۹۵ دلار است بیشتر خواهد بود اما در صورتیکه این بورد در داخل ساخته شود امکان پشتیبانی و رفع عیب بورد در داخل کشور فراهم می آید (به دلیل پیچیدگی کار با بورد در خیلی از موارد امکان سوختن یکی از قطعات بورد بر اساس بی احتیاطی وجود دارد) و با توجه به اینکه کشورهای سازنده بورد اجازه ی فروش بورد به ایران را ندارند ساخت بورد در داخل از اهمیت خاصی برخوردار است.
ساخته شدن بورد با قیمت مناسب در داخل کشور که به منزله شروع امکان دسترسی همگانی و وسیع
پردازنده های DSP در کشور است که می تواند زمینه ساز تحول وسیع در پردازش دیجیتال در کشور شود اما متاسفانه به علت نبود امکانات دسترسی به سخت افزار پردازش سیگنال خیلی از تحقیقات و پروژه ها ی انجام شده در این حوزه در حد شبیه سازی باقی می ماند و یا به علت عدم توانایی PC ها و یا پردازنده های همه منظوره در پردازش real timeهیچ نتیجه ی کاربردی ندارد.

-۳-۲الف( نحوه ی راه اندازی و تست اولیه بورد های DSK :
هر موقع که دکمه reset فشار داده شود عمل (POST ) انجام می شود. هر سه LED شروع به چشمک زدن می کنند و در حالت پیش فرض به صورت باینری از صفر تا عددی که dip switch به صورت باینری نشان
می دهند می شمارند.
که این عمل در واقع برنامه ی تست اجزای بورد است که پس از reset کردن از داخل حافظه ی فلش به داخل
حافظه ی SRAM ریخته شده است. نشان دادن هر عدد توسط LED مطابق

 

شکل (۲-۱۷) نشان دهنده ی با موفقیت انجام شدن یک مرحله است . اگر پس از رسیدن به عدد باینری پنج بلند گو به بورد وصل باشد صدای tone شنیده خواهد شد.

شکل( ۲-۱۷): نشان دهنده ی مراحل POST [11]

-۳-۲ب) بوردهای :EVM
این بوردها که قیمتی چند هزار دلاری دارند از یک CPLD قابل برنامه ریزی درون خودشان بهره می گیرند که قابلیت برنامه ریزی توسط کاربر را دارند جزئیات بیشتر و آی سی های به کار رفته جهت ارتباط با HOST، ارتباط سریال وارتباط با کاربر در شکل مشاهده می شود و همچنین نوع و میزان حافظه مورد نیاز بر روی بورد مشخص شده است.