Modem控制技术.docx
《Modem控制技术.docx》由会员分享,可在线阅读,更多相关《Modem控制技术.docx(7页珍藏版)》请在冰豆网上搜索。
Modem控制技术
Modem控制技术
目录
第1章简介1
第2章Modem控制程序相关术语解析2
第3章Modem控制程序介绍3
第4章调试命令及调试信息5
第1章简介
本章主要讲述Modem控制程序的工作原理和调试信息的意义。
本章主要内容:
●Modem控制程序相关术语解析
●Modem控制程序介绍
●Modem控制程序调试命令及调试信息
第2章Modem控制程序相关术语解析
AT命令――接口在UART通信模式下,用来向Modem发送的指令,这些指令以AT开始,以回车符结束。
AT命令是异步拨号的一种指令
第3章Modem控制程序介绍
Modem控制程序用来控制串行接口上的频带modem,主要控制其初始化、拨号、应答和挂断的。
Modem控制程序在逻辑层次上位于物理驱动层和链路层之间。
Modem控制程序受控于backup模块和DDR模块。
它们之间的逻辑关系如下:
Backup通过tMdmDelay任务来对modem进行拨号和挂断的操作,拨号既可以是专线拨号,也可以是电话号码拨号。
DDR则通过IP层来的数据触发拨号,现在DDR只支持电话号码拨号,通过定时器来挂断modem。
Linklayer则接收modem控制程序送上来的数据和控制信号(主要是DCD,DTR和RTS),linkLayer则向modem控制程序发送数据和对信号的控制(DTR和RTS),modem控制程序对链路层是不可见的,无论有无modem,linkLayer对物理驱动的处理是一样的。
Modem控制程序则向物理驱动层发AT命令进行拨号和应答,拨通后则从物理驱动层接收数据和向物理层发送数据,也可以通过拉低DTR和RTS信号的方法进行挂断modem。
初始化过程
对于内置modem卡,路由器启动时就初始化好了,再进行必要的配置就可以进行拨号应答了。
对于外置modem则要执行shell命令modemouter后,对应接口才初始化modem控制程序。
拨号过程
Modem控制程序向对应的接口发送AT命令,Modem接收到AT命令后进行Modem之间的磋商,磋商成功后,Modem向DTE发送CONNECT字符串,Modem控制程序接收到CONNECT后,继续处理物理驱动层送上来的DCD信号,当DCD信号UP时,Modem控制程序进行通信模式的切换,再向链路层送DCDUP的信号。
若是V.25bis拨号,则向接口写的指令很简单(RCNxxx)。
写完后Modem就进行磋商了,磋商成功后Modem向DTE发送的是CNX。
后面的处理与AT命令的处理相同。
应答过程
Modem控制程序接收到RING后,向接口写应答的AT命令,Modem进行磋商。
磋商成功后则和拨号过程后面的处理一样。
若是V.25协议拨号,则接收到INC后不向Modem发送任何命令,被动等待Modem发送CNX。
挂断过程
通过拉低DTR和RTS信号来挂断modem。
当检测到DCD信号down时则把通信模式切换到UART模式。
V.25bis协议则不需要切换到UART通信模式。
第4章调试命令及调试信息
接口配置初始化了modem控制程序后,如果需要查看该接口的Modem控制过程的信息,可以打开该接口的Modem控制程序调试命令。
具体调试命令如下:
debugmodemserial2/0打开路由器serial2/0接口上Modem控制程序的调试信息
调试信息
解释
第一组:
异步方式下拨号方
1:
serial2/0:
Configmodemfordialingout
2:
serial2/0:
ATconfiguratingcommand:
AAT&FE0Q0W1S95=44S36=5S25=0X0
AAT&D2&Q5
AATM1L1
3:
serial2/0:
Successtosendthe0thgroupconfiguringcommand
4:
serial2/0:
Successtosendthe1thgroupconfiguringcommand
5:
serial2/0:
successtoconfiguremodem
6:
serial2/0:
Startdialingautomatically
7:
serial2/0:
Dialingtimeoutissetas45s(DL-mode)
8:
serial2/0:
Dialing102...
9:
serial2/0,CONNECTisreceived
10:
serial2/0:
modemconnected
第二组:
异步拨号方式下的应答方
11:
serial1/0:
RINGisreceived
12:
serial1/0:
configuremodemforincomingcall
13:
serial1/0:
ATconfiguratingcommand:
AAT&FE0Q0W1S95=44S36=5S25=0X0
AAT&D2&Q5
AATM1L1
14:
serial1/0:
Successtosendthe0thgroupconfiguringcommand
15:
serial1/0:
Successtosendthe1thgroupconfiguringcommand
16:
serial1/0:
successtoconfiguremodem
17:
serial1/0:
Answeringtimeoutissetas35s(DL-mode)
18:
serial1/0:
Answeringincomingcall...
19:
serial1/0,CONNECTisreceived
20:
serial1/0:
modemconnected.
第三组:
接口在同步方式下的拨号方
21:
serial2/0:
Configmodemfordialingout
22:
serial2/0:
ATconfiguratingcommand:
AAT&FE0Q0W1S95=44S36=5S25=0X0
AAT&D2&Q1&X0&K0&R1
AAT+MS=11,0,33600,33600
AATM1L1
23:
serial2/0:
Successtosendthe0thgroupconfiguringcommand
24:
serial2/0:
Successtosendthe1thgroupconfiguringcommand
25:
serial2/0:
Successtosendthe2thgroupconfiguringcommand
26:
serial2/0:
successtoconfiguremodem
serial2/0:
Startdialingautomatically
27:
serial2/0:
Dialingtimeoutissetas45s(DL-mode)
28:
serial2/0:
Dialing102...
29:
serial2/0,CONNECTisreceived
30:
serial2/0:
modemconnected.
第四组:
接口在同步方式下的应答方
31:
serial1/0:
RINGisreceived
32:
serial1/0:
configuremodemforincomingcall
33:
serial1/0:
ATconfiguratingcommand:
AAT&FE0Q0W1S95=44S36=5S25=0X0
AAT&D2&Q1&X0&K0&R1
AAT+MS=11,0,33600,33600
AATM1L1
34:
serial1/0:
Successtosendthe0thgroupconfiguringcommand
35:
serial1/0:
Successtosendthe1thgroupconfiguringcommand
36:
serial1/0:
Successtosendthe2thgroupconfiguringcommand
37:
serial1/0:
successtoconfiguremodem
38:
serial1/0:
Answeringtimeoutissetas35s(DL-mode)
39:
serial1/0:
Answeringincomingcall...
40:
serial1/0,CONNECTisreceived
41:
serial1/0:
modemconnected.
第五组:
V.25bis协议的拨号方
42:
serial2/0:
Dialingtimeoutissetas45s(DL-mode)
43:
serial2/0:
Dialing102...
44:
serial2/0,CNXisreceived
45:
serial2/0:
modemconnected.
第六组:
V.25bis协议的应答方
46:
serial1/0:
RINGisreceived
47:
serial1/0:
Answeringtimeoutissetas35s(DL-mode)
48:
serial1/0:
Answeringincomingcall...
49:
serial1/0,CNXisreceived
50:
serial1/0:
modemconnected.
第七组:
挂断
51:
serial2/0:
Hangupmodemactivly!
52:
serial2/0:
Hangupmodemactivlyoncemore
53:
serial2/0:
ChangecommunicationmodetoUARTmodesuccessfully
54:
serial2/0:
Successtoinitializatemodem
55:
serial2/0:
modemisnotconnected,cannothangup
第八组:
其它
56:
serial2/0:
Modemdialsto111(timeout),initializateitagain
57:
serrial2/0:
modemanswertheincomingcall(timeout),initializateitagain
1:
准备为拨号配置AT命令。
2:
接口在异步方式下拨号方的AT命令。
3:
成功发送了第一条AT命令。
4:
成功发送了第2条AT命令。
5:
已经成功配置了AT命令。
6:
开始自动拨号。
7:
把拨号超时设置为45秒。
DL为拨号方式,LL为专线方式。
8:
拨电话号码102,若是专线则没有电话号码。
9:
收到CONNECT,Modem磋商成功。
10:
DCD信号UP,Modem连通,切换通信模式,通知linklayer。
11:
收到振铃。
12:
为应答配置AT命令。
13:
应答方的AT命令。
14:
成功发送第一条AT命令。
15:
成功发送第二条AT命令。
16:
配置AT命令成功。
17:
DL为拨号线方式,应答超时为35秒;LL为专线方式,超时为30秒。
18:
开始应答,Modem开始磋商。
19:
磋商成功,MODEM控制程序收到CONNECT。
20:
DCD信号UP,Modem控制程序通知linklayer。
21:
为拨号配置AT命令。
22:
AT命令。
23:
成功发送第一条AT命令。
24成功发送第二条AT命令。
25:
成功发送第三条AT命令。
26:
开始拨号。
27:
拨号超时设置为45秒。
28:
拨电话号码120。
29:
MODEM控制程序收到CONNECT,modem已经连通。
30:
DCD信号UP,切换通信模式,通知linklayer。
31:
收到振铃。
32:
为应答配置AT命令。
33:
应答方的AT命令。
34:
成功发送第一条AT命令。
35:
成功发送第二条AT命令。
36:
成功发送第三条AT命令。
37:
配置AT命令成功。
38:
应答超时为35秒。
39:
开始应答,Modem开始磋商。
40:
磋商成功,MODEM控制程序收到CONNECT。
41:
DCD信号UP,切换通信模式,通知linklayer。
42:
把拨号超时设置为45秒。
DL为拨号方式,LL为专线方式。
43:
拨电话号码102,若是转线则没有电话号码。
44:
收到CNX,Modem磋商成功。
45:
DCD信号UP,切换通信模式,通知linklayer。
46:
收到振铃。
47:
应答超时为35秒。
48:
开始应答,Modem开始磋商。
49:
磋商成功,接收到CNX。
50:
DCD信号UP,切换通信模式,通知linklayer。
51:
挂断modem,要拉低DTR和RTS信号。
52:
若DCD信号没有被拉低,在拉低DTR和RTS。
53:
切换通信模式到UART模式成功。
54:
初始化modem成功。
55:
modem没有连通,不能挂断。
但要安装控制回调函数。
56:
超时再拨。
57:
超时再应答。