带硬件地址识别的uartip的设计和实现

带硬件地址识别的uartip的设计和实现

ID:20033541

大小:76.12 KB

页数:5页

时间:2018-10-08

带硬件地址识别的uartip的设计和实现_第1页
带硬件地址识别的uartip的设计和实现_第2页
带硬件地址识别的uartip的设计和实现_第3页
带硬件地址识别的uartip的设计和实现_第4页
带硬件地址识别的uartip的设计和实现_第5页
资源描述:

《带硬件地址识别的uartip的设计和实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、带硬件地址识别的UARTIP的设计和实现摘要:在通信和控制系统中,常使用异步串行通信控制器(uart>实现系统辅助信息的传输。为实现多点通信,通常用软件识别发往本站点或其它站点的数掘,这会加大cpu的开销。介绍了一种基于fpga的uartip,由硬件实现多点通信时的数据过滤功能,降低了cpu的负担,提高了系统性能。关键词:uart多点通信fpga知识产权在通信和控制系统中,常使用异步串行通信实现多块单板之间的辅助通信,各个单板通过总线方式连接。为了实现点对点通信,需要由软件定义一套较复杂的通信协议,过滤往来的数裾,消耗了cpu较多的时间。89C51单片机有一种九位通信方式,采用一位地

2、址位来实现通信对象的选择,只对发往本地址的地址发生中断进而接收数据。通用的uart芯片如16C550和89c51等构成总线式的通信系统时,需要由cpu通过软件处理接收到的地址和产生九位的数据。本文介绍的uart采用veriloghdl硬件描述语言设计,可以用fpga实现,可应用于soc设计中。其主要特性如下:•全硬件地址识别,过滤数据不需要cpu的介A;支持一个特殊地址,可用于监听和广播。•支持查询和中断两种工作方式,中断可编程。•接收和发送通路分别有128bytefifo,每个接收字节附带状态信息。•设计采用veriloghdl语言,全同步接口,可移植性好。•支持自环测试功能。•波

3、特率可以编程,支持八位或者九位两种数据格式。设计的uart的九位串行数椐格式如图1所示。在空闲状态,数裾线处于高电平状态。总线由高到低跳变,宽度为一个波特率时间的负脉冲为开始位,然后是8bit的数据位。数据位后面是Ibit的地址信息位。如果此位是1,表示发送的字节是地址信息;如果此位是0,传输的是正常数据信息。地址指示位后是串行数据的停止位。luart设计uart采用模块化、层次化的设计思想,全部设计都采用veriloghdl实现,其组成框图如图2所示。整个uartip由串行数据发送模块、串行数据接收模块、接收地址识别模块、接收和发送hifo、总线接门逻辑、寄存器和控制逻辑构成。串行

4、发送模块和接收完成并/串及串/并的转换,接收地址的识别由接收地址识别模块完成。发送和接收hifo用于缓存发送和接收的数据。总线接口逻辑用于连接uartip内部总线和host接口。寄存器和控制逻輯实现uartip内部所有数据的收发、控制和状态寄存器、内部中断的控制及波特率信号的产生。以下详细说明主耍部分的设计原理。1.1串行数据发送模块串行数据发送模块将数据或地址码由并行转换为串行,并从串行总线输出。设计采用有限状态机实现,分为空闲、取数、发送三个状态。其状态迁移如图3所示。各个状态说明如下:空闲状态:状态机不断检测发送使能位、uart使能位和发送fifo空/满标志位,如果使能位为高、

5、uart使能打开且fifo空标志位为低,串行发送进入取数状态。取数状态:在此状态,分两个周期从发送fifo中取出待发送的数据或者地址,然后进入发送状态。发送状态:在此状态,状态机按照九位申行数据的格式依次发送开始位、数据位、地址指示位。待停止位发送完毕后,返回空闲状态。一个字节的数据发送完毕后,进行下一个字节数据的发送流程。1.2串行数据接收模块串行数据接收模块用于检测串行数据的开始位,将串行总线上的串行数据转换成并行数裾并输出。接收逻辑也采用有限状态机实现,分为空闲状态、寻找幵始位、接收数据和保存数据四个状态。其状态迁移图如图4所示。各个状态说明如下:空闲状态:在此状态,不断检测接

6、收使能、uart使能和串行输入信号的状态。如果串行输入信号出现由高到低的电平变化且uart使能和接收使能都为高,则将采样计数器复位,并进入寻找开始位状态。寻找开始位:在此状态,状态机等待半个波特率的时间,然后重新检测串行输入的电平。如果为低,则判断收到的开始位有效,进入接收数据状态;否则认为数据总线上出现干扰,开始位无效,重新返回空闲状态。接收数据:在此状态,依次接收申行数据线上的数据位、地址指示位和停止位,结束后进入保存数据状态。保存数据:此状态将收到的串行数据以并行方式从接口的并行总线输出,然后返回空闲状态,准备进行下一个字节数据的搜索和接收。为提高对串行输入上突发干扰的抵抗能力

7、,对于接收数裾,在脉冲的屮间位置连续采样三次,较多的电平作为接收的有效数据。所有接收数据的采样频率为接收波特率的16倍。1.3硬件地址识别模块硬件地址识别模块用于从接收到的数据中判断出地址和数据,在地址识别功能打开吋,选择数据通过或者丢弃;而该功能关闭时,所有数据都会通过。地址识别模块是一个有两个状态的有限状态机,分为地址和数据两个状态。其状态迁移图如图5所示。状态说明如不:地址状态:在此状态时,判断接收到的数据以及地址识别使能位。如果地址识别功能没有打开

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。