单片机总线接口电路的设计.docxVIP

  • 4
  • 0
  • 约6.51千字
  • 约 20页
  • 2019-09-27 发布于广东
  • 举报
宜實学免 Yibin University EDA技术及应用期末设计报告 题 目:单片机总线接口电路的设计 专 业: 电子信息科学与技术 2013年 12月19日 摘要: 单片机具有性价比高,功能灵活,易于人机交换和良好的数据 处理能力等特点;FPGA具有高速,高可靠以及开发方便快捷规范等 特点,以此两类器件相结合的电路结构在许多高性能仪器仪表和电子 产品中被广泛运用0在目前的单片机与FPGA的接口电路实际设计中, 重要的角色之一就是并串转换电路,并且在很多其它设计中是必不可 少的,尤其是在数据量庞大的设计中,如果前级电路和后级电路直接 通过并行传输数据,那么数据有多少位就得有多少根通信线,这必将 导致通信的准确度的降低和通信成本的增加,当距离较长时这种方式 更是不可采用的。这次设计是基于FPGA设计的51单片机与外围电路 通信的并串转换电路,该转换电路在接到51单片发出的访问外部RAM 的时序时,自动接受并行数据,接受完毕后自动串行发送数据,并且 产生输出时钟,提供给后级电路使用。该电路可以完成51单片机与 串口外电路的通信,扩展了 51 串口外 电路的通信,扩展了 51单片机的I/O端口,使得单片机可 以带更多的负载。 关键字: 并串转换 FPGA VHDL 状态机 单片机 目录 摘要 关键字 设计概述 总的系统框图 设计思路 TOC \o 1-5 \h \z \o Current Document 方案论证 5 \o Current Document 设计程序 6 \o Current Document 设计仿真图 16 17 \o Current Document 仿真分析 17 17 参考文献 设计概述: 本次设计用FPGA设计一个并串转换电路,完成的功能 是让51单片机可以和串行外设通信,51单片机可以用访问外部RAM 的时序去访问该接口电路。在51单片机发出访问时序时,FPGA响 应51单片机,接受数据并锁存,然后自动串行发送。具体过程是当 ALE有效时,P0 口送出地址低八位地址(01), P2 口送出高八位地 址(FA), FPGA接收地址并锁存;当WR有效时,P0送出8位数 据,如果FPGA锁存的地址是FA01,则此时FPAG将锁存8位数据。 在整个接受过程中,FPGA不能发送数据,输出数据和时钟都拉为低 电平。FPGA在接受完数据后将自动启动串行发送,每发送一位数据 都发出一个周期的的输出时钟,作为后级电路的串行输入时钟。当数 据发送完后,将数据发送结束标志拉高两个周期的高电平。在整个发 送期间,不能接受数据,只有发送结束后才可以接受新的数据,并自 动发送。 总的系统框图: 8051 FPGA 设计思路: 次本设计采用了模块设计的思路,把整个设计分为三 个部分,即接收部分、发送部分、控制部分。接收部分主要负责响应 单片机,锁存数据;发送部分主要负责串行发送数据和产生时钟信号; 控制部分主要负责控制接受和发送,当在接受时数据时,发送部分被 控制在等待状态,输出被拉低,发送完毕后自动开始发送。当在发送 数据时控制部分将接收部分关闭,不予响应接收信号。 方案论证: 方案一:在一个设计实体中完成所用功能,发送和接收 之间通过内部标志信号控制。这样做可以用一个程序完成设计,但是 内部控制信号繁多,时序复杂,思维不易理清,所以不采用此方案。 方案二:采用模块化设计思想,分为接收、发送部分, 发送部分采用计数器实现自动发送。该方案采用模块设计思路,明显 比方案一思路清晰,但是发送部分采用计数器控制发送,这样不易实 现接收和发送的相互控制和配合。 方案三:采用模块设计思想,分为接收、控制、发送部 分。接收部分采用状态机实现数据的制动发送,控制部分也采用状态 机控制接收和发送。当在接收数据时,控制状态机让发送状态机处于 等待状态;接收完毕后,接收模块反馈一个信号给控制状态机,随后 控制模块使接收模块处于等待状态,使能发送模块,发送完毕后发送 模块也反馈一个信号给控制模块,控制模块在此使能接收模块,关闭 发送模块,依次反复进行接收发送。 第三种方案避免方案一和方案的缺点,所以本次设计采 用第三种方案。 设计程序: 1)接收部分程序: LIBRARY IEEE; USE IEEE. STD_L0GIC_1164. ALL; ENTITY RECIVE IS PORT (REN, CLR :IN STD_LOGIC; —REN, CLR 是控制模块发出的 信号,REN使能接收,CLR 关闭接收 ALE, WR:IN STD_LOGIC; ADD_HIGH, ADD_LOW:IN STD_LOGIC_VECTOR(7 DOWNTO 0): RECIVE_END: OUT STD_LOGIC; ―接收结束标志信号

文档评论(0)

1亿VIP精品文档

相关文档