[发明专利]一种UART多接口复用方法在审
申请号: | 201410390051.X | 申请日: | 2014-08-08 |
公开(公告)号: | CN104156335A | 公开(公告)日: | 2014-11-19 |
发明(设计)人: | 郭阳斌;经锋;郭阳勇;李晓龙;刘小平 | 申请(专利权)人: | 成都联星微电子有限公司 |
主分类号: | G06F13/40 | 分类号: | G06F13/40 |
代理公司: | 北京天奇智新知识产权代理有限公司 11340 | 代理人: | 郭霞 |
地址: | 610000*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 uart 接口 方法 | ||
技术领域
本发明涉及接口复用领域,尤其涉及一种UART多接口复用方法。
背景技术
随着电子技术的飞速发展,接口技术显得越来越重要,多串口动态复用和单并口/多串口全双工通信技术在计算机接口、微处理器接口等领域的应用也越来越广泛。其中,以单片机为核心的测控系统与上位机计算机之间的数据交换通常采用的就是串行通信方式。
随着嵌入式技术的发展和嵌入式设备的多样化,由嵌入式设备构成的多机系统取得了长足的发展,多个嵌入式设备之间以串行接口UART进行数据传输,构成复杂的主从式通信网。通用异步收发接口UART(Universal Asynchronous Receiver/Transmitter)诞生于1970年代,目前广泛的应用于计算机,通信,工业控制,家用电器,消费电子等各个领域。UART是第一个大规模集成电路,在单片微处理器出现前几年就已经产生了UART,目前的UART与30年前相比,结构基本相似。
作为一种通用串行数据总线,UART主要用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用来与PC进行通信,包括与监控调试器和其它器件,如EEPROM通信。
UART具有操作简单,工作可靠,抗干扰强,传输距离远(组成485网络可以传输1200米以上),设计人员普遍认为UART是从中央处理器CPU或微控制器向系统的其他部分传输数据的最佳方式,因此它们被大量地应用在工业、通信、嵌入式和家电领域。由于UART易于使用,并可简化芯片设计,单独UART的需求一直很旺盛。
截止目前,全球范围内有超过40种UART器件可以选择,但因为多个UART同时工作涉及到比较复杂的内部时序和协同工作处理,所以目前的UART直到今天其通用性、管脚、寄存器仍很少改变,能够真正实现全功能的UART复用的屈指可数。大多数UART器件是以计算机总线转换UART为应用基础的,普遍存在操作复杂,引脚多,成本高等弱点。
在嵌入式应用中,微处理机控制器MCU和外设通信基本都采用串口,而大多数微处理机控制器MCU只带一个串口,传统的串口复用IC一般需要占用大量的MCU的IO,不适合应用于嵌入式系统中。
在实际应用中,经常遇到一个主机设备需要同时连接各种不同的从机设备,而主机设备与从机设备之间的通信方式经常采用UART通信接口,UART通信接口只能一对一通信,不能多个通信接口并接在一起通信,以往的实现方式:1.在设计开发主机设备时选择具有多路UART通信接口的微处理器,而实际上具有多路UART通信接口的微处理器的型号比较少,带来器件选型上的限制,而且比较昂贵,增加产品成本;2.采用串口复用芯片实现,如ST16C550、ST16C554、SP2538、MAX3110等,虽然成本较高,但系统的可靠性得到了保证,适用于数据量较大、串口需求较多的系统;3.采用分时切换的方法将一个串口复用与多个串口设备通信,分时复用的方法成本低,但只适用于数据量不大的场合,并且只能由这个单片机主动和多个设备通信,实时性差;4.用软件模拟的方法复用串口,其优势是成本低、实时性好,但需要占用一些CPU时间。
因此,需要针对上述问题提出一种可以有效复用UART接口的方法。
发明内容
本发明的目的是通过以下技术方案实现的。
本发明提供一种UART多接口复用方法,包括数据接收部分和数据发送部分,其中数据接收部分包括以下步骤:
步骤1-1、配置UART芯片的一个输入输出管脚为接收管脚RXD,将接收管脚RXD配置为低电位中止模式并打开输入输出中止启动;
步骤1-2、实时监测接收管脚RXD接收数据,当接收到数据时,首先检测该数据的起始位,如果起始位为高电位则继续实时监测,如果起始位为低电位,则触发接收管脚RXD发生输入输出低电位中止,执行步骤1-3;
步骤1-3、配置接收管脚RXD为通用输入输出输入模式并关闭输入输出中止启动,启动计时器,启动字节数据接收,其中所述计时器的计时时间间隔设置为多个UART通信接口中最高波特率的位时长的1/n(n≥2),计时器的计时时间到时触发计时器中止,执行步骤1-4;
步骤1-4、根据计时器计时中止接收数据,每次中止根据计算延时计数器到期接收一个位,经过若干个计时中止完成1个字节数据的接收,并判断接收到的字节的有效性,如果接收到的字节无效则返回步骤1-1,如果接收到的字节有效则触发虚拟程序中止,返回步骤1-1,退出计时器中止后进入虚拟程序中止,在虚拟程序中止中存储接收的字节数据,执行步骤1-5;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都联星微电子有限公司,未经成都联星微电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410390051.X/2.html,转载请声明来源钻瓜专利网。