state_reset out std_logic 由内核向信号检测器发送的复位信号
en out std_logic 发送给波特率发生器和计数器的使能信号
reset out std_logic 发送给波特率发生器和计数器的使能信号
count_overflow in std_logic 计数器发送的溢出信号
receive_parallel_data in std_logic_vector 移位寄存器发送的已接收并行数据
mode_send_recv out std_logic 工作模式设置信号
send_parallel_data out std_logic_vector 想移位寄存器发送的待发送并行信号
sel_send_recv out std_logic 总线选择器的总线选择控制信号
data_send out std_logic_vector 向总线选择器发送的待发送并行数据
data_receive out std_logic_vector 向总线选择器发送的已接收并行数据
parity in std_logic 总线选择器计算出的校验位
reset_cpu in std_logic 处理器发送的复位信号
send_prepare in std_logic 处理器发送的发送过程启动信号(正脉冲)
send_bus in std_logic_vector 处理器发送待发送并行数据的总线
send_over in std_logic 向处理器发送的发送完毕提示信号
receive_over out std_logic 向处理器发送的接收完毕提示信号
receive_bus out std_logic_vector 向处理器发送已接收并行数据的总线
receive_error out std_logic 向处理器发送接收正确与否的判断信号
表3.1
内核作为一个有限状态机来设计,其状态图如图3.1:
图3.1 UART内核状态图
3.2 移位寄存器—计数器
该模块是本设计的两个核心模块之一,该模块包含移位寄存器和计数器两个模块。
设计实体为 shiftRegiter_counter 源文件为“shiftRegiter_counter.vhd”。
其端口列表如表3.2:
名称 模式 类型 说明
RxD in std_logic 串行输入信号
clk in std_logic 时钟信号,同波特率频率,占空比50%
incidator in std_logic 时钟信号,同波特率频率,占空比0.5%
en in std_logic 由内核发送的使能信号
reset in std_logic 由内核发送的复位信号
mode_send_recv in std_logic 由内核发送,选择接收或发送模式
TxD out std_logic 串行输出信号
count_overflow out std_logic 由计数器向内核发送的溢出信号
in_parallel_data in std_logic_vector 发送模式时接收9位并行数据 基于FPGA的UART设计+文献综述(5):http://www.751com.cn/tongxin/lunwen_6000.html