基于McBSP的雙DSP間高速通信
發(fā)布時間:2008/9/23 0:00:00 訪問次數(shù):586
tms320c6000系列(以下簡稱c6000系列)dsp是美國德州儀器(ti)公司近年來推出的高端產品,因其性能優(yōu)良,編碼效率高,性價比好等諸多優(yōu)點,被廣泛的用于數(shù)字圖象處理,通信基站,雷達信號處理等領域。在實際的使用中,因為數(shù)據(jù)吞吐量太大,很多時候單片dsp無法滿足系統(tǒng)設計的要求,需要將兩片或多片dsp進行互連,于是研究dsp間的高速通信就顯得尤為重要。本文介紹了利用mcbsp來實現(xiàn)c6000系列dsp間高速通信的軟硬件設計和實現(xiàn)。
1. 多通道緩沖串口(mcbsp)的功能和特點
多通道緩沖串口(mcbsp)是ti公司標準串口的增強版本。功能強大的c6000系列的mcbsp是基于tms320c2000和c5000系列的標準串口之上的。其內部框圖如圖1所示。它具有如下功能和特點[1],[5]:
全雙工通信;
雙緩沖數(shù)據(jù)寄存器,支持連續(xù)的數(shù)據(jù)流;
獨立的接收、發(fā)送幀和時鐘信號;
可以直接與工業(yè)標準的編碼器,模擬接口芯片和其他a/d,d/a器件通信連接;
具有外部移位時鐘發(fā)生器及內部頻率可編程移位時鐘;
發(fā)送和接收通道數(shù)多達128路;
支持寬范圍的數(shù)據(jù)格式,包括8,12,16,20,24,32位字長;
利用 律或a律壓縮擴展通信;
幀同步和時鐘信號的極性可編程;
可編程內部時鐘和幀同步信號發(fā)生器等。
圖1 mcbsp的內部框圖
數(shù)據(jù)通過數(shù)據(jù)發(fā)送引腳(dx)和數(shù)據(jù)接收引腳(dr)與連接到mcbsp的器件進行通信。時鐘形式并且?guī)降目刂菩畔⑼ㄟ^clkx,clkr,fsx和fer通信。外圍器件通過32位控制寄存器與mcbsp通信。cpu或者dma控制器從數(shù)據(jù)接收寄存器(drr)讀取接收的數(shù)據(jù),而把要發(fā)送的數(shù)據(jù)寫入數(shù)據(jù)發(fā)送寄存器(dxr)。寫入dxr的數(shù)據(jù)通過發(fā)送移位寄存器(xsr)輸出到dx引腳[2]。相似地,在dr引腳接收到的數(shù)據(jù)先進入接收移位寄存器(rsr),然后拷貝到接收緩沖寄存器(rbr)。rbr然后再拷貝到drr,drr中的數(shù)據(jù)才能被cpu或者dma控制器讀出。這樣就允許內部數(shù)據(jù)移動和外部數(shù)據(jù)通信同時進行。還有其他一些cpu可訪問的寄存器用來配置mcbsp的工作機制。
2. 硬件接口
c6000系列dsp的多通道緩沖串口(mcbsp)可以和其他c6000系列dsp芯片的多通道緩沖串口(mcbsp)進行高速互連。為了達到最高的數(shù)據(jù)傳速速度,其中的一片dsp必須同時作為時鐘信號和幀同步信號的發(fā)生器,換句話說,作為發(fā)送端的mcbsp在發(fā)送數(shù)據(jù)傳輸時鐘信號的同時也發(fā)送幀同步信號,而作為接收端的mcbsp只能等待主片發(fā)來的這些控制信號。圖2是硬件系統(tǒng)的設計框圖[3]。dsp0的mcbsp0被配置成時鐘信號和幀同步信號的發(fā)生器,即主片;而dsp1的mcbsp1被配置成只能被動的等待這些控制信號。
圖2 最大傳輸速度下的硬件互連框圖
圖3是c6000系列雙dsp的mcbsp間傳輸數(shù)據(jù)的信號時序圖。在該時序圖的例子中,dsp0的mcbsp0的時鐘信號頻率采用其cpu主頻的一半。當主片產生時鐘信號和幀同步信號的同時,clkx和fsx編程配置成輸出。因為在數(shù)據(jù)最大傳輸情況下,不支持零數(shù)據(jù)的延遲,所以fsx引腳輸出的第一個數(shù)據(jù)是非零值。在該時序圖中,rcr和xcr寄存器的(r/x)datdly都被配置為1。圖3中clkx和fsx為主片引腳,clkr和fsr為從片引腳。
圖3 mcbsp間最大傳輸數(shù)據(jù)時的時序圖
3. 軟件實現(xiàn)
用mcbsp實現(xiàn)c6000系列雙dsp間的高速通信軟件設計[4]需分別對主機dsp0和從機dsp1進行編程。軟件設計的重點是對mcbsp相關寄存器的設置,以使其工作在最高數(shù)據(jù)傳輸速度模式下。表1列出了高速通信模式下需要配置的寄存器的位段,未列出的寄存器位段采用系統(tǒng)默認值。
表1 高速通信模式下需配置的寄存器位段
寄存器[位段]
位段名
主片
從片
說明
rcr[17:16]
rdatdly
0 h
1 h
接收數(shù)據(jù)延遲:0h:0-bit數(shù)據(jù)延遲;1h:1-bit數(shù)據(jù)延遲
xcr[17:16]
xdatdly
1 h
0 h
發(fā)送數(shù)據(jù)延遲:1h:1-bit數(shù)據(jù)延遲;0h:0-bit數(shù)據(jù)延遲
srgr[29]
clksm
1
0
時鐘信號產生模式位:1:時鐘信號來自于cpu時鐘;0:時鐘信號來自于clks引腳
srgr[28]
fsgm
1
0
tms320c6000系列(以下簡稱c6000系列)dsp是美國德州儀器(ti)公司近年來推出的高端產品,因其性能優(yōu)良,編碼效率高,性價比好等諸多優(yōu)點,被廣泛的用于數(shù)字圖象處理,通信基站,雷達信號處理等領域。在實際的使用中,因為數(shù)據(jù)吞吐量太大,很多時候單片dsp無法滿足系統(tǒng)設計的要求,需要將兩片或多片dsp進行互連,于是研究dsp間的高速通信就顯得尤為重要。本文介紹了利用mcbsp來實現(xiàn)c6000系列dsp間高速通信的軟硬件設計和實現(xiàn)。
1. 多通道緩沖串口(mcbsp)的功能和特點
多通道緩沖串口(mcbsp)是ti公司標準串口的增強版本。功能強大的c6000系列的mcbsp是基于tms320c2000和c5000系列的標準串口之上的。其內部框圖如圖1所示。它具有如下功能和特點[1],[5]:
全雙工通信;
雙緩沖數(shù)據(jù)寄存器,支持連續(xù)的數(shù)據(jù)流;
獨立的接收、發(fā)送幀和時鐘信號;
可以直接與工業(yè)標準的編碼器,模擬接口芯片和其他a/d,d/a器件通信連接;
具有外部移位時鐘發(fā)生器及內部頻率可編程移位時鐘;
發(fā)送和接收通道數(shù)多達128路;
支持寬范圍的數(shù)據(jù)格式,包括8,12,16,20,24,32位字長;
利用 律或a律壓縮擴展通信;
幀同步和時鐘信號的極性可編程;
可編程內部時鐘和幀同步信號發(fā)生器等。
圖1 mcbsp的內部框圖
數(shù)據(jù)通過數(shù)據(jù)發(fā)送引腳(dx)和數(shù)據(jù)接收引腳(dr)與連接到mcbsp的器件進行通信。時鐘形式并且?guī)降目刂菩畔⑼ㄟ^clkx,clkr,fsx和fer通信。外圍器件通過32位控制寄存器與mcbsp通信。cpu或者dma控制器從數(shù)據(jù)接收寄存器(drr)讀取接收的數(shù)據(jù),而把要發(fā)送的數(shù)據(jù)寫入數(shù)據(jù)發(fā)送寄存器(dxr)。寫入dxr的數(shù)據(jù)通過發(fā)送移位寄存器(xsr)輸出到dx引腳[2]。相似地,在dr引腳接收到的數(shù)據(jù)先進入接收移位寄存器(rsr),然后拷貝到接收緩沖寄存器(rbr)。rbr然后再拷貝到drr,drr中的數(shù)據(jù)才能被cpu或者dma控制器讀出。這樣就允許內部數(shù)據(jù)移動和外部數(shù)據(jù)通信同時進行。還有其他一些cpu可訪問的寄存器用來配置mcbsp的工作機制。
2. 硬件接口
c6000系列dsp的多通道緩沖串口(mcbsp)可以和其他c6000系列dsp芯片的多通道緩沖串口(mcbsp)進行高速互連。為了達到最高的數(shù)據(jù)傳速速度,其中的一片dsp必須同時作為時鐘信號和幀同步信號的發(fā)生器,換句話說,作為發(fā)送端的mcbsp在發(fā)送數(shù)據(jù)傳輸時鐘信號的同時也發(fā)送幀同步信號,而作為接收端的mcbsp只能等待主片發(fā)來的這些控制信號。圖2是硬件系統(tǒng)的設計框圖[3]。dsp0的mcbsp0被配置成時鐘信號和幀同步信號的發(fā)生器,即主片;而dsp1的mcbsp1被配置成只能被動的等待這些控制信號。
圖2 最大傳輸速度下的硬件互連框圖
圖3是c6000系列雙dsp的mcbsp間傳輸數(shù)據(jù)的信號時序圖。在該時序圖的例子中,dsp0的mcbsp0的時鐘信號頻率采用其cpu主頻的一半。當主片產生時鐘信號和幀同步信號的同時,clkx和fsx編程配置成輸出。因為在數(shù)據(jù)最大傳輸情況下,不支持零數(shù)據(jù)的延遲,所以fsx引腳輸出的第一個數(shù)據(jù)是非零值。在該時序圖中,rcr和xcr寄存器的(r/x)datdly都被配置為1。圖3中clkx和fsx為主片引腳,clkr和fsr為從片引腳。
圖3 mcbsp間最大傳輸數(shù)據(jù)時的時序圖
3. 軟件實現(xiàn)
用mcbsp實現(xiàn)c6000系列雙dsp間的高速通信軟件設計[4]需分別對主機dsp0和從機dsp1進行編程。軟件設計的重點是對mcbsp相關寄存器的設置,以使其工作在最高數(shù)據(jù)傳輸速度模式下。表1列出了高速通信模式下需要配置的寄存器的位段,未列出的寄存器位段采用系統(tǒng)默認值。
表1 高速通信模式下需配置的寄存器位段
寄存器[位段]
位段名
主片
從片
說明
rcr[17:16]
rdatdly
0 h
1 h
接收數(shù)據(jù)延遲:0h:0-bit數(shù)據(jù)延遲;1h:1-bit數(shù)據(jù)延遲
xcr[17:16]
xdatdly
1 h
0 h
發(fā)送數(shù)據(jù)延遲:1h:1-bit數(shù)據(jù)延遲;0h:0-bit數(shù)據(jù)延遲
srgr[29]
clksm
1
0
時鐘信號產生模式位:1:時鐘信號來自于cpu時鐘;0:時鐘信號來自于clks引腳
srgr[28]
fsgm
1
0
上一篇:LabVIEW的瀏覽器訪問