0 引言
近年來,DSP技術發(fā)展迅速,越來越多的工程技術人員開始采用DSP進行系統(tǒng)設計。TI公司的TMS320F28335具有運算速度快、功耗小和性價比高的特點,在個人通信、信號與信息處理及自動控制等領域得到了廣泛應用。該芯片配備了兩個多通道緩沖串口(Multi-channel Buff-ered Serial Port,McBSP),為設計串行模數(shù)接口提供了極大的便利。它與串行A/D轉換器構成的信號采集與處理系統(tǒng)具有硬件設計簡單、可靠性好的特點。本文將闡述TMS320F28335與ADS7863的接口設計。
1 TMS320F28335 McBSP
1.1 TMS320F28335 McBSP的特點
TMS320F28335是一款高性能、多功能、高性價比32位浮點DSP。該器件最高可在150 MHz主頻下工作,片上集成豐富的外設,其中包括兩個多通道緩沖串口(McBSP)。McBSP是一種同步串行接口,除具有一般DSP串口功能之外,還可以支持T1/E1,ST-BUS,SPI等不同標準。它的主要特點如下:全雙工串行通信;允許獨立數(shù)據(jù)流的雙倍發(fā)送緩沖和三倍接收緩沖數(shù)據(jù)存儲器;獨立的接收、發(fā)送幀和時鐘信號;發(fā)送和接收通道數(shù)最多可達128路;多通道選擇模式,允許或阻止每個通道的傳輸;兩個16級,32位的FIFO代替DMA;可直接與工業(yè)標準的編碼器、模擬界面芯片(AICs)、其他串行A/D,D/A器件連接;支持時鐘信號和幀同步信號的外部生成;用來內部生成和控制幀同步信號的可編程采樣率發(fā)生器;可編程的內部時鐘和幀同步信號生成;可編程的幀同步和數(shù)據(jù)時鐘極性;可選的數(shù)據(jù)寬度:8 b,12 b,16 b,20 b,24 b或32 b;比特數(shù)據(jù)傳輸時可選擇高位或低位在先;用于數(shù)據(jù)壓縮的μ律和A律壓縮擴展。
1.2 TMS320F28335 McBSP的工作過程
TMS320F28335的McBSP包括7個引腳,分別是串行數(shù)據(jù)發(fā)送信號DX,串行數(shù)據(jù)接收信號DR,發(fā)送時鐘信號CLKX,接收時鐘信號CLKR,發(fā)送幀同步信號FSX、接收幀同步信號FSR和外部輸入時鐘信號CLKS。McBSP通過這7個管腳為外部設備提供了數(shù)據(jù)通道和控制通道。
McBSP通過DX和DR實現(xiàn)DSP與外部設備的通信和數(shù)據(jù)交換。其中,DX完成數(shù)據(jù)發(fā)送,DR完成數(shù)據(jù)接收??刂菩畔⑼ㄟ^CLKX,CLKR,F(xiàn)SX和FSR以時鐘和幀同步的形式進行通信。由于McBSP內有一個可編程的采樣和幀同步時鐘發(fā)生器,所以這些時鐘和幀同步信號既可以由內部產(chǎn)生,也可以由外部輸入。
McBSP發(fā)送數(shù)據(jù)的過程如下:首先將要發(fā)送的數(shù)據(jù)寫入數(shù)據(jù)發(fā)送寄存器DXR[1,2],如果發(fā)送移位寄存器XSR[1,2]中沒有數(shù)據(jù),則DXR[1,2]中的值先復制到XSR[1,2],再由XSR[1,2]將數(shù)據(jù)移到DX上發(fā)送;如果XSR[1,2]不為空,則等待將XSR[1,2]中的數(shù)據(jù)全部移出到DX腳發(fā)送后才將DXR[1,2]中的值復制到XSR[1,2],再由DX腳將數(shù)據(jù)發(fā)送出去。
McBSP接收數(shù)據(jù)的過程如下:DR腳上接收的數(shù)據(jù)首先移入接收移位寄存器RSR[1,2],一旦收到一個字(可以是8 b,12 b,16 b,24 b或32 b),檢查接收緩沖寄存器RBR[1,2]是否為空,如果為空,則將RSR[1,2]中的數(shù)據(jù)復制到RBR[1,2],接著,數(shù)據(jù)被復制到數(shù)據(jù)接收寄存器DRR[1,2],CPU通過讀取DRR[1,2]中的數(shù)據(jù)完成數(shù)據(jù)接收。需要注意的是,DRR2,RBR2,RSR2,DXR2和XSR2寄存器只有當接收或發(fā)送的字
長超過16 b(20 b,24 b和32 b)時,才會用上。
0位數(shù)據(jù)延遲時,McBSP串口接收和發(fā)送數(shù)據(jù)的時序圖如圖1所示。
2 ADS7863
2.1 ADS7863芯片的特點
ADS7863是一個雙路、2 MSPS、12位、3+3或2+2通道、同步采樣模/數(shù)SAR轉換器。ADS7863具有如下特點:四路全差分或六路偽差分輸入;SNR:71 dB,THD:-81 dB;可編程的和緩沖的內部2.5 V參考電壓;靈活的省電功能;可變的電源范圍:2.7~5.5 V;低功率操作:5 V時45 mW;工作溫度范圍:-40~+125℃;引腳與ADS7861,ADS8361兼容。
2.2 ADS7863芯片的工作原理
ADS7863的引腳圖如圖2所示。
2.2.1 ADS7863的主要引腳定義
ADS7863的主要引腳定義如下:CHxy+:同相模擬輸入通道xy+(x代表A或B,y代表0或1,eg:A1+);CHxy-:反相模擬輸入通道xy~(x代表A或B,y代表0或1,eg:A1-);M1:模式引腳1,選擇SDOx數(shù)字輸出,x代表A或B;M0:模擬引腳0,選擇模擬輸入通道;SDI:串行數(shù)據(jù)輸入,這個管腳允許使用ADS7863的增加功能,并且這些功能可以用在ADS7861的兼容模式上;CONVST:轉換開始,不管CLOCK的狀態(tài),在CONVST的上升沿ADC從采樣模式進入保持模式,轉換本身在CLOCK的下一個上升沿開始;RD:讀數(shù)據(jù),SDOx輸出與SDI輸入的同步脈沖,RD只在為低時觸發(fā);:芯片選擇,當置低時,SDOx輸出有效,當置高時,SDOx輸出3態(tài)。CLOCK:外部時鐘輸入;BUSY:ADC忙碌指示符,當進入保持模式時,BUSY變成高電平,轉換結束后,BUSY變成低電平;SDOB:轉換器B的串行數(shù)據(jù)輸出,在CLOCK的下降沿數(shù)據(jù)是有效的;SDOA:轉換器A的串行數(shù)據(jù)輸出,當M1為高時,SDOA與SDOB都是有效的,數(shù)據(jù)在CLOCK的下降沿是有效的。
2.2.2 ADS7863的工作原理
ADS7863的工作模式根據(jù)M0,M1的不同配置分為四種,如表1所示。本文主要介紹ADS7863的M0=0,M1=1模式時的工作原理。當M0=0、M1= 1時,ADS7863工作在人為通道控制模式,數(shù)據(jù)只在SDOA腳輸出,SDOB腳置為3態(tài)。SDI選擇不同的模擬輸入通道。當CONVST置高時,一個轉換被觸發(fā)。ADS7863需要32個CLOCK周期從兩個模/數(shù)轉換器ADCs輸出轉換結果,需要1.0μs完成一個完整的CONVERSION/READ周期。如果CONV-ST信號每0.5μs被觸發(fā)一次(RD信號的需要),那么每第二個脈沖被忽略。在CONVST的上升沿,不管CLOCK的狀態(tài),ADC從采樣模式進入保持模式。經(jīng)過一些延遲,BUSY信號變成高電平,并且在轉換周期內保持高電平。在第二個時鐘的下降沿,根據(jù)SDI寄存器的C[1:0]兩位的狀態(tài),ADS7863選擇使用下一個轉換周期的模擬輸入通道。CS必須置為低電平以使能SDOA輸出。在每個轉換的每32個CLOCK周期的下降沿,數(shù)據(jù)是有效的。輸出數(shù)據(jù)由一個‘0’,緊接一個ADC指示符(CHAx為‘0’,CHBx為‘1’),12位轉換結果,和一個‘00’組成。
相應的時序圖如圖3所示。
3 TMS320F28335 McBSP與ADS7863接口設計
3.1 硬件接口設計
圖4是TMS320F28335 McBSP與ADS7863無縫連接的示意圖。從圖中可以看出,McBSP與ADS7863之間的連接非常簡單,實現(xiàn)了數(shù)據(jù)的高效轉移,充分體現(xiàn)了同步串口連接的優(yōu)點。由F28335 DSP的GPIO11向ADS7863提供片選信號。McBSP的數(shù)據(jù)發(fā)送DX腳接ADS7863的SDI腳,向ADS7863發(fā)出控制信號。ADS7863的SDOA腳接McBSP的數(shù)據(jù)接收DR腳,向F28335傳送數(shù)據(jù)信號。由MeBSP內含的可編程采樣率發(fā)生器生成時鐘信號CLKG和幀同步信號FSG。由CLKG驅動發(fā)送時鐘信號CLKX,CLKX驅動接收時鐘信號CLKR和ADS7863的時鐘信號CLOCK。由FSG驅動發(fā)送幀同步信號FSX,F(xiàn)SX驅動接收幀同步信號FSR和ADS7863的開始轉換信號CONVST。CONVST初始化一個轉換進程,并啟動發(fā)送前一周期轉換的數(shù)據(jù)。為了簡化,只連接了ADS7863的CHA1+和CHB1+通道,可用輸出數(shù)據(jù)的第二位(ADC指示符)分辨所采樣的信號來自哪個通道。
3.2 軟件接口設計
3.2.1 McBSP口初始化
整個初始化過程包括三部分:接收部分初始化、發(fā)送部分初始化和采樣率發(fā)生器初始化。
(1)DSP初始化后,采樣率發(fā)生器的初始化位GRST=0;在其他情況下,也可通過向SPCR2寄存器中的GRST位置0,使采樣率發(fā)生器處于初始化狀態(tài)。在此狀態(tài)下,時鐘CLKG時鐘為CPU時鐘的1/2,幀同步信號FSG為邏輯0;設置接收初始化位RRST、發(fā)送初始化位XRST和幀同步發(fā)生器初始化位FRST為0;
(2)對采樣率發(fā)生器SRGR[1,2]進行設置,并對其他控制寄存器進行設置;
(3)等待兩個CPU時鐘以確保內部正確同步;
(4)將采樣率發(fā)生器初始化位置1,使采樣率發(fā)生器進行工作;
(5)等待兩個SRG時鐘;
(6)將接收和發(fā)送初始化位置1;
(7)在下一個CPU時鐘的上升沿,CLKG時鐘發(fā)送一個1,并以CPU時鐘/(1+CLKGDV)的頻率運行;
(8)在數(shù)據(jù)發(fā)送寄存器DXR[1,2]被載入數(shù)據(jù)后,將幀同步初始化位置1以發(fā)出正確的幀同步脈沖信號。
下面是McBSP初始化程序片段:
3.2.2 McBSP串口通信主要程序
McBSP串口通信主要程序如下:
4 試驗結果
ADS7863的輸入模擬量Vin1=1.670 V,Vin2=1.866 V時,A/D轉換器SDOA引腳輸出如圖5所示。圖中通道Ch2為ADS7863的外部輸入時鐘CLOCK,通道Ch1為ADS7863的模擬輸入通道CHA1+和CHB1+的32位輸出結果??梢院芮宄乜闯鲈?2位二進制碼為:00110101011010000111011 111101000,前16位為CHA1+通道的轉換結果,后16位為CHB1+通道的轉換結果。在本試驗中,通過設置McBSP的采樣率發(fā)生器時鐘分頻系數(shù)CLKGDV,使得McBSP的采樣率發(fā)生器時鐘CLKG頻率為323.2 kHz,從而使得ADS7863的外部輸入時鐘CLOCK頻率為323.2kHz。
5 結論
本文設計了高速度、高精度12位A/D轉換器ADS7863與32位浮點DSP TMS320F28335的McBSP之間的硬件接口與軟件實現(xiàn)。該系統(tǒng)設計簡潔,在DSP集成開發(fā)環(huán)境CCS下采用C語言編寫、調試完成,對其他A/D系統(tǒng)設計具有很大的借鑒意義。