[发明专利]一种嵌入式LINUX系统中实现串口多路复用的方法有效
申请号: | 201310164064.0 | 申请日: | 2013-05-07 |
公开(公告)号: | CN103294630A | 公开(公告)日: | 2013-09-11 |
发明(设计)人: | 赵进云 | 申请(专利权)人: | 福建鑫诺通讯技术有限公司 |
主分类号: | G06F13/38 | 分类号: | G06F13/38;G06F9/455 |
代理公司: | 福州市鼓楼区京华专利事务所(普通合伙) 35212 | 代理人: | 宋连梅 |
地址: | 350000 福*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供一种嵌入式LINUX系统中实现串口多路复用的方法,所述系统包含一CPU、一切换开关芯片及复数个外部装置;CPU通过复数根GPIO脚与切换开关芯片连接;CPU包含至少一CPU串口,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。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建鑫诺通讯技术有限公司,未经福建鑫诺通讯技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310164064.0/,转载请声明来源钻瓜专利网。