嵌入式系统自动识别rs-232外设并建立通信的方法

文档序号:6459738阅读:274来源:国知局
专利名称:嵌入式系统自动识别rs-232外设并建立通信的方法
技术领域
本发明涉及一种在嵌入式系统中对RS-232外设进行检测控制的方法,特别是涉 及一种能够自动识别RS-232外设并建立通信的方法。
背景技术
当前,各种RS-232外设被广泛使用在嵌入式系统中,但是各种RS-232外设的接口 设置如波特率、数据位、停止位、校验位等不尽相同,其通信协议更是差异很大,所以一般嵌 入式系统的一个RS-232接口只能固定与某一特定类型的外设通信。若该RS-232接口上的 外设更换成其它外设,则不能自动识别出原来的外设已经断开,新的外设已经连接上,更无 法自动与新的外设建立通信。对于这种情况,现在一般的做法是更新嵌入式系统固件或进 行手工配置,给实际使用带来很大不便,而且在很多情况下这也是不可行的。

发明内容
本发明要解决的技术问题是提供一种嵌入式系统自动识别RS-232外设并建立通 信的方法,能够自动识别外设是否连接及连接的外设的类型,并与新的外设建立通信。
为解决上述技术问题,本发明的嵌入式系统自动识别RS-232外设并建立通信的 方法包括如下步骤根据需要支持的所有RS-232外设的接口设置信息和通信协议处理模 块,在嵌入式系统中构建一个RS-232外设表,在嵌入式系统运行过程中根据该RS-232外设 表对外设进行枚举和识别。 采用本发明的方法,通过在嵌入式系统中构建RS-232外设表,并根据该外设表对 外设进行枚举、识别,达到自动、快速检测出多种RS-232外设已连接或断开等事件,并识别 出连接的是何种类型的RS-232外设,然后建立通信。 本发明的方法不需要更新嵌入式系统固件或进行手工配置,提高了系统扩展性, 并降低了维护费用。


下面结合附图与具体实施方式
对本发明作进一步详细的说明 图1是本发明的一实施例RS-232外设表示意图; 图2是本发明的一实施例中进行枚举和识别控制的流程图。
具体实施例方式
本发明所述的嵌入式系统自动识别RS-232外设并建立通信的方法,根据需要 支持的所有RS-232外设的接口设置信息和通信协议处理模块在嵌入式系统中构建一个 RS-232外设表,在系统运行过程中根据该RS-232外设表对外设进行枚举、识别。
所述的构建RS-232外设表,是指嵌入式系统预先内置2个数组,一个数组是所有 RS-232外设的接口设置信息,另一个数组是所有RS-232外设的通信协议处理模块。嵌入式系统建立包含所有RS-232外设信息的外设表,该外设表的每一项包含2个指针,分别指向 接口设置信息数组中的某一项和通信协议处理模块数组中的某一项。 参见图1所示,在一实施例中嵌入式系统共支持3种RS-232外设,第一种为接口 设置1和通信协议l,第二种为接口设置1和通信协议2,第三种为接口设置2和通信协议 2。也就是第一种和第二种RS-232外设的接口设置信息相同,第二种和第三种RS-232外设 的通信协议处理模块相同。 根据RS-232外设表对外设进行枚举和识别的过程如图2所示,图中所使用的变量 含义如下 device_num :嵌入式系统支持的外设总数。 index :外设表的索引,取值范围为0到device_num-l。 device [index], setting :外设index (外设表中索引为index的夕卜设)的接口设 置信息。 device [index]. ID_ACK :根据通信协议,外设index发送给嵌入式系统代表协议 唯一性的消息。 device [index]. ID_REQ :外设index发送device [index]. ID_ACK前需要嵌入式系
统发出的请求消息。 具体的处理步骤如下 步骤一、在嵌入式系统启动后,将index置0 ; 步骤二、根据RS-232外设表的设置信息,按照device [index]. sett-ing对接口进 行设置; 步骤三、根据外设index的通信协议,判断是否需要向外设发送device [index]. ID—REQ消息,若需要则发送,否则执行步骤四; 步骤四、等待device [index]. ID_ACK消息,若接收到的消息与device [index]. ID—ACK不一致或等待时间超过设定值时,执行index = (index+1)/device_num,并返回到 步骤二继续枚举; 步骤五、已成功识别出该外设为外设index,嵌入式系统与外设index进行正常通 信; 步骤六、嵌入式系统与外设进行定期心跳消息处理; 步骤七、若外设正常则返回到步骤六,若外设不正常,则返回到步骤一重新枚举。
权利要求
一种嵌入式系统自动识别RS-232外设并建立通信的方法,其特征在于根据需要支持的所有RS-232外设的接口设置信息和通信协议处理模块,在嵌入式系统中构建一个RS-232外设表,在嵌入式系统运行过程中根据该RS-232外设表对外设进行枚举和识别。
2. 如权利要求1所述的嵌入式系统自动识别RS-232外设并建立通信的方法,其特征在于所述的构建RS-232外设表,是指嵌入式系统预先内置2个数组,一个数组是所有RS-232外设的接口设置信息,另一个数组是所有RS-232外设的通信协议处理模块,该外设表的每一项包含2个指针,分别指向接口设置信息数组中的某一项和通信协议处理模块数组中的某一项。
3. 如权利要求1所述的嵌入式系统自动识别RS-232外设并建立通信的方法,其特征在于,所述枚举和识别的过程是步骤一、在嵌入式系统启动后,将index置0 ;步骤二、根据RS-232外设表的设置信息,按照device [index]. sett-ing对接口进行设置;步骤三、根据外设index的通信协议,判断是否需要向外设发送device [index]. ID_REQ消息,若需要则发送,否则执行步骤四;步骤四、等待device [index]. ID_ACK消息,若接收到的消息与device [index]. ID_ACK不一致或等待时间超过设定值时,执行index = (index+l)/device—皿m,并返回到步骤二继续枚举;步骤五、已成功识别出该外设为外设index,嵌入式系统与外设index进行正常通信;步骤六、嵌入式系统与外设进行定期心跳消息处理;步骤七、若外设正常则返回到步骤六,若外设不正常,则返回到步骤一重新枚举;其中deViCe_num表示嵌入式系统支持的外设总数;index表示外设表的索引,取值范围为0到deVice_num-l ;device [index], setting表示夕卜设index的接口设置信息;device [index]. ID_ACK表示根据通信协议,外设index发送给嵌入式系统代表协议唯一性的消息;device [index]. ID_REQ表示外设index发送device [index]. ID_ACK前需要嵌入式系统发出的请求消息;外设index表示外设表中索引为index的外设。
全文摘要
本发明公开了一种嵌入式系统自动识别RS-232外设并建立通信的方法。根据需要支持的所有RS-232外设的接口设置信息和通信协议处理模块在嵌入式系统中构建一个RS-232外设表,在系统运行过程中根据该RS-232外设表对外设进行枚举、识别。本发明能够自动识别外设是否连接及连接的外设的类型,并与新的外设建立通信。
文档编号G06F13/42GK101727415SQ20081004387
公开日2010年6月9日 申请日期2008年10月28日 优先权日2008年10月28日
发明者黄庆伟 申请人:上海飞田通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1