页面加载中,请稍候
来源:电子技术应用发布时间:2019-09-16242浏览
询问 AI摘要:介绍清华嵌入式操作系统的掌上电脑中所使用的IrDial协议,并提出IrDial协议在移动互联网中的应用模型以及具体的实现方案。
关键词:IrDial PPP协议栈 Modem命令集 NDIS
随着以计算机技术、通讯技术、消费电子技术为主的IT产业的快速发展和互联网的广泛应用,过去许多由纯硬件实现的嵌入式系统与产品已转向由软、硬件共同来实现。当前,以具有无线通讯功能的个人数字助理PDA、手持个人电脑HPC、交互式网络信息家电为代表的新一轮智能型3C(Computer,Communication,Consumer)合一的类PC嵌入式系统与技术[1]进入了一个崭新的智能化、网络化的发展阶段。类PC嵌入式系统[1]与产品所采用的嵌入式操作系统及其应用软件也同时得到了空前的发展与繁荣。
掌上电脑是一种采用了嵌入式操作系统的设备,它具有强大的功能,正在成为一种越来越普及的集个人信息管理与娱乐功能于一身的携式设备。但是目前的掌上电脑大多不具有无线网的功能。目前业界看好的采用蓝牙技术[7]的无线互联方案,由于成本高、兼容性差,还得不到实际应用。红外技术是一种成熟的、低成本的技术。目前的大多数掌上电脑和手机都具备红外设备。因此利用红外技术来进行无线互联就成为一种不错的选择。
1 IrDial协议简介
IrDial协议是一种为了使支持IrDA协议栈的设备使用PPP协议栈与Internet或其它网络相连而设计的红外拔号协议。IrDial协议并不是IrDA组织所规定的标准,它由微软、诺基牙和爱立信号公司共同推出,其目的是为移动设备的互联网接入提供一种方便的、价格低廉的手段。IrDial协议除规定了基于AT命令集的modem拔号协议外,还规定了在IrDA协议中的PPP帧封装。
IrDial支持两台计算机间的直接点对点连接、计算机-网络间的访问点(access point)连接以及计算机-网络间通过modem的访问点连接。
Irdial以两种模式工作:直接连接(Direct Connect)或拨号连接(Dial Connect):
·直接连接模式:用于对网络和网络访问点连接。它忽略拨号信息,直接进入PPP协议调商阶段。使用TinyTP service data unit (SDU)[16]进行PPP封装[17]来成帧。拨号连接通过modem的网络访问点连接。
·拨号连接模式:通过modem的网络访问点连接。拨号连接模式在进入PPP pass-through模式前必须进行成功的AT拨号命令交换。使用传统的PPP高级数据链路控制协议(HDLC)来对数据封装和成帧。
1.1 直接连接模式
直接连接有两种方式:对等网络中的直接连接和网络中的直接连接,其网络协议模型如图1和图2所示。IrDial协议工作在IrLMP/TinyTP之上,为PPP协议提供服务。
为初始化一个直接连接模式的连接,客户必须先调用Information Access Service (IAS)。IAS是一个红外服务的数据库,它提供了系统所能提供的设备和服务的一个列表,使用GetvalueByClass函数,将参数中的类名设为“IrNetv1”,类属性设为“IrDA:TinyTP:LsapSel”。然后再初始化一个IrDA Tiny Transport Protocol(TinyTP)连接以返回Link Service Access Point selector(LSAP-SEL)。
1.1.2 PPP封装和成帧
所有的IP(或者其它的网络协议)包都以RFC1661中规定的PPP封装来进行封装。以PPP封装的包直接以TinyTP SDU的格式来成帖。一个PPP封装的包可以分成几个TinyTP协议数据单元。
1.2 拨号连接模式
拨号连接的网络协议模型如图3所示。在应用中,由于要使用手机作为无线连接设备,即把手机作为一个外置modem,主要采用拨号连接协议。
1.2.1 连接建立
为了初始化一个拨号连接模式的连接,客户必须先执行Information Access Service(IAS)GetCalueByClasss函数,它的参数中的类各是“IrModem”,类属性为“IrDA:TinyTP:LsapSel”。然后再初始化一个IrDA Tiny Transport Protocol(TinyTP)连接以返回(LSAP-SEL)。拨号命令和数据帧的交换都在TinyTP连接中进行。
MODEM或Host能够中断连接,只要发送一个LMDisconnect IrIMP消息即可。
1.2.2 拨号命令成帧
AT命令序列成帧时要在命令前后加上字符串。AT命令序列长度不能超过一个TinyTP PDU的长度。
1.2.3 PPP封装和成帧
所有的IP包都以RFC1661中规定的PPP封装来进行封装。以PPP封装的包按RFC1662中规定的HDLC来进行成帧。这与TinyTP成帧不同。
1.3.1 Modem工作模式
Modem有两种工作模式:
·离线命令模式(Offline Command Mode):在此模式下没有电话拨号,Modem正在接收AT命令。会话正是在这种模式下被启动。
·在线数据模式(Online Data Mode):在此模式下,有一个电话连接,modem能够接收和传输数据;只有一个命令+++ATH能被传送。
1.3.2 在IrDial中使用的AT命令
AT命令在TinyTP帧中传输。不能把一个AT命令字符串分成几部分在几个帧中传输。但是可以在一个帧中传输几个AT命令,这时命令的间隔必须符号V.25ter中的规定。回复和应答则没有这个限制,可以在几个TinyTP帧中传输。
所有的命令必须以结尾,modem回复所有发出的命令。每个命令有一个响应,每个响应均为如下格式:
Response
1.3.3 链接控制命令
(1)ATD,Dial
这个命令初始化一个数据呼叫,后跟电话号码和其它符号来建立一个连接。在ATD连接过程中,接收到CONNECT前发送任何字符就可以放弃连接。
命令执行的格式如下:
Dn为电话号码。如:ATD+65768678。
(2)ATH,Hook Control。中断一个连接。
(3)ATA,Answer.应答呼入的数据呼叫。为了接收呼入的数据呼叫,Modem必须是以IrDA连接并且处于离线命令模式。如果有一个呼入呼叫,modem以如下形式发送一个结果代码:
BING
然后就可以使用ATA来应答呼入的数据呼叫。
1.3.4 初始化命令
AT+DS数据压缩模式(Data Compression Mode)。
新闻来源:电子技术应用,文中所述为作者独立观点,不代表icspec立场。更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj。
暂无评论哦,快来评论一下吧!
2026-07-13

2026-06-29
2026-07-03