<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > C6000與C2000系列DSP之間串行數據通訊的研究與實(shí)現

C6000與C2000系列DSP之間串行數據通訊的研究與實(shí)現

作者: 時(shí)間:2008-07-31 來(lái)源:網(wǎng)絡(luò ) 收藏
TMS320C6711是TI公司TMS32032位浮點(diǎn),它具有專(zhuān)用硬件邏輯的CPU、片內存儲器、片內外設,支持匯編和C語(yǔ)言的單獨或混合編程。該最主要的特點(diǎn)是采用了VLIW體系結構,因此可以單周期發(fā)射多條指令,很高的指令級并行效率。其計算和處理速度非???,系統單指令周期可達到6.67ns,被廣泛用于DSL、無(wú)線(xiàn)基站、雷達聲納、數字圖像處理等方面。在TMS320C6711中有2個(gè)多通道緩沖接口McBSP,McBSP不僅可以配制成接口,還可以獨立配制成通用的輸入(GPI)、輸出(GPO)和輸入輸出端口(GPIO)。其優(yōu)點(diǎn)是數據處理能力強大,但控制接口少,片內集成外部設備少,控制能力較弱。
TI公司的TMS320LF2407為16位定點(diǎn)微控制器,內嵌有看門(mén)狗定時(shí)器(WDT)、CAN總線(xiàn)控制器、模數轉換器(ADC)、外設接口(SPI)、異步串行口(SCI)等多種外設模塊,并有大量輸入輸出引腳(GPIO),可以滿(mǎn)足控制系統多方面的控制需求。但由于TMS320LF2407的指令周期最短為25ns(40MHz主頻),對于數據處理運算量特別大的系統,其運算速度略顯不足。
多數數字圖像處理應用系統既要求系統有強大的數據處理能力,以滿(mǎn)足對圖像處理的實(shí)時(shí)性要求,又要求系統有強大的控制能力,以便對外部眾多設備的控制。在實(shí)際應用系統中,將TMS320C6711作為處理器完成數字圖像的實(shí)時(shí)處理,TMS320LF2407作為控制器完成系統的控制功能,便可兼顧系統的數據處理能力與外部設備控制能力。這樣的系統要求在TMS320C6711和TMS320LF2407建立有效的數據交換通道,本文所介紹的設計思想就是基于以上工程需要提出的。
1 系統結構
本系統為嵌入式數字圖像處理系統,系統結構如圖1所示。數字圖像數據由下位機TMS320C6711處理,處理結果采用異步串口通訊的方式傳送給上位機TMS320LF2407,TMS320LF2407將采集到的模擬量、開(kāi)關(guān)量等參數,與通過(guò)異步串口接收到的圖像處理結果一起通過(guò)CAN總線(xiàn)向遠程監控終端發(fā)送。

TMS320C6711的多通道緩沖串行接口McBSP與TMS320LF2407的SCI模塊,通過(guò)特定的軟硬件設計可以支持使用標準格式的異步數字通訊。通訊數據的格式為:一個(gè)起始位、數據(長(cháng)度可通過(guò)編程在16位~8位內可選)位、可供選擇的奇/偶/非極性位、一個(gè)或兩個(gè)停止位,如圖2所示。


1.1 McBSP接口
McBSP的結構框圖如圖3所示。McBSP可以分為數據通道和控制通道兩部分。數據發(fā)送引腳(DX)和數據接收引腳(DR)分別負責數據的發(fā)送和接收,發(fā)送時(shí)鐘引腳(CLKX)、接收時(shí)鐘引腳(CLKR)、發(fā)送幀同步引腳(FSX)和接收幀同步引腳(FSR)提供串行時(shí)鐘和控制信號。CPU和DMA控制器通過(guò)外設總線(xiàn)與McBSP進(jìn)行通訊。當發(fā)送數據時(shí),CPU和DMA將數據寫(xiě)入數據發(fā)送寄存器(DXR1,DXR2),接著(zhù)復制到發(fā)送移位寄存器(XSR1,XSR2),通過(guò)發(fā)送移位寄存器輸出至DX引腳。同樣,當接收數據時(shí),DR引腳上接收到的數據先移位到接收移位寄存器(RSR1,RSR2),接著(zhù)復制到接收緩沖寄存器(RBR1,RBR2),RBR再將數據復制到數據接收寄存器(DRR1,DRR2)中,并通過(guò)串口事件通知CPU或DMA讀取數據。這種多極緩沖方式使得片內和串行能夠同時(shí)進(jìn)行。


