DM642無線圖像傳輸?shù)腡S流傳輸新技術(shù)
2 TS流傳輸實現(xiàn)
2.1 McBSP實現(xiàn)
McBSP由數(shù)據(jù)通道和控制通道組成,可以與外部設備連接,進行數(shù)據(jù)通信。數(shù)據(jù)的接收與發(fā)送分別工作于不同的引腳上,因此數(shù)據(jù)通信是全雙工的。其他的4個引腳用于傳輸控制信號(時鐘和同步信號)。
這里采用EDMA進行McBSP與存儲器緩沖區(qū)之間的數(shù)據(jù)搬運。EDMA控制器讀取從外部設備接收到并保存在DRR(數(shù)據(jù)接收寄存器)的數(shù)據(jù),或者將需要向外部設備發(fā)送的數(shù)據(jù)寫入DXR(數(shù)據(jù)發(fā)送寄存器)。被寫入DXR的數(shù)據(jù)經(jīng)過XSR被移出到DX腳上。同理,接收的數(shù)據(jù)先被移入RSR,然后被拷貝到RBR,最后再被拷貝到DRR,這時就允許被EDMA訪問了。McBSP中內(nèi)部數(shù)據(jù)的移出和外部數(shù)據(jù)的移入可以同時發(fā)生,即可以進行全雙工的數(shù)據(jù)通信。
以EDMA接收數(shù)據(jù)的配置為例,配置參數(shù)RAM。EDMA通道接收數(shù)據(jù)源地址為McBSP0的DRR寄存器,地址計數(shù)模式為不變模式。設置EDMA通道接收數(shù)據(jù)目的地址為DSP片內(nèi)存儲區(qū)PingBuffer首地址,確保第一次傳輸數(shù)據(jù)是到PingBuffer,地址計數(shù)模式同樣為遞增模式。配置源地址計數(shù)索引值,由于源地址為McBSP0的DRR寄存器,固定不變;配置目的地址計數(shù)索引值,由于接收數(shù)據(jù)為32位,所以srcBidx=srcCidx=4,這是因為DSP內(nèi)的最小計數(shù)單元為1個字節(jié),8bits;配置剩余的參數(shù)RAM傳輸參數(shù),包括設置ACNT=4,BCNT=2 048,CCNT=1,采用一維傳輸A-SYN C。
接下來是ping-pong傳輸?shù)某绦驅(qū)崿F(xiàn)。替ping-pong各自分配1個通道,于是一共有3個通道,對應3個參數(shù)RAM。ping通道的參數(shù)RAM與主通道的參數(shù)RAM完全一致,pong通道的參數(shù)RAM與主通道相比,只需將pong通道接收數(shù)據(jù)目的地址改為PongBuffer首地址。隨后調(diào)用EDMA_link三次,分別將主通道和ping通道連接,ping通道和pong通道相互連接。EDMA中斷設置與GPIO輸出任務一樣。
2.2 GPIO實現(xiàn)
TS流輸出任務采用1D到1D的傳輸模式。SUM=01,DUM=00,即源地址是188字節(jié)的Buffer,目的地址是GPIO[8:15]對應的寄存器,GP4的外部觸發(fā)EDMA傳輸,傳輸188字節(jié)產(chǎn)生1次EDMA中斷。隊列優(yōu)先級設置為緊急,來保證時序。以EXTINT5為EDMA觸發(fā)事件:
pong的參數(shù)RAM設置類似,只要將源地址改為pong,并將重載的參數(shù)RAM地址改為edmacfg_pong即可。
DM642中,EDMA的64個通道只產(chǎn)生一種中斷。當一個通道傳輸完成后,IPR(Interrupt Pending Register)寄存器里的相應位會被置1,EDMA中斷處理器通過查詢IPR寄存器,確定是哪個通道完成了傳輸,并調(diào)用相應的中斷服務程序,即tccCb(回調(diào)函數(shù),即通道傳輸完成后所調(diào)用的中斷服務程序)。tccCb=edma_isr,該函數(shù)的作用是當一個接收Buffer被填滿時,在通道傳輸完成后發(fā)送一個旗語信號給信號處理程序,通知其對收到的數(shù)據(jù)進行處理。參數(shù)RAMOPT中TCINTEN位置1,以使能EDMA中斷。隨后,利用DSP/BIOS將EDMA中斷源和DSP的可屏蔽中斷5連接起來。編寫相應通道的EDMA中斷程序,傳輸完一個TS包后,檢查是否1幀圖像的TS流傳完,用以生成數(shù)據(jù)有效信號(Dvalid),通知接收方哪些是有用數(shù)據(jù)。由于選用了DM642的可屏蔽中斷5,還需使能IER寄存器里的對應位。
TS流輸入則只需要將SUM=00,DUM=01,目的地址和源地址交換,再將EDMA中斷程序中目的地址變更到188字節(jié)后的地址。采用GP4作EDMA同步事件(即SPI時鐘),GPIO[8:15]作數(shù)據(jù)輸入,GP7作同步,采用GP6作外部中斷,用作數(shù)據(jù)有效線。在外部中斷中重載,在傳輸完成中斷中改變目的地址。如此則可順利接收到TS流。
pid控制相關(guān)文章:pid控制原理
評論