并发型抢占式AT命令控制系统
发布时间:2019-11-15 04:46
【摘要】:本文阐述了一种宏观上并行的AT命令控制方法。通过这种方法,可以大大提升主控制机和modem之间的AT性能,模块化AT控制流程,降低应用模块之间的耦合度,使整个AT命令操控做到黑盒控制。 AT命令是一种较为成熟的modem控制指令,主要用来控制modem模块。AT命令包含指令和数据,是一种非常灵活的可扩展的指令集。通过AT命令,可以完成主控制机和被控制机之间的控制与被控制互动。AT命令是一种基于命令-响应机制的协议。由于AT命令本身的命令-响应机制,AT命令的执行流程通常被设计成线性串行操作。也就是说,当一个命令发出,收到返回响应之后才会继续发送下一条指令。而现代操作系统带来的应用并行操作无法体现在AT设计之中,导致传统的AT设计方法复杂而且耦合度高,给整个基于现代操作系统的主控模块通过AT命令操控modem带来非常大的设计复杂度。以作者从事的手机软件开发工作来说,传统通过AT命令控制的双待模块非常复杂,在发送AT命令的时候,每一个上层模块需要自己组织AT字符串,调用接口函数发出;返回的响应需要逐个发给所有调用的上层模块,由上层模块来判断是否是自身所需的响应。与此同时,由于设计的耦合度高,设计复杂,使模块的容错性大大降低,例如经常会出现A、B模块的响应错误发送的问题,导致系统问题层出不穷,一旦上市产品在测试过程中发现问题,经常解决一个问题而引起其他的问题,可见AT命令控制模块设计成为影响产品设计质量的主要原因。 作者通过观察发现,AT命令发送到modem端后也会被分发到不同的模块,当一条AT命令发送到modem而未收到响应之前,此时如果再发送另外一条,两条AT命令的返回会线性的依次返回。这给AT命令操作模块的并行设计带来理论上的可行性。作者实现单模块设计,使其全面负责整个AT命令的生成、分发,上层应用在需要发送AT命令的时候设计好期待返回值和返回句柄,由AT控制系统模块根据期待的返回值和返回句柄,直接返回给调用的上层模块,从而直接避免上述混乱的情况。同时设计缓冲池,一次性的存储5条AT命令,在未收到响应之前将其依次发出,实现宏观上的并行操作。再通过队列存储操作,使信号机实现有优先级的设计,进行信号队列的优先级排队,实现从应用层侧观察的宏观上的抡占式指令。 作者通过上述方法及设计,让各上层模块在调用时无需考虑处理不是其需要的响应返回问题,也不用考虑将错误的响应分发给其他模块。通过这样设计的AT返回解析函数,由于先判断基本返回类型,解决AT返回解析函数冗长,效率低的问题,在软件设计上达到降低模块耦合度,降低应用调用AT命令设计的难度,提升产品质量的效果。
【学位授予单位】:山东大学
【学位级别】:硕士
【学位授予年份】:2013
【分类号】:TP332.3
本文编号:2561150
【学位授予单位】:山东大学
【学位级别】:硕士
【学位授予年份】:2013
【分类号】:TP332.3
【参考文献】
相关期刊论文 前3条
1 夏中权;;USB虚拟串口的通信[J];电脑编程技巧与维护;2008年09期
2 杨忠明;刘付江;;GSM模块的AT命令集算法研究[J];广东科技;2008年08期
3 赵志军;王建英;;RS232/CAN智能协议转换器及其通信网络[J];中国铁道科学;2007年03期
,本文编号:2561150
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2561150.html