1.2 SCI接口
SCI模塊支持CPU和其他使用標準格式的異步設備間的通訊。它具有SCIRXD(串行數據接收端)和SCITXD(串行數據發(fā)送端)兩個(gè)I/O引腳。在全雙工模式下具有一個(gè)發(fā)送器(包括SCITX2BUF及其主寄存器TXSHF)、一個(gè)接收器(包括SCIRXBUF及其RXSHF)。發(fā)送器在SCITXBUF存放要發(fā)送的數據,并每次一位地將數據移位至SCITXD引腳;接收時(shí)則每次一位地將SCIRXD引腳上的數據移入,載入SCIRXBUF和SCIRXEMU給CPU讀取。具有一個(gè)可編程的波特率發(fā)生器,可得到超過(guò)65 000種不同的可編程速率。SCI為接收器和發(fā)送器提供獨立的中斷請求和中斷向量:如果RX/BKINT ENA位(SCICTL2.1)被置位,當SCI接收到一個(gè)完整的幀,并把RXSHF中的數據傳送到SCIRXBUF時(shí),這個(gè)動(dòng)作置位RXRDY標志(SCIRXST.6)并啟動(dòng)一個(gè)中斷。如果TX INT ENA位(SCICTL2.0)被置位,則在任何時(shí)候,只要SCITXBUF中的數據送到TXSHF,發(fā)送器中斷就會(huì )被認定,表示CPU可以向SCITXBUF寫(xiě)。這個(gè)動(dòng)作置位TXRDY標志位,并啟動(dòng)一個(gè)中斷。
2 硬件
當TMS320C6711D與TMS320LF2407A進(jìn)行標準異步串行通訊時(shí),TMS320LF2407A的SCI接口可直接支持該通訊,只需將SCI接口通過(guò)內部特殊功能寄存器配置為串行接口模式即可。而TMS320C6711D的McBSP除通過(guò)內部特殊功能寄存器配置成串行接口外,在硬件設計上還應將DR和FSR短接,并與SCI的串行數據發(fā)送引腳(SCITXD)相連。這是由于標準異步串行通訊中數據線(xiàn)上既包含了幀同步信息,也包含了數據信息。SCI的串行數據接收引腳(SCIRXD)與McBSP的DX相連。
由于TMS320C6711D與TMS320LF2407A的接口電壓均為3.3V,二者引腳可直接相連,不需要電平轉換。McBSP與SCI的串行異步通訊接口電路如圖4所示。


3 軟件參數的配置與計算
3.1 針對TMS320C6711D

(1)波特率的計算
TMS320C6711D內部生成的串行時(shí)鐘由系統時(shí)鐘頻率SYSCLK和采樣率發(fā)生寄存器決定。MCBSP的內部數據時(shí)鐘頻率即異步波特率由以下公式確定:
MCBSP異步波特率=采樣率發(fā)生寄存器輸入時(shí)鐘頻率/(CLKGDV+1)
其中:CLKGDV=采樣率發(fā)生寄存器輸入時(shí)鐘頻率/McBSP異步波特率-1。
當采樣率發(fā)生寄存器的CLKSM=1時(shí),采樣率發(fā)生寄存器輸入時(shí)鐘頻率=CPU內核輸入時(shí)鐘/2;
當采樣率發(fā)生寄存器的CLKSM=0時(shí),采樣率發(fā)生寄存器輸入時(shí)鐘頻率=CPU內核輸入時(shí)鐘。
在本系統中,TMS320C6711D的內核輸入時(shí)鐘為150MHz,采樣率發(fā)生寄存器的CLKSM位設置為1。若使McBSP異步通訊波特率為312.5kb/s,則依據以上公式,采樣率發(fā)生寄存器的CLKGDV段參數應配置為239,即十六進(jìn)制的0xEF。
(2)特殊功能寄存器的初始化
TMS320C6711D內部與McBSP配置相關(guān)的特殊功能寄存器主要有:串口控制寄存器(SPCR)、接收控制寄存器(RCR)、發(fā)送控制寄存器(XCR)、采樣率發(fā)生器寄存器(SRGR)、多通道控制寄存器(MCR)、接收通道使能寄存器(RCER)、發(fā)送通道使能寄存器(XCER)、管腳控制寄存器(PCR)。
TMS320C6711的McBSP與TMS320LF2407的SCI模塊通訊時(shí),系統對McBSP的配置要求為:數據為單項幀;每幀一個(gè)數據單元;數據單元字長(cháng)為8bit;時(shí)鐘下降沿處接收數據;在上升沿處發(fā)送數據;幀同步信號高有效;幀同步有效后,在其后的第一個(gè)時(shí)鐘周期啟動(dòng)該幀的傳輸,即數據延遲為0;異步通信波特率為312.5kb/s。
根據以上控制要求,TMS320C6711D內部與McBSP相關(guān)的特殊功能寄存器的配置參數如表1所示。


