CN101727415B - 嵌入式系统自动识别rs-232外设并建立通信的方法 - Google Patents
嵌入式系统自动识别rs-232外设并建立通信的方法 Download PDFInfo
- Publication number
- CN101727415B CN101727415B CN200810043874XA CN200810043874A CN101727415B CN 101727415 B CN101727415 B CN 101727415B CN 200810043874X A CN200810043874X A CN 200810043874XA CN 200810043874 A CN200810043874 A CN 200810043874A CN 101727415 B CN101727415 B CN 101727415B
- Authority
- CN
- China
- Prior art keywords
- peripheral hardware
- index
- embedded system
- peripheral
- representes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000002093 peripheral effect Effects 0.000 title claims abstract description 108
- 238000004891 communication Methods 0.000 title claims abstract description 27
- 238000000034 method Methods 0.000 title claims abstract description 19
- 238000003032 molecular docking Methods 0.000 claims description 3
- 230000000737 periodic effect Effects 0.000 claims description 3
- 238000003491 array Methods 0.000 claims description 2
- 230000026676 system process Effects 0.000 claims description 2
- KRTSDMXIXPKRQR-AATRIKPKSA-N monocrotophos Chemical compound CNC(=O)\C=C(/C)OP(=O)(OC)OC KRTSDMXIXPKRQR-AATRIKPKSA-N 0.000 claims 1
- 238000005516 engineering process Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
Images
Landscapes
- Communication Control (AREA)
Abstract
本发明公开了一种嵌入式系统自动识别RS-232外设并建立通信的方法。根据需要支持的所有RS-232外设的接口设置信息和通信协议处理模块在嵌入式系统中构建一个RS-232外设表,在系统运行过程中根据该RS-232外设表对外设进行枚举、识别。本发明能够自动识别外设是否连接及连接的外设的类型,并与新的外设建立通信。
Description
技术领域
本发明涉及一种在嵌入式系统中对RS-232外设进行检测控制的方法,特别是涉及一种能够自动识别RS-232外设并建立通信的方法。
背景技术
当前,各种RS-232外设被广泛使用在嵌入式系统中,但是各种RS-232外设的接口设置如波特率、数据位、停止位、校验位等不尽相同,其通信协议更是差异很大,所以一般嵌入式系统的一个RS-232接口只能固定与某一特定类型的外设通信。若该RS-232接口上的外设更换成其它外设,则不能自动识别出原来的外设已经断开,新的外设已经连接上,更无法自动与新的外设建立通信。对于这种情况,现在一般的做法是更新嵌入式系统固件或进行手工配置,给实际使用带来很大不便,而且在很多情况下这也是不可行的。
发明内容
本发明要解决的技术问题是提供一种嵌入式系统自动识别RS-232外设并建立通信的方法,能够自动识别外设是否连接及连接的外设的类型,并与新的外设建立通信。
为解决上述技术问题,本发明的嵌入式系统自动识别RS-232外设并建立通信的方法包括如下步骤:根据需要支持的所有RS-232外设的接口设置信息和通信协议处理模块,在嵌入式系统中构建一个RS-232外设表,在嵌入式系统运行过程中根据该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+1)/device_num,并返回到步骤二继续枚举;
步骤五、已成功识别出该外设为外设index,嵌入式系统与外设index进行正常通信;
步骤六、嵌入式系统与外设进行定期心跳消息处理;
步骤七、若外设正常则返回到步骤六,若外设不正常,则返回到步骤一重新枚举;其中:
device_num表示:嵌入式系统支持的外设总数;
index表示:外设表的索引,取值范围为0到device_num-1;
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外设,然后建立通信。
本发明的方法不需要更新嵌入式系统固件或进行手工配置,提高了系统扩展性,并降低了维护费用。
附图说明
下面结合附图与具体实施方式对本发明作进一步详细的说明:
图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和通信协议1,第二种为接口设置1和通信协议2,第三种为接口设置2和通信协议2。也就是第一种和第二种RS-232外设的接口设置信息相同,第二种和第三种RS-232外设的通信协议处理模块相同。
根据RS-232外设表对外设进行枚举和识别的过程如图2所示,图中所使用的变量含义如下:
device_num:嵌入式系统支持的外设总数。
index:外设表的索引,取值范围为0到device_num-1。
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进行正常通信;
步骤六、嵌入式系统与外设进行定期心跳消息处理;
步骤七、若外设正常则返回到步骤六,若外设不正常,则返回到步骤一重新枚举。
Claims (2)
1.一种嵌入式系统自动识别RS-232外设并建立通信的方法,其特征在于:根据需要支持的所有RS-232外设的接口设置信息和通信协议处理模块,在嵌入式系统中构建一个RS-232外设表,在嵌入式系统运行过程中根据该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+1)/device_num,并返回到步骤二继续枚举;
步骤五、已成功识别出该外设为外设index,嵌入式系统与外设index进行正常通信;
步骤六、嵌入式系统与外设进行定期心跳消息处理;
步骤七、若外设正常则返回到步骤六,若外设不正常,则返回到步骤一重新枚举;其中:
device_num表示:嵌入式系统支持的外设总数;
index表示:外设表的索引,取值范围为0到device_num-1;
device[index].setting表示:外设index的接口设置信息;
device[index].ID_ACK表示:根据通信协议,外设index发送给嵌入式系统代表协议唯一性的消息;
devi ce[index].ID_REQ表示:外设index发送device[index].ID_ACK前需要嵌入式系统发出的请求消息;
外设index表示:外设表中索引为index的外设。
2.如权利要求1所述的嵌入式系统自动识别RS-232外设并建立通信的方法,其特征在于:所述的构建RS-232外设表,是指嵌入式系统预先内置2个数组,一个数组是所有RS-232外设的接口设置信息,另一个数组是所有RS-232外设的通信协议处理模块,该外设表的每一项包含2个指针,分别指向接口设置信息数组中的某一项和通信协议处理模块数组中的某一项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810043874XA CN101727415B (zh) | 2008-10-28 | 2008-10-28 | 嵌入式系统自动识别rs-232外设并建立通信的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810043874XA CN101727415B (zh) | 2008-10-28 | 2008-10-28 | 嵌入式系统自动识别rs-232外设并建立通信的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101727415A CN101727415A (zh) | 2010-06-09 |
CN101727415B true CN101727415B (zh) | 2012-03-21 |
Family
ID=42448323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810043874XA Expired - Fee Related CN101727415B (zh) | 2008-10-28 | 2008-10-28 | 嵌入式系统自动识别rs-232外设并建立通信的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101727415B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708586B (zh) * | 2017-01-11 | 2019-11-15 | 湘潭大学 | 一种用于嵌入式系统程序自动在线更新的手持式仪器及方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2874933Y (zh) * | 2005-10-20 | 2007-02-28 | 上海电器科学研究所(集团)有限公司 | 一种具有可配置特性的现场总线设备通信适配器 |
-
2008
- 2008-10-28 CN CN200810043874XA patent/CN101727415B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2874933Y (zh) * | 2005-10-20 | 2007-02-28 | 上海电器科学研究所(集团)有限公司 | 一种具有可配置特性的现场总线设备通信适配器 |
Also Published As
Publication number | Publication date |
---|---|
CN101727415A (zh) | 2010-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102917095B (zh) | 一种基于Android系统的终端测试的方法及装置 | |
CN101656974A (zh) | 一种sim卡兼容性自动化测试方法及装置 | |
CN101873719A (zh) | 一种配置wifi参数的方法、装置及系统 | |
CN101916238A (zh) | 数据卡识别操作系统的方法、装置及通信系统 | |
US20170359844A1 (en) | Switching-on method, base station, base station controller, switching-on system and storage medium | |
CN102375786A (zh) | Usb设备自动识别操作系统的方法及系统 | |
CN101957771A (zh) | 一种同时为多台手机安装手机软件的方法和装置 | |
CN104270740A (zh) | 一种共卡槽t卡和sim卡的检测方法 | |
CN105573777A (zh) | 应用中服务的控制方法及装置 | |
CN101727415B (zh) | 嵌入式系统自动识别rs-232外设并建立通信的方法 | |
CN102004892A (zh) | 多功能读卡器测试装置及方法 | |
CN102426558A (zh) | 终端通过usb与计算机通信的方法、终端和计算机 | |
CN101350995A (zh) | 一种移动终端模块间唤醒方法及应用该方法的多模终端 | |
CN103619053A (zh) | 一种用户识别卡的使用方法和通信系统 | |
CN101917395A (zh) | 通用升级方法及装置和系统 | |
WO2018018853A1 (zh) | 外设总线的控制装置及方法 | |
CN104077255A (zh) | 终端通过usb与计算机通信的方法 | |
CN105988882B (zh) | 一种应用软件故障修复方法及终端设备 | |
CN103324526A (zh) | 一种调用传感器的方法 | |
US9058264B2 (en) | Method for repairing communication abnormality between data card and host and data card | |
CN106375603B (zh) | 基于开关适配器连接无线耳机与网络话机的系统及其控制方法 | |
CN102316073A (zh) | 服务器及利用该服务器实现uefi bios远程升级的方法 | |
CN104298631A (zh) | 终端通过usb与计算机通信的方法 | |
CN108174458B (zh) | 一种移动终端与可穿戴设备无线连接的方法、装置、移动终端和可穿戴设备 | |
CN104836920A (zh) | 一种基于服务器端进行移动终端应用间交叉唤醒的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120321 |