摘 要:主從式雙DSP系統中,主從芯片之間可靠的數據傳輸是整個系統穩定工作的保證。本文給出了數字信號處理器TMS320C6711D與TMS320LF2407A之間的高速異步串行通訊設計方法,介紹了串行通訊接口的硬件設計、寄存器參數配置方法、軟件流程及初始化代碼。
關鍵詞:DSP;McBSP;SCI
TMS320C6711是TI公司TMS320C6000系列32位浮點DSP,它具有專用硬件邏輯的CPU、片內存儲器、片內外設,支持匯編和C語言的單獨或混合編程。該系列DSP最主要的特點是采用了VLIW體系結構,因此可以單周期發射多條指令,實現很高的指令級并行效率。其計算和處理速度非常快,系統單指令周期可達到6.67ns,被廣泛用于DSL、無線基站、雷達聲納、數字圖像處理等方面。在TMS320C6711中有2個多通道緩沖串行接口McBSP,McBSP不僅可以配制成串行接口,還可以獨立配制成通用的輸入(GPI)、輸出(GPO)和輸入輸出端口(GPIO)。其優點是數據處理能力強大,但控制接口少,片內集成外部設備少,控制能力較弱。
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)、發送幀同步引腳(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所示。





