访问手机版页面
你的位置:老古开发网 > 51单片机与FPGA > 正文  
MCS-51单片机与FPGA接口逻辑设计的VHDL实现
内容导读:

MCS-51单片机与FPGA接口逻辑设计的VHDL实现

付扬

(辽宁石油化工大学信息工程学院抚顺,113001)

    摘  要:本文阐述了单片机和现场可编程门阵列FPGA各自的特点,指出在波形发生器设计中两者相结合设计的优势和在设计中所遇到的接口逻辑设计这个难点,详细给出了接口逻辑设计的VHDL程序。通过该接口程序设计,实现了单片机技术和EDA技术相结合,从而实现了所要求波形发生器的设计。
    关键词:单片机
FPGA(现场可编程门阵列)PLD(可编程逻辑器件)

0引言
  可编程逻辑器件(PLD)EDA技术的应用成为电子系统设计的潮流。FPGA是一种新兴的可编程逻辑器件(PLD),与其它PLD相比,具有更高的密度、更快的工作速度和更大的编程灵活性。
  单片机以其体积小、功能齐全、价格低廉、可靠性高等方面所具有的独特优点,长期以来被广泛的应用在各领域。
  基于
FPGA的高密度、高速度、现场可编程的能力和单片机强大的数据处理功能,制作了波形发生系统,用于产生各种频率的正弦波、方波和三角波,其幅值05V可调,频率步进达到1Hz以下,频率范围1Hz100kHz
  该波形发生器以单片机
(MCS8031)为中心控制系统,FPGA片内实现DDS技术,在此DDS技术中,采用6BCD比例乘法器级联。首先由单片机将E2PROM28c64中存入波形数据。FPGA在单片机的控制下,利用较高的时钟频率(16M)生成用户要求的频率的128倍频,并以此频率在E2PROM28c64取波形数据,将其发送给D/A转换器,并通过滤波器输出。同时单片机实现对输出电压的控制。
  本设计中,
FPGA选用Altera公司的FLEX10K,晶振频率可达40MHz。使用MAX+PLUSⅡ开发系统支持。FLEX10K系列是FLEX系列当中非常有代表性的FPGA器件系列,每个FLEX10K器件包含一个嵌入式阵列和一个逻辑阵列。嵌入式阵列用来实现各种存储器及复杂的逻辑功能。逻辑阵列用来实现普通逻辑功能。嵌入式阵列和逻辑阵列结合而成的嵌入式门阵列具有高性能、高密度、灵活的互连方式、支持多电压I/O接口、多种配置方式以及低功耗等特性。
  在此设计中,我们感到,单片机和
FPGA完成各自功能设计较容易实现,关键的难点是两者的接口设计。经过不断的摸索,我们终于以VHDL语言实现了接口程序设计,从而圆满实现了整个波形发生器的设计。
1单片机与FPGA接口逻辑设计的VHDL实现
    在设计中,单片机与
FPGA接口采用总线方式。单片机以总线方式与FPGA进行数据与控制信息通信有许多优点。如速度快,其通信工作时序是纯硬件行为;节省PLD芯片的I/O口线;相对于非总线方式,单片机编程简捷,控制可靠;在FPGA中通过逻辑切换,单片机易于与SRAMROM接口等。
  单片机与
FPGA通信接口程序(名为MCS51)通过编译后,生成的逻辑符号如图1所示。

  其各引脚功能为:
  P26:输入信号,作为FPGA的片选端,低电平有效,高电平时保持现有状态,与单片机的P2.6相连;WR:输入信号,为FPGA的写信号,与单片机的写端口相连,当P26为低电平时,单片机可向FPGA写数据,以达到传送命令以及数据的目的;ALE:输入信号,与单片机的ALE信号相连,用于FPGA片内锁存地址,配合WR信号进行单片机与FPGA的通信;P07..0]:输入信号,共8条数据线,为单片机PO口的接口,用于地址和数据的传送;SEL:输出信号,用于控制波形的形状,共有三种波形(正弦波、方波、三角波);Q03..0]~Q53..0]:输出信号,用于6级级联乘法器的置数输入;ST:输出信号,为级联乘法器的片选端,低电平有效。
  
FPGA片内实现寄存器,可对单片机传输的数据和命令进行寄存,具体如下:
  命令寄存器:
  入口地址:
FFH命令字:FFH(ST有效)OOH(ST无效)。入口地址:OOH命令字:EOH(显示正弦波,sel00)E1H(显示方波,sel01)E2H(显示三角波,sel10)
  数据寄存器:
  入口地址:
01H02H03H分别存储单片机传送的610进制数。这些数据是用户要求的频率数通过单片机乘8处理后传送过来的,为乘法器提供频率数据。
 
MCS51源程序















  根据以上设计,编译成功后,进行模拟仿真,仿真结果如图2。由仿真结果可以看出设计的正确性。将此设计下载到FLFX10K器件,并连接单片机及外围电路,成功的实现了整个波形发生器系统设计。

2结束语
  通过此设计,可以看到在功能上,单片机与大规模可编程逻辑器件有很强的互补性。单片机具有性能价格比高、功能灵活、易于人机对话、良好的数据处理能力特点;
FPGA则具有高速、高可靠以及开发便捷、规范等优点。以此两类器件相结合的电路结构应在许多高性能仪器仪表和电子产品中将被广泛应用。

参考文献

1徐志军,徐志辉.CPLD/EPGA的开发与应用.北京:电子工业出版社,2002
2李景华,杜玉远.可编程逻辑器件及EDA技术.沈阳:东北大学出版社,2000
3李华.MCS-51系列单片机接口技术.北京:北京航天航空大学出版社,1993

来源:自动化与仪器仪表

标签:
来源: 作者: 时间:2006/9/25 16:50:53
相关阅读
推荐阅读
阅读排行
最近更新
商品推荐