微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于FPGA的8051微控制器接口实现

基于FPGA的8051微控制器接口实现

时间:06-06 来源:互联网 点击:

3.4 用户可定义寄存器组

该部分主要是提供给用户自定义的寄存器组,可以根据需要进行定义,主要用来为微控制器和运用逻辑之间的通信提供寄存服务。同时它可以被定义为不同作用的寄存器,微控制器通过读或者写这些专用的寄存器来决定应用的进程和当前状态,而运用逻辑通过它向微控制器发送服务请求。它的存在为该接口的通用性打下了基础。

3.5 数据输出多路选择器和中断逻辑模块

数据输出多路选择器主要用来在整个读周期里为地址/数据复用总线提供所需的数据。中断逻辑模块是可以选择的,它的定义主要是看微控制器是否允许用户逻辑的中断操作,这取决于用户系统,可以根据需要设置中断的个数和中断的优先权。

4 仿真分析和FPGA实现

为了验证该设计功能的正确性,从设计系统规范到最后的布局布线的整个过程中,都需要进行阶段性的仿真和验证。鉴于该系统的复杂性,采用层次化的设计和验证仿真。将系统划分为不同的功能模块(如上所述),分别对其进行RTL(寄存器传输级)级描述,并仿真验证。最后再进行系统的综合实现,即功能模块的组装。整个设计采用了自顶向下的设计方法,而仿真验证则是自底向上的方法。限于篇幅,就不再单一的介绍每个模块的VHDL设计方法和仿真验证结果。下面仅给出用Active HDL对系统进行仿真验证的结果,如图4所示。仿真结果表明,该状态机的设计满足预期的功能,即能满足8051微控制器总线协议的要求,因而能很好地和8051进行通信,各项指标均达到了设计要求。

本设计采用Xilinx公司的Vertex系列XCCV3004HQ240芯片,该芯片有丰富的可配置逻辑模块CLBs(Configurable Logic Blocks),大量的触发器以及内置的不占系统资源的块RAM,系统最大工作频率可达200MHz,并且内置有延迟锁相环DLL(Delay Locked Loop),它可以减少时钟传输的衰减,实现通信的完全同步。在Synplify Pro环境下对系统进行综合,综合结果表明其占用的片内资源不到总资源的10%,选择资源远远过剩的Vertex系列的目的是为了在同一块芯片内同时集成8051IP核,完成两者的综合实现后,资源略有剩余,这为用户的硬件升级和系统方案的变更提供了条件。

5 结束语

本设计充分利用了Vertex器件的LUTs(Look-Up Tables)替代触发器和基本门电路搭建乘法器和加法器这两个显著的结构特点,节省了大量的触发器资源,增加了器件利用率、布通率,DLL的运用降低了布线延迟,实现了通信的完全同步。笔者采用Xilinx公司的FPGA芯片自行设计了8051IP核与外围设备的接口,完成了8051与外围设备之间的通信功能,并且源代码中的参数可调,可作为IP软核提供给8051开发用户,使得用户从多变的外围接口实现中解脱出来,让用户致力于具体的运用设计,以缩短开发周期。这种实现接口通信的方法适用范围广、成本低廉、体积小、可靠性高,具有很高的工程实用价值。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top