بررسی DSP های Texas Instruments
1
رئوس مطالب
بررسی خانواده TMS320
معرفی اجمالی خانواده OMAP
کاربردها در تلفن های همراه
بررسی سیستم های اعشاری
پیاده سازی FFT ممیز شناور روی پردازنده ممیز ثابت TMS320C55
2
پردازنده های Texas Instruments TMS320
خانواده های اصلی:
سری C2000
C240x : ممیز ثابت
C28xx : ممیز ثابت
سری C5000
C54xx : ممیز ثابت
C55xx : ممیز ثابت
سری C6000
C62xx : ممیز ثابت
C64xx : ممیز ثابت
C67xx : ممیز شناور
3
پردازنده های Texas Instruments TMS320
C28XX:
فرکانس کاری 135 تا 150 مگاهرتز
قابلیت دوبار خواندن و یک بار نوشتن در حافظه در هر سیکل
بدون واحد Cache
یک واحد ALU
مبدل آنالوگ به دیجیتال 12 بیتی
مولد شکل موج PWM
حافظه Flash داخلی
سیستم محاسباتی ممیز ثابت
4
پردازنده های Texas Instruments TMS320
C55xx:
فرکانس کاری 160 تا 200 مگاهرتز
قابلیت سه بار خواندن و دو بار نوشتن در حافظه در هر سیکل
Cacheیک سطحی
دو واحد MAC با قابلیت ضرب 17bit x 17bit در هر سیکل
ALU اصلی 40 بیتی +ALU کمک 16 بیتی
واحد EMIF برای دسترسی به حافظه خارجی
قابلیت افزودن سخت افزار اختصاصی برای شتاب دهی به عملیات
تک هسته ای (ترکیب با ARM9 و ARM11 در خانواده OMAP)
سیستم محاسباتی ممیز ثابت
5
پردازنده های Texas Instruments TMS320
C67xx:
فرکانس کاری 350 مگاهرتز
قابلیت اجرای موازی هشت دستور در هر سیکل
Cache یک سطحی
سوئیچ Crossbar با کارایی بالا
واحد EMIF برای دسترسی به حافظه خارجی
16 پورت سریال صوتی استریو
تک هسته ای (ترکیب با ARM9 در خانواده OMAP)
سیستم محاسباتی ممیز شناور
6
پردازنده های Texas Instruments OMAP
OMAP :
پردازنده های بزرگ با امکانات زیاد برای کاربردهای چند رسانه ای سیار
توان مصرفی بسیار کم
چند هسته ای، متشکل از پردازنده عام منظوره ARM و DSP های سری TMS320 (اغلب C55 و C64) و شتاب دهنده های PowerVR
استفاده گسترده در تلفن های همراه
Nokia : N90, N91, N92, N95, N82, E61, E62, E63, E90, N900
Sony Ericsson Satio
Samsung OMNIA HD
7
پردازنده های Texas Instruments OMAP
کاربردهای خاص در تلفن های هوشمند:
همزمان سازی صدا و تصویر در ارتباط تصویری با پروتکل RTP [1]
شناسایی موثر اشیاء در تصویر و جستجوی شیء در بین عکس ها [2] , [3]
تشخیص یک وضعیت خاص در تصویر برای تعامل شخص سوژه با دوربین [4]
صفحه نمایش دوگانه با تفکیک پذیری بالا برای افزایش مساحت نمایش [5]
کاربردهای طبی، نظیر اندازه گیری مدت زمان QT [6]
8
پیاده سازی FFT ممیز شناور بلوکی در C55
سیستم ممیز ثابت:
محل قرار گرفتن ممیز ثابت است
مقیاس کردن مقادیر بر عهده کاربر است
گستره دینامیک کوچک است
پیاده سازی آن ساده است
سیستم ممیز شناور:
محل قرار گرفتن ممیز ثابت است، اما یک ضریب نیز وجود دارد
مقیاس کردن مقادیر به طور خودکار توسط سخت افزار انجام می شود
گستره دینامیک بسیار بزرگ است
پیاده سازی آن پیچیده و پر هزینه است
9
پیاده سازی FFT ممیز شناور بلوکی در C55
مفهوم ممیز شناور بلوکی:
بکارگیری ضریب مشترک برای مجموعه ای از مقادیر
گستره دینامیکی ممیز شناور
سادگی ممیز ثابت
[7]
10
پیاده سازی FFT ممیز شناور بلوکی در C55
رشد تعداد بیت در هر طبقه FFT
[7]
11
پیاده سازی FFT ممیز شناور بلوکی در C55
بخش های حقیقی و موهومی A و B کوچکتر از یک
در طبقه اول : WN0=1 پس ضریب رشد حداکثر 2 است، معادل یک بیت رشد
در طبقه دوم : WN0=1 و WNN/4=-i پس حداکثر یک بیت رشد داریم
[7]
12
پیاده سازی FFT ممیز شناور بلوکی در C55
در طبقه سوم :
حداکثر رشد برابر 2.4142 است، معادل 2 بیت
[7]
13
پیاده سازی FFT ممیز شناور بلوکی در C55
مقیاس کردن ورودی های طبقه اول و دوم:
کلیه مقادیر طبقه باید یک بیت جای رشد داشته باشند
کلیه ورودی های طبقه باید با ضریب یکسان طوری مقیاس شوند که بزرگترین ورودی بین 4/1 و 2/1 باشد
مقیاس کردن ورودی های طبقات سوم به بعد:
کلیه مقادیر طبقه باید دو بیت جای رشد داشته باشند
کلیه ورودی های هر طبقه باید با ضریب یکسان طوری مقیاس شوند که بزرگترین ورودی بین 8/1 و 4/1 باشد
کلیه ضرایب مقیاس کردن ذخیره می شوند تا ضریب بازسازی بلوک خروجی مشخص شود
14
پیاده سازی FFT ممیز شناور بلوکی در C55
بلوک دیاگرام پیاده سازی ممیز شناور بلوکی FFT
[7]
15
پیاده سازی FFT ممیز شناور بلوکی در C55
Exponent Encoder
سخت افزار اختصاصی برای محاسبه Exponent
منظور از Exponent تعداد شیفت های لازم در Accumulator برای حذف بیت های علامت زائد است
دستور EXP :
EXP AC0, T1
Exponent مربوط به آکومولاتور AC0 را در رجیستر T1 ذخیره می کند
اجرای آن یک سیکل طول می کشد
16
پیاده سازی FFT ممیز شناور بلوکی در C55
مقایسه SNR این روش با روش های دیگر
در نمودار فوق، سیگنال، خروجی ممیز شناور 32 بیتی MATLAB است و نویز، اختلاف این مقدار با خروجی روش پیاده سازی شده
[7]
17
پیاده سازی FFT ممیز شناور بلوکی در C55
مقایسه سرعت این روش با روش های دیگر
[7]
18
مراجع
[1] C. Kim, K. D. Seo, W. Sung, S. H. Jung, “Efficient Audio/Video Synchronization Method for Video Telephony System in Consumer Cellular Phones”, ICCE 2006
[2] W. C. Chen, Y. Xiong, J. Gao, N. Gelfand, R. Grezeszczuk, “Efficient Extraction of Robust Image Features on Mobile Devices”, ISMAR 2007
[3] H. Bay, A. Ess, T. Tuytelaars, L. V. Gool, “Speeded-Up Robust Features (SURF)”, 2008 Elsevier
19
مراجع
[4] A. Sapru, R. Lakkundi, N. Ahmed, “Gesture Recognition by Line Fitting Over Significant Pixels”, ISSPIT 2008
[5] V. Lipovac, V. Majer, “Integrated Dual-Display-Based 3G Mobile Phone / Wireless Terminal”, CCNC 2009
[6] E. Lim, X. Chen, C. Ho, Z. Tin, M. Sankaranarayanan, “Smart Phone-Based Automatic QT Interval Measurement”, Computers in Cardiology 2007
20
مراجع
[7] D. Elam, C. Lovescu, “A Block Floating Point Implementation for an N-Point FFT on the TMS320C55x DSP”, Texas Instruments Application Report, SPRA948, 2003
[8] B. Venkataramani, M. Bhaskar, “Digital signal processors: architecture, programming and applications”, Tata McGraw-Hill, 2002
21