版主: 51FPGA

分享到:
共1条 1/1 1   

Xilinx FPGA嵌入式开发

    [您是本帖的第798位阅读者]
xilinx论坛
我是MM
高级会员

最后登陆时间:2015-03-19 10:58:07

直达楼层
1# 发表于 2015-03-30 22:04:34

端口说明:

RXTX为收发端口,Interrupt为中断输出端口,如果通过设置CTRL_REG寄存器相应位使能中断,当接收FIFO收到有效数据或发送FIFO从非空变空,即最后一个数据发送出去时,中断产生。




C_SPLB_CLK_FREQ_HZPLB总线时钟,根据此时钟选取可使用的波特率。例如总线时钟为10MHz,如果选取波特率115200,那么串口采样时钟应该为16*115200=1.8432MHz16倍采样),而[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



控制方式:



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



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

 

共1条 1/1 1   
快速回复主题
  • 匿名不能发帖!请先 [ 登陆 注册 ]