通訊協(xié)議是上位機(jī)通過VMXXX 模塊支持的數(shù)字接口完成信息交互的數(shù)據(jù)格式、傳輸步驟、
通訊速率等的一系列預(yù)先約定。上位機(jī)必須按照本章描述的通訊協(xié)議規(guī)則來完成與VMXXX 的數(shù)據(jù)交互工作。
寄存器機(jī)制
VMXXX 內(nèi)部維護(hù)有若干寄存器,模塊在寄存器參數(shù)值的控制下完成振弦傳感器的測量工作。
寄存器的值總是以整數(shù)形式存在,基本操作單位為“字”(2 字節(jié)整數(shù),大端模式),有掉電保 存和掉電丟失兩種類型(對應(yīng)“讀/寫”和“只讀”兩種屬性)。通過模塊的數(shù)字接口可完成對 寄存器的讀取和寫入(修改)操作。寄存器寫(修改)壽命典型值為 10 萬次,讀取次數(shù)沒有限制。
數(shù)據(jù)模式
寄存器數(shù)據(jù)值采用大端模式,數(shù)據(jù)的高字節(jié)保存在內(nèi)存的低地址中,而數(shù)據(jù)的低字節(jié)保存
在內(nèi)存的高地址中,數(shù)據(jù)幀傳輸時先傳輸?shù)偷刂纷止?jié)后傳輸高字節(jié)。每個寄存器對應(yīng)兩個字節(jié)則單個寄存器的值=低字節(jié)值*256+高字節(jié)值。
使用握手協(xié)議
在讀寫寄存器時,建議使用VMXXX 模塊的握手協(xié)議(非必須),當(dāng)檢測到模塊空閑時發(fā)起寄存器操作
硬件握手
基于RTS 輸出信號的時域特點(diǎn),此管腳還可作為數(shù)字接口的硬件握手信號使用。當(dāng)模塊的
UART 接口為 RS232 時,RTS 管腳已經(jīng)轉(zhuǎn)換為 RS232 電平信號,直接連接上位機(jī) RS232 接口的 CTS即可。
軟件握手
模塊開始一次測量時,從UART 接口主動發(fā)送 XOFF 信號(0x13),表示模塊開始忙于測量數(shù)據(jù),當(dāng)測量完成時主動發(fā)送 XON 信號(0x11),表示模塊本次測量完成,正處于空閑狀態(tài)。在開啟模塊的軟件握手功能后,若需要向模塊發(fā)送指令,建議 UART 的通訊流程為:首先等待模塊返回 XON 信號(0x11),當(dāng)收到 XON 信號或等待超時后立即向模塊發(fā)送指令。
注:在一主多從的總線應(yīng)用中,嚴(yán)禁開啟模塊的軟件握手功能。
沖突解決
當(dāng)模塊收到上位機(jī)指令時原則上會立即處理并返回應(yīng)答信息,若模塊“正忙”時,VMXXX 采
用測量優(yōu)先的原則,等待當(dāng)前測量周期結(jié)束才會響應(yīng)。不同的工作參數(shù)會有不同的“忙”時長(詳見“3.15 測量時長與優(yōu)化”),在發(fā)送指令后,若模塊未能及時回復(fù),應(yīng)繼續(xù)等待其響應(yīng)并返回響應(yīng)信息。在模塊未回復(fù)前,向模塊發(fā)送多條指令沒有意義,模塊僅會響應(yīng)最先收到的一條指令。
注:數(shù)字接口通訊會在一定程度上影響振弦傳感器頻率采集精度,不要過于頻繁的對數(shù)字
接口發(fā)送指令
審核編輯 黃昊宇
-
模塊
+關(guān)注
關(guān)注
7文章
2629瀏覽量
47219 -
通訊協(xié)議
+關(guān)注
關(guān)注
10文章
265瀏覽量
20295
發(fā)布評論請先 登錄
相關(guān)推薦
評論