一种串口使用权控制装置及控制方法

文档序号:6576738阅读:164来源:国知局
专利名称:一种串口使用权控制装置及控制方法
技术领域
本发明涉及一种串口使用权控制装置及控制方法。
背景技术
嵌入式软件开发过程中,常碰到硬件串口较少(甚至只有1个),而串口外设较 多,需要分时复用的情况。现有的分时复用采用如下二种控制方式。第一种是采用电子开 关做硬件通道切换,例如CN200510030862,在程序中由中断、查询或者MMI触发进入各应用 模块,并在各应用模块中直接调用驱动接口函数、通道切换函数、通讯参数设置函数等。由 于未建立有效的管理机制来降低各应用模块间的耦合,因此这种简单的调用机制使各应用 模块间的耦合性很强,很容易导致其它正在使用的应用模块中断进程并无法自动恢复,只 能通过重载该应用模块的初始化代码来解决;另外,当前正在使用的应用模块名称、应用 模式、通讯参数等信息也很难在各个应用模块中得到同步,优先级控制混乱,维护困难。第 二种是通过软件控制串口数据在多个内核线程间进行切换,其复用机制并非建立在如何管 理硬件驱动模块之上,所以未能解决如何管理各应用模块的各种申请及使用条件,例如 CN200710108666。

发明内容
本发明提供一种串口使用权控制装置及控制方法,其克服了背景技术的串口使用 权控制方法所存在的应用模块间的耦合性强、程序混乱、维护困难的不足。本发明解决其技术问题所采用的技术方案之一是一种串口使用权控制装置,它连接至少一个硬件串口和多个串口外设应用模块, 该控制装置,它包括一硬件驱动模块,它连接所述的硬件串口 ;—应用模块接口,它连接所述的多个串口外设应用模块;及一管理机制模块,它连接硬件驱动模块和应用模块接口 ;其中该管理机制模块之内设置一参数设置表,该参数设置表具有一按应用模块优先级 高低排列的优先级队列,该管理机制模块用于按参数设置表的优先级队列对各应用模块的 使用申请、退出申请和等候申请进行调度;该应用模块接口应答管理机制模块的调度。一较佳实施例中,该控制装置,它还包括一设备初始化模块,它连接管理机制模块和硬件驱动模块,用于初始化硬件驱动 模块;一管理机制初始化模块,它连接管理机制模块,用于初始化管理机制模块。一较佳实施例中,该管理机制模块的调度包括发出切换通知和内建状态机对使用 令牌进行适时传递,该使用令牌传递是指将申请的应用模块的状态设置为正在使用的应用模块,并将原来正在使用的应用模块设置为闲置的应用模块,并同时发出状态改变的信 号通知。一较佳实施例中,该应用模块接口之内封装有应用模块驱动、外设通道切换、应用 模式切换及通讯参数切换,该应用模块接口接收到切换通知后进行应用模块驱动、外设通 道切换、应用模式切换和通讯参数切换。本发明解决其技术问题所采用的技术方案之一是一种串口使用权控制方法,它 连接至少一个硬件串口和多个串口外设应用模块,该控制方法,它包括步骤1,申请应用模块通过应用模块接口向管理机制模块发出使用申请、退出申请 和等候申请的指令;步骤2,管理机制模块接收指令,并按应用模块优先级高低排列对各应用模块的使 用申请、退出申请和等候申请进行调度;及步骤3,应用模块接口接收管理机制模块的调度,并应答调度。一较佳实施例中,该步骤1,申请应用模块通过应用模块接口向管理机制模块发出 使用申请指令;该步骤2,管理机制模块接收使用申请指令,并按应用模块优先级高低排列判断申 请的应用模块的优先级是否高于串口正在使用的应用模块的优先级,如果是则让正在使用 的应用模块执行退出中断回调函数,并发出切换通知,然后执行步骤3,否则表示申请失败, 退出申请;该步骤3,该应用模块接口接收到切换通知后进行应用模块驱动、外设通道切换、 应用模式切换和通讯参数切换。一较佳实施例中,该控制方法,它还包括步骤4,该管理机制模块的调度包括内建状态机对使用令牌进行适时传递,该使用 令牌传递是指将申请的应用模块的状态设置为正在使用的应用模块,并将原来正在使用 的应用模块设置为闲置应用模块,并同时发出状态改变的信号通知;步骤5,正在使用的应用模块与串口之间进行数据传输。—较佳实施例中,该步骤1,申请应用模块通过应用模块接口向管理机制模块发出 等候申请指令;该步骤2,管理机制模块接收等候申请指令,并判断申请的应用模块是否为正在使 用的应用模块,如果是则表示申请失败,退出申请,否则执行步骤3 ;该步骤3,将申请的应用模块的状态设置为等候状态,并将等候的应用模块列入等 候队列。一较佳实施例中,该步骤1,申请应用模块通过应用模块接口向管理机制模块发出 退出申请指令;该步骤2,管理机制模块接收退出申请指令,并判断申请的应用模块是否为正在使 用的应用模块,如果是则执行步骤21,否则表示申请失败,退出申请;步骤21,管理机制模块判断等候队列是否为空,如果是则执行步骤22,否则执行 步骤23 ;步骤22,将正在使用的应用模块设置为空闲的应用模块,然后执行步骤25 ;步骤23,管理机制模块将等候队列中优先级最高的应用模块设置为正在使用的应用模块,将原来的正在使用的应用模块设置为空闲的应用模块,然后发出切换通知;步骤24,该应用模块接口接收到切换通知后进行应用模块驱动、外设通道切换、应 用模式切换和通讯参数切换;步骤25,发出状态改变通知;步骤26,申请成功。本技术方案与背景技术相比本申请人巧妙地在串口使用权控制方法中引入管理 机制,通过管理机制有序管理各个应用模块之间的使用申请、等候申请、退出申请,以克服 背景技术中所存在的不足,并具有如下优点1、从有效降低应用模块间的耦合性;2、简化 开发与维护流程。


