加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
    •  
    • 相關(guān)標(biāo)準(zhǔn)
    • 當(dāng)下 AT 指令的應(yīng)用
    • AT 模塊的應(yīng)用框圖
    •  
    • 一些約定
    • 四類 AT 命令
    • 響應(yīng)結(jié)果字符串
    • 數(shù)據(jù)模式與指令模式
    • 參考
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

AT 指令介紹

2021/02/02
685
閱讀需 6 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

AT(Attention)指令是由 Dennis Hayes 發(fā)明的,所以也稱為 Hayes command set。AT 指令最初是用來(lái)指導(dǎo) modem 工作的,后面隨著技術(shù)的發(fā)展,低速 modem 已經(jīng)退出了市場(chǎng),但 AT 指令卻不斷發(fā)展,并且在今天 AT 指令依舊扮演這非常重要的角色。

雖然在 PC 端、手機(jī)上已經(jīng)沒有了 AT 的使用,但其卻在嵌入式行業(yè)里各類聯(lián)網(wǎng)模塊中發(fā)揮著重要的作用,而且不僅僅只應(yīng)用在蜂窩模塊,還應(yīng)用到了 WiFi、BLE 等模塊中。

 

相關(guān)標(biāo)準(zhǔn)

隨著技術(shù)的發(fā)展,目前 AT 指令發(fā)展過(guò)程中形成兩個(gè)重要標(biāo)準(zhǔn):

V.250:該標(biāo)準(zhǔn)于 1995 年建立,1998 年重命名為 V.250

ETSI GSM 07.07(3GPP TS 27.007):用于控制 GSM modem 的 AT 指令集

GSM 07.07 是基于 V.250 標(biāo)準(zhǔn)的。是目前最新的 AT 標(biāo)準(zhǔn)。

當(dāng)下 AT 指令的應(yīng)用

目前的 AT 指令著重應(yīng)用在蜂窩模塊、WiFi 模塊、BLE 模塊中,目的是為了簡(jiǎn)化嵌入式設(shè)備聯(lián)網(wǎng)的復(fù)雜度。

AT 標(biāo)準(zhǔn)定義了 AT 命令的格式本身,比如命令以 AT 為前綴開頭,以或者結(jié)尾,這被現(xiàn)有的 AT 模塊所延用。

圖片來(lái)自 3GPP TS 27.007 V10.7.0 (2012-03)

但是,由于每個(gè)廠家的模塊不一樣,實(shí)現(xiàn)的功能不一樣,導(dǎo)致每個(gè) AT 模塊廠家有自己的一套私有的 AT 命令集,每一個(gè) AT 模塊廠家實(shí)現(xiàn)的 AT 指令集解析器也不一樣(解析器實(shí)現(xiàn)的 AT 標(biāo)準(zhǔn)功能也參差不齊)。像上圖所示的 AT 命令使用方式不被大多數(shù)模塊廠家所實(shí)現(xiàn)。

AT 模塊的應(yīng)用框圖

既然是指令集,那么必然會(huì)有指令集的解析處理,通常,我們把 AT 模塊端的解析處理程序稱為 AT Server,而將控制 AT 模塊的處理器端的解析處理程序稱為 AT Client。由 AT Client 發(fā)起命令請(qǐng)求,AT Server 回應(yīng)處理結(jié)果。另外 AT Server 通過(guò) URC(Unsolicited result code) 來(lái)主動(dòng)給 AT Client 發(fā)送數(shù)據(jù)。

應(yīng)用框圖如下所示:

 

一些約定

AT 命令的常用格式:

AT+CMD=[,,]

AT 指令以 AT 開始,以 \r 或者 \r\n 結(jié)尾,參數(shù)之間使用 , 隔開,字符串參數(shù)使用雙引號(hào) "" 包裹,整形參數(shù)不適用雙引號(hào)。

:回車符

:換行符

尖括號(hào)中的名稱 xxx 在 AT 里是一個(gè)語(yǔ)法元素,要求必須指定。尖括號(hào)本身不會(huì)出現(xiàn)在命令行里。

[xxx]

中括號(hào)中的名稱 xxx 在 AT 里是一個(gè)語(yǔ)法元素,表示可選擇指定。中括號(hào)本身不出現(xiàn)在命令行里。

四類 AT 命令

Test 命令:AT+=?

測(cè)試指令類似于命令行里的 help 指令,用于提供該命令的使用信息,以及命令參數(shù)的取值范圍。

Read 命令:AT+?

用于查詢?cè)撝噶顚?duì)應(yīng)功能的當(dāng)前值。

Set 命令:AT+=<...>

設(shè)置用戶指定的參數(shù)到對(duì)應(yīng)的功能里。

Execute 命令:AT+

執(zhí)行相關(guān)操作。

響應(yīng)結(jié)果字符串

AT 標(biāo)準(zhǔn)定義了標(biāo)準(zhǔn)的響應(yīng)結(jié)果字符串:

\r\nOK\r\n

如果 AT 指令被 AT Server 識(shí)別,并正確執(zhí)行,則返回該結(jié)果。

標(biāo)準(zhǔn)中的 V1 模式下響應(yīng)結(jié)果代碼的方式。V0 模式下返回 0\r。

 

\r\nERROR\r\n

標(biāo)準(zhǔn)中的 V1 模式下響應(yīng)結(jié)果代碼的方式。V0 模式下返回 4\r

數(shù)據(jù)模式與指令模式

在收到 +++,并且接下來(lái) 1s 內(nèi)未收到其他數(shù)據(jù)的話,將從數(shù)據(jù)模式切換到指令模式。

數(shù)據(jù)模式,可以透?jìng)鲾?shù)據(jù),client 發(fā)什么,server 就原封不動(dòng)發(fā)出去。指令模式時(shí),AT Server 需要解析 AT 指令,并作出響應(yīng)。

參考

  • wiki - Hayes command set

    https://en.wikipedia.org/wiki/Hayes_command_set

    V.250ter

    https://www.itu.int/rec/T-REC-V.25ter-199508-S

    3GPP TS 27.007

    http://www.arib.or.jp/english/html/overview/doc/STD-T63v9_30/5_Appendix/Rel10/27/27007-a70.pdf

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

分享嵌入式、物聯(lián)網(wǎng)知識(shí)技能

TA的熱門作品