基于TMS320C6711的線陣CCD采集與處理系統(tǒng)
關(guān)鍵詞:TMS320C6711 CCD 89C52 數(shù)據(jù)采集 數(shù)據(jù)處理
引言
TMS320C6711是TI公司推出的DSP芯片。其數(shù)據(jù)處理功能非常強大,時鐘速度可大100M(或者150M),但是其I/O功能要求有限。因此,采用MCU(89C52)作為人機接口,構(gòu)成雙CPU(MCU和DSP)系統(tǒng)。
1 系統(tǒng)構(gòu)成
本文所介紹的CCD采集系統(tǒng)是在32位浮點DSP(TMS320C6711)上實現(xiàn)的。如圖1所示:單片機89C52負責接受鍵盤輸入,并在液晶顯示器上顯示處理的結(jié)果信息;CCD在光點轉(zhuǎn)換后的數(shù)據(jù)通過A/D轉(zhuǎn)換器后在異步FIFO中緩存;DSP是系統(tǒng)的信息處理中心,它讀取FIFO中的數(shù)據(jù)后經(jīng)過處理,將結(jié)果傳給89C52,由液晶顯示器顯示信息。
DSP(TMS320C6711)是整個硬件系統(tǒng)的信號處理中心。它接受CCD傳來的采集信號,加以處理并將結(jié)果傳給單片機。DSP還完成對Flash和SDRAM的控制。
MCU(89C52)主要充當人機界面的角色,接受外部鍵盤的輸入,將DSP傳輸未來的結(jié)果用數(shù)據(jù)和圖文的形式在液晶顯示器上顯示出來。
*8KB的可編程Flash Memory;
*可以寫/擦1000次以上;
*內(nèi)置256×8位RAM;
*32個可編程I/O口。
圖3 信號雙向緩沖器隔離圖
由于DSP計算能力很強,但I/O控制能力有限,因此89C52的以上性能可以保障系統(tǒng)控制能力,提供人機接口之便。
CCD(TCD132D)是一種新型的固體成像器件。特別適合各種精密圖像傳感和無接觸工件尺寸的在線測量。TCD132D是具有1024個像素的二相線性CCD。
IDT7204是4K×9位的異步FIFO,讀寫操作會自動訪問存儲器中連續(xù)的存儲單元。從FIFO中讀出的數(shù)據(jù)和寫入的順序相同,地址的順序在內(nèi)部已經(jīng)預先定義好。芯片對讀寫指針提供復位功能,使內(nèi)部讀寫指針同時設(shè)置到初始位置。另外,它還可以對已經(jīng)讀出的數(shù)據(jù)通過將讀指針重新設(shè)置到初始位置而實現(xiàn)數(shù)據(jù)的重新讀取。該器件用9位數(shù)據(jù)寬度,第9位可以根據(jù)用戶需要作控制位或者校驗位。IDT7204的存取速率可達12ns。
A/D轉(zhuǎn)換器(AD7821)是Analog公司出品的高速8位A/D轉(zhuǎn)換器件;Flash采用AMD公司4Mbit的Flash Memory AM29LV400B;SDRAM采用了4片Micron公司生產(chǎn)的高速SDRAM芯片MT48LC2M8A;液晶顯示采用T6963C控制器點陣圖形液晶顯示模塊。
2 系統(tǒng)內(nèi)關(guān)鍵電路的設(shè)計和主要芯片的互連互控
2.1 CCD以及A/D模塊
采用TCD132D線性CCD,光電轉(zhuǎn)換后用三極管放大,如圖2所示。三極管放大后用LF357進行濾波處理,然后再送A/D模塊濾波、轉(zhuǎn)換。A/D轉(zhuǎn)換使用AD7821,采用READ方式讀取數(shù)據(jù)。
2.2 DSP與SDRAM、FIF0的互連和信號完整性設(shè)計
由于TMS320C6711的時鐘頻率在100MHz以上,時鐘沿時間為10ns或者以下,系統(tǒng)構(gòu)成中除有DSP芯片本身外,還有SDRAM、Flash、FIFO等。故必須對系統(tǒng)進行分割,主要目的是保護高速部分,即SDRAM部分。
設(shè)計中高速部分(SDRAM部分)要求信號線盡量短,盡量靠近DSP。本系統(tǒng)中需要使用大量存儲器(4片SDRAM)。DSP與SDRAM的時鐘接口速度很高,為保障信號的完整性,如圖3所示,采用圖4所示的時鐘緩沖器產(chǎn)生4個相同、延遲極小并且一致的時鐘,分別接到4片SDRAM上。這樣不但增加了時鐘的驅(qū)動能力,同時還很好地保證了信號的完整性。
為了保護高速信號部分,同時為了防止DSP外設(shè)驅(qū)動能力的不足,用74LVT162245雙向緩沖器實現(xiàn)Flash和異步FIFO數(shù)據(jù)線的職責離。
FIFO芯片IDT7204與DSP連接中圖5所示。FIFO是異步器件,所以放到CE1空間上。FIFO的讀信號由XARE#、XCE1#、XA20、XA21控制。當AD7821信號轉(zhuǎn)換害完成后, 由DB_INT向WE#寫信號線開始寫入FIFO;而當FIFO半滿后,由HF#向DSP的X_INT4請求寫入DSP。
2.3 DSP與MCU的互連
由于DSP的McBSP接口和MCU(89C52)的UART接口并不一致,所以不能直接把McBSP當作標準的UART來應(yīng)用。McBSP和UART連接有兩種方式:一種是Serial Port方式,硬件連接如圖6所示;另一種是將McBSP設(shè)置成GPIO方式,其硬件連接如圖7所示。
3 系統(tǒng)在生物醫(yī)學工程中的應(yīng)用舉例
利用靜止懸浮式(非流式)激光散射法血細胞分類計數(shù)測定法對血細胞分類計數(shù),不需要固定和染色樣品,不需要導電介質(zhì),更不需要昂貴的流式裝置,可以方便、快捷地對血細胞分類計數(shù)。這不但大大降低了儀器造價,滿足于血液常規(guī)的檢驗,而且還可以針對病人的不同要求分別檢驗,減輕病人負擔。
3.2 軟件及其優(yōu)化
本系統(tǒng)的軟件分為兩部分:一是以單片機為核心的系統(tǒng)控制程序,主要是人機接口程序;二是以DSP為核心的數(shù)據(jù)處理程序。下面就分別對這兩部分進行詳細的闡述。
(1)以單片機為核心的系統(tǒng)控制程序
單片機作為系統(tǒng)的控制核心負責液晶的顯示、鍵盤的掃描及系統(tǒng)的啟動和停止。圖8是這部分的程序流程圖。
(2)以DSP為核心的數(shù)據(jù)處理程序
DSP子系統(tǒng)接受單片機傳遞的操作指令和參數(shù),啟動CCD工作,然后,通過QDMA方式從FIFO(數(shù)據(jù)緩沖作用)里面讀取光強數(shù)據(jù),調(diào)用NNLS算法計算血細胞的尺寸分布。最后,把結(jié)果傳遞給單片機。
圖9是這部分程序的流程圖。程序采用C語言與匯編語言混合編寫。C語言構(gòu)成程序的主框架。
程序的優(yōu)化包數(shù)據(jù)預處理和采用浮點運算器TMS320C6711的各種優(yōu)化方法進行數(shù)據(jù)處理。
由于測得的散射光強分布信息的數(shù)字化信號往往帶有電路噪聲和隨機誤差,影響到測量的精度。為使這些數(shù)據(jù)能更好地反映實際情況,通常要對它們進行一定的預處理,這樣才能作為數(shù)據(jù)處理軟件進一步計算的原始數(shù)據(jù)。我們采集50組光學數(shù)據(jù)進行平均,來減小相對誤差。由于CCD光學探測器的各像元具有空間等間隔特點,故采用五點三次平滑濾波獲取血液樣品的徑向散射光強。
4 結(jié)論
線陣CCD采集和處理系統(tǒng)采用DSP(TMS320C6711)和MCU(89C52)的雙CPU處理系統(tǒng)。將DSP的數(shù)據(jù)處理速度快和MCU的I/O控制能力強的優(yōu)點結(jié)合起來,外加高速AD轉(zhuǎn)化器、異步FIFO,構(gòu)成了功能強大、計算速度快的光電采集處理系統(tǒng)。該系統(tǒng)在工業(yè)信號采集處理、醫(yī)學信號采集處理等領(lǐng)域都有很廣的應(yīng)用前景。