[发明专利]一种嵌入式LINUX系统中实现串口多路复用的方法有效
申请号: | 201310164064.0 | 申请日: | 2013-05-07 |
公开(公告)号: | CN103294630A | 公开(公告)日: | 2013-09-11 |
发明(设计)人: | 赵进云 | 申请(专利权)人: | 福建鑫诺通讯技术有限公司 |
主分类号: | G06F13/38 | 分类号: | G06F13/38;G06F9/455 |
代理公司: | 福州市鼓楼区京华专利事务所(普通合伙) 35212 | 代理人: | 宋连梅 |
地址: | 350000 福*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 嵌入式 linux 系统 实现 串口 多路复用 方法 | ||
技术领域
本发明具体涉及一种嵌入式LINUX系统中实现串口多路复用的方法。
背景技术
在嵌入式系统中很多外设都是通过串口的方式同CPU进行通讯的,但是很多嵌入式处理器(即CPU)含有的串口资源都很少,一般只有一至两个串口。这时候就会出现串口资源不足的问题。现有的解决方案一般是使用更高级的处理器,或者是通过总线外扩专门的串口芯片,如此一来便会增加产品的成本。
发明内容
本发明要解决的技术问题,在于提供一种嵌入式LINUX系统中实现串口多路复用的方法,成本低,适用性高。
本发明是这样实现的:一种嵌入式LINUX系统中实现串口多路复用的方法,所述系统包含一CPU、一切换开关芯片及复数个外部装置;所述CPU通过复数根GPIO脚与所述切换开关芯片连接;所述CPU包含至少一CPU串口,该CPU串口与所述切换开关芯片连接;所述切换开关芯片包含复数个用于与每所述外部装置一一对应连接的外设串口;所述CPU串口通过所述切换开关芯片与任意一所述外设串口连通相接;
所述方法具体包括如下步骤:
步骤10、执行后台程序;通过LINUX伪终端技术,给每所述外设串口虚拟一个与该外设串口对应的虚拟串口;
步骤20、建立一通道切换代理模块及复数个与所述虚拟串口一一对应的接口封装模块;每所述接口封装模块包含与相应所述外部装置对应的通讯协议封包;
步骤30、当所述CPU执行的外部应用程序需要通过所述CPU串口与任意一所述外部装置进行交互时,该外部应用程序通过相应于该外部装置的所述接口封装模块对所述通道切换代理模块发出代表申请通道的请求信息;所述通道切换代理模块将该代表申请通道的请求信息发送给所述后台程序;当所述后台程序判断所述CPU串口与相应的外设串口处于不连通状态时,进入步骤40;当所述后台程序判断所述CPU串口与相应的外设串口处于连通状态时,进入步骤50;
步骤40、所述外部应用程序调用相应所述接口封装模块给所述后台程序发送串口切换指令;所述后台程序依据该串口切换指令对所述CPU串口进行切换;当所述CPU串口处于空闲状态,所述后台程序将所述CPU串口与该串口切换指令所指定的外设串口连通,并返回一个申请成功的标识给所述外部应用程序,进入步骤50;当所述CPU串口处于非空闲状态,所述后台程序返回一个申请拒绝的标识给所述外部应用程序,返回步骤30;
步骤50、所述外部应用程序调用相应所述接口封装模块发送交互数据;所述后台程序接收到该交互数据后,将该交互数据写入所述CPU串口到达相应所述外部装置;所述外部装置将相应于所述交互数据所发送的返回数据通过所述CPU串口到达所述后台程序,所述后台程序再将该返回数据写入相应所述接口封装模块发送至所述外部应用程序;
步骤60、完成所述外部应用程序与所述外部装置的信息交互后,所述外部应用程序调用所述接口封装模块发送代表释放通道的请求信息给所述后台程序,等待下次所述外部应用程序出现对任意一所述外部装置进行交互的需求,重新进入步骤30。
本发明具有如下优点:CPU串口通过切换开关芯片与复数个外部装置连接,且CPU通过复数个接口封装模块、通道切换代理模、后台程序使外部应用程序能灵活地切换对外部装置的连通来相互传输数据,结构简单,灵活性及适用性高,且成本低。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明一种嵌入式LINUX系统中实现串口多路复用的方法中的电路结构示意图。
图2为本发明一种嵌入式LINUX系统中实现串口多路复用的方法的执行流程图。
图3为本发明一种嵌入式LINUX系统中实现串口多路复用的方法的执行框图。
具体实施方式
请参阅图1至图3所示,一种嵌入式LINUX系统中实现串口多路复用的方法,所述系统100包含一CPU1、一切换开关芯片2及复数个外部装置3;所述CPU1通过复数根GPIO脚与所述切换开关芯片2连接;所述CPU1包含至少一CPU串口11,该CPU串口11与所述切换开关芯片2连接;所述切换开关芯片2包含复数个用于与每所述外部装置3一一对应连接的外设串口21;所述CPU串口11通过所述切换开关芯片2与任意一所述外设串口21连通相接;
所述方法具体包括如下步骤:
步骤10、执行后台程序12;通过LINUX伪终端技术,给每所述外设串口21虚拟一个与该外设串口21对应的虚拟串口;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建鑫诺通讯技术有限公司,未经福建鑫诺通讯技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310164064.0/2.html,转载请声明来源钻瓜专利网。