مقاله در مورد مطالعه و بررسی پردازنده های DSPو امکان سنجی یک سامانه¬ی حداقل جهت کار با آنها


در حال بارگذاری
23 اکتبر 2022
فایل ورد و پاورپوینت
2120
1 بازدید
۹۷,۷۰۰ تومان
خرید

توجه : به همراه فایل word این محصول فایل پاورپوینت (PowerPoint) و اسلاید های آن به صورت هدیه ارائه خواهد شد

 مقاله در مورد مطالعه و بررسی پردازنده های DSPو امکان سنجی یک سامانه¬ی حداقل جهت کار با آنها دارای ۹۵ صفحه می باشد و دارای تنظیمات در microsoft word می باشد و آماده پرینت یا چاپ است

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

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


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

چکیده:

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

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

  راهنمای خرید:
  • در صورتی که به هر دلیلی موفق به دانلود فایل مورد نظر نشدید با ما تماس بگیرید.