打印

Xilinx FPGA嵌入式开发

[复制链接]
1382|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gaochy1126|  楼主 | 2012-7-5 19:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
端口说明:
RX、TX为收发端口,Interrupt为中断输出端口,如果通过设置CTRL_REG寄存器相应位使能中断,当接收FIFO收到有效数据或发送FIFO从非空变空,即最后一个数据发送出去时,中断产生。


C_SPLB_CLK_FREQ_HZ为PLB总线时钟,根据此时钟选取可使用的波特率。例如总线时钟为10MHz,如果选取波特率115200,那么串口采样时钟应该为16*115200=1.8432MHz(16倍采样),而[10/1.8432]四舍五入得整数5,因此实际采样时钟为10/5=2MHz,此时波特率错误率为(1.8432-2)/1.8432=-8.5%,超出了大多数串口能接收的容限,因此不能选此波特率。对于此IP模块,波特率错误率应控制在3%以内。

C_SPLB_P2P设置总线拓扑类型,目前只支持共享拓扑,即设为0。

C_BASEADDR必须是地址空间的倍数,地址空间(C_HIGHADDR - C_BASEADDR + 1)必须是2的整数幂,最小0xF。寄存器RxFIFO(只读)、TxFIFO(只写)、STAT_REG(只读)、CTRL_REG(只写)地址分别为C_BASEADDR+0x0/4/8/C。

控制方式:

通过对TxFIFO、RxFIFO、CTRL_REG、STAT_REG进行操作来控制模块。TxFIFO 和CTRL_REG只读,STAT_REG、RxFIFO寄存器只写。接收/发送各有一个深度为16的32位宽FIFO,其中高8位有效(如设置C_DATA_BITS为8),存放接收或发送数据。如接收FIFO非空,对RxFIFO寄存器读取,则读取当前FIFO输出的数据,对空FIFO读取产生不可预料的结果。发送FIFO类似。

对控制寄存器CTRL_REG相应位写操作可使能中断、复位RxFIFO、TxFIFO,均是写入1有效。对STAT_REG相应位读可获取奇偶错误、帧错误、溢出错误、中断是否使能、接收/发送FIFO空满状态信息。

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1051

主题

11300

帖子

26

粉丝