基于FPGA的多串口51单片机的设计与实现

时间:2024-01-25 点赞:46303 浏览:91773 作者原创标记本站原创

此文是一篇数据论文范文,数据方面有关论文范文资料,与基于FPGA的多串口51单片机的设计与实现相关本科毕业论文。适合不知如何写数据及寄存器及单片机方面的专业大学硕士和本科毕业论文以及数据类开题报告范文和职称论文的作为写作参考文献资料下载。

摘 要:针对单片机自带串口数量往往不能满足实际应用的需求,以及采用传统串口扩展方法带来的增加处理器时间占用或增加电路复杂度等不足,本文在IP Core oc8051的基础上,采用HDL设计一个串口数可的51单片机,通过ModelSim仿真,并在Altera FPGA芯片中实现,最后验证了设计的正确性.

关 键 词 :51单片机;串口;扩展;FPGA

中图分类号:TM935.1

随着各类数字化、智能化传感器的普及和应用,仅有一个串口的微控制器(例如51系列单片机)已很难满足实际需求[1].扩展多串口的需求虽然可以通过采用分时复用、软件编程模拟和使用专用芯片(如8250、8251、16C554等)这三种方法进行解决,但都不可避免带来了诸如增加处理器时间占用或增加电路复杂度等不足,也不利于硬件系统的升级[2].针对上述问题,本文拟采用FPGA来设计并实现一个串口数可的51单片机,并以扩展4个串行接口为例验证其可行性.

1.多串口单片机的系统结构

系统由51单片机IP核oc8051和串口扩展模块构成,如图1所示.其中互联逻辑模块和串口模块构成串口扩展模块,前者用于扩展串口模块与oc8051的逻辑连接,后者为4路串行通道的集合.

图1 系统结构框图

2.多串口扩展模块设计

2.1 串口模块设计

(1)串行通道结构

图1中串口模块封装了4路串行通道,每个串行通道由发送单元、接收单元和辅助功能寄存器构成,如图2所示.

图2 串行通道结构

(2)串行通道工作流程

发送:①oc8051向发送数据寄存器写入不超过16个字节的数据.②写中断使能寄存器,将发送使能位置1.③发送单元检测到发送使能位置1,同时发送数据寄存器非空即向发送数据寄存器请求读取数据.④发送数据寄存器和发送单元握手完成数据读取过程,更新内部FIFO的读取指针.⑤发送单元开始发送数据.⑥发送完成发送数据寄存器中的数据之后发送单元发出中断请求.

接收:①oc8051写中断使能寄存器,将接收使能位置1.②接收单元接收到一个字节的数据之后将移位寄存器中接收的一个字节数据写入暂存寄存器中,讲求向接收数据寄存器中写入数据.③接收数据寄存器和接收单元握手并完成数据写入过程.④接收到8字节数据或者定时时间到达,接收数据寄存器发出中断请求.

2.2 互联逻辑模块设计

图3 互联逻辑模块

互联逻辑模块的结构如图3所示.其中分频器的作用是产生波特率时钟,提供给各个串行通道.地址译码器产生寄存器选择信号.中断状态寄存器保存各串行通道中断请求状态,并产生总的中断请求信号int给oc8051.只要中断状态寄存器中还有未被处理的中断请求,still_has_int引脚就保持高电平.

3.多串口扩展模块测试

测试的硬件系统连接如图4所示:

图4 测试系统的连接示意图

oc8051x从台式机接收数据发送给三个单片机,并回显接收到的数据,单片机用led显示接收到的结果.测试不同的波特率,在波特率为115200,57600,56000,38400,19200,14400,9600等值时均可以正确完成数据的发送和接收.

4.结束语

本次设计的突出优点在于可以串行通道的数量,与16C554等专用芯片相比,对中断状态更加容易,中断处理过程更加确定和高效.单片机时钟频率高达50Mhz相比于传统8051速度更快,整个系统封装在一个芯片内部提高了系统的稳定性和抗干扰的能力.

相关论文

MCS—51单片机多串口通讯技术应用

关于单片机及电子产品及集成电路方面的免费优秀学术论文范文,单片机类有关小论文格式,关于MCS—51单片机多串口通讯技术应用相关论文范文参。

基于51单片机的音乐播放器设计

本文是一篇音乐播放器论文范文,关于音乐播放器相关毕业论文格式模板,关于基于51单片机的音乐播放器设计相关学士学位论文范文。适合音乐播放。