基于McBSP的高速串行數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
5. 軟件設(shè)計(jì)
本設(shè)計(jì)中,AD974一般的工作步驟包括:采集通道選擇,芯片工作觸發(fā),數(shù)據(jù)讀取。他們分別涉及到DSP的多組控制寄存器。
(1)通道選擇:需要配置McBSP1通道為GPIO模式(設(shè)置PCR,SPCR寄存器相應(yīng)的控制位),控制FSX1引腳輸出低有效使能信號(hào),然后控制FSR1,CLKR1引腳輸出相應(yīng)的通道選擇代碼。
(2)芯片工作觸發(fā):向0xB0000000寫入一個(gè)數(shù)據(jù),目的在于選通R/C(讀/轉(zhuǎn)信號(hào)),觸發(fā)AD974芯片開始數(shù)據(jù)轉(zhuǎn)換。
(3)數(shù)據(jù)讀?。号渲肕cBSP0通道的各個(gè)寄存器,使其滿足SPI數(shù)據(jù)傳輸?shù)膹哪J?,然后McBSP0通道會(huì)按照程序要求接收數(shù)據(jù)并放置在DRR寄存器中。
下面給出部分程序設(shè)計(jì):
/*** 配置McBSP0端口為SPI工作模式 ***/
*(unsigned volatile int *)McBSP0_SPCR = 0x0000;
*(unsigned volatile int *)McBSP0_SRGR= 0x20000000;
*(unsigned volatile int *)McBSP0_RCR = 0x40040; /* 16bit數(shù)據(jù)接收 */
*(unsigned volatile int *)McBSP0_XCR = 0x40040; /* 16bit 數(shù)據(jù)發(fā)送 */
*(unsigned volatile int *)McBSP0_SPCR = 0x400000;
*(unsigned volatile int *)McBSP0_SPCR = 0x401800;
*(unsigned volatile int *)McBSP0_PCR = 0x50C;
*(unsigned volatile int *)McBSP0_SPCR = 0x411801;
/*** 配置EMIF端口 ***/
*(unsigned volatile int *)EMIF_GCR = 0x3308;/* EMIF global control */
*(unsigned volatile int *)EMIF_CE3 = 0x105fff23; /* EMIF CE3 control */
/*** 選通AD974采樣 ***/
*(unsigned volatile int *)0xB0000000 = 0x1;
/*** 讀取采樣數(shù)據(jù) ***/
temp = *(unsigned volatile int *)McBSP0_SPCR 0x2;
while ( temp == 0)
{
temp = *(unsigned volatile int *)McBSP0_SPCR 0x2;
}
temp = *(unsigned volatile int *)McBSP0_DRR;
6. 結(jié)束語
本文詳細(xì)介紹了ADI公司的高速,高精度A/D芯片AD974和TI公司的高性能浮點(diǎn)數(shù)字處理器TMS320C6711之間的串行接口設(shè)計(jì)及程序設(shè)計(jì)。該設(shè)計(jì)方案,電路簡潔,程序采用C語言編程,可讀性和移植性強(qiáng)。本設(shè)計(jì)的創(chuàng)新點(diǎn)在于:該方案通過采用SPI通訊協(xié)議,結(jié)合TMS320C6711芯片的EDMA數(shù)據(jù)傳輸中斷,可以實(shí)現(xiàn)自主采樣和數(shù)據(jù)傳輸而無需占用DSP的CPU資源,能夠大大提高系統(tǒng)效率,經(jīng)過驗(yàn)證系統(tǒng)能夠穩(wěn)定的工作在最大采樣率(200kSPS)條件下。線SOC開發(fā)平臺(tái)499元 S3C44B0 ARM7開發(fā)板378元 S3C2410 ARM9開發(fā)板780元 AT91SAM7S64 ARM7 單片機(jī)開發(fā)板之王——ELITE-I單片機(jī)學(xué)習(xí)開發(fā)系統(tǒng)1200元 S3C2410 ARM9開發(fā)板(II) 950元 EPM1270T144C CPLD開發(fā)板 480元
參 考 文 獻(xiàn)
[1] TMS320C6000 Peripherals Refence Guide (Literature Number: SPRU190D). Texas Instruments Inc. February 2001.
[2] 4-Channel, 16-Bit, 200 kSPS Data Acquisition System(Ad974 Datasheet). Analog Devices Inc. 1999
[3] 李方慧,王飛等. TMS320C6000系列DSPs原理與應(yīng)用. 北京:電子工業(yè)出版社,2002.
[4]李琛,張春熹. 《McBSP多通道串行口在光纖陀螺中的實(shí)現(xiàn)》. 微計(jì)算機(jī)信息,2005年第9-2期,89-91頁
評(píng)論