当前位置:文档之家› 基于CPLD的高速脉冲信号采集系统设计

基于CPLD的高速脉冲信号采集系统设计

基于CPLD 的高速高速脉冲脉冲脉冲信号信号信号采采集系统设计

郭志大1, 刘卫国1, 贺安超1 , 刘振国2

(1、西北工业大学 自动化学院,西安 710129;2、西安交通大学 电气学院,西安 710049)

摘要摘要::介绍一种基于CPLD (复杂可编程逻辑器件)的高速脉冲信号采集系统的设计与实现方案。该系统最大的特点是对离散脉冲信号的幅值进行采样。采用VHDL 语言与模块化的设计思想设计了AD 采集控制模块、数据存储控制模块、微处理器接口模块,实现了多个串行ADC 的同步脉冲采样与数据的实时存储。实验结果验证了系统的正确性,该系统与微处理器的接口灵活方便,也可用于一般的连续信号采样,具有一定的通用性和工程应用价值。

关键词关键词:CPLD 、VHDL 、串行ADC 、脉冲采样

文章编号文章编号:: 中图分类号中图分类号::TP311 文献标识码文献标识码::A

The Design of High Speed Pulse sampling System Based on CPLD

Guo Zhida 1, Liu Weiguo 1, He Anchao 1, Liu Zhenguo 2

(1.School of Automation, Northwestern Polytechnical University, Xi’an 710129;2.School

of Electrical Engineering, Xi’an Jiaotong University,Xi’an 710049,China )

Abstract: A design of high speed pulse sampling system based on CPLD was described. The characteristic feature of the system is sampling the discrete pulse amplitude. VHDL language was used and three modes were designed: AD acquisition mode, data storage mode and CPU interface mode. The experiment results show that the design is rationality, and has a certain extent practicality value.

Key words: CPLD, VHDL 、Serial ADC, Pulse sampling

0引言

在现代数字控制系统中,AD 采集是连接模拟

量和数字量之间的桥梁。在某些应用场合中,要求

AD 对多通道进行同步采样,采样速度快,存储数

据多,此时传统的AD+CPU 的模式需要消耗大量

的CPU 资源和精力。CPLD (复杂可编程逻辑器件)

以其高集成、高速、高可靠性、时延可预测等优秀

的特征在总线控制、逻辑译码、实时测控等方面取

得了广泛的应用。以AD+CPLD+CPU 的数据采集

模式可以极大的解放CPU ,使得CPU 可以更加专

注于上层算法的运算与处理,提高系统的性能。

收稿时期:

作者简介:郭志大(1985-),男,湖南益阳人,西北工业

大学硕士研究生,主要研究方向为运动控制系统。 1 系统总体系统总体方案方案方案设计设计 在某种特殊的应用场合中,需要对多路离散的脉冲序列幅值进行采样,见图1所示:脉冲宽度t1为2~3μs ,脉冲间隔t2不定,最短可达2μs 。因为信号的离散性, AD 必须在t1时刻采样完毕,否则采集的数据跟实际值相差很大。这就要求整个系统具有较高的采样速度,否则很难实现对多路脉冲信号的同步采样和数据的实时存储。CPLD 是在传统的PAL 、GAL 基础上发展而来的,具有高度集成、高速、高可靠性的优点,在超高速和实时测控等方面有着广泛的应用。因此,本次脉冲信号采集系统采用AD+CPLD+CPU 的方案,利用CPLD 灵活可编程的特点,实现对AD 采样的控制和对数据的实时存储。这样可以使微处理器更加专注于数据处理与算法运算上,极大的提高了系统的实时性。

设置每次采样的次数,也可以随时启和结束采样。

CPLD 内部的计数模块可以记录当前已采样的次

数,DSP 可以通过相应的IO 口对计数模块进行读

取和清零。CPLD 程序采用硬件描述语言VHDL 与

原理图图形法结合的方式,将VHDL 语言编写的各

个模块生成顶层原理图模块形式,在原理图文件中对各个模块进行组合连接,利用Quartus II 软件进行仿真和在线编程。系统顶层部分原理图如图4所示。

图4 系统顶层部分原理图

3.1 AD 采样程序设计

