基于CPLD的数据采集与显示接口电路仿真设计
1 引言
CPLD称为复杂可编程逻辑设计芯片,它是大规模可编程器件,具有高集成度、高可靠性、高速度的特点。CPLD是利用EDA技术进行电子系统设计的载体。硬件描述语言是EDA技术进行电子系统设计的主要表达手段,VHDL语言是常用的硬件描述语言之一;软件开发工具是利用EDA技术进行电子系统设计的智能化的自动化设计工具,常用开发工具有QuartusⅡ,Ispexpert,Foundation等。CPLD以高速、高可靠性、串并行工作方式等特点在电子设计中广泛应用。它打破了软硬件之间的界限,加速了产品的开发过程。同样单片机具有性价比高、功能灵活、良好的数据处理能力等特点。CPLD芯片与单片机结合在高性能仪器仪表中应用广泛。
1 电路的仿真设计
1.1 硬件电路功能
用一片MCS-51芯片、一片CPLD/FPGA芯片、模/数转换器ADC0809和数/模转换器DAC0832构成一个数据采集系统,并用CPLD/FPGA实现数据采样、D/A转换输出、有关数据显示的控制,单片机完成对A/D转换数据运算。电路如图1所示。
系统功能如下:系统按一定速率采集输入电压U1,经AD0809转换为8位数字量data;输入数据与通过CPLD/FPGA采样后输入单片机进行相关运算,最后通过CPLD/FPGA送至DAC0832转换为△U;数据采集和处理均在数据采集系统控制器的管理下有序进行。工作速率由时钟信号CLK的速率决定。
1.2 单片机与CPLD/FPGA接口设计
单片机采用以总线方式与可编程芯片进行数据与控制信息通信,此方式有许多优点:
(1)速度快。其通信工作时序是纯硬件行为,对于MCS-51单片机只需一条单字节指令就能完成所需的读/写时序如MOV@DPTR A和MOV A@DPTR。
(2)节省CPLD芯片的I/O口线。如果将图中的译码器设置足够的译码输出以及安排足够的锁存器就能仅通过19根I/O口线在FPGA/CPLD与单片机之间进行各种类型的数据与控制信息交换。
(3)相对于非总线方式单片机的编程简捷控制可靠。
(4)在FPGA/CPLD中通过逻辑切换单片机易于与SRAM或ROM接口。这种方式首先由FPGA/CPLD与接口的高速A/D等器件进行高速数据采样并将数据暂存于SRAM中。采样结束后通过切换使单片机与SRAM以总线方式进行数据通信以便发挥单片机强大的数据处理能力。
系统工作过程如下:ALE为地址锁存使能信号,当下降沿来时,将P0口将低8位地址送人可编程芯片CPLD/FPGA中的地址锁存器,然后在P2口和P0口形成的16位地址及WR信号共同作用下,将P0口的数据送入可编程芯片。单片机通过两条指令MOVXDPTR#ADDR和MOVX@DPTR A将数据写入芯片。在P2口和P0口形成的16位地址及RD信号共同作用下,将AD0809转换后数据data送入单片机的P0口。单片机通过两条指令MOVX DPTR#ADDR和MOVXA@DPTR将数据读入P0口。设置A/D转换器件片选信号ad_e和DA转换器件片选信号da_e,设置数据输入/输出口data[7..0]。单片机与FPGA通信接口程序(名为MCS51)通过编译后,生成的逻辑符号如图2所示。
CPLD使用EPM7128时钟为16 MHz有源晶振,首先使用CLK对复位信号采样,8051的复位信号要求是高电平维持2个机器周期,2个机器周期就是2×12=24个振荡周期,对复位信号连续采样10次,若是一直为高电平,就产生片内复位使能信号。其他片内寄存器以这个复位信号做同步复位,对WR,RD,ALE都做了采样,避免毛刺干扰。
1.3 AD0809与CPLD/FPGA状态机接口设计
1.3.1 AD0809状态机功能设计
状态机的最简结构一般由两个进程构成,即主控时序进程和主控组合进程。一个进程描述时序逻辑输出,另一个进程描述组合逻辑包括进程间状态值的传递逻辑以及状态转换值的输出。将AD0809与CPLD/FPGA的接口设计系统划分为两部分,即数据单元和控制单元。数据单元包括保存运算数据和运算结果的数据寄存器,也包括完成数据运算的组合逻辑电路。控制单元用来产生信号序列,以决定何时进行何种数据运算,控制单元要从数据单元得到条件信号,以决定继续进行那些数据运算。数据单元要产生输出信号、数据运算状态等有用信号。数据单元和控制单元中,有两个非常重要的信号,即复位信号和时钟信号。复位信号保证了系统初始状态的确定性,时钟信号则是时序系统工作的必要条件。状态机通常在复位信号到来的时候恢复到初始状态,每个时钟到来的时候内部状态发生变化。从AD0809的初始状态开始,也就是状态机复位以后开始的状态。在建立每个状态时都写出关于这个状态的文字功能描述,AD0809状态机功能描述与相应引脚的取值如下:
S0态:初始状态,选择通道1的模拟信号输入,ADD
- 基于CPLD的激光驱动电源的设计(08-26)
- 在CPLD基础上的电器定时开关控制系统设计(03-29)
- 基于DSP与CPLD设计智能变电站电网的IED(02-25)
- 基于ADSP-TS101S的多芯片数字信号处理系统的实现方案(02-11)
- 51单片机+CPLD让系统更高效(10-25)
- 基于CPLD的线阵CCD数据采集系统的开发(04-14)