數字信號處理器(DSP)是數字信號處理理論與超大規模集成電路(VLSI)技術融合的結晶。目前DSP技術正廣泛地應用于通信、語音、圖像、航天航空、儀器儀表等領域,在推動當代信息處理數字化方面正發揮著越來越大的作用。 在利用電話線傳輸視頻圖像這一低比特率多媒體通信領域中,如果選用圖像處理的專用芯片,如SAA7110、8×8 3104VCP以及LSI公司的專用芯片等,或者選用具有高速運算性能的高檔DSP進行圖像處理,都會使產生價格大幅度標升。本文介紹的采用TI公司的低檔DSP芯片TMS320F206和視頻A/D芯片TLC5510的圖像采集卡,則為低比特率多媒體通信提供了一個廉價的解決方案。 1 TLC5510芯片和TMS320F206芯片簡介 1.1 TLC5510簡介 TLC5510是CMOS、8位、20MSPS模擬/數字器(ADC),它利用了半閃速(semiflash architecture)結構。TLC5510用單5V電源供電,只消耗100mW的功率。它還有內部采樣的保持電路,高阻的并行輸出以及內部基準電阻。 與閃速轉換器(flash converter)相比,半閃速結構減少了功率損耗和芯片尺寸。通過2步過程(2-step-process)中實現轉換,可大大減少比較器的數目。轉換數據的等待時間為2.5個時鐘周期。 無需外部基準電壓源和精密電阻,僅使用內部基準電阻和VDDA就可實現2V的滿量程轉換范圍。25℃時的線性度誤差為±0.75LSB,在整個溫度范圍內的線性誤差最大值是±1LSB。25℃時的差分線性度誤差為±0.5LSB,在整個溫度范圍內的差分線性度誤差最大值是±0.75LSB。 1.2 TMS320F206簡介 TMS320F206是TI公司推出的一種DSP芯片,它是基于TMS320C5x之上的高速定點數字處理芯片,具有改進的哈佛結構(并行分離的程序和數據總線)、高性能CPU及高效的指令集等特點。其主要特性如下: CPU具有32位CALU、32位累加器、16×16位并行乘法器、三個移位寄存器、八個16位輔助寄存器。 存儲器個有224K字可尋址存儲空間、544字片內DRAM、4K字片內SRA或32K字節內快閃存儲器。 指令速度為50ns、35ns及25ns單指令周期。 外圍電路有軟件可編程定時器、軟件可編程等待狀態發生器、片內鎖相環時鐘發生器、同步和異步系列串口。 2 硬件接口電路設計 2.1 TLC5510前端電路設計 TLC5510前端電路如圖1所示。 在電路中,模擬電源VDDA和數字電源VDDD相互獨立。VDDA與數字地AGND之間及VDDD與模擬地DGND之間都用4.7μF電容、0.1μF電容和鐵氧磁環去耦和消除電源的紋波。AGND與DGND分開,以避免數字信號給模擬信號帶來噪聲。放大后的視頻信號直接加在TLC5510的19腳。TLC5510的時鐘信號由TMS320F206的時鐘信號輸出腳CLKOUT1提供。 2.2 TLC5510與TMS320F206接口電路設計 TLC5510與TMS320F206接口電路圖如圖2所示。 TLC5510數字地與TMS320F206的地相連。因TLC5510內部有數字輸出緩沖,所以TLC5510的腳[D1:D8]gn TMS320F206腳[D0:D7]直接相連。TMS320F206的CLKOUTI腳通過一小電阻給TLC5510提供時鐘信號。TMS320F206管腳A11和IS為邏輯控制,當A11為邏輯高,IS為邏輯低時,TMS320F206就可從TLC5510讀取采樣數據。 2.3 TMS320F206與計算機串口通信 存入TMS320F206的圖像數據通過串口以9600 b/s的速率送入計算機,計算機將數據存到緩存區,然后通過像素點與圖像轉換程序在顯示器上顯示出來。 3 接口程序設計 3.1 程序常量的初始化 (1)設采樣數據存儲區的起始地睛為0900h (2)設采樣數為1000h (3)設A/D地址為0800h 3.2 程序步驟 (1)初始化TMS320F206 (2)加載合適的ARn (3)選通TLC5510 (4)讀取A/D轉換值 (5)初始化UART (6)向UART傳數 (7)程序結束 3.3 具體程序 .title "TLC5510 Interface" .copy "init.h" .copy "vector.h" .text ADC_Addr .set 0800h ;設置TLC5510的地址 Mem_pointer .set 0900h ;設置采樣數據存儲區的起始地址 Count .set 1000h ;設置采樣個數 start: lar ar2,#ADC_Addr lar ar3,#Mem_pointer lar ar4,#Count * 開始A/D轉換 ldp #6h ;設置頁面指針使其指向50h×6=0300h處 splk #Count,0h ;把采樣個數放入0300h lar ar4,#0300h ;使AR4指向0300h mar *,ar4 ;把AR4設為當前寄存器 rpt *,ar3 ;設置RPTC寄存器后,把AR3設為當前寄存器 in *+,ADC_Addr,ar4 ;讀入并存儲A/D轉換結果 * 通過UART向計算機傳輸數據 * 初始UART口 clrc CNF ;把B0塊映射為數據空間 ldp #0h ;設置葉面指針使其指向0h處 setc INTM ;禁止所有中斷 splk #0fffh,ifr ;清中斷 splk #0000h,60h out 60h,wsgr ;設置零等待 splk #0c180h,61h ;把UART口復位 out 61h,aspcr ;允許I/O中斷 splk #0e180h,61h out 61h,aspcr ;打開I/O斷口 splk #4fffh,62h out 62h,iosr ;禁止自動波特率 splk #00082h,63h out 63h,brd ;設置波特率為9600 splk #20h,imr ;允許UART中斷 lar ar3,#0900h ;恢復AR3 lar ar4,#(Count-1) ;恢復AR4 mar *,ar3 ;設置AR3為當前寄存器 clrc intm ;打開中斷 uart1:setc xf ;把xf置1,開始傳數 mar *,ar3 ;把AR3設為當前寄存器 out *+,adtr ;傳出數據后,把AR3加1 wait: clrc xf ;關閉xf,停止傳數 mar *,ar2 ;把AR3設為當前寄存器 in *,0fff6h ;讀放IOSR寄存器的狀態 bit *,4 ;檢測第12位是否為0 bcnd cont,tc ;如果為0,等待直到IOSR的第12位為1 b wait skip: splk #0020h,ifr ;清中斷 clrc intm mar *,ar4 ;傳輸個數減1 banz uart1,ar3 ;未傳完,則跳到UART1, 傳下一個數 ret ;返回 inpt 1:ret inpt23:ret timer:ret uart:ret codtx:ret codrx:ret .end 我們將TLC5510與TMS320F206的接口設計用于煤礦井下遠程多媒體低比特率通信監控系統中,已取得初步進展,這一應用可以為TMS320F206用于圖像處理提供一種思路,從而為低比特率多媒體通信開辟一條廉價的途徑。 |