前文介紹了億佰特研發(fā)生產(chǎn)的E610-XXXTXX系列高速連續(xù)傳輸型無(wú)線數(shù)傳模塊的產(chǎn)品功能及常見應(yīng)用場(chǎng)景簡(jiǎn)介,E610系列無(wú)線數(shù)傳模塊產(chǎn)品是億佰特研發(fā)的高速連續(xù)傳輸型無(wú)線數(shù)傳模組,內(nèi)置高性能單片機(jī)與無(wú)線收發(fā)芯片。工作分別在410~441MHz頻段、850~870MHz頻段、902~928MHz頻段,發(fā)射功率為20~30dBm。本文將詳細(xì)介紹該無(wú)線連續(xù)傳輸模塊功能配置及工作模式詳解。
舉例:將無(wú)線數(shù)傳模塊A地址設(shè)置為0xFFFF,信道設(shè)置為0x04。
當(dāng)無(wú)線模塊A作為發(fā)射時(shí)(相同模式,透明傳輸方式),0x04 信道下所有的接收模塊都可以收到數(shù)據(jù),達(dá)到廣播的目的。
舉例:將無(wú)線模塊A地址設(shè)置為0xFFFF,信道設(shè)置為0x04。
當(dāng)無(wú)線模塊A作為接收時(shí),可以接收到0x04信道下所有的數(shù)據(jù),達(dá)到監(jiān)聽的目的。
無(wú)線連續(xù)傳輸模塊上電后,AUX將立即輸出低電平,并進(jìn)行硬件自檢,以及按照用戶參數(shù)進(jìn)行工作方式設(shè)置;
在此過程中,AUX保持低電平,完畢后AUX輸出高電平,并按照M1、M0組合而成的工作模式開始正常工作;
所以,用戶需要等待AUX上升沿,作為模塊正常工作的起點(diǎn)。
AUX 用于無(wú)線收發(fā)緩沖指示和自檢指示。
它指示模塊是否有數(shù)據(jù)尚未通過無(wú)線發(fā)射出去,或已經(jīng)收到無(wú)線數(shù)據(jù)是否尚未通過串口全部發(fā)出,或無(wú)線模塊正在初始化自檢過程中。
用于喚醒休眠中的外部 MCU;
無(wú)線模塊串口外發(fā)數(shù)據(jù)時(shí),AUX 引腳時(shí)序圖
緩沖區(qū)空:內(nèi)部4096 字節(jié)緩沖區(qū)的數(shù)據(jù),都被寫入到無(wú)線芯片(自動(dòng)分包);
當(dāng)AUX=1 時(shí)用戶連續(xù)發(fā)起小于 4096 字節(jié)的數(shù)據(jù),不會(huì)溢出;
當(dāng)AUX=0 時(shí)緩沖區(qū)不為空:內(nèi)部 4096 字節(jié)緩沖區(qū)的數(shù)據(jù),尚未全部寫入到無(wú)線芯片并開啟發(fā)射,此時(shí)無(wú)線模塊有可能在等待用戶數(shù)據(jù)結(jié)束超時(shí),或正在進(jìn)行無(wú)線分包發(fā)射。
緩沖區(qū)中數(shù)據(jù)是“即存即取”,那么緩沖區(qū)大小可認(rèn)為是無(wú)窮大。
【注意】:AUX=1 時(shí)并不代表模塊全部串口數(shù)據(jù)均通過無(wú)線發(fā)射完畢,也可能最后一包數(shù)據(jù)正在發(fā)射中。
無(wú)線模塊接收串口數(shù)據(jù)時(shí),AUX 引腳時(shí)序圖
僅在上電復(fù)位、指令復(fù)位和退出休眠模式(模式 3)時(shí),呈現(xiàn)以下狀態(tài)。
無(wú)線模塊自檢時(shí),AUX 引腳時(shí)序圖
圖中‘T1’:代表單片機(jī)外設(shè)初始化(初始化時(shí)間為 4~5ms);
圖中‘T2’:代表射頻芯片配置參數(shù)初始化(初始化時(shí)間為 500ms 左右);
AUX 引腳在單片機(jī)初始化時(shí),由于配置GPIO外設(shè)會(huì)導(dǎo)致該引腳會(huì)出現(xiàn)瞬間的拉低,如下圖所示。
無(wú)線模塊上電初始化時(shí),AUX 引腳時(shí)序圖
通過M0、M1硬件切換模式流程:
① M0、M1引腳外部中斷觸發(fā);
② AUX拉低引腳;
③ 退出當(dāng)前任務(wù)模式,再讀取M0、M1引腳電平判斷新模式;
④ 進(jìn)入新模式任務(wù),AUX拉高,完成模式切換(切換時(shí)間40ms左右)。
無(wú)線模塊切換模式時(shí),AUX引腳時(shí)序圖
無(wú)線數(shù)傳模塊有四種工作模式,由引腳M1、M0 設(shè)置;詳細(xì)情況如下表所示:
模式(0-3) | M1 | M0 | 模式介紹 | 備注 |
0 連續(xù)模式 | 0 | 0 | 模塊內(nèi)部會(huì)根據(jù)用戶配置串口波特率自動(dòng)計(jì)算連續(xù)不間斷傳輸所需的空中傳輸速率,用戶不間斷傳入數(shù)據(jù)即可 | 支持連續(xù)不間斷傳輸 |
1 一般模式 | 0 | 1 | 模塊內(nèi)部會(huì)執(zhí)行用戶配置的空中傳輸速率。會(huì)按照55 字節(jié)每包進(jìn)行分包傳輸。 | 一般透明傳輸 |
2 配置模式 | 1 | 0 | 用戶可通過串口對(duì)寄存器進(jìn)行訪問,從而控制模塊工作狀態(tài) | 需波特率9600下配置 |
3 深度休眠 | 1 | 1 | 模塊進(jìn)入休眠 | 低功耗 |
序號(hào) | 備注 |
1 | 用戶可以將 M1、M0 進(jìn)行高低電平組合,確定模塊工作模式。可使用 MCU 的 2 個(gè) GPIO 來(lái)控制模式切換; 當(dāng)改變 M1、M0 后:若模塊空閑,1ms 后,即可按照新的模式開始工作; 若模塊有串口數(shù)據(jù)尚未通過無(wú)線發(fā)射完畢,則發(fā)射完畢后,才能進(jìn)入新的工作模式; 若模塊收到無(wú)線數(shù)據(jù)后并通過串口向外發(fā)出數(shù)據(jù),則需要發(fā)完后才能進(jìn)入新的工作模式; 所以模式切換只能在 AUX 輸出 1 的時(shí)候有效,否則會(huì)延遲切換。 |
2 | 例如:用戶連續(xù)輸入大量數(shù)據(jù),并同時(shí)進(jìn)行模式切換,此時(shí)的切換模式操作是無(wú)效的;模塊會(huì)將所有用戶數(shù)據(jù)處理完畢后,才進(jìn)行新的模式檢測(cè); 所以一般建議為:檢測(cè) AUX 引腳輸出狀態(tài),等待輸出高電平后 2ms 再進(jìn)行切換。 |
3 | 當(dāng)無(wú)線模塊從其他模式被切換到休眠模式時(shí),如果有數(shù)據(jù)尚未處理完畢; 無(wú)線數(shù)模塊會(huì)將這些數(shù)據(jù)(包括收和發(fā))處理完畢后,才能進(jìn)入休眠模式。這個(gè)特征可以用于快速休眠,從而節(jié)省功耗;例如:發(fā)射模塊工作在模式 0,用戶發(fā)起串口數(shù)據(jù)“12345”,然后不必等待 AUX引腳空閑(高電平),可以直接切換到休眠模式,并將用戶主 MCU 立即休眠,模塊會(huì)自動(dòng)將用戶數(shù)據(jù)全部通過無(wú)線發(fā)出后,1ms 內(nèi)自動(dòng)進(jìn)入休眠; 從而節(jié)省 MCU 的工作時(shí)間,降低功耗。 |
4 | 同理,任何模式切換,都可以利用這個(gè)特征,模塊處理完當(dāng)前模式事件后,在 1ms 內(nèi),會(huì)自動(dòng)進(jìn)入新的模式;從而省去了用戶查詢 AUX 的工作,且能達(dá)到快速切換的目的; 例如從發(fā)射模式切換到接收模式;用戶 MCU 也可以在模式切換前提前進(jìn)入休眠,使用外部中斷功能來(lái)獲取 AUX 變化,從而進(jìn)行模式切換。 |
5 | 此操作方式是非常靈活而高效的,完全按照用戶 MCU 的操作方便性而設(shè)計(jì),并可以盡可能降低整個(gè)系統(tǒng)的工作負(fù)荷,提高系統(tǒng)效率,降低功耗。 |
類型 | 當(dāng) M0 ?= ?0,M1 ?= ?0 時(shí),模塊工作在模式 0 |
發(fā)射 | 根據(jù)用戶配置的串口波特率自動(dòng)計(jì)算連續(xù)傳輸需要的空中速率; 用戶可以通過串口輸入數(shù)據(jù),模塊會(huì)啟動(dòng)無(wú)線發(fā)射。 |
接收 | 在非發(fā)射狀態(tài)時(shí),可以正常接收數(shù)據(jù)。 |
在連續(xù)傳輸模式下,帶來(lái)的直觀體驗(yàn)是用戶不需要等待全部數(shù)據(jù)打包才能把數(shù)據(jù)傳輸出去,而是模塊從第一幀數(shù)據(jù)就開始傳輸,直到完成用戶需要傳輸?shù)臄?shù)據(jù)。從而節(jié)省了數(shù)據(jù)打包、分包的時(shí)間,極大的縮短數(shù)據(jù)延時(shí)時(shí)間。
數(shù)據(jù)延時(shí)示意圖(在串口波特率為115200,發(fā)送22個(gè)字節(jié)的情況下)
連續(xù)傳輸模式又分為“距離優(yōu)先”和“速度優(yōu)先”兩種連傳策略可供用戶選擇。從下表的參考數(shù)據(jù)我們可以看出,在串口波特率越高、發(fā)送的數(shù)據(jù)量越小的時(shí)候,兩種策略數(shù)據(jù)的延時(shí)時(shí)間差異并不明顯。但是一旦數(shù)據(jù)達(dá)到上千字節(jié)時(shí),數(shù)據(jù)延時(shí)的問題就會(huì)凸顯出來(lái)。
串口波特率 | 連傳策略 | 數(shù) ?據(jù) ?延 ?時(shí)(ms) | 1 ?byte | 22 ?byte | 55 ?byte | ||
2400 | 距離優(yōu)先 | 77.634 | 213.094 | 417.224 | |||
速度優(yōu)先 | 57.267 | 161.193 | 161.233 | ||||
4800 | 距離優(yōu)先 | 41.396 | 111.040 | 216.195 | |||
速度優(yōu)先 | 29.028 | 81.043 | 81.043 | ||||
9600 | 距離優(yōu)先 | 21.024 | 55.926 | 108.611 | |||
速度優(yōu)先 | 15.274 | 41.675 | 41.651 | ||||
19200 | 距離優(yōu)先 | 10.853 | 28.355 | 54.736 | |||
速度優(yōu)先 | 7.973 | 21.199 | 21.211 | ||||
38400 | 距離優(yōu)先 | 6.160 | 15.031 | 28.083 | |||
速度優(yōu)先 | 4.701 | 11.085 | 11.080 | ||||
57600 | 距離優(yōu)先 | 4.392 | 10.352 | 19.101 | |||
速度優(yōu)先 | 3.373 | 7.569 | 7.583 | ||||
115200 | 距離優(yōu)先 | 2.478 | 5.364 | 9.890 | |||
速度優(yōu)先 | 1.867 | 3.874 | 3.890 |
* 實(shí)驗(yàn)測(cè)試數(shù)據(jù)會(huì)有些許誤差,請(qǐng)以實(shí)物實(shí)際測(cè)試為準(zhǔn) *
今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯(lián)化、智能化、自動(dòng)化的發(fā)展,提升資源利用率,更多產(chǎn)品更多資料,感興趣的小伙伴可以登錄我們的億佰特官網(wǎng)和企業(yè)公眾號(hào)(微信號(hào):cdebyte)進(jìn)行了解,也可以直接撥打400電話咨詢技術(shù)專員!