[摘 要] 数据采集和控制系统是对生产过程或科学实验中各种物理量进行实时采集、测试和反馈控制的闭环系统。它在工业控制、军事电
子设备、医学监护等许多领域发挥着重要作用。本设计用 CPLD/ FPGA 芯片、ADC0809 芯片、键盘及七段显示器共同构成数据采集控制
系统,用VHDL语言进行各模块程序设计并在开发系统 QUAR TUSⅡ下进行编译仿真。待编译仿真正确通过后将程序下载于 CPLD/ FP-
GA芯片中,以实现对A/ D 转换、数据运算、键盘输入以及数据显示的控制。设计概括如下:1) 设计ADC0809 模数转换的控制程序,将
系统按一定速率采集到的输入电压值经 ADC0809 转换为 8 位二进制数字量。2) 按照ADC0809 模拟电压与输出电压的对应关系,利用
VHDL语言设计 12位 BCD 码加法程序,实现 8位数字量转换成 12位 BCD 码。3) 用VHDL 语言设计独立式键盘输入程序,将键盘输入
的数据转换成相应的4 位 BCD 码并将 3 次输入转换成的BCD 码放在一个 12位的寄存器中。基于 EDA 技术的数据采集控制系统在实际应
用中具备更简洁更灵活的优点。
### 基于EDA技术的数据采集控制系统设计
#### 1. 系统设计方案
##### 1.1 系统设计要求
本设计旨在利用可编程逻辑器件(CPLD/FPGA)构建一个专用于数据采集与控制的系统。设计的核心目标是实现一个能够替代传统微控制器的A/D转换器控制器。具体要求包括以下几个方面:
1. **核心组件**:系统需采用CPLD/FPGA芯片、ADC0809模数转换器、键盘输入设备以及七段显示器作为主要组件。
2. **软件工具**:使用VHDL硬件描述语言进行模块级程序设计,并利用Quartus II开发环境进行编译和仿真。
3. **功能实现**:完成A/D转换、数据处理、键盘输入以及数据显示等功能。
##### 1.2 系统框图
系统的整体结构如图1.1所示,主要包括CPLD/FPGA控制单元、ADC0809模数转换器、键盘输入单元以及显示单元等组成部分。
#### 2. 程序设计与仿真
##### 2.1 ADC0809模数转换控制模块
###### 2.1.1 模块设计方案
本模块的设计重点在于实现ADC0809的控制逻辑,确保数据采集的准确性和及时性。按照ADC0809的工作时序,将一次完整的A/D转换过程划分为四个阶段(s0-s3)。
- **s0**:初始化阶段,此时对ADC0809进行初始化设置。
- **s1**:启动阶段,通过ALE和START信号锁定地址并启动A/D转换。
- **s2**:转换阶段,A/D转换在此阶段进行。EOC信号用于判断转换是否完成。
- **s3**:数据读取阶段,OE信号使能,数据可以从DO-D7输出。
**ADC0809采集状态图**(图2.3)展示了整个转换过程的状态转移情况。
##### 2.2 A/D转换数据的BCD码转换模块
###### 2.2.1 模块设计方案
本模块的主要任务是将A/D转换得到的8位数据转换为12位BCD码表示的形式。这样做的目的是为了方便后续的电压数据显示。
为了实现这一目标,模块采用了两步法:
1. **查表方式**:根据A/D转换得到的8位数据,通过查表的方式将其高4位和低4位转换为BCD码表示。
2. **BCD码加法程序**:然后,设计一个12位的BCD码加法程序,确保当BCD码相加时,如果每4位的结果超过9,则进行进位操作。
**VHDL语言描述**
- **高4位电压值BCD码表示**:根据不同的电压值范围,使用条件语句将高4位数据转换为对应的BCD码。
- **低4位电压值BCD码表示**:同样地,对于低4位数据也采用条件语句进行转换。
- **十二位BCD码加法程序**:设计了一个专门的加法程序来实现BCD码的正确加法操作。
通过这些步骤,实现了从模拟信号到数字信号的有效转换,并能够以更直观的BCD码形式展示数据结果。
#### 3. 结论
本设计利用CPLD/FPGA芯片、ADC0809模数转换器、键盘输入设备以及七段显示器等组件,结合VHDL硬件描述语言完成了数据采集控制系统的开发。通过对ADC0809的精确控制以及BCD码转换程序的设计,实现了对模拟信号的有效采集和数字化处理。该系统不仅适用于工业控制领域,还能够在军事电子设备、医学监护等多个领域发挥重要作用。通过EDA技术的应用,使得整个系统具有更高的集成度、灵活性和扩展性,为未来的技术发展奠定了坚实的基础。