带fifo的Uart发送器的FPGA实现FPGA使用Altera公司EP4C15F17C8N芯片,它的性能优越,支持大部分IP核使用。常用它来学习NIOS II。使用它实现带FIFO的串口。首先,对uart的实现进行设计。Uart的时序如下图所示:一般使用Uart时,配置为无校验,一个停止位,一个起始位,8位数据。其中尤其重要的为波特率的设置。波特率对应了Uart通信的位宽,用FPGA实现Uart其实就是对通信位宽的调制。位宽通过基础时钟分频得到。Uart波特率计算及实现 以9600波特率为例计算:9600的意思为每秒传输的bit数为9600,所以位宽为:1/9600s ,换算为ns为:104167ns。那么,如果时钟频率为25MHz,位宽系数为:104167/40 = 2604。综合上述分析,可以得到一个公式,即:分频系数 = 时钟频率/波特率。 例如:115200波特率,50MHz时钟其对应位宽为:50000000/115200 = 434。 那么以115200波特率,50MHz时钟为例实现Uart的发送。计时器对时钟计数