新闻中心

EEPW首页>嵌入式系统>设计应用> 基于McBSP的高速串行数据采集系统设计

基于McBSP的高速串行数据采集系统设计

作者: 时间:2012-06-01 来源:网络 收藏

5.软件设计

本设计中,974一般的工作步骤包括:采集通道选择,芯片工作触发,数据读取。他们分别涉及到的多组控制寄存器。

(1)通道选择:需要配置McBSP1通道为GPIO模式(设置PCR,SPCR寄存器相应的控制位),控制FSX1引脚输出低有效使能信号,然后控制FSR1,CLKR1引脚输出相应的通道选择代码。

(2)芯片工作触发:向0xB0000000写入一个数据,目的在于选通R/C(读/转信号),触发974芯片开始数据转换。

(3)数据读取:配置McBSP0通道的各个寄存器,使其满足SPI数据传输的从模式,然后McBSP0通道会按照程序要求接收数据并放置在DRR寄存器中。

下面给出部分程序设计:

/*** 配置McBSP0端口为SPI工作模式 ***/

*(unsigned volatile int *)McBSP0_SPCR = 0x0000;

*(unsigned volatile int *)McBSP0_SRGR= 0x20000000;

*(unsigned volatile int *)McBSP0_RCR = 0x40040; /* 16bit数据接收 */

*(unsigned volatile int *)McBSP0_XCR = 0x40040; /* 16bit 数据发送 */

*(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 */

/*** 选通974采样 ***/

*(unsigned volatile int *)0xB0000000 = 0x1;

/*** 读取采样数据 ***/

temp = *(unsigned volatile int *)McBSP0_SPCR 0x2;

while ( temp == 0)

{

temp = *(unsigned volatile int *)McBSP0_SPCR 0x2;

}

temp = *(unsigned volatile int *)McBSP0_DRR;

6.结束语

本文详细介绍了ADI公司的高速,高精度A/D芯片和TI公司的高性能浮点数字处理器TMS320C6711之间的串行接口设计及程序设计。该设计方案,电路简洁,程序采用C语言编程,可读性和移植性强。本设计的创新点在于:该方案通过采用SPI通讯协议,结合TMS320C6711芯片的EDMA数据传输中断,可以实现自主采样和数据传输而无需占用的CPU资源,能够大大提高系统效率,经过验证系统能够稳定的工作在最大采样率(200kSPS)条件下。线SOC开发平台499元S3C44B0 ARM7开发板378元S3C2410 ARM9开发板780元AT91SAM7S64 ARM7单片机开发板之王——ELITE-I单片机学习开发系统1200元S3C2410 ARM9开发板(II)950元EPM1270T144C CPLD开发板480元
参 考 文 献

[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系列s原理与应用. 北京:电子工业出版社,2002.

[4]李琛,张春熹. 《McBSP多通道串行口在光纤陀螺中的实现》. 微计算机信息,2005年第9-2期,89-91页


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