来源:本站整理 作者:佚名 2009-05-06 16:08:07
根据图2所示的时序图,将采样控制过程分成了4个状态:
(1)初始状态:MAX194采样控制信号初始化,各采样控制状态置零。
(2)启动采样状态:将MAX194的启动转换信号START置低并保持至少两个CLK周期。
(3)转换结束状态:将MAX194的启动信号START置高并检测转换结束状态信号EOC,当它由高电平变成低电平时即表示转换已经结束。因此,这个状态与上个状态一样是看EOC信号是否有变化,若是有变化,则转到下个状态,若是没有变化,则将一直在这个状态中循环,直到EOC信号有变化为止。
(4)转换结果输出状态:将MAX194的芯片使能信号CS置低,DSP通过SPI口将A/D转换得到的数据传人DSP中。
根据以上工作状态的描述,使用了VHDL语言编写了A/D转换采样控制模块的程序,并进行了仿真,仿真结果如图3所示。从仿真图中看出设计的A/D转换控制模块是完全符合设计要求的。
3 软件设计
TMS320LF2407A是基于C2000平台的,提供两种编程语言:C/C+十语言或汇编语言。其中,C语言编写的程序可读性、可移植性强,且大大缩短了开发周期,但执行效率低,程序出错时不易诊断。汇编语言程序效率高,但编写比较繁琐。通常做法是程序核心部分(即经常调用部分)采用汇编语言编写,以提高整个系统的执行效率,对实时性要求不高的部分采用C语言编写以降低程序的复杂度,提高程序的可读性和可修改性。本文采用C语言和汇编语言混合编写的多文件结构,主要包括主程序、读取A/D转换结果的中断程序的设计。
软件流程如图4所示。主要分成三部分:SPI配置部分,模拟开关控制部分,A/D转换控制和转换结果的读取。
3.1 SPI配置部分
对于LF2407A,串行SPI外设接口有9个寄存器,用于控制其操作。在本设计中将LF2407A的SPI接口设定在主模式下,在该模式下,采用主控制器发送伪数据,从控制器发送数据。主控制器可在任何时刻启动数据传送,因为它控制着SPICLK信号。但软件决定了主控制器如何检测从控制器何时准备发送数据。SPI接口模块的初始化程序如下:
3.2 模拟多路开关选通部分
上一页 [1] [2] [3]