|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 名字好听吗 于 2022-6-7 10:19 编辑 * {. T; |( u# S$ F" N" {5 D
! L4 E" z/ Q: ~$ I
本文将详细阐述AT组件的使用原理,开发所需要的其他依赖组件资源,以及在网络方面的应用,以帮助广大开发者熟悉AT组件的使用。
& `2 u3 L4 z* t( s% ~" A7 ?+ u& o8 B! e0 a2 G& t- ^1 g5 r
1、简介- u# j8 b; S, W9 L, a/ ~+ ~/ T
1.1 AT命令
9 u) F0 Y5 n4 d; a5 {) h9 {AT 即Attention,AT指令集是从终端设备(Terminal Equipment,TE)或数据终端设备(Data Terminal Equipment,DTE)向终端适配器(Terminal Adapter, TA)或数据电路终端设备(Data Circuit Terminal Equipment,DCE)发送的。6 t! G3 j5 Y" H0 A' x8 z
通过TA,TE发送AT指令来控制移动台(Mobile Station,MS)的功能,与GSM 网络业务进行交互。用户可以通过AT指令进行呼叫、短信、电话本、数据业务、传真等方面的控制。
% k! @9 @1 @2 @# j, w9 e) \AT指令是以AT作首,字符结束的字符串,AT指令的响应数据包在中。每个指令执行成功与否都有相应的返回。其他的一些非预期的信息(如有人拨号进来、线路无信号等),模块将有对应的一些信息提示,接收端可做相应的处理。
8 Z: `& Z4 r" p6 b/ V
/ o& ^+ x$ G/ U3 {! k1.2 AT优点( F2 D1 q+ i# F9 V: x" B( J: `
命令简单易懂,并且采用标准串口来收发AT命令,这样对设备控制大大简化了,转换成简单串口编程了。
, E& ~) c, M1 B4 w! tAT命令提供了一组标准的硬件接口--串口。这个简化的硬件设计.较新的电信网络模块,几乎都采用串口硬件接口。9 @4 l3 E: W E9 W
AT命令功能较全,可以通过一组命令完成设备的控制,完成呼叫、短信、电话本、数据业务、传真。5 q% c. S8 i% j6 I* f# D- K2 |
5 P! P u: i( z1.3 AT应用8 F# b9 [) l/ ~5 k( _9 A2 ]
基于AT自身具备的优点,使用起来简单直接,功能简洁,命令齐全,已经被应用到物联网领域,比如提供完整的AT命令联网功能和设备生产需要的AT命令产测功能等。
1 m" ?0 y! W J6 n/ Z9 k+ n2 n# _+ |2 O- J4 O
2、YoC网络设计
6 n+ k# o9 K w4 X# T2.1 网络框架
8 o( h+ F9 f( J5 L& ~
9 I K$ l: i+ T- l! L& @
YoC的网络框架支持以下两种方式上网:2 q) k+ a* Q. t# G, j
-支持SOC 集成wifi进行联网。
# u5 B: i. u- ?( v7 C5 r-支持AT指令访问外部的WiFi透传模组进行联网。: `; K: T5 N7 G! s' G
' S, {1 B2 H4 A; q0 x* [
通过访问外部的WiFi透传模组进行联网除了需AT组件外,还需要有SAL, NEGMGR和WIFI驱动组件。各个组件负责的功能描述如下:2 A; m$ s/ K& M0 [7 B9 n r2 E
-AT组件负责将上层调用的网络功能以AT命令发送给WiFi透传模组,同时接受WiFi透传模组的返回结果和数据返回给上层。WiFi驱动为上层组件Netmgr和SAL提供硬件能力支持# Q! B$ ~7 u5 f: ^( n2 V
-Netmgr为上层提供完整网络管理功能。+ A4 _- q% I/ m1 H- D5 U) M
-SAL(Socket Abstract Layer)给网络应用程序提供准备的Socket APIs.- \7 F4 }; W; I6 a! L
* ]1 ?: T% {" G, C) {( J1 E e- {" Z! Q
2.2 透传模组
6 L3 Z7 P" [- ~8 |# n, L4 u" X6 t
- V/ h! E1 q0 P$ `; Q3 r
YoC支持WiFi透传模组的开发,除了AT组件外,我们还需要有ERS、lwIP组件和WIFI驱动组件。其中:
) ?( f+ M# D8 f. c$ w: p5 j-ERS组件负责注册所有支持的AT命令,一旦AT Server收到AT命令后,马上进行命名解析,从注册的AT命令里找到对应的命令处理函数开始执行,如果是联网的Socket命令,就会通过调用LWIP组件获取相应的命令数据。
& U6 V4 ?! m* M& ] h) i-LwIP组件主要负责接收和发送Wi-Fi TCPIP数据包。7 [& W5 C4 j, q
-WiFi数据驱动主要为上层组件提供硬件能力。1 i8 Y4 l; s9 k& k, Z3 b7 q9 ~
-AT组件负责从主控接受指令和返回命令结果数据给主控。* ?* y4 y0 ]7 j: Z% k: |/ y- Q6 a
5 M" b0 k2 r: ~
3、工作原理
7 d8 v# j: ]1 r$ A3.1 基本框架) \: N: V* E/ s8 q. n$ r+ h
4 q9 T: \4 m9 y$ PAT命令使用的场景必须存在AT Server和AT Client两个角色。AT Client负责发送AT命令请求给AT Server, AT Server处理完后,返回响应数据和结果给AT Client。通常的工作原理如下:
' b5 v& m, i2 [& KAT Client发送AT命令请求给AT Server。& }) H! b# @0 I; L3 o
AT Server接收到命令后,解析AT命令进行处理。& v" Q( t/ U1 Z9 I4 ]
AT Server返回处理后AT命令和结果数据。# |6 N2 @7 L9 N6 I: _- r. f
AT Client接收到返回AT命令后,解析AT命令后,按解析结果继续接受数据。
) O' u5 I! U* B$ X! mAT组件完成 AT 命令的发送、命令格式及参数判断、命令的响应、响应数据的接收、响应数据的解析、OOB 数据处理等整个 AT 命令数据交互流程。
3 d) x. t, C% V: N; b6 V c2 @ A1 L. }/ R9 l, {: t" u
0 \4 J+ q* ]$ T8 R7 Z+ N9 g |
|