刘宇成 李金凤



摘 要:虽然FPGA速度快,但由于FPGA对采集到的数据的处理能力和控制能力比较差,故需要将其采集到的数据送到单片机系统上来实现数据的处理功能,这就使得FPGA系统与单片机系统之间的数据通信提到日程上。本文给出部分VHDL源程序,并用Quartus II进行仿真。
关键词:FPGA;VHDL;单片机;通信
单片机具有性价比高、功能灵活、易于人机对话、良好的数据处理能力的特点;FPGA则具有高速、可靠以及开发便捷等优点。系统设计中将单片机数据处理的优势与FPGA、执行快速的特点相结合,能够设计出既有强大控制功能又能使各项功能快速执行的系统。因此,单片机与FPGA之间的通信便显得尤为重要本文介绍利用VHDL语言实现FPGA与单片机的并行通信接口设计。本文主要由以下三个部分组成:FPGA接收ADC0809数据;FPGA发送数据和单片机接收数据模块,VHDL程序及仿真结果。本文着重对FPGA数据发送模块实现进行说明,原理图如图1所示:
1 FPGA接收ADC0809数据
ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D模数转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。本系统用ADC0809把传感器采集的模拟信号变成数字信号,然后用FPGA控制数据流进程,并用外围LED电路显示。FPGA与ADC0809接口电路图如图2所示。为了实现对ADC0809精确地控制,所以本系统采用FPGA特有的状态机来进行时序上的控制,引脚说明如下:
(1)ALE信号(引脚):高电平时把三个地址信号送入地址锁存器,并经译码器得到地址数据,以选择相应的模拟输入通道。……