AD7357为串行14位ADC ,对AD7357数据

的读取需严格按照相应的时序进行操作。图5给出

了AD7357正常工作模式下的时序图。AD7357的

数据传输方式为:高位先传送,但最高位和最低位

都是0,中间的14位才是AD 转换的结果。此部分

的程序主要实现两个功能:AD 采样时序的产生和

数据的串并转换。实现这两个功能,有如下选择的方法:1、采样独立的串并转换进程和有限状态机。用有限状态机来产生AD 采样所需的时序,并控制

串并转换进程的启动和停止。如此一来,实现4通

道串行AD 的同步采样,需要4个16位的串并转换进程将串行数据转换为并行数据,程序的可读性虽好,但占用的宏单元多;2、将串并转换分解,

融合到有限状态机的状态中。按图5所示的时序,将AD 采样分解成各个状态,确定各个状态内相应控制引脚的电平和应移入的数据。这种方法虽然使程序的可读性变差,但所占的宏单元少。较之第一种方法,第二种方法的程序要少占用一半以上的宏单元。考虑到CPLD 的宏单元比较紧张,本文中采用第二种方法。为了减少时序电路的竞争和毛刺现象,采样单进程的有限状态机以及格雷码的编码方式。为了使采样数据更加准确,应当避免脉冲信号

上升沿过冲带来的影响,应在脉冲信号的上升沿后加入延时等待过冲结束才开始启动AD 进行采集。这在有限状态机中是很好实现的,相反用DSP 来实现等待既耗CPU 资源,又使程序变得复杂。CS

SCLK

A

SDATA B SDATA 1234141516DATA STATE

THREE 图5 AD7357正常工作模式下的时序图

3.2 数据的存储与读取

图4中WRAM 模块主要负责对外挂RAM 的

数据写操作,包括地址的产生和写RAM 两个进程。

每次采样完毕会产生4个通道的数据,WRAM 模

块依次将通道1~通道4的数据存入RAM 中。从

RAM 的角度看,RAM 的地址线有两个驱动源:一

个是写RAM 进程产生的地址总线,一个是DSP 读

数据时的地址总线。这种一个端口多源驱动的现象

在硬件描述语言中是不可行的。因此在DSP 地址总线和RAM 地址总线间加入锁存器进行隔离。当AD 采集完成后,发出采集完毕的K 信号,启动WRAM 进行数据存储。CPLD 在写数据的时候会使图4中锁存器(latch3)的输出处于高阻状态,从而隔离DXP 与RAM 间的地址总线,防止DXP 在此期间进行数据读取;同时,当WRAM 对RAM 的写操作完成后,WRAM 模块的地址总线变为高阻态,此时可以通过DXP 对RAM 进行数据读取操作。整个系统的仿真时序图如图6所示。

图6 系统仿真时序图

4 结束语 本次设计的脉冲采集系统以CPLD 为核心,通过CPLD 控制AD 的采样与数据的存储。整个系统通过了Quartus II 软件的仿真,并将程序下载到实

际电路板中进行测试,在CPLD 的时钟输入为

40MHz 的情况下对程序进行了测试验证。试验表明整个系统工作正常可靠,CPLD 与DXP 的接口电路

灵活、极大地减轻了CPU 的负荷,解决了CPU 数据采集与算法运算之间的矛盾,提高了系统的实时性。参考文献

[1] 庞百泉,余海龙,姬劳.CPLD 在多路高速同步数据采

集系统中的应用[J].单片机与嵌入式系统应用,2003:

61-63.

[2] 王文虎,杨凯.基于CPLD 的现场数据录入终端的设计

[J].计算机测量与控制,2009,17(5):1006-1009.

[3] 王 琴,全书海.基于CPLD 的双口RAM 设计与应用

[J].武汉理工大学学报,2005,27(4):66-70.

作者简介作者简介::

郭志大(1985-),男,湖南益阳人,西北工业大学硕士研究

生,主要研究方向为运动控制系统。

联系方式联系方式:: 通讯地址:西安市西北工业大学长安校区101信箱 邮政编码:710129 联系电话:150******** 电子邮件:guodada@https://www.doczj.com/doc/2313000475.html,

相关主题
文本预览
相关文档 最新文档