本文將以Air700ECQ/EAQ/EMQ為例,帶你從硬件設計的角度,一起來了解串口設計中的一些關鍵注意點;軟件開發或者AT設置方面不做深入探討。
一、串口相關管腳
Air700ECQ/EAQ/EMQ系列模組支持2個串口,分別是:
主串口MAIN_UART
調試串口DBG_UART
對應的管腳如下:
注:MAIN_DTR,MAIN_RI管腳嚴格意義來說,并不能歸為串口功能;MAIN_DTR、MAIN_RI是獨立的控制功能管腳。
二、串口功能描述
模組的AT指令控制,數據傳輸都是通過主串口來實現。注意,即使采用二次開發方式,也建議優先用主串口進行外部通信和模組控制。
1.主串口特性
1)均為TTL電平串口
Air700ECQ/EAQ/EMQ所有串口均為TTL電平串口,電平默認只能為1.8V電平。
注意這點與Air780E/Air780EP等不同:
Air700ECQ/EAQ/EMQ無法通過軟硬件配置為3.3V默認電平。
2)默認波特率115200
可以通過AT+IPR指令來配置波特率,最大支持921600波特率,支持自適應波特率。
3)只有主串口支持模組休眠喚醒功能(LPUART)
Air700ECQ/EAQ/EMQ模組在休眠時,所有串口均為關閉狀態,只有主串口支持接收串口數據喚醒模組。
注意:在非9600的其他波特率下,進行串口收發數據喚醒時,會丟失前幾個字節。
4)MAIN_DTR管腳
為中斷輸入管腳,用于喚醒模組。DTR管腳內部串聯5.6K電阻,而且內部上拉,外部直連即可,不建議外接上拉。
5)MAIN_RI管腳
振鈴管腳,當模組收到短信時,會輸出120ms低脈沖通知主控來信。
同時也可以通過AT+CFGRI指令設置URC上報提醒:
當AT+CFGRI=1時,網絡URC來到時,也會產生120ms低脈沖。
▼ 詳細功能邏輯 ▼
待機狀態下:
MAIN_RI管腳為高電平。
短信接收:
當收到短信時,MAIN_RI管腳會產生一個120ms的低脈沖。
數據傳輸:
數據業務(包括 TCP/IP、HTTP、MQTT、FTP)到來時的URC上報,會產生一個120ms 低脈沖。
注:需要 AT+CFGRI=1將功能使能。
其他的URC上報:
當模塊主動發起對上位機的URC上報時,也會在 MAIN_RI管腳會產生一個120ms的低脈沖,以通知上位機進行接收。
注:需要AT+CFGRI=1將功能使能。
2.調試串口
調試串口DBG_UART,用來輸出模組的運行日志。無法通過AT指令來操作,但是可以通過AT指令(內部指令)來關閉調試串口的日志輸出功能,但不建議。
調試串口固定波特率961200不可更改,不建議連接任何外設,但建議設計時預留測試點。調試串口日志數據有專門的協議,如果用普通的串口工具抓取會顯示亂碼,只有用專用調試工具,如有需要請聯系官方技術人員。
三、硬件設計指導
1.串口的連接方式
主串口的型號命名很容易讓人聯想到RS232標準的DB9接口,其實不然,模組的串口連接方式與標準RS232連接方式有所不同。
標準RS232串口連接方式如下圖所示,特點是交叉連接。
模組串口遵循的是早期賀氏(HAYES)公司制定的MODEM串口標準,在這個標準下,DTR/DSR/CTS/RTS信號的功能有所不同。
MODEM串口標準標準下,DTR/DSR/CTS/RTS采用的是直連方式。
如下圖示:
在逐漸的演變過程中,DCD/DSR/RI逐漸演變為其他的獨立功能,在物聯網串口應用中僅保留T/RX加流控管腳的5線串口的形式。
但是CTS/RTS的命名規則保留了下來,雖然CTS/RTS采用直連的方式,但是實際上模組的CTS管腳起到的功能是標準RTS功能;模組RTS管腳起到的功能是標準CTS功能。
連接方式如下:
甚至流控管腳也不是必須,就變成了3線串口。
也就是Air700ECQ/EAQ/EMQ支持的方式:
2.串口的電平轉換
Air700ECQ/EAQ/EMQ的串口是TTL電平串口,TTL電平串口會有輸入輸出判別門限,如下圖。
同時,外接MCU或者外設的TTL電平串口同樣有判別門限。
一般來說,TTL電平的判別門限高低取決于IO供電電平VDD的高低。如果串口雙方的判別門限差別較大,一方的輸出高電平落在對方的高電平判別門限下,就容易出現誤判的現象。
在串口雙方電平不一致的情況,就要增加電平轉換電路來轉換通信電平。
1)晶體管的電平轉換方案:
在串口波特率不高的情況下(如115200),可以通過NPN晶體管的方式進行電平轉換。
參考設計如下圖:
這種方式的優劣也比較明顯,實際應該須注意。
優點:成本低;
劣勢:低電平下會被三極管的飽和管壓降抬高(通常在0.1V左右,不影響通信);開關速度不夠,超過460800波特率時不建議用這種方式。
▼ 設計注意要點 ▼
RXD上拉電源選擇:
參考設計選擇AGPIO做上拉而沒有選擇VDD_EXT電源做上拉,是因為VDD_EXT在模組休眠時會關閉,會導致RXD上產生一個低電平,又由于主串口支持休眠喚醒,就導致這個低電平讓串口產生中斷將模組喚醒,最終導致模組無法休眠。
所以在需要休眠的應用設計上,禁止用VDD_EXT電源上拉串口。
對Air700ECQ/EAQ/EMQ來說,VDD_EXT沒有引出,而是由RefVolt代替,其作用與圖中的AGPIO3一樣。
三極管的基極:
要用較低電平的一方參考電平來上拉,否則容易找出三級管不能完截止。
RXD和TXD的上拉電阻:
在不影響信號質量的情況下盡量加大,一方面是降低休眠功耗,一方面是降低RefVolt的驅動負荷。
對于三極管選型:
選型方面并沒有嚴格要求,通用的3904NPN三極管都能滿足要求。
2)電平轉換芯片方案:
對成本不敏感的話,優先考慮用電平轉換芯片,無論速度,可靠性都很完美。
對于設計方面只要注意芯片選型,同時模組端參考電平注意用AGPIO3,其他的參考具體芯片參考設計即可,沒有太多注意事項。
考慮到電平轉換芯片價格與通道數量成正相關,也可以采用TX RX用雙通道電平轉換芯片,其他流控信號用晶體管或者分壓方式來做電平轉換,兼顧性能和成本。
電平轉換芯片選型參考:
TXS0102/TXS0104/TXS0108系列
RS0102/RS0104/RS0108系列
2/4/8通道,品牌潤石
SGM4553,雙通道,品牌圣邦威
今天的內容就分享到這里了~
審核編輯 黃宇
-
串口設計
+關注
關注
0文章
6瀏覽量
5934
發布評論請先 登錄
相關推薦
評論