摘 要: 針對目前廣泛使用的TMS320DM642處理器在視頻/圖像系統開發中容易出現的問題,從工程實踐的角度進行了總結和分析。在介紹DM642視頻/圖像硬件系統原理的基礎上,對電路設計、軟件編程以及FLASH燒寫過程中可能出現的問題進行了深入的分析,并給出相應的解決方法。并基于這款處理器進行了圖像系統的實踐開發,表明這些總結分析可以為DM642處理器的工程化提供一定參考。
關鍵字:TMS320DM642; 硬件開發; 視頻/圖像; FLASH燒寫
中圖分類號: TN919?34; TP317.4 文獻標識碼: A 文章編號: 1004?373X(2013)08?0086?03
目前的視頻/圖像處理的系統,研究或者設計人員使用最多的一款處理器是TI推出的針對視頻/圖像的定點視頻數字信號處理器TMS320DM642[1?3]。僅僅根據TI提供的開發板的原理圖以及各種數據手冊和國內幾家比較大的研發DSP開發板的公司所提供的信息,并不能順利地完善對DM642圖像處理系統的開發[4?5]。本文針對目前廣泛使用的TMS320DM642處理器在微型視頻/圖像系統開發中容易出現的問題,從工程實踐的角度進行了總結和分析。能夠對廣大的圖像/視頻系統的開發人員提供一定的工程參考。
1 DM642硬件系統
對做圖像視頻處理的系統來講,眾多的開發設計人員都是在此TI硬件系統上進行取舍,設計符合自己要求的硬件系統。而對于所采用的芯片的選型基本上和TI開發板的資料大同小異[6?7]。圖1為TI DM642開發板硬件系統的結構圖,主要由視頻解碼、DSP處理器、SDRAM、FLASH、FPGA、視頻編碼以及時鐘電源復位等幾個模塊組成。在DM642最小系統中要注意以下引腳的配置。啟動方式由AEA[22∶21] 引腳的電平狀態控制,在擴展了FLASH的系統中,一般選擇的是從EMIFA接口加載程序,TI公司提供的DM642開發板原理圖的硬件系統的結構如圖1所示[8]。這時AEA[22∶21]均要接上拉電阻。AEA[20:19]電平狀態用于設置EMIFA接口同步時鐘的來源,在常用的設計中,一般采用的是缺省狀態,即EMIFA同步時鐘來自AECLKIN引腳。若選用600 MHz的DM642,這個頻率通常是由50 MHz的外部晶振通過12倍頻得到。CLKMODE[1∶0]引腳決定倍頻的倍數。LENDIAN模式的選擇,Little模式上拉,Big模式下拉,通常選擇Little模式。除了這些比較常見的配置外,在設計中還要注意一些引腳的電平設置,這些引腳通常也是上拉或下拉,如果設置不對的話,往往會影響整個系統的工作。例如外設的PCI,HPI,EMAC模式的選擇分別由復位時PCI_EN,PCI_EEAI,HD5,MAC_EN引腳的電平決定。對于仿真的EMU[1:0]引腳,芯片內部已通過30 kΩ電阻上拉, 在邊界掃描時無需外部上拉/下拉電阻,在仿真/通常狀態時需上拉。為了保證其上拉,在電路設計中,一般外接上拉電阻。JTAG的[TRST]內部已下拉,為了保證其下拉,外部可接下拉電阻。AARDY一般做上拉處理。[HOLD]上拉。任何在NMI引腳的噪聲都可能觸發NMI中斷,所以一般做上拉處理。這些需要做上拉或下拉處理的引腳,在系統開發的試驗驗證階段,都應該做成上拉/下拉可調的狀態,便于修改和調試。
對于復位電路,很有必要選用專用的復位芯片,如果單純地采用RC電路或者是由FPGA寫時序來完成系統的復位,極有可能造成不可靠的復位,進入不了CCS開發環境。由于視頻編碼、視頻解碼芯片的寄存器的配置都是通過I2C總線來完成的。I2C總線可以掛多個從設備,并通過從設備地址來區分訪。而TVP5150PBS只能配置2個不同的從設備地址,如果系統設計了多個視頻通道,這時候就要對I2C做總線切換。總線切換的控制引腳可以通過DM642的某一通用I/O口來完成。
2 PCB圖設計和硬件調試
TMS320DM642總共548個引腳,BGA封裝,這對PCB圖的設計來帶了很大的難度,至少要采用4層板結構。一塊電路板的電磁兼容性往往由PCB板決定。由于PCB設計的不合理引起的干擾,會使系統的性能下降,也有可能造成電路板的調試失敗。DM642周邊的濾波電容的放置也是不容忽視的,可以考慮放置在BGA背面的空余處。要根據PCB上器件的布局合理地安排電路板的分層
方式。目前一般的PCB工廠可以加工的最小線寬是4 mil,最小間距也是4 mil,最小的過孔孔徑是內徑8 mil,外徑16 mil。在設計的過程中,要盡量減小PCB板的加工難度。硬件系統的焊接順序一般分為以下幾步:電源部分;DSP、晶振,復位電路,濾波電容、JTAG,能夠進入CCS,識別處理器;擴展存儲器芯片,寫調試代碼進行調試;其他的輔助芯片。在焊接電源部分的時候要特別注意的是,要仔細查閱電源芯片的數據手冊,確認電路中的電阻、電感、濾波電容是否有特殊要求。以TPS54310PWP[9]為例,圖2為數據手冊中提供的典型的電路結構。輸出濾波包括1.2 mH的電感和180 mF的電容。這里的電感要采用低阻抗功率電感,內阻小于0.017 Ω。電容要采用電阻小于0.015 Ω的ESR。如果這里的電感采用普通的0603封裝的電感,在空板子上只是調試電壓,是沒有什么問題的。但是一旦加上負載(這里指的是DSP處理器),就會造成電壓不正?;蛘邲]有輸出。對于此處電感和電容的選型上,往往被眾多設計人員尤其是初學者所忽略[10]。圖3給出了實踐開發完成的DM642硬件電路板。
3 軟件設計流程及FLASH燒寫
CSL是TI公司為其DSP產品提供了CSL(Chip Support Library,CSL)庫函數,提供硬件資源的操作函數。在程序設計過程中利用CSL庫函數可以方便地訪問DSP的寄存器和硬件資源,提高DSP軟件的開發效率和速度。DM642對應的CSL庫文件的名稱為cslDM642.lib(Little Endian模式下使用的CSL庫)或cslDM642e.lib(Big Endian模式下使用的CSL庫)。所以在建立project的時候,首先要添加cslDM642.lib或者cslDM642e.lib文件。
TI公司為其產品開發提供了完美的技術支持,在軟件設計時候表現得尤為突出。幾乎每設計一個模塊都要參考TI公司提供的數據手冊或是用戶開發指南。工程頭文件的函數一般可以在TI提供的API參考手冊[11]。
3.1 DM642系統設計軟件流程
在進行DM642圖像/視頻軟件設計時,一般采用的軟件流程如圖4所示。圖像的采集分為奇偶場,即圖像的奇數行作為一場數據,偶數行作為另外一場數據。在存儲圖像數據的時候,要對奇偶行分開存儲,一般采用的方案是奇數行數據放在臨時圖像處理緩沖區的前半部,偶數行數據放在后面部,或者反之。在寫圖像處理函數對像素進行處理的時候,一般需分奇數行與偶數行的分開處理[12]。
對于非基于BIOS/DSP程序在初始化之前,設置一個0.5 s的延時是很有必要的,不但可以為下一步的初始化時序做準備,而且如果缺少延時的話,會導致在燒寫FLASH時候,即使燒寫成功,也會造成圖像的亂碼。
3.2 FLASH燒寫的注意點
在進行FLASH燒寫的時候,首先要搞清楚一個問題,那就是你的程序是否是基于BIOS/DSP的。基于BIOS/DSP的程序和非基于BIOS/DSP的程序燒寫過程類似,但是在cmd文件配置上有些區別?;贒SP\BIOS程序要在建立seedvpm642.cdb文件,并在System?>MEM?>添加一個名為BOOT的存儲空間,其地址空間分配為0x00~0x400,并ISDRAM地址空間分配為由原來的0x0000000~0x00020000修改為0x00000400~0x00020000。在cmd文件的SECTION段添加boot load > BOOT。而對于非基于DSP\BIOS程序,只需要修改cmd文件即可,MEMORY段添加boot: o = 00000000h l = 000400h,SECTION段添加boot load > BOOT。如果還是燒寫不成功的話,就要考慮FBTC文件是否與CCS版本相兼容,考慮這2個問題,然后按照一般書上提到的燒寫步驟就可成功地對FLASH完成燒寫。
4 結 語
本文基于DM642視頻/圖像系統的開發,對系統開發過程中遇到或可能遇到的問題加以總結和分析,并給出相應的解決方法,能夠對開發研究人員提供一定的幫助。同時,此類問題的總結不僅適用于DM642視頻/圖像系統開發,而且適于TI 其他圖形處理系列的DSP系統。
參考文獻
[1] WANG Li?qiang, SHI Yan, LU Zu?kang, et al. Miniaturized CMOS imaging module with real?time DSP technology for endoscope and laryngoscope applications [J]. Aign Process Systems, 2009, 54: 7?13.
[2] 王靜.嵌入式系統移動視頻監控終端平臺安全性[J].現代電子技術,2010,33(4):77?79.
[3] 許敬,王曉峰.基于特征點和區域生長的目標圖像分割方法[J].探測與控制學報,2012(1):6?9.
[4] GONZALEZ Rafael C, WOODS Richard E. Digital image processing [M]. 3rd ed. [S.l.]: Publishing House of Electronics Industry, 2010.
[5] Spectrum Digital, Inc. TMS320DM642 evaluation module with TVP video decoders [R]. Stafford, TX: Spectrum Digital, Inc., 2004.
[6] 趙振.基于TMS320DM642的視頻處理系統設計的研究[D].濟南:山東大學,2006.
[7] 高潮,李天長,郭永彩.基于DM642的嵌入式實時多路圖像采集處理系統[J].微計算機信息,2008,24(30):23?28.
[8] Spectrum Digital, Inc. TMS320DM642 video/imaging fixed?point digital signal processor [R]. Stafford, TX: Spectrum Digital, Inc., 2005.
[9] Texas Instruments. TPS54310 data [R]. USA: Texas Instruments,2002.
[10] 王躍宗,劉京會.TMS320DM642 DSP應用系統設計與開發 [M].北京:人民郵電出版社,2009.
[11] Texas Instruments. TMS320C6000 chip support library API reference guidance [R]. [2004?08?20]. http://www.ti.com.
[12] 張百清.基于嵌入式系統的違章車輛視頻檢測系統[J].現代電子技術,2012,35(11),164?166.