|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 名字好听吗 于 2022-6-7 10:19 编辑 8 e% M- P% B7 J2 C9 ` I
& M+ e3 J4 p! C% i2 |本文将详细阐述AT组件的使用原理,开发所需要的其他依赖组件资源,以及在网络方面的应用,以帮助广大开发者熟悉AT组件的使用。0 V4 S+ m+ l: i' ~" d
( l, x: c, }: s4 U1、简介8 H3 L7 H- o( N+ O T, x6 N" O$ X$ a1 N
1.1 AT命令 [6 V1 D; ?( O! o5 `: z7 e
AT 即Attention,AT指令集是从终端设备(Terminal Equipment,TE)或数据终端设备(Data Terminal Equipment,DTE)向终端适配器(Terminal Adapter, TA)或数据电路终端设备(Data Circuit Terminal Equipment,DCE)发送的。
$ c+ \: `5 \/ z: U/ p) T0 l6 z通过TA,TE发送AT指令来控制移动台(Mobile Station,MS)的功能,与GSM 网络业务进行交互。用户可以通过AT指令进行呼叫、短信、电话本、数据业务、传真等方面的控制。3 a6 o( u+ M @; }
AT指令是以AT作首,字符结束的字符串,AT指令的响应数据包在中。每个指令执行成功与否都有相应的返回。其他的一些非预期的信息(如有人拨号进来、线路无信号等),模块将有对应的一些信息提示,接收端可做相应的处理。
5 M/ T7 F; o$ r b! o% |! r% M1 E+ h6 W. g6 ? H3 B5 F
1.2 AT优点
. a1 a9 B7 W" G( g7 e1 \命令简单易懂,并且采用标准串口来收发AT命令,这样对设备控制大大简化了,转换成简单串口编程了。1 i3 S' i/ h" J
AT命令提供了一组标准的硬件接口--串口。这个简化的硬件设计.较新的电信网络模块,几乎都采用串口硬件接口。 T: u5 q! Q) C8 K! h
AT命令功能较全,可以通过一组命令完成设备的控制,完成呼叫、短信、电话本、数据业务、传真。& R% n- E6 x1 ?* ?4 k( b' r9 N
8 @" D9 ^" x- W& S8 J2 F0 h
1.3 AT应用+ Y$ w' k0 d1 M+ j
基于AT自身具备的优点,使用起来简单直接,功能简洁,命令齐全,已经被应用到物联网领域,比如提供完整的AT命令联网功能和设备生产需要的AT命令产测功能等。
# m M+ o3 K( o$ X
% m. {4 q8 [$ b/ f2、YoC网络设计( [7 W5 d Z; C" {* g2 A6 Y5 {
2.1 网络框架7 J5 n- b0 |, k7 R. I7 ]
- H$ K% U d6 s/ f
YoC的网络框架支持以下两种方式上网:
6 x1 y7 \) V9 B$ C' O$ v3 u-支持SOC 集成wifi进行联网。: g0 w) s) y: ^1 |( d
-支持AT指令访问外部的WiFi透传模组进行联网。) |5 X6 O1 k9 H# ?" s2 H
8 I) w5 O) v; d8 M* t, V通过访问外部的WiFi透传模组进行联网除了需AT组件外,还需要有SAL, NEGMGR和WIFI驱动组件。各个组件负责的功能描述如下:: j9 \/ `, c% R2 M
-AT组件负责将上层调用的网络功能以AT命令发送给WiFi透传模组,同时接受WiFi透传模组的返回结果和数据返回给上层。WiFi驱动为上层组件Netmgr和SAL提供硬件能力支持
! J$ I, o: q) ^/ N' h+ p, J-Netmgr为上层提供完整网络管理功能。' ?5 J, M: {% D. ^6 d9 f8 K
-SAL(Socket Abstract Layer)给网络应用程序提供准备的Socket APIs.
/ W* F- V( |) p- S) X
" E* S+ }! n7 ]7 f' Z2.2 透传模组+ k3 z( y7 A" w9 j
) `6 V- [% U$ |5 ?% b; s; c9 P- R% JYoC支持WiFi透传模组的开发,除了AT组件外,我们还需要有ERS、lwIP组件和WIFI驱动组件。其中:
4 V1 g# g. u& C% r* ]' k-ERS组件负责注册所有支持的AT命令,一旦AT Server收到AT命令后,马上进行命名解析,从注册的AT命令里找到对应的命令处理函数开始执行,如果是联网的Socket命令,就会通过调用LWIP组件获取相应的命令数据。
, U, Q% }1 f& ~ A0 q5 `-LwIP组件主要负责接收和发送Wi-Fi TCPIP数据包。
. ^1 s/ Z+ x" N) [-WiFi数据驱动主要为上层组件提供硬件能力。+ |& Y/ I5 G1 W, D# H" W) d# z! A
-AT组件负责从主控接受指令和返回命令结果数据给主控。, u$ y, c! A8 b0 t
' r1 I% g: N5 a/ Y( H% J8 T
3、工作原理, _. L0 L; g8 }# {; G/ G+ d5 r. W
3.1 基本框架5 J8 H& }' ^5 f2 d( W
& l8 o+ u: U9 cAT命令使用的场景必须存在AT Server和AT Client两个角色。AT Client负责发送AT命令请求给AT Server, AT Server处理完后,返回响应数据和结果给AT Client。通常的工作原理如下:1 _: k9 \9 I& A" V
AT Client发送AT命令请求给AT Server。) @9 F' D/ c: R+ N! w
AT Server接收到命令后,解析AT命令进行处理。$ }8 t: m! [ ~0 K4 z
AT Server返回处理后AT命令和结果数据。
4 C% f# t+ F% W/ r! c, O3 u' W7 R, d- TAT Client接收到返回AT命令后,解析AT命令后,按解析结果继续接受数据。
) J# |7 K2 ]) J t Z4 Y) H! ]AT组件完成 AT 命令的发送、命令格式及参数判断、命令的响应、响应数据的接收、响应数据的解析、OOB 数据处理等整个 AT 命令数据交互流程。
6 z& V6 d% `/ B9 V5 a2 U2 _& c2 N$ e' F0 n
% g( B! b( N% [6 o |
|