《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > C6000與C2000系列DSP之間串行數據通訊的研究與實現

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

2008-07-25
作者:韓開亮,張 濤

??? 摘? 要:主從式雙DSP系統中,主從芯片之間可靠的數據傳輸是整個系統穩定工作的保證。本文給出了數字信號處理器TMS320C6711D與TMS320LF2407A之間的高速異步串行通訊" title="串行通訊">串行通訊設計方法,介紹了串行通訊接口的硬件設計、寄存器參數配置方法、軟件流程及初始化代碼。
??? 關鍵詞:DSP;McBSP;SCI

???

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

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

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

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

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

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

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

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

?????????????????????
5 串行通訊初始化程序
  TMS320C6711與TMS320LF2407進行串行通訊的軟件設計難點是McBSP與SCI的初始化程序設計。初始化程序包括對芯片的管腳配置、通訊模式配置和中斷配置等方面。以下分別給出TMS320C6711的McBSP模塊和TMS320LF2407的SCI模塊的初始化程序模塊。
??? (1)TMS320C6711的McBSP模塊初始化程序
??? void?init_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);//開中斷

???? 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;?????//使能接收和發送
????? SCICTL2=0x02;???? //禁止發送中斷,使能接收中斷
????? SCICCR=0X07;????? //8位字長,1個停止位,空閑線多處
???????????????????????? //理器模式,無奇偶校驗
????? SCIHBAUD=0x00;??? //波特率設為312.5kb/s
????? SCILBAUD=0x09;
????? SCIPRI=0x00;???????? //接收為高優先級中斷
????? SCIRXST=SCIRXST&0xbf;//清除SCI接收中斷標志
????? SCICTL1=0x33;??????? //保存設置
??? }
??? 利用TMS320C6711的McBSP和TMS320LF2407的SCI可以實現異步串行數據通訊,具有電路簡單、設置靈活、數據傳輸速度快、性能可靠穩定等特點。在此基礎上可成功構建主從式雙DSP數據處理系統,有效解決單一DSP系統數據處理能力與控制能力難以兼顧的問題。本文所介紹的設計方案已在實際應用系統中采用,并經長時間運行檢驗。實踐證明,此設計方案是一種有效的多DSP數據交換手段。