3.2 針對TMS320LF2407A
(1)波特率的計算
TMS320LF2407A內部生成的串行時(shí)鐘由系統時(shí)鐘SYSCLK頻率和波特率選擇寄存器決定。串行通信接口使用16bit波特率選擇寄存器,數據傳輸速度可以被編程為65000多種不同的方式。
不同通信模式下的串行通信接口異步波特率由下列方法決定:
BRR=1~65 535時(shí)的串行通信接口異步波特率為:
SCI異步波特率=SYSCLK/[(BRR+1)8]
其中:BRR= SYSCLK/(SCI異步波特率8)-1
BRR=0時(shí)的串行通信接口異步波特率為:
SCI異步波特率=SYSCLK/16
這里BRR等于波特率選擇寄存器的16位值。
在本系統中,TMS320LF2407A的系統輸入時(shí)鐘為25MHz,若使SCI異步通信波特率為312.5kb/s,則依據以上公式,波特率選擇寄存器參數應配置為9,即十六進(jìn)制的0x0009。
(2)特殊功能寄存器的初始化
TMS320LF2407的SCI模塊的異步串行通訊配置包括管腳配置、通訊模式配置和中斷配置三方面,相關(guān)的特殊功能寄存器包括復用控制寄存器(MCRA)、端口數據和方向控制寄存器(PADATDIR)、串行通訊接口控制寄存器1和2(SCICTL1和SCICTL2)、通訊控制寄存器(SCICCR)、波特率選擇高字節寄存器和低字節寄存器(SCIHBAUD和SCILBAUD)、優(yōu)先級控制寄存器(SCIPRI)、接收狀態(tài)寄存器(SCIRXST)等。
為了實(shí)現通訊波特率為312.5kb/s的標準異步數字通訊,SCI模塊應配置為串行通信功能模式,并將特殊功能寄存器配置如表2所示。


4 軟件設計
系統中TMS320C6711通過(guò)McBSP將圖像處理結果采用主動(dòng)發(fā)送的方式發(fā)送給TMS320LF2407,后者通過(guò)響應SCI中斷的方式接收數據信息。這兩部分軟件流程框圖如圖5所示。


5 串行通訊初始化程序
  TMS320C6711與TMS320LF2407進(jìn)行串行通訊的軟件設計難點(diǎn)是McBSP與SCI的初始化程序設計。初始化程序包括對芯片的管腳配置、通訊模式配置和中斷配置等方面。以下分別給出TMS320C6711的McBSP模塊和TMS320LF2407的SCI模塊的初始化程序模塊。
(1)TMS320C6711的McBSP模塊初始化程序
voidinit_mcbsp0_master(void)
{
MCBSP_Config mcbspCfg0=
{
0x00010001,//配置spcr寄存器
0x000D0000,//配置rcr寄存器
0x00040020,//配置xcr寄存器
0x200000ef,//配置srgr寄存器,
//波特率設定為312.5kb/s
0x00000000,//配置mcr寄存器
0x00000000,//配置rcer寄存器
0x00000000,//配置xcer寄存器
0x00000b0c//配置pcr寄存器
};

hMcbsp0=MCBSP_open(MCBSP_DEV0, MCBSP_OPEN_RESET);
//選用port 0
MCBSP_config(hMcbsp0,mcbspCfg0);

IRQ_map(IRQ_EVT_RINT0,13);//映射接收中斷0為
//13號中斷
IRQ_reset(IRQ_EVT_RINT0);
IRQ_enable(IRQ_EVT_RINT0);//開(kāi)中斷

MCBSP_enableRcv(hMcbsp0);
MCBSP_enableSrgr(hMcbsp0);//Handle to SRGR
MCBSP_enableFsync(hMcbsp0);
}
(2)TMS320LF2407的SCI模塊初始化程序
void sci_INIT(void)
{
MCRA=MCRA|0x0003; //設置引腳SCITXD/IOPA0和
//SCIRXD/IOPA1為串行通訊功能
PADATDIR=0X0100; //設PA口為輸入口
SCICTL1=0x13;//使能接收和發(fā)送
SCICTL2=0x02; //禁止發(fā)送中斷,使能接收中斷
SCICCR=0X07; //8位字長(cháng),1個(gè)停止位,空閑線(xiàn)多處
//理器模式,無(wú)奇偶校驗
SCIHBAUD=0x00; //波特率設為312.5kb/s
SCILBAUD=0x09;
SCIPRI=0x00; //接收為高優(yōu)先級中斷
SCIRXST=SCIRXST0xbf;//清除SCI接收中斷標志
SCICTL1=0x33; //保存設置
}
利用TMS320C6711的McBSP和TMS320LF2407的SCI可以實(shí)現異步串行,具有電路簡(jiǎn)單、設置靈活、數據傳輸速度快、性能可靠穩定等特點(diǎn)。在此基礎上可成功構建主從式雙DSP數據處理系統,有效解決單一DSP系統數據處理能力與控制能力難以兼顧的問(wèn)題。本文所介紹的設計方案已在實(shí)際應用系統中采用,并經(jīng)長(cháng)時(shí)間運行檢驗。實(shí)踐證明,此設計方案是一種有效的多DSP數據交換手段。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>