- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于DSP与MAX147的多路数据采集系统设计
5. 接口程序设计
DSP的McBSP工作在SPI模式下,需要进行以下初始化步骤:
1)将SPCR寄存器中的XRST和RRST清零,复位发送器和接收器;
2)McBSP保持复位状态,设置相关寄存器,CLKSTP=0X,禁止时钟停止模式;
3)置SPCR寄存器中的GRST=1,采用率发生器退出复位,开始工作;
4)等待两个时钟周期,确保初始化过程中McBSP内部正确同步;
5)设置所需的CLKSTP值;
6)若CPU访问McBSP,则XRST=RRST=1使能发送器和接收器,SPCR寄存器中其它位不变,若DMAC访问McBSP,先进行DMA初始化,启动DMA,使之等待同步事件,然后XRST=RRST=1McBSP退出复位状态;
7)等待两个时钟周期以确保McBSP内部逻辑稳定
将McBSP配置成SPI模式主机模式的程序如下所示:
STM SPCR1 SPSA0
STM 0000H SPSD0 ; 串行接口接收器被禁止并且处于复位状态
STM SPCR2 SPSA0
STM 0000HSPSD0 ; 串行发送接收器被禁止并且处于复位状态
STM RCR1 SPSA0
STM 0020HSPSD0 ;接收帧长度为12bit
STM RCR2 SPSA0
STM 0021HSPSD0 ;第一个接收帧同步脉冲之后的帧同步脉冲被忽略
STM XCR1 SPSA0
STM 0000HSPSD0 ;发送帧长度为8bit
STM XCR2 SPSA0
STM 0001HSPSD0 ;第一个发送帧同步脉冲之后的帧同步脉冲被忽略
STM SRGR1 SPSA0
STM 0009H SPSD0 ; CLKGDV=9CLKG=1MHz
STM SRGR2 SPSA0
STM 20FFHSPSD0 ;采样率发生器时钟由CPU时钟提供
STM PCR SPSA0
STM 0A7FHSPSD0 ; FSXCLKX输出FSRCLKR输入
STM SPCR1 SPSA1
STM 1801hSPSD1 ;使McBSP处于时钟停止模式并使能接收器
STM SPCR2 SPSA1
ORM #00C1HSPSD1 ;使能发送器,帧同步发生器,采用率产生器
RPT #2
NOP
中断服务程序:
AD_RECV: SSBX SXM
AND #0FFFCHa ;存储A/D转换的数据
RSBX SXM
RETE
结束语
本文详细介绍了ADC芯片MAX147与TI公司的数字处理器TMS320C5402之间的串行接口电路设计及程序设计实现了多路数据采集系统该系统设计方案,接口电路简单方便,程序采用汇编语言编程,运行稳定,速度快,适用于语音处理,声波振动信号采集,具有较高的实用价值及广泛的应用前景
来源:微计算机信息
上一篇:高速数据流加密转接器设计方案
下一篇:CAN核的四冗余通信板设计与仿真