uart(universalanynchronousreceivertransmitter,通用异步接收发送器)是广泛应用的串行数据传输协议之一,其应用范围遍及计算机外设、工控自动化等场合。虽然usb传输协议比uart协议有更高的性能,但电路复杂开发难度大,并且大多数的微处理器只集成了uart,因此uart仍然是目前数字系统之间进行串行通信的主要协议。
随着fpga的广泛应用,经常需要fpga与其他数字系统进行串行通信,专用的uart集成电路如8250,8251等是比较复杂的,因为专用的uart集成电路既要考虑异步的收发功能,又要兼容rs232接口设计,在实际应用中,往往只需要用到uart的基本功能,使用专用芯片会造成资源浪费和成本提高。可以将所需要的uart功能集成到fpga内部,实现fpga与其他数字系统的直接通信,从而简化了整个系统电路,提高了可靠性、稳定性和灵活性。
1 uart简介
基本的uart通信只需要两条信号线(rxd,txd)就可以完成数据的相互通信,接收与发送是全双工形式,其中txd是uart发送端,rxd是uart接收端。uart基本特点是:在信号线上有两种状态,可分别用逻辑1(高电平)和逻辑0(低电平)来区分。在发送器空闲时,数据线应保持在逻辑高电平状态。发送器是通过发送起始比特而开始一个字符传送,起始比特使数据线处于逻辑0状态,提示接收器数据传输即将开始。数据位一般为8位一个字节的数(也有6位7位的情况),低位(lsb)在前,高位(msb)在后。校验位一般用来判断接收的数据位有无错误,一般是奇偶校验。停止位在最后,用以标志uart一个字符传送的结束,它对应于逻辑1状态,uart数据帧格式。
2 uart功能实现
uart可以分解为3个子模块:波特率发生器模块;发送模块;接收模块。uart的功能主要由vhdl硬件描述语言编程,是编译后生成的图元sci,它包括了uart的最主要的部分,即发送模块和接收模块。sci的外部口线可分为3类:
一是与数字系统的接口,包括数据data[7.0],片选cs,读写rd、wr,状态rdfull、tdempty.这部分接口完成的功能是将待发送的数据写入sci或从sci读出已接收到的数据。
二是串行通信接口2条线rxd、txd,其中rxd是接收数据线、txd是发送数据线,因此,sci实现的是全双工通信的设计。
三是系统控制线reset、clk,reset为模块复位输入,clk为模块时钟输入,通信的波特率由clk来决定(实际的波特率是clk/4)。
uart的图元模块结构
rdfull、tdempty为两个状态标志位,rdfull为输入寄存器满标志,高电平表示已经接收到一个有效数据并存储到输入数据寄存器中,当cs、rd有效将数据读出后变为低电平无效。
tdempty为输出寄存器空标志,高电平表示由cs、wr有效写入到输出寄存器的数据已经发送完毕,可以向输出寄存器写入另外待发送的数据,低电平时表示数据目前正在发送中。
2.1 发送模块设计
发送模块由发送控制进程、写数据进程、并/串转换进程、状态操作进程等进程构成。其中,最主要的是发送控制进程,在发送控制进程中声明了一个6比特的变量scit_v,由它的取值(状态机)状态来控制整个发送过程。scit_v被分为高四位的sh_t和低两位的sl_,tscit_v在系统复位后被赋初值28(011100b),每来一个时钟scit_v增量,每来四个时钟sh_t增量,当sh_t为0111b时发送起始位,sh_t为1000~1111b时发送8比特的数据。下面给出的是发送控制进程和发送接收数据进程的原代码:
-----数据发送控制进程-----
process(clk,reset)
variablescit_v:integerrange0to63;
variablescit_s:std_logic_vector(tdownto0);
begin
if(reset=0‘)’then
scit_v:=0;--“000000”
elsif(clke‘ventandclk=1’)‘then
if(scit_v
一加5和华为荣耀9哪个好?荣耀9和一加5配置参数对比评测
linuxled驱动开发 子系统介绍
制氧机/呼吸机语音芯片,医疗设备语音ic方案——NV040D
特瑞仕半导体推出模拟式温度传感器XC3101系列产品
网络通信技术:IP地址和MAC地址的差异
基于Verilog的UART串行通信接口电路设计
全自动智能锁和半自动智能锁的原理是什么,如何进行选择
什么是栈式自编码
关于连接的问答:网状网络与物联网设备的发展
MAX6627/MAX6628远端数字温度传感器
同步器的作用
首期交付并不代表已经在市场站稳脚跟 小鹏汽车还有几场硬仗要打
关于mysql存储引擎你知道多少
在Linux下touch的9个命令示例
鹏辉能源第四季度订单充足,加快产能扩张步伐
在线土壤墒情监测系统的特点是什么
荣耀8怎么样?华为荣耀8评测:荣耀8华为最美旗舰降价500,外观、配置、拍照、续航给力
魏德米勒的标记号方案在混凝土搅拌站的应用优势分析
某探测器测试与信号处理系统的PCM信息采集
行业标杆的首选:中航电测手写笔压力传感器