发送过程中,同样负责对各个子模块进行复位,对一些控制信号进行设置。向移位寄存器发送并行数据,发送完成再次对个模块进行复位及向处理器发送相关指示信号。
2.3.2 移位寄存器—计数器
该模块是总体设计中的重要部分,移位寄存器负责在计数器和内核的控制下将串行输入的数据转换为并行数据发送给内核,并去掉起始位、停止位; 将从内核接收的并行数据转化成串行数据输出,并加上起始位、校验位、停止位[9]。
计数器在波特率发生器提供的时钟下进行工作,通过向移位寄存器提供使能信号控制移位寄存器的执行步骤,并向内核发送溢出信号来提示完成发送或接收。
2.3.3 信号检测器
信号检测器用于接收过程中,它的作用是对串行输入信号进行实时检测,一旦发现新的数据则立即通知UART内核。
2.3.4 波特率发生器
波特率发生器负责在内核的控制下产生两个符合传输波特率频率的时钟信号。其中,一个占空比为50%,另一个占空比为0.5%,两个时钟的边沿在时间上有时间差。
2.3.5 奇偶校验器
奇偶校验器负责计算八位并行数据的校验位,本设计采用偶校验。该模块是一个纯组合逻辑模块,不含时序电路。
在接收过程中,该模块负责计算出接收并行数据的校验位送给内核,由内核将其与接收到的校验位进行比对,由此来向处理器提供接收正确与否的判断信号。
在发送过程中,该模块将计算出的并行数据送往内核,由内核送至移位寄存器发送。
2.3.6 总线选择器
总线选择器是一个数据选择器,用来选择奇偶校验器在分别发送和接收工作模式下的输入信号。在发送模式下选择内核从8位并行数据,在接收模式下选择内核从移位寄存器接收的8位并行数据[10-11]。
2.4 发送和接收过程工作流程图
UART分为接收和发送两种工作模式。
2.4.1 接收流程图
接收过程:当信号检测器检测到新的数据时,内核控制移位寄存器顺序读取串行数据并将其传送给处理器的过程。流程图如 图2.4.1
图2.4.1 接收过程工作流程图
2.4.2 发送流程图
发送过程由加载和发送两个步骤组成,加载步骤包括内核对各个子模块的初始化以及将并行数据发送到移位寄存器; 发送是移位寄存器在计数器的控制下将8位的并行数据转换成串行数据发送,并加上起始位、校验位、停止位[12]。流程图2.4.2
图2.4.2 发送过程工作流程图
3 系统及模块设计
3.1 UART内核
UART内核是整个设计的两个核心模块之一,负责协调其他各个模块的工作[13-14]。
接收过程中,在信号检测器提供的指示信号下,对波特率发生器和移位寄存器-计数器模块进行复位,并置位总线选择器的选择信号、波特率发生器和移位寄存器-计数器模块的使能信号好工作模式选择信号。接收完成时负责发送复位信号复位波特率发生器、移位寄存器-计数器、和信号检测器。以及向处理器发送相关信号[15]。
发送过程中,同样负责对各个子模块进行复位,对一些控制信号进行设置。向移位寄存器发送并行数据,发送完成再次对个模块进行复位及向处理器发送相关指示信号。 源程序文件为“uart_kernel.vhd” , 其端口列表如表3.1:
名称 模式 类型 说明
clk_system in std_logic 系统时钟
new_data in std_logic 信号检测器发送的新数据提示信号
- 上一篇:基于FPGA的以太网接口设计+文献综述
- 下一篇:MIMO雷达正交波形编码设计+文献综述
-
-
-
-
-
-
-
十二层带中心支撑钢结构...
河岸冲刷和泥沙淤积的监测国内外研究现状
当代大学生慈善意识研究+文献综述
中考体育项目与体育教学合理结合的研究
杂拟谷盗体内共生菌沃尔...
电站锅炉暖风器设计任务书
大众媒体对公共政策制定的影响
酸性水汽提装置总汽提塔设计+CAD图纸
java+mysql车辆管理系统的设计+源代码
乳业同业并购式全产业链...