- 相关推荐
带硬件地址识别的UART IP 的设计和实现
摘要:在通信和控制系统中,常使用异步串行通信控制器(UART)实现系统辅助信息的传输。为实现多点通信,通常用软件识别发往本站点或其它站点的数据,这会加大CPU的开销。介绍了一种基于FPGA的UART IP,由硬件实现多点通信时的数据过滤功能,降低了CPU的负担,提高了系统性能。关键词:UART 多点通信 FPGA 知识产权
在通信和控制系统中,常使用异步串行通信实现多块单板之间的辅助通信,各个单板通过总线方式连接。为了实现点对点通信,需要由软件定义一套较复杂的通信协议,过滤往来的数据,消耗了CPU较多的时间。89C51单片机有一种九位通信方式,采用一位地址位来实现通信对象的选择,只对发往本地址的地址发生中断进而接收数据。通用的UART芯片如16C550和89C51等构成总线式的通信系统时,需要由CPU通过软件处理接收到的地址和产生九位的数据。本文介绍的UART采用Verilog HDL硬件描述语言设计,可以用FPGA实现,可应用于SoC设计中。其主要特性如下:
·全硬件地址识别,过滤数据不需要CPU的介入;支持一个特殊地址,可用于监听和广播。
·支持查询和中断两种工作方式,中断可编程。
·接收和发送通路分别有128Byte FIFO,每个接收字节附带状态信息。
·设计采用Verilog HDL语言,全同步接口,可移植性好。
·支持自环测试功能。
·波特率可以编程,支持八位或者九位两种数据格式。
设计的UART的九位串行数据格式如图1所示。在空闲状态,数据线处于高电平状态。总线由高到低跳变,宽度为一个波特率时间的负脉冲为开始位,然后是8bit的数据位。数据位后面是lbit的地址信息位。如果此位是1,表示发送的字节是地址信息;如果此位是0,传输的是正常数据信息。地址指示位后是串行数据的停止位。
1 UART设计
UART采用模块化、层次化的设计思想,全部设计都采用Verilog HDL实现,其组成框图如图2所示。整个UART IP由串行数据发送模块、串行数据接收模块、接收地址识别模块、接收和发送HIFO、总线接口逻辑、寄存器和控制逻辑构成。串行发送模块和接收完成并/串及串/并的转换,接收地址的识别由接收地址识别模块完成。发送和接收HIFO用于缓存发送和接收的数据。总线接口逻辑用于连接UART IP内部总线和HOST接口。寄存器和控制逻辑实现UART IP内部所有数据的收发、控制和状态寄存器、内部中断的控制及波特率信号的产生。以下详细说明主要部分的设计原理。
1.1 串行数据发送模块
串行数据发送模块将数据或
[1] [2] [3] [4]
【带硬件地址识别的UART IP 的设计和实现】相关文章:
电脑ip地址怎么设置03-20
IP网络存储·什么是硬件参数04-26
多业务IP城域网的技术选择与实现04-30
白银和地址作文04-30
基于SketchUp和ArcGIS对虚拟校园的设计与实现04-27
基于SVG的网络地图预览模型的设计和实现05-03
双星:以企带乡,实现双赢05-01