基于FPGA的串行通信设计wwwygplabcn.pptxVIP

  • 3
  • 0
  • 约7.34千字
  • 约 29页
  • 2021-05-23 发布于北京
  • 举报
基于FPGA的串行通信设计;一 项目简要介绍 二 串行通信 三 UART发送器的设计 四 UART接收器简介 五 总结;图1 火箭发射系统组成框图; 火箭发射控制系统是火控武器系统的重要机载设备,目前的火箭发射控制系统不能自行检测火箭弹装载情况,只能由飞行员根据地面装弹情况,自行进行火箭弹发射模式选择,而且在火箭弹的发射过程中,余弹的数量只能由火控任务机根据发射指令信号进行虚拟余弹数量的统计,飞行员不能实时了解火箭弹是否按照发射模式完成火箭弹的发射。智能余弹监测型机载火箭发射系统正是为了满足上述要求,使各型战斗机在火箭弹发射时具有实时智能余弹监测的功能,提升飞机的自检测性能。;1.3 产品的用途;;;2.1串行通信概念 UART(Universal Asynchronous Receiver Transmitter通用异步收发器)是一种应用广泛的短距离串行传输接口。常常用于短距离、低速、低成本的通讯中。基本的UART通信只需要两条信号线(RXD、TXD)就可以完成数据的相互通信,接收与发送是全双工形式。TXD是UART发送端,为输出;RXD是UART接收端,为输入。;2.2 串行通信特点 (1)在信号线上共有两种状态,可分别用逻辑1(高电平)和逻辑0(低电平)来区分。在发送器空闲时,数据线应该保持在逻辑高电平状态。 (2)起始位(Start Bit):发送器是通过发送起始位而开始一个字符传送,起始位使数据线处于逻辑0状态,提示接受器数据传输即将开始。 (3)数据位(Data Bits):起始位之后就是传送数据位。数据位一般为8位一个字节的数据(也有6位、7位的情况),低位(LSB)在前,高位(MSB)在后。 (4)校验位(parity Bit):可以认为是一个特殊的数据位。校验位一般用来判断接收的数据位有无错误,一般是奇偶校验。;(5)停止位:停止位在最后,用以标志一个字符传送的结束,它对应于逻辑1状态。 (6)帧:从起始位开始到停止位结束的时间间隔称之为一帧。 (7)波特率:UART的传送速率,用于说明数据传送的快慢。在串行通信中,数据是按位进行传送的,因此传送速率用每秒钟传送数据位的数目来表示,称之为波特率。如波特率9600=9600bps(位/秒)。 UART的数据帧格式为: ;3.1 顶层模块 异步收发器的顶层模块由波特率发生器、发送数据传输、UART接收器和UART发送器构成。 UART发送器的用途是将准备输出的并行数据按照基本UART帧格式转为TXD信号串行输出。 UART接收器接收RXD串行信号,并将其转化为并行数据。 波特率发生器就是专门产生一个远远高于波特率的本地时钟信号对输入RXD不断采样。;图2 顶层模块电路; ;3.2 波特率发生器 --将32MHz的输入信号分频为153600Hz library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity baud is Port (clk,resetb:in std_logic; bclk:out std_logic); end baud; architecture Behavioral of baud is begin ;process(clk,resetb) variable cnt:integer; begin if reserb=‘1’ then cnt:=0; bclk=‘0’;--复位 elsif rising_edge(clk) then if cnt=208 then cnt:=0; bclk=1; --设置分频系数 else cnt:=cnt+1; bclk=0; end if; end if; end process; end Behavioral; ;图4 波特率发生器仿真波形;3.3 UART发送器; x_start状态 在这个状态下,UART的发送器一个位时间宽度的逻辑0信号至TXD,即起始位。紧接着状态机转入x_wait状态。xcnt16是bclk的计数器。 x_wait状态 等待是否计满15个bclk,同时判断采集的数据位的长度是否已达到数据帧的长度。;x_shift状态 当状态机处于这

文档评论(0)

1亿VIP精品文档

相关文档