摘要:介绍了基于EDA技术的智能数字电压表的实现。本系统以CPLD为控制,在MAX+PLUS II环境下采用VHDL语言实现了数据采集、转换及显示。该系统具有集成度高、灵活性强、易于开发、维护、扩展等特点。
关键词:CPLD;VHDL;DVM 中图分类号:TP332;TM93 文献标识码:A 文章编号:1003-353X(2003)05-0054-03 | ||||||
1 引言
CPLD ( Complex Programmable Logic Device ) 是新型的可编程逻辑器件,与传统ASIC相比,具有设计开发周期短、设计制造成本低、开发工具先进等优点,特别适合于产品的样品开发和小批量生产。传统的数字电压表多以单片机为控制,芯片集成度不高,系统连线复杂,难以小型化,尤其在产品需求发生变化时,不得不重新布版、调试,增加了投资风险和成本。而采用CPLD进行产品开发,可以灵活地进行模块配置,大大缩短了开发周期,也有利于数字电压表向小型化、集成化的方向发展。 2系统原理及组成 系统组成原理框图如图1所示。系统的控制是一片CPLD芯片,它由三个功能模块构成: A/D转换时序控制模块、码制变换模块以及显示控制/驱动模块。三个模块的功能分别为发出控制信号启动A/D转换及读取采样值、对AD采样值进行码制转换、发出控制信号驱动LED/LCD显示相应数据。 系统工作原理:测量信号经过信号预处理,变换为0~2.5V范围内的有效信号后送入A/D转换电路中,然后A/D转换时序控制模块发出控制信号,启动A/D转换器进行转换,A/D采样得到的数字信号在码制变换模块中转换为相应的显示代码,经显示控制/驱动模块发出控制与驱动信号,推动外部的显示模块(LED/LCD)显示相应的数据。 3CPLD功能模块设计 智能数字电压表的控制CPLD的三个功能模块皆用VHDL语言编程实现,下面主要介绍CPLD的三个功能模块的设计。 3.1 A/D转换时序仿真模块AD_CONTROL ENTITY AD_CONTROL IS PORT( SCLK:OUT STD_LOGIC; DRDY:IN STD_LOGIC; DOUT:OUT STD_LOGIC_VECTOR(15 DOWNTO 0); DIN:IN STD_LOGIC_VECTOR(15 DOWNTO 0); DB:OUT STD_LOGIC_VECTOR(15 DOWNTO 0); CP:IN STD_LOGIC ); END AD_CONTROL; 如图所示,二者的接口信号线直接连接并由AD_CONTROL模块模拟产生AD7715芯片的各个接口信号,完成ADC的启动、读、写操作。AD7715的工作模式由内部寄存器(Communications Register,Setup Register,Test Register,Data Register)中的控制字决定。内部寄存器的数据写入和读出都由CS,DRDY,SCLK信号控制。当 AD7715被访问时,SCLK脚应出现带上升沿的高电平,其时钟频率应为9.2kHz。这是关键信号,其他信号均以此信号作为时基。因此,CPLD中的AD_CONTROL模块的功能之一就是提供SCLK 以及其他信号的严格时序。图3、图4分别为AD_CONTROL模块读、写AD7715时序图。 3. 2 码制变换模块DATA_CONVERSION 在此码制变换模块DATA_CONVERSION中主要实现的功能是将AD采样送来的16位的二进制数转换为可被LED/LCD识别的七段LED显示码或字符型LCD码。在本系统中此模块包含了这两种转换功能以适应显示端不同的配置。为了达到这一目的,首先要将16位二进制码变换为BCD码,然后再分别进行转换,得到七段显示码及字符型码。在此模块中各个BLOCK部分的码制变换的VHDL程序可通过WHEN-ELSE语句进行查表来实现。转换的过程如图5所示。 3.3 显示控制及驱动模块DISL_DRIVE 4系统设计和逻辑仿真 CPLD的三个功能模块用VHDL语言描述,进行综合仿真后连接起来的系统电路原理图如图7所位显示在LCD上。 本系统采用的CPLD芯片为ALTERA公司的EPF10K10LC84-4芯片,逻辑门数为10000门,用MAX+PLUSⅡ10.0软件工具开发。设计输入完成后,进行整体的编译和逻辑仿真,然后进行转换、延时仿真生成配置文件,至CPLD器件,完成结构功能配置,实现其硬件功能。 本系统是用CPLD实现的智能数字电压表。随着EDA技术的广泛应用,CPLD已成为现代数字系统设计的主要手段,CPLD目前正朝着更高速、更高集成度、更强功能和更灵活的方向发展。 |
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。