下面结合附图和实施例对本发明进一步说明。图1是本发明一较佳实施例的控制装置的方框示意图。图2是本发明的一较佳实施例的控制方法的使用申请的流程图。图3是本发明的一较佳实施例的控制方法的等候申请的流程图。图4是本发明的一较佳实施例的控制方法的退出申请的流程图。
具体实施例方式请查阅图1,一种串口使用权控制装置,它连接至少一个硬件串口和多个串口外设 应用模块(每个应用模块之内都设置有一中断函数),该控制装置,它包括一硬件驱动模 块、一应用模块接口、一管理机制模块、一设备初始化模块和一管理机制初始化模块。该硬 件驱动模块,它连接所述的硬件串口,例如,它提供IO控制接口、远程IO扩展接口(包含 如:I2C扩展远程IO等)、通道译码等;该应用模块接口,它连接所述的多个串口外设应用模块;该管理机 制模块,它连接硬件驱动模块和应用模块接口 ;该设备初始化模块,它连接管理机制模块和 硬件驱动模块,用于初始化硬件驱动模块,用于提供必要的设备初始化操作(比如需要使 用I2C扩展远程IO时必须对I2C芯片的寄存器进行配置);该管理机制初始化模块,它连 接管理机制模块,用于初始化管理机制模块。该管理机制模块之内设置一参数设置表,该参数设置表具有一按应用模块优先级 高低排列的优先级队列,该管理机制模块用于按参数设置表的优先级队列对各应用模块的 使用申请、退出申请和等候申请进行调度。该管理机制模块的调度包括发出切换通知和内 建状态机对使用令牌进行适时传递,该使用令牌传递是指将申请的应用模块的状态设置 为正在使用的应用模块,并将原来正在使用的应用模块设置为闲置的应用模块,并同时发 出状态改变的信号通知。该应用模块接口应答管理机制模块的调度。该应用模块接口之内封装有应用模块 驱动、外设通道切换、应用模式切换及通讯参数切换。其中应用模块驱动按照协议对硬 件设备进行控制并提供给应用模块经过封装的接口,比如当电子开关通过远程IO扩展芯 片CAT9554来控制时,就需要实现CAT9554的I2C接口驱动等;外设通道切换通过对电子 开关的控制来实现串口线RXD、TXD、CTS、RTS、DTR、DSR等与各硬件模块的连接关系;应用模式切换处理串口数据的分流模式,比如可能是通过参数设置将接收到的数据发送到不 同的进程,也可能是通过参数设置使串口数据发送到不同的缓冲池或者解析模块,该应用 模块接口接收到切换通知后进行应用模块驱动、外设通道切换、应用模式切换和通讯参数 切换。请查阅图2,一种串口使用权的使用申请的控制方法,它包括步骤1,申请应用模块通过应用模块接口向管理机制模块发出使用申请指令;步骤2,管理机制模块接收使用申请指令,并按应用模块优先级高低排列判断申请 的应用模块的优先级是否高于串口正在使用的应用模块的优先级,如果是则让正在使用的 应用模块执行退出中断回调函数(调用应用模块的中断函数并执行),并发出切换通知,然 后执行步骤3,否则表示申请失败,退出申请;步骤3,该应用模块接口接收到切换通知后进行应用模块驱动、外设通道切换、应 用模式切换和通讯参数切换。步骤4,该管理机制模块的调度包括内建状态机对使用令牌进行适时传递,该使用 令牌传递是指将申请的应用模块的状态设置为正在使用的应用模块,并将原来正在使用 的应用模块设置为闲置应用模块,并同时发出状态改变的信号通知;步骤5,正在使用的应用模块与串口之间进行数据传输。请查阅图3,一种串口使用权的等候申请的控制方法,它包括步骤1,申请应用模块通过应用模块接口向管理机制模块发出等候申请指令;步骤2,管理机制模块接收等候申请指令,并判断申请的应用模块是否为正在使用 的应用模块,如果是则表示申请失败,退出申请,否则执行步骤3 ;步骤3,将申请的应用模块的状态设置为等候状态,并将等候的应用模块列入等候 队列。例如当前正在手写状态,此时系统需要打印,则打印模块先提出申请,管理机制 模块判断打印模块的优先级比手写模块的优先级要高,则会调用手写模块的中断函数;在 此中断函数中,可以通过设置标志或者发送信号的方法来通知手写模块需要被中断,待手 写模块处理完这些收尾工作后即进行切换根据打印模块的硬件结构调用相应驱动接口并 做电子开关切换、通讯参数设定、应用模式设定等工作。请查阅图4,一种串口使用权的退出申请的控制方法,它包括步骤1,申请应用模块通过应用模块接口向管理机制模块发出退出申请指令;步骤2,管理机制模块接收退出申请指令,并判断申请的应用模块是否为正在使用 的应用模块,如果是则执行步骤21,否则表示申请失败,退出申请;步骤21,管理机制模块判断等候队列是否为空,如果是则执行步骤22,否则执行 步骤23 ;步骤22,将正在使用的应用模块设置为空闲的应用模块,然后执行步骤25 ;步骤23,管理机制模块将等候队列中优先级最高的应用模块设置为正在使用的应 用模块,将原来的正在使用的应用模块设置为空闲的应用模块,然后发出切换通知;步骤24,该应用模块接口接收到切换通知后进行应用模块驱动、外设通道切换、应 用模式切换和通讯参数切换;步骤25,发出状态改变通知;
步骤26,申请成功。任何一个应用模块都具备三种可能的状态空闲状态、等候状态、正在使用状态, 并且任意时刻仅对应唯一的一种状态。正在使用状态被中断成功后进入空闲状态;空闲状 态可以申请进入等状态;当正在使用的应用模块主动退出后如果无新应用模块发出申请, 则在等候队列中优先级最高的模块将被切换到正在使用状态。以上所述,仅为本发明较佳实施例而已,故不能以此限定本发明实施的范围,即依 本发明申请专利范围及说明书内容所作的等效变化与修饰,皆应仍属本发明专利涵盖的范 围内。
权利要求
一种串口使用权控制装置,它连接至少一个硬件串口和多个串口外设应用模块,其特征是该控制装置,它包括一硬件驱动模块,它连接所述的硬件串口;一应用模块接口,它连接所述的多个串口外设应用模块;及一管理机制模块,它连接硬件驱动模块和应用模块接口;其中该管理机制模块之内设置一参数设置表,该参数设置表具有一按应用模块优先级高低排列的优先级队列,该管理机制模块用于按参数设置表的优先级队列对各应用模块的使用申请、退出申请和等候申请进行调度;该应用模块接口应答管理机制模块的调度。
2.根据权利要求1所述的一种串口使用权控制装置,其特征在于该控制装置,它还包括一设备初始化模块,它连接管理机制模块和硬件驱动模块,用于初始化硬件驱动模块;一管理机制初始化模块,它连接管理机制模块,用于初始化管理机制模块。
3.根据权利要求1或2所述的一种串口使用权控制装置,其特征在于该管理机制模 块的调度包括发出切换通知和内建状态机对使用令牌进行适时传递,该使用令牌传递是 指将申请的应用模块的状态设置为正在使用的应用模块,并将原来正在使用的应用模块 设置为闲置的应用模块,并同时发出状态改变的信号通知。
4.根据权利要求3所述的一种串口使用权控制装置,其特征在于该应用模块接口之 内封装有应用模块驱动、外设通道切换、应用模式切换及通讯参数切换,该应用模块接口接 收到切换通知后进行应用模块驱动、外设通道切换、应用模式切换和通讯参数切换。
5. 一种串口使用权控制方法,它连接至少一个硬件串口和多个串口外设应用模块,其 特征是该控制方法,它包括步骤1,申请应用模块通过应用模块接口向管理机制模块发出使用申请、退出申请和等 候申请的指令;步骤2,管理机制模块接收指令,并按应用模块优先级高低排列对各应用模块的使用申 请、退出申请和等候申请进行调度;及步骤3,应用模块接口接收管理机制模块的调度,并应答调度。
6.根据权利要求5所述的一种串口使用权控制方法,其特征在于该步骤1,申请应用模块通过应用模块接口向管理机制模块发出使用申请指令; 该步骤2,管理机制模块接收使用申请指令,并按应用模块优先级高低排列判断申请的 应用模块的优先级是否高于串口正在使用的应用模块的优先级,如果是则让正在使用的应 用模块执行退出中断回调函数,并发出切换通知,然后执行步骤3,否则表示申请失败,退出 申请;该步骤3,该应用模块接口接收到切换通知后进行应用模块驱动、外设通道切换、应用 模式切换和通讯参数切换。
7.根据权利要求6所述的一种串口使用权控制方法,其特征在于该控制方法,它还包括步骤4,该管理机制模块的调度包括内建状态机对使用令牌进行适时传递,该使用令牌 传递是指将申请的应用模块的状态设置为正在使用的应用模块,并将原来正在使用的应 用模块设置为闲置应用模块,并同时发出状态改变的信号通知; 步骤5,正在使用的应用模块与串口之间进行数据传输。
8.根据权利要求5所述的一种串口使用权控制方法,其特征在于该步骤1,申请应用模块通过应用模块接口向管理机制模块发出等候申请指令; 该步骤2,管理机制模块接收等候申请指令,并判断申请的应用模块是否为正在使用的 应用模块,如果是则表示申请失败,退出申请,否则执行步骤3 ;该步骤3,将申请的应用模块的状态设置为等候状态,并将等候的应用模块列入等候队列。
9.根据权利要求5所述的一种串口使用权控制方法,其特征在于该步骤1,申请应用模块通过应用模块接口向管理机制模块发出退出申请指令; 该步骤2,管理机制模块接收退出申请指令,并判断申请的应用模块是否为正在使用的 应用模块,如果是则执行步骤21,否则表示申请失败,退出申请;步骤21,管理机制模块判断等候队列是否为空,如果是则执行步骤22,否则执行步骤`23 ;步骤22,将正在使用的应用模块设置为空闲的应用模块,然后执行步骤25 ; 步骤23,管理机制模块将等候队列中优先级最高的应用模块设置为正在使用的应用模 块,将原来的正在使用的应用模块设置为空闲的应用模块,然后发出切换通知;步骤24,该应用模块接口接收到切换通知后进行应用模块驱动、外设通道切换、应用模 式切换和通讯参数切换;步骤25,发出状态改变通知; 步骤26,申请成功。全文摘要
本发明公开了一种串口使用权控制装置及控制方法。该控制装置包括一硬件驱动模块、一应用模块接口及一管理机制模块。该硬件驱动模块连接所述的硬件串口。该应用模块接口连接所述的多个串口外设应用模块。该管理机制模块连接硬件驱动模块和应用模块接口。该管理机制模块之内设置一参数设置表,该参数设置表具有一按应用模块优先级高低排列的优先级队列,该管理机制模块用于按优先级队列对各应用模块的使用申请、退出申请和等候申请进行调度。该应用模块接口应答管理机制模块的调度。发明人巧妙地在串口使用权控制方法中引入管理机制,通过管理机制有序管理各个应用模块之间的使用申请、等候申请、退出申请,以克服背景技术中所存在的不足。
文档编号G06F13/10GK101908025SQ200910112009
公开日2010年12月8日 申请日期2009年6月5日 优先权日2009年6月5日
发明者洪添长 申请人:厦门敏讯信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1