新聞中心

EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > DM642無線圖像傳輸?shù)腡S流傳輸新技術(shù)

DM642無線圖像傳輸?shù)腡S流傳輸新技術(shù)

作者: 時(shí)間:2011-12-23 來源:網(wǎng)絡(luò) 收藏

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

pid控制相關(guān)文章:pid控制原理




評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