參考文獻
[1] Texas Instruments Application Report.TMS320C6000 McBSP:UART.SPRA633B,2004.
[2] 安斯光,倪光正.TMS320LF2407A與MCS-51基于RS_485的串口通訊設計.計算機工程與設計,2006,27(13).
[3] 余建康,來五星,史鐵林.TMS320C6711DSP異步串行通信的研究與實現.機械與電子,2006,(1):37-39.
[4] TMS320C6000 Peripherals Reference Guide[R].Texas Instruments Incorporated,2001.
[5] 劉和平.TMS320LF240xDSP結構、原理及應用.北京:北京航空航天大學出版社,2000.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产精品永久免费在线| 亚洲激情电影中文字幕| 欧美a级片网| 久久精品一本| 欧美在线亚洲在线| 午夜精彩国产免费不卡不顿大片| 日韩亚洲欧美中文三级| 91久久在线| 亚洲电影免费| 亚洲成人在线视频网站| 欧美在线亚洲综合一区| 亚洲女ⅴideoshd黑人| 亚洲一级黄色片| 亚洲永久精品国产| 国产精品99久久不卡二区| 亚洲伦理精品| 一个人看的www久久| 日韩一级精品视频在线观看| 亚洲狼人综合| 99av国产精品欲麻豆| 99精品欧美一区二区三区综合在线| 亚洲人成欧美中文字幕| 亚洲欧洲精品一区二区三区 | 香蕉乱码成人久久天堂爱免费 | 国产日韩视频| 国产视频亚洲精品| 黑人操亚洲美女惩罚| 在线精品福利| 亚洲区国产区| 99这里只有久久精品视频| 在线性视频日韩欧美| 亚洲综合日韩| 久久av二区| 亚洲娇小video精品| 日韩亚洲一区在线播放| 亚洲视频中文| 午夜精品久久久久久久久久久| 欧美一进一出视频| 久久久一区二区三区| 欧美波霸影院| 欧美日韩在线影院| 国产精品免费观看在线| 国产亚洲综合精品| 激情伊人五月天久久综合| 亚洲国产精品激情在线观看| 亚洲精品在线观看视频| 亚洲午夜激情网页| 久久精品九九| 在线视频欧美一区| 久久av一区二区三区漫画| 蜜桃av噜噜一区| 欧美午夜a级限制福利片| 国产欧美日韩另类一区| 一区二区三区自拍| 99v久久综合狠狠综合久久| 亚洲综合色噜噜狠狠| 亚洲国产精品99久久久久久久久| 一本一本久久| 久久久xxx| 欧美日韩黄色大片| 国产午夜精品全部视频播放 | 亚洲无亚洲人成网站77777 | 久久精品72免费观看| 欧美肥婆在线| 国产精品美女主播在线观看纯欲| 国内精品视频666| 亚洲久久一区| 欧美在线视频播放| 国产精品99久久99久久久二8| 欧美在线播放高清精品| 免费亚洲网站| 国产日韩精品入口| 亚洲美女91| 亚洲成色www8888| 亚洲制服av| 欧美国产成人精品| 国产欧美日韩亚洲精品| 亚洲精品在线观看视频| 久久精品首页| 欧美一区二区视频免费观看| 欧美成人一区在线| 国产亚洲综合精品| 一本色道久久综合亚洲精品高清| 亚洲国产精品嫩草影院| 欧美一级播放| 欧美日韩在线观看视频| 在线视频国产日韩| 午夜一级在线看亚洲| 亚洲午夜视频| 欧美精品一区二区三区视频| 韩日精品视频| 亚洲欧美在线高清| 中文国产一区| 欧美激情国产高清| 精品1区2区| 欧美伊人久久| 香蕉久久夜色| 国产精品黄视频| 亚洲美女色禁图| 亚洲精品综合久久中文字幕| 麻豆成人综合网| 国产亚洲综合在线| 亚洲永久视频| 亚洲欧美成人精品| 欧美三区在线| 99精品视频免费| 99xxxx成人网| 欧美精品一区二区三区一线天视频| 一区免费观看| 亚洲风情在线资源站| 久久亚洲风情| 国内精品久久久| 欧美在线观看www| 久久国内精品视频| 国产欧美日韩亚洲精品| 亚洲自拍另类| 欧美亚洲视频| 国产精品女人网站| 亚洲一区在线免费观看| 亚洲综合欧美| 国产精品区免费视频| 在线一区二区三区四区| 亚洲午夜视频在线观看| 欧美日韩综合视频网址| 在线视频精品一| 亚洲欧美电影在线观看| 国产精品久久久99| 亚洲香蕉伊综合在人在线视看| 亚洲在线一区二区三区| 国产精品久久久久久久第一福利| 亚洲午夜精品视频| 欧美一区二区在线免费观看| 国产精品日韩一区二区| 亚洲在线观看视频网站| 欧美一区三区三区高中清蜜桃| 国产精品视频专区| 亚洲欧美日韩国产综合| 久久福利一区| 黄色国产精品一区二区三区| 亚洲国产精品传媒在线观看| 久久综合亚州| 亚洲三级观看| 亚洲性色视频| 国产欧美婷婷中文| 久久国产黑丝| 欧美成人一区二免费视频软件| 亚洲三级视频在线观看| 中文精品一区二区三区| 国产精品丝袜xxxxxxx| 午夜精品短视频| 久久麻豆一区二区| 亚洲国产成人久久| 一区二区三区高清视频在线观看| 国产精品福利网站| 欧美一区二区日韩一区二区| 蜜桃久久av| 9l视频自拍蝌蚪9l视频成人| 午夜久久美女| 激情综合电影网| 在线中文字幕日韩| 国产裸体写真av一区二区| 久久精品国产一区二区电影| 欧美精品久久一区二区| 亚洲永久在线| 欧美国产综合视频| 在线亚洲高清视频| 久久久久久97三级| 亚洲欧洲综合| 欧美在线视频观看免费网站| 在线视频成人| 亚洲欧美日韩精品在线| 韩国v欧美v日本v亚洲v| 一区二区冒白浆视频| 国产欧美日韩亚洲| 洋洋av久久久久久久一区| 国产精品一区久久| 亚洲精品网站在线播放gif| 国产精品美女久久久浪潮软件| 欧美在线视频一区二区| 欧美日本一区二区三区| 性做久久久久久免费观看欧美| 欧美激情小视频| 亚洲欧美日韩成人高清在线一区| 美女久久一区| 亚洲专区欧美专区| 欧美黄色成人网| 先锋影音久久久| 欧美精品福利在线| 欧美一区二区视频97| 欧美日韩国产bt| 久久精品人人做人人爽电影蜜月| 欧美午夜视频一区二区| 亚洲经典自拍| 国产日韩综合一区二区性色av| 日韩视频在线观看免费| 国产美女精品免费电影| 一区二区三区国产在线观看| 伊人久久大香线蕉av超碰演员| 亚洲欧美激情视频在线观看一区二区三区 | 欧美一区二区精品在线|