微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于DSP与CPLD的多通道数据采集系统

基于DSP与CPLD的多通道数据采集系统

时间:09-16 来源:3721RD 点击:

,C语言编写的程序可读性、可移植性强,且大大缩短了开发周期,但执行效率低,程序出错时不易诊断。汇编语言程序效率高,但编写比较繁琐。通常做法是程序核心部分(即经常调用部分)采用汇编语言编写,以提高整个系统的执行效率,对实时性要求不高的部分采用C语言编写以降低程序的复杂度,提高程序的可读性和可修改性。本文采用C语言和汇编语言混合编写的多文件结构,主要包括主程序、读取A/D转换结果的中断程序的设计。

软件流程如图4所示。主要分成三部分:SPI配置部分,模拟开关控制部分,A/D转换控制和转换结果的读取。

3.1 SPI配置部分

对于LF2407A,串行SPI外设接口有9个寄存器,用于控制其操作。在本设计中将LF2407A的SPI接口设定在主模式下,在该模式下,采用主控制器发送伪数据,从控制器发送数据。主控制器可在任何时刻启动数据传送,因为它控制着SPICLK信号。但软件决定了主控制器如何检测从控制器何时准备发送数据。SPI接口模块的初始化程序如下:

\

3.2 模拟多路开关选通部分

由于多路模拟开关映射到DSP的I/O空间中的0X8000-0XFFFF之间,所以在DSP程序中,对0X8000-0XFFFF之间进行一个读操作,由DSP的GPIO选择的通道就被选通,信号由CD4067输出到A/D转换器MAXl94。

读地址产生的低电平信号CS的保持时间由访问I/O空间的等待时间决定的,通过设置等待状态寄存器来保证获得有效的延时时间。

\

3.3 MAX194转换控制部分

由于A/D映射DSP的I/O空间的0x0000~0x7fff之间,类似于模拟多路开关,也需要对该空间进行一个读操作。

4 结语

多路数据采集系统在嵌入式测控系统中具有很强的实用价值。本文设计了一个基于TMS320LF2407A与EPM570T100C5N的MAX194的多通道采集系统,详细描述了MAX194,CPLD与DSP之间的硬件与软件设计,该系统在笔者参与的嵌入式测量控制系统中得到了成功的应用。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top