高 瑛,謝戰(zhàn)洪,王大鵬
(鄭州機(jī)電工程研究所,河南 鄭州 450015)
工程技術(shù)人員采用DSP芯片進(jìn)行系統(tǒng)設(shè)計(jì)時(shí),需要對(duì)很多信號(hào)進(jìn)行采集,若僅使用DSP芯片上的A/D轉(zhuǎn)換器進(jìn)行信號(hào)采集,顯然不夠。因此,人們轉(zhuǎn)向使用片外A/D轉(zhuǎn)換器?,F(xiàn)將闡述TI公司的TMS320F28335(以下簡稱F28335)的多通道緩沖串口(McBSP, Multi-channel Buffered Serial Port)與兩片串行A/D轉(zhuǎn)換器ADS7863的接口設(shè)計(jì)。
[1-7]。TMS320F28335是一款高性能、多功能、高性價(jià)比32位浮點(diǎn)DSP。該器件最高可在150MHz主頻下工作,片上集成豐富的外設(shè),其中包括兩個(gè)McBSP。McBSP是一種同步串行接口,除具有一般DSP串口功能之外,還可以支持T1/E1,ST-BUS,SPI等不同標(biāo)準(zhǔn)。McBSP包括6個(gè)引腳,分別是串行數(shù)據(jù)發(fā)送信號(hào)(DX, Data Transmit),串行數(shù)據(jù)接收信號(hào)(DR, Data Receive),發(fā)送時(shí)鐘信號(hào)(CLKX, Transmit Clock),接收時(shí)鐘信號(hào)(CLKR, Receive Clock),發(fā)送幀同步信號(hào)(FSX, Transmit Frame Synchronization)和接收幀同步信號(hào)(FSR, Receive Frame Synchronization)。McBSP通過這6個(gè)管腳為外部設(shè)備提供了數(shù)據(jù)通道和控制通道。
McBSP通過DX和DR實(shí)現(xiàn)DSP與外部設(shè)備的通信和數(shù)據(jù)交換。其中,DX完成數(shù)據(jù)發(fā)送,DR完成數(shù)據(jù)接收??刂菩畔⑼ㄟ^CLKX、CLKR、FSX和FSR以時(shí)鐘和幀同步的形式進(jìn)行通信。由于 McBSP內(nèi)有一個(gè)可編程的采樣和幀同步時(shí)鐘發(fā)生器,所以這些時(shí)鐘和幀同步信號(hào)既可以由內(nèi)部產(chǎn)生,也可以由外部輸入。
McBSP發(fā)送數(shù)據(jù)的過程如下:首先將要發(fā)送的數(shù)據(jù)寫入數(shù)據(jù)發(fā)送寄存器(DXR[1,2], data transmit register),如果發(fā)送移位寄存器(XSR[1,2], transmit shift register)中沒有數(shù)據(jù),則DXR[1,2]中的值先復(fù)制到XSR[1,2],再由XSR[1,2]將數(shù)據(jù)移到 DX上發(fā)送;如果 XSR[1,2]不為空,則等待將 XSR[1,2]中的數(shù)據(jù)全部移出到DX腳發(fā)送后才將DXR[1,2]中的值復(fù)制到XSR[1,2],再由DX腳將數(shù)據(jù)發(fā)送出去。
McBSP接收數(shù)據(jù)的過程如下:DR腳上接收的數(shù)據(jù)首先移入接收移位寄存器(RSR[1,2], receive shift register),一旦收到一個(gè)字(可以是8、12、16、24或32位),檢查接收緩沖寄存器(RBR[1,2], receive buffer register)是否為空,如果為空,則將 RSR[1,2]中的數(shù)據(jù)復(fù)制到RBR[1,2],接著,數(shù)據(jù)被復(fù)制到數(shù)據(jù)接收寄存器(DRR[1,2], data receive register),CPU通過讀取DRR[1,2]中的數(shù)據(jù)完成數(shù)據(jù)接收。需要注意的是,DRR2、RBR2、RSR2、DXR2和XSR2寄存器只有當(dāng)接收或發(fā)送的字長超過16位(20位、24位和32位)時(shí),才會(huì)用上。
ADS7863是一個(gè)雙路、2MSPS、12位、3+3或2+2通道、基于連續(xù)逼近寄存器原理的同步采樣模數(shù)轉(zhuǎn)換器。ADS7863具有如下特點(diǎn):①四路全差分或六路偽差分輸入;②信噪比:71 dB,總諧波畸變率:-81 dB;③可編程的和緩沖的內(nèi)部2.5 V參考電壓;④靈活的省電功能;⑤可變的電源范圍:2.7~5.5 V;⑥低功率操作:5 V時(shí)45 mW;⑦工作溫度范圍:-40~+125℃;⑧引腳與ADS7861、ADS8361等芯片兼容。
(1)ADS7863的主要引腳定義
ADS7863的主要引腳定義如下:①CHxy+:同相模擬輸入通道 xy+(x代表A或B,y 代表0 或 1,eg:A1+);②CHxy-:反相模擬輸入通道xy-;③M1:模式引腳1,選擇SDOx數(shù)字輸出,x代表A或B;④M0:模擬引腳0,選擇模擬輸入通道;⑤SDI:串行數(shù)據(jù)輸入;⑥CONVST:轉(zhuǎn)換開始;⑦RD:讀數(shù)據(jù);⑧CS:芯片選擇;⑨CLOCK:外部時(shí)鐘輸入;⑩BUSY:ADC忙碌指示符;SDOB:轉(zhuǎn)換器B的串行數(shù)據(jù)輸出;SDOA:轉(zhuǎn)換器A的串行數(shù)據(jù)輸出。
(2)ADS7863的工作原理
ADS7863的工作模式根據(jù)M0、M1的不同配置分為四種,如表1所示。以下主要介紹ADS7863的M0=0、M1=1模式時(shí)的工作原理。當(dāng)M0=0、M1=1 時(shí),ADS7863工作在人為通道控制模式,數(shù)據(jù)只在SDOA腳輸出,SDOB腳置為3態(tài)。SDI選擇不同的模擬輸入通道。當(dāng)CONVST置高時(shí),一個(gè)轉(zhuǎn)換被觸發(fā)。ADS7863需要32個(gè)CLOCK周期從兩個(gè)模數(shù)轉(zhuǎn)換器ADCs輸出轉(zhuǎn)換結(jié)果,需要1.0 us完成一個(gè)完整的CONVERSION/READ周期。如果CONVST信號(hào)每0.5 us被觸發(fā)一次(RD信號(hào)的需要),那么每第二個(gè)脈沖被忽略。在CONVST的上升沿,不管CLOCK的狀態(tài),ADC從采樣模式進(jìn)入保持模式。經(jīng)過一些延遲,BUSY信號(hào)變成高電平,并且在轉(zhuǎn)換周期內(nèi)保持高電平。在第二個(gè)時(shí)鐘的下降沿,根據(jù)SDI寄存器的C[1∶0]兩位的狀態(tài),ADS7863選擇使用下一個(gè)轉(zhuǎn)換周期的模擬輸入通道。CS必須置為低電平以使能SDOA輸出。在每個(gè)轉(zhuǎn)換的每32個(gè)CLOCK周期的下降沿,數(shù)據(jù)是有效的。輸出數(shù)據(jù)由一個(gè)‘0’,緊接一個(gè) ADC指示符(CHAx為‘0’,CHBx為‘1’),12位轉(zhuǎn)換結(jié)果,和一個(gè)‘00’組成。
表1 M0/M1真值表
參考文獻(xiàn)[8]。圖1是F28335 McBSP與兩片ADS7863無縫連接的示意圖。該硬件接口設(shè)計(jì)中兩片 ADS7863與同樣的McBSP引腳連接??梢钥闯?,McBSP與兩片ADS7863之間的連接非常簡單,實(shí)現(xiàn)了數(shù)據(jù)的高效轉(zhuǎn)移,充分體現(xiàn)了同步串口連接的優(yōu)點(diǎn)。
圖1 McBSP與兩片ADS7863無縫連接的示意圖
由F28335 DSP的GPIO10向ADS7863-1提供片選信號(hào)、GPIO11向 ADS7863-2提供片選信號(hào)。McBSP的數(shù)據(jù)發(fā)送DX腳接兩片ADS7863的SDI腳,向兩片ADS7863發(fā)出控制信號(hào)。兩片ADS7863的SDOA腳接McBSP的數(shù)據(jù)接收DR腳,向F28335傳送數(shù)據(jù)信號(hào)。由McBSP內(nèi)含的可編程采樣率發(fā)生器生成時(shí)鐘信號(hào) CLKG和幀同步信號(hào) FSG。由CLKG驅(qū)動(dòng)發(fā)送時(shí)鐘信號(hào)CLKX,CLKX驅(qū)動(dòng)接收時(shí)鐘信號(hào)CLKR和兩片ADS7863的時(shí)鐘信號(hào)CLOCK。由FSG驅(qū)動(dòng)發(fā)送幀同步信號(hào)FSX,F(xiàn)SX驅(qū)動(dòng)接收幀同步信號(hào)FSR和兩片ADS7863的開始轉(zhuǎn)換信號(hào)CONVST。CONVST初始化一個(gè)轉(zhuǎn)換進(jìn)程,并啟動(dòng)發(fā)送前一周期轉(zhuǎn)換的數(shù)據(jù)。為了簡化,只連接了兩片ADS7863的CHA0+、CHB0+、CHA1+、CHB1+通道,可用輸出數(shù)據(jù)的第二位(ADC指示符)分辨所采樣的信號(hào)來自哪個(gè)通道,并用GPIO10、GPIO11判斷所采樣的信號(hào)來自哪個(gè)芯片。
(1)MCBSP口初始化
參考文獻(xiàn)[9-10]。整個(gè)初始化過程包括三部分:接收部分初始化、發(fā)送部分初始化和采樣率發(fā)生器初始化。
①DSP初始化后,采樣率發(fā)生器的初始化位GRST置0;在其它情況下,也可通過向串口控制寄存器2(SPCR2, Serial Port Control 2 Register)寄存器中的GRST位置0,使采樣率發(fā)生器處于初始化狀態(tài)。在此狀態(tài)下,時(shí)鐘 CLKG時(shí)鐘為CPU時(shí)鐘的1/2,幀同步信號(hào)FSG為邏輯0;設(shè)置接收初始化位RRST、發(fā)送初始化位XRST和幀同步發(fā)生器初始化位FRST為0;
②對(duì)采樣率發(fā)生器SRGR[1,2]進(jìn)行設(shè)置,并對(duì)其它控制寄存器進(jìn)行設(shè)置;
③等待兩個(gè)CPU時(shí)鐘以確保內(nèi)部正確同步;
④將采樣率發(fā)生器初始化位置 1,使采樣率發(fā)生器進(jìn)行工作;
⑤等待兩個(gè)SRG時(shí)鐘;
⑥將接收和發(fā)送初始化位置1;
⑦在下一個(gè)CPU時(shí)鐘的上升沿,CLKG時(shí)鐘發(fā)送一個(gè)1,并以(CPU時(shí)鐘/(1+CLKGDV))的頻率運(yùn)行;
⑧在數(shù)據(jù)發(fā)送寄存器DXR[1,2]被載入數(shù)據(jù)后,將幀同步初始化位置1以發(fā)出正確的幀同步脈沖信號(hào)。現(xiàn)是McBSP初始化程序片段:
(2)McBSP串口通信主要程序
當(dāng)ADS7863的輸入模擬量為以下時(shí):
A/D轉(zhuǎn)換器SDOA引腳輸出如圖2所示。圖中第二條曲線為ADS7863的轉(zhuǎn)換開始信號(hào)CONVST,第一條曲線為兩片ADS7863的轉(zhuǎn)換輸出結(jié)果,輸出順序依次為:
試驗(yàn)中,通過設(shè)置McBSP的采樣率發(fā)生器時(shí)鐘分頻系數(shù)CLKGDV,使得McBSP的采樣率發(fā)生器時(shí)鐘CLKG頻率為 323.2 kHz,從而使得兩片 ADS7863的外部輸入時(shí)鐘CLOCK頻率為323.2 kHz、轉(zhuǎn)換開始信號(hào)CONVST頻率為20.2 kHz。
圖2 SDOA輸出
與其它論文只用一個(gè)McBSP串口連接一片A/D芯片不同,通過一個(gè)McBSP串口與兩片ADS7863之間的軟硬件接口設(shè)計(jì)及試驗(yàn)結(jié)果,驗(yàn)證了一個(gè) McBSP串口可以擴(kuò)展更多的A/D芯片,從而可以采集更多的信號(hào)。對(duì)其它A/D系統(tǒng)設(shè)計(jì)具有很大的借鑒意義。
參考文獻(xiàn)
[1] 薛志宏,劉建業(yè).TMS320C54XX系列 DSP與 PC機(jī)間串行通信的實(shí)現(xiàn)[J].集成電路應(yīng)用,2003(05):78-80.
[2] 唐麗萍,牛大勝.McBSP在音頻處理中的應(yīng)用[J].開發(fā)與應(yīng)用,2005(06):44-46.
[3] 李季,戚俊,陳結(jié)祥,張毅,等.TMS320VC5402與高速 A/D的無縫連接[J].量子電子學(xué)報(bào),2002,19(06):545-549.
[4] 張秀麗,李萍,陸光華.TMS320VC5402與串行AD/DA轉(zhuǎn)換器的接口設(shè)計(jì)[J].電子工程師,2003,29(08):21-23.
[5] 趙軍朝,譚爭光,邵婷,等.TMS320VC54XX與串行A/D接口設(shè)計(jì)[J].火炮發(fā)射與控制學(xué)報(bào),2008,32(03):58-60.
[6] 俞興明.基于DSP的DMA和McBSP的雙聲道音頻采集系統(tǒng)設(shè)計(jì)[J].電子測量技術(shù),2009,32(02):118-120.
[7] 韓康榕,陸宏,季曉勇.數(shù)字處理器與通用異步串口通信的實(shí)現(xiàn)[J].通信技術(shù),2002(01):55-57.
[8] 梁天明,耿相銘,陳健.多通道串行 A/D轉(zhuǎn)換器與 TI DSPs的接口實(shí)現(xiàn)[J].通信技術(shù),2002(05):4-7.
[9] 任治剛,孫洪波,張澤.TMS320C54x系列 McBSP 串口特性及其應(yīng)用[J].內(nèi)蒙古大學(xué)學(xué)報(bào),2001,32(03):336-339.
[10] 王新艷,李欣.多通道緩沖串行接口簡介[J].儀表技術(shù),2007,(06):44-45.