TMS320VC5509與CameraLink相機的接口技術(shù)
摘 要:本文在分析DSP片上多通道緩沖串行口(MCBSP)與直接存儲器訪(fǎng)問(wèn)(DMA)的基礎上,提出了一種非常靈活的接口技術(shù),并設計調試了DSP與相機接口電路和程序。利用本文提出的DMA接口方式,接收數據率可以達到36Mbps, 完全滿(mǎn)足激光的實(shí)時(shí)測量。
關(guān)鍵詞:TMS320VC5509;多通道緩沖串口 ;直接存儲器訪(fǎng)問(wèn);接口
引言
在激光波長(cháng)測量系統中,激光信號從CCD相機輸出到信號處理器的時(shí)間是實(shí)時(shí)測量激光波長(cháng)的關(guān)鍵。即使采用高速單片機也無(wú)法滿(mǎn)足實(shí)時(shí)測量的需要,而將DSP用于相機數據采集和信號處理使這一難題的解決成為了可能。
接口設計
本設計采用ATMEL公司的AViiVA M2 CL相機,該相機采用CameraLink接口。DSP選用了TMS320VC5509,與TMS320C54x相比,該定點(diǎn)DSP通過(guò)增強功能單元,提高了DSP的運算能力。相機工作方式的設置通過(guò)與DSP的串行通信來(lái)實(shí)現,采用全雙工方式,波特率固定在9.6kHz,每幀數據由一個(gè)起始位、8個(gè)數據位,以及一個(gè)停止位組成。
DSP與相機的通信
TMS320C5509 芯片只有同步串口,通常只能用于與具有同步通信接口的外設進(jìn)行通信。當其構成一個(gè)獨立的處理單元需要和帶有異步通信接口的外設交換數據時(shí),常用的方式有兩種:一種是利用DSP 的通用I/O 口線(xiàn)XF和BIO 構成串口,由軟件來(lái)設定通信波特率和握手方式。這種方式編程復雜,并且會(huì )大量占用CPU 時(shí)間。另一種方式是通過(guò)專(zhuān)用的異步通信芯片來(lái)實(shí)現,這雖然能實(shí)現DSP高速數據通信,但是增加了硬件電路的復雜性。
本設計直接利用DSP的MCBSP與相機通信。TMS320VC5509有3個(gè)MCBSP,依靠數據線(xiàn)D(R/X)、幀同步線(xiàn)FS(R/X)和移位時(shí)鐘線(xiàn)CLK(R/X)實(shí)現數據的發(fā)送和接收。由CLKX、CLKR、FSX、FSR 實(shí)現時(shí)鐘和幀同步的控制。
數據格式的統一
要實(shí)現相機與DSP的串行通信首先要解決這兩種不同通信方式之間的數據格式統一問(wèn)題。相機接收的每幀數據是十位,所以DSP字長(cháng)要選擇16位。由于這種字長(cháng)是高位先出,因此,在DSP發(fā)送數據前要對數據進(jìn)行編碼:先把要發(fā)送的數據位反轉,然后加上起始位和停止位。
波特率匹配
MCBSP采樣率發(fā)生器的輸出時(shí)鐘CLKG由如下等式?jīng)Q定:
FCLKG=FclockSource/(CLKDV+1)
CLKDV是個(gè)8位的字段,如果輸入的參考時(shí)鐘FclockSource來(lái)自CPU,而為了實(shí)現高速采集,CPU要工作在144MHz,所以MCBSP采樣率發(fā)生器不可能工作在相機需要的波特率9.6kHz。因此,本設計中利用DSP定時(shí)器為串口提供時(shí)鐘。定時(shí)器的計數器分為兩個(gè):4位的預定標器(TDDR)和16位的主計數器(PRD)。定時(shí)器的時(shí)鐘頻率利用公式:Ftimer=FclockSource/[(PRD+1)(TDDR+1)]計算。此時(shí)設置:PRD=0, TDDR=14999,定時(shí)器就可以輸出頻率為9.6kHz的時(shí)鐘信號。
TMS320VC5509與相機的串行通信接口電路中,要利用DS90LV047A把TTL電平轉換為L(cháng)VDS格式。此外,在MCBSP設置中要選擇來(lái)自CLKR腳上的時(shí)鐘作為參考時(shí)鐘。
數據采樣
DSP對數據的采樣通常采用中斷的方法實(shí)現,而DMA不僅可以操作內部存儲器的數據,而且可以操作片內外設、外部設備以及擴展存儲器的數據。所以應用DMA功能可實(shí)現在沒(méi)有CPU 的干預下直接對內存映射區域進(jìn)行數據傳輸。
TMS320VC5509提供了6個(gè)DMA通道,每個(gè)通道均可單獨設置所要傳送數據的源地址、目的地址、傳送數據的長(cháng)度、數據傳送的同步方式以及數據傳送完成后是否向CPU發(fā)出中斷信號等。
DMA的工作方式
傳統上,為了保證采樣時(shí)不丟失數據,往往在DSP與相機間加FIFO來(lái)緩沖。數據首先從相機采集到緩沖區FIFO里,然后再從FIFO讀入到DSP內存,這樣從相機采集到DSP就要一定的附加時(shí)間,無(wú)法實(shí)現高速數據采集和信號處理,而且需要額外的FIFO。本文提出了一種新的DMA采集方法,無(wú)需FIFO卻能實(shí)現數據的高速采集。
DS90CR286的主要功能是把CCD相機輸出的LVDS信號轉換為T(mén)TL信號,本設計中把DS90CR286輸出的數據直接接到DSP的外部存儲器接口(EMIF)數據總線(xiàn)上,然后DMA 把源地址設置為外部存儲器的地址,這個(gè)地址要初始化,但又不能是真正存在的外部存儲器的地址,這樣DSP每次所采集的數據,正是相機輸出的數據。在圖1中給出了DMA方式數據采集原理,其中R1~R6都是100W的電阻。
要實(shí)現測量的實(shí)時(shí)性,必須實(shí)行數據采集和數據處理流水線(xiàn)作業(yè)。本設計中在DSP片上數據存儲區設立了兩個(gè)交替工作的存儲緩沖區,通過(guò)在軟件上設立標志位實(shí)現對存儲區間的切換。DMA的數據長(cháng)度設置為相機一幀數據的長(cháng)度,目的起始地址在數據空間上有兩個(gè),分別設置為4000h與4400h。假如在DSP芯片上的數據區設置兩塊1KB的數據緩沖區A和B,分別代表目的地址為4000h和4400h的數據緩沖區,進(jìn)行數據存儲和數據處理,當DSP用A區進(jìn)行采集數據的第i幀時(shí),同時(shí)B區進(jìn)行第i-1幀數據的處理。當兩者同時(shí)結束后,接著(zhù)又用B區進(jìn)行第i+1幀數據的采集, 同時(shí)A區進(jìn)行第i幀數據的處理,這樣交替工作,形成流水線(xiàn)作業(yè)。數據傳送的同步信號由DS90CR286的INT2引腳產(chǎn)生,當數據在一個(gè)數據區存滿(mǎn)時(shí),通過(guò)INT3通知CPU轉到另一數據存儲區。圖2給出了DMA功能對數據采集的時(shí)序圖。
高速數據采集的程序設計
DMA方式高速采集的程序由EMIF初始化、DMA控制器設置和中斷服務(wù)程序組成。EMIF初始化主要用來(lái)設置外部存儲器的工作頻率和類(lèi)型。其中,對工作頻率的設置非常重要,它直接影響到數據采集的頻率。在DMA方式下,數據采集的速率等于EMIF工作頻率的四分之一。DMA控制器設置是數據采集的關(guān)鍵,由于DMA有兩個(gè)目的地址,為了使程序簡(jiǎn)單,同時(shí)也為了避免數據的沖突,本設計采用兩個(gè)DMA通道:通道1與通道2。下面給出了DMA設置的程序以及詳細的說(shuō)明。
DMA通道1的設置程序:
MOV #0x0004,PORT (#0x0E00);設置DMA_GCR為共享模式
MOV #0x0405,PORT (#0x0C20);設置DMA_CSDP1的目的為DARAM,源為EMIF
;數據單元長(cháng)度為16位,不打包
MOV #0x0000,PORT (#0x0C22);關(guān)閉DMA_CICR中的所有中斷
MOV #0x2005,PORT (#0x0c24);源地址為外部SDRAM的442005h
MOV #0x0044,PORT(#0x0c25)
MOV #0x4000,PORT (#0x0c26);目的地址為DARAM的4000h
MOV #0x0000,PORT(#0x0c27)
MOV #0x0400,PORT (#0x0c28);每幀1024個(gè)數據單元
MOV #0x0001,PORT (#0x0c29);每塊1幀
MOV #0x4011,PORT (#0x0c21);源地址固定,目的地址采用自動(dòng)遞增方式修改地址,外部中斷2作為同步事件
DMA通道2的設置和通道1只有目的地址不同,其他都相同,下面給出了DMA通道2目的地址設置程序:
MOV #0x4400,PORT (#0x0c46);通道2目的地址為DARAM的4400h
MOV #0x0000,PORT(#0x0c27)
程序的中斷服務(wù)程序主要功能是當一幀數據采集結束后,對標志位進(jìn)行設置,讓CPU來(lái)處理這幀數據,同時(shí)把下一幀要采集的數據用另一個(gè)DMA通道采集并存儲到另一塊存儲區。
結語(yǔ)
本文利用DMA接口方式從EMIF的數據總線(xiàn)上直接采集數據,實(shí)現了高速并行數據采集,且結構簡(jiǎn)單,經(jīng)過(guò)實(shí)踐檢驗,最高采集速率達36Mbps,不僅能夠實(shí)時(shí)測量激光波長(cháng),而且在其他需要實(shí)時(shí)的數字視頻系統應用中也有很好的應用前景?!?/p>
參考文獻
1 應俊,徐盛,陳健. C5400系列DSP與AC97 Codec的接口. 電子設計應用. 2003
2 申敏,鄧矣兵. DSP原理及其在移動(dòng)通信中的應用. 北京:人民郵電出版社,2001
評論