基于Wishbone总线的UART IP核设计
2 UART IP核的设计实现
UART IP核的研发是遵照RS232协议和Wishbone总线标准进行的,集成了UART的基本功能。
UART IP核的主要技术特征包括:
(1)支持标准RSR232接口标准和Wishbone总线规范。
(2)全双工独立收发功能。
(3)接收通道进行奇偶校验,溢出,产生可选中断。
(4)内置支持接收和发送的16 Byte FIFO。
(5)发送“空”产生可选中断,接收“满”产生可选中断。
UART IP核体系结构如图2所示。本文引用地址:https://www.eepw.com.cn/article/156564.htm
UART IP核内部主要包括数据发送模块、数据接收模块以及Wishbone总线接口模块。各模块的设计如下。
2.1 Wishbone总线接口模块设计
Wishbone总线接口模块将UART IP核与微机系统相连。该模块提供Wishbone Master和Wishbone Slave接口。
Wishbone总线接口模块的主要功能如下:
(1)提供UART IP核与其他设备的接口,如存储器或者主机的接口。
(2)包含缓冲描述符(储存于内部RAM)。
(3)包含信号在主机时钟、发送时钟和接收时钟之间的同步逻辑。
(4)发送功能。读取发送缓冲描述符,读取数据到发送FIFO并开始发送,其后将发送状态写到发送缓冲描述符。
(5)接收功能。读取接收缓冲描述符,将获得的字节写入接收FIFO,其后通过Wishbone Muter接口与微机系统进行通信。最后,将接收状态写到接收缓冲描述符。
当处理器需要串行发送数据时,先将数据以包的形式存储于主存储器中,然后将存储的所有包的起始地址、目的地址、长度以及发送控制信息写入发送描述符中。
Wishbone接口模块读取到一个非空的发送描述符后即发送数据,发送的数据要通过Wishbone接口逻辑访问位于总线上的主存储器,读取到的数据首先放到发送FIFO中,其后再通过发送控制和同步逻辑与数据发送模块进行握手,将数据从TX_O端口串行发送出去。
当接收数据时,数据由RX_I端口串行地移入接收FIFO中,每收满8位数据就移入接收保持寄存器,然后通过Wishbone总线并行传输给处理器核。
2.2 数据接收模块设计
由于外部信号是通过异步串行的形式传输,因此当接收端口检测到一个由高到低的数据就被视为一个帧的起始位。为了避免接收信号的噪声而产生的不正确的数据,检测到的起始位时钟至少要低于50%的波特率时钟。接收模块一旦接收到有效的起始位,就将通过RS232标准的波特率对数据位和校验位进行采样。
评论