欢迎来到天天文库
浏览记录
ID:59617369
大小:15.09 KB
页数:10页
时间:2020-11-15
《多串口单片机.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于单片机的多串口实现方案多串口单片机 摘要:针对PC和CPU通常只有一个串行接口的问题,本文介绍了基于单片机的多串口实现方案,该方案能扩展出5个不同电平标准的通用串口,并且选用了一种应用到实践当中,试验证明,设计可靠,性能稳定,解决了单片机单个串口的局限性。 关键词:单片机串行接口多串口串口通信协议 中图分类号:文献标识码:A文章编号:1007--0082-031、总述 随着控制技术的发展,控制系统的数字化在生产过程中的应用越来越普遍。作为控制核心的CPU需要和多个检测及控制的相关设备进行通信。这就给控制系统带来一个问题,一般
2、的CPU都是只有1个串口,如果外界串行口设备过多,设计上就会出现许多困难。笔者因此论述了几个多串口实现方案,并采用其中一种实现了5个全双工串口,并且可以兼容多种串行通信电平标准。 2、几种多串口扩展实现方式 扩展串口的方法归纳起来主要分为两类:一是软件实现方式,二是硬件实现方式。 软件实现方式 软件实现方式一般有两种,一种是读写I/O,另外一种是读写端口。软件模拟法可根据串行通讯的传送格式,利用定时器和主机的I/O口来模拟串行通讯的时序,以达到扩展串口的目的。接收过程中需要检测起始位,这可以使用查询方式,或者,在端口具有中断功能
3、的主机中也可以使用端口的中断进行处理。接收和发送过程中,对定时的处理既可以使用查询方式也可以使用定时器中断方式。如今软件模拟以其价格低廉,使用方便,已经成为一种潮流。但同时也存在着通讯波特率低,可靠性差等缺点,并且不是所有的单片机都支持串口软件扩展。 硬件实现方式 硬件扩展方法主要是通过增加一个器件来实现,具体实现方法有2种:其一是采用串口扩展芯片实现,就是一个主串口带多个从串口,如GM8125、视普科技的SP3539等;其二是分时复用将一个串口分时切换成多个串口使用,就是把并行数据转换成串行数据,器件有TI等的TL16C754等,
4、该器件可与MCU的P0口和P2口及4个中断对接,经过扩展后,系统对外接口可增加4个,且均可设置为全功能的串行接口。 3、基于硬件方式实现的多串口扩展 SP3539的简介 SP3539是采用低功耗CMOS工艺设计的通用异步串行口扩展芯片,它可轻松将主机原有的1个串行口扩展成5个完全独立且每个子串口波特率、奇偶效验方式、数据帧长度都可独立设置的全双工子串口。 SP3539采用分时复用技术将一个全双工串口扩展成5个完全独立的全双工串口,在上电默认模式下母串口的波特率是各子串口波特率的6倍,即:各子串口可在特定的时间段内独占母串口,因此
5、即使所有子串口都有连续不断的数据输入也不会发生数据丢失。母串口和各子串口内部都分别有8字节的接收和发送FIFO缓存,即使5个子串口同时接收到数据和启动数据发送也不会丢失数据。 基于SP3539串口扩展的硬件电路设计 本文采用了经典的8051单片机作为主控芯片。该芯片与SP3539相连时接口非常简单。SP3539共有六个串口,即一个母串口,五个子串口,它们都是全双工的串行通信口,允许同时接收和发送数据。母串口与单片机的串口相连,子串口与其他串口设备相连,这样就实现了只有一个串口的单片机可与五个串口设备相连。SP2338有一套发送地址线
6、,一套接收地址线,用以选择发送串口和接收串口。当单片机要向串口设备发送数据时: A单片机先发送地址信息到SP3539的输入地址“ADRI2”、“ADRI1”、“ADRI0”,即选中待发送数据对应的子串口。 B将待发送的数据由单片机通过母串口发送到SP3539。SP3539的母串口收到单片机串口送来的数据后就根据ADRI0、ADRI1和ADRI2的状态,把数据送往对应的子串口。 C对应的子串口再把数据经过电平转换变成对应的电平标准发给对应的设备。 当串口设备向单片机发送数据时,其数据流程为: ASP3539的将子串口收到的数据缓
7、存到FIFO里面,并发送到母串口。 B单片机接收到数据后,必须尽快读取ADRO2、ADRO1、ADRO0三位输出地址的状态,并由此来判断接收到的数据来自哪个子串口。 由于SP3539的母串口和各子串口内部都分别有8字节的接收和发送FIFO缓存,因此扩展后的五个串口就可以完全独立地同时通信。SP3539各子串口都支持10位及11位数据帧格式,允许上位机更改各子串口数据帧长度,初次上电后各子串口默认数据格式都为10位。 SP3539母串口波特率为: K5=3600�Fosc_in 各子串口波特率为: k=600�Fosc_in/
8、n 式中“Fosc_in”为SP3539输入时钟,单位为“MHz”,n为对应子串口设置的分频系数,默认状态为“1”。本文采用的输入时钟为,则上电默认状态下:母串口波特率:K5=3600�=57600Bps
此文档下载收益归作者所有