优胜从选择开始,我们是您最好的选择!—— 中州期刊联盟(新乡市博翰文化传媒有限公司)
0373-5939925
2851259250@qq.com
我要检测 我要投稿 合法期刊查询
您的位置:网站首页 > 优秀论文 > 正文

基于单片机的多串口实现方案

作者:甘宇红来源:原创日期:2013-12-30人气:1614
一、总述
随着控制技术的发展,控制系统的数字化在生产过程中的应用越来越普遍。作为控制核心的CPU需要和多个检测及控制的相关设备进行通信。这就给控制系统带来一个问题,一般的CPU都是只有1个串口(单片机最多的有4个),如果外界串行口设备过多,设计上就会出现许多困难。笔者因此论述了几个多串口实现方案,并采用其中一种实现了5个全双工串口,并且可以兼容多种串行通信电平标准(RS232/RS485/RS422)。
1、基于硬件方式实现的多串口扩展
SP3539是采用低功耗CMOS工艺设计的通用异步串行口扩展芯片,它可轻松将主机原有的1个串行口扩展成5个完全独立且每个子串口波特率、奇偶效验方式、数据帧长度都可独立设置的全双工子串口(子串口波特率最高可达115.2Kbps,满足数据高速传输要求)。
SP3539采用分时复用技术将一个全双工串口(上位机自带串口)扩展成5个完全独立的全双工串口(子串口),在上电默认模式下母串口的波特率是各子串口波特率的6倍,即:各子串口可在特定的时间段内独占母串口,因此即使所有子串口都有连续不断的数据输入也不会发生数据丢失。母串口和各子串口内部都分别有8字节的接收和发送FIFO缓存,即使5个子串口同时接收到数据和启动数据发送也不会丢失数据。
2、基于SP3539串口扩展的硬件电路设计
本文采用了经典的8051单片机(AT89S52)作为主控芯片。该芯片与SP3539相连时接口非常简单。SP3539共有六个串口,即一个母串口,五个子串口,它们都是全双工的串行通信口,允许同时接收和发送数据。母串口与单片机的串口相连,子串口与其他串口设备相连,这样就实现了只有一个串口的单片机可与五个串口设备相连。SP2338有一套发送地址线,一套接收地址线,用以选择发送串口和接收串口。当单片机要向串口设备发送数据时:
A单片机先发送地址信息(子串口地址)到SP3539的输入地址“ADRI2”、“ADRI1”、“ADRI0”(如图1),即选中待发送数据对应的子串口。
B将待发送的数据由单片机通过母串口发送到SP3539。SP3539的母串口收到单片机串口送来的数据后就根据ADRI0、ADRI1和ADRI2的状态,把数据送往对应的子串口。
C对应的子串口再把数据经过电平转换变成对应的电平标准发给对应的设备。
当串口设备向单片机发送数据时,其数据流程为:
ASP3539的将子串口收到的数据缓存到FIFO里面,并发送到母串口。
B单片机接收到数据后,必须尽快读取ADRO2、ADRO1、ADRO0三位输出地址的状态,并由此来判断接收到的数据来自哪个子串口。
由于SP3539的母串口和各子串口内部都分别有8字节的接收和发送FIFO缓存,因此扩展后的五个串口就可以完全独立地同时通信。SP3539各子串口都支持10位及11位数据帧格式,允许上位机更改各子串口数据帧长度,初次上电后各子串口默认数据格式都为10位。
SP3539母串口波特率为:
K5=3600﹡Fosc_in
各子串口波特率为:
k=600﹡Fosc_in/n
式中“Fosc_in”为SP3539输入时钟(OSCI),单位为“MHz”,n为对应子串口设置的分频系数,默认状态为“1”。本文采用的输入时钟为16.0MHz,则上电默认状态下:母串口波特率:K5=3600﹡16.0=57600Bps,K0~4=600﹡1﹡16.0/1=9600Bps。
如果想要子串口的波特率工作在其它频段,就必须根据上面的公式重新计算Fosc_in,同时也要改变SP3539和单片机的晶振。
3、基于SP3539串口扩展的程序设计
采用SP3539扩展串口程序简单,占用资源少,不占用单片机的外部中断和数据总线,5个子串口共享单片机串口中断实现数据收发。但在使用过程中一定要注意:SP3539的地址总线一定要区分读写,否则会发生错误,造成芯片异常发热;串口中断里面对各个子串口操作的代码一定要尽量优化,否则在大数据量收发时会造成子串口数据丢失。

网络客服QQ: 沈编辑

投诉建议:0373-5939925    投诉建议QQ:

招聘合作:2851259250@qq.com (如您是期刊主编、文章高手,可通过邮件合作)

地址:河南省新乡市金穗大道东段266号中州期刊联盟 ICP备案号:豫ICP备2020036848

【免责声明】:中州期刊联盟所提供的信息资源如有侵权、违规,请及时告知。

版权所有:中州期刊联盟(新乡市博翰文化传媒有限公司)

关注”中州期刊联盟”公众号
了解论文写作全系列课程

核心期刊为何难发?

论文发表总嫌贵?

职院单位发核心?

扫描关注公众号

论文发表不再有疑惑

论文写作全系列课程

扫码了解更多

轻松写核心期刊论文

在线留言