发送数据,接收数据等。
错误信号 -
OverrunError - 发生在接收器已经收到一个字符(!rxEmpty),并且在rxRead发生之前,下一个字符开始到达。
- UnderrunError - 发生在发送器在完成发送当前字符(!txEmpty)之前收到一个新字符(txWrite)。
- FramingError - 发生在接收器没有看到预期的 "停止 "位时。
帧错误 - 发生在接收方没有看到预期的 "停止 "位时。注意:中断经常导致成帧错误的发生。 - BreakDetect - 当接收方得到一个 "空格 "输入时发生,它是逻辑低电平,超过了成帧周期。这通常被用来标明
一些协议中的多字节数据帧的结束,如数据包的开始。 - 这些错误标志应该在接收机下一次读取或下一个字节写入时自动清零。
读取或写下适当的字节时,这些错误标志应自动清除。
UART顶层模块:
`timescale 1ns / 1ps
module model_uart
#(parameter SYSTEM_CLOCK_MHZ = ,
parameter BAUD_RATE = 14400 )
(
input sysClk, nRst,
output baudClk,
// Transmitter interface
input [7:0] dataout,
input txWrite,
output txEmpty, txUnderrun,
output txD,
// Receiver interface
input rxD,
output [7:0] datain,
input r