關于電磁流量計ADuC812芯片的探討 五十一
(2)電磁流量計命令幀的拆分
在對命令幀接收之前應該先將該幀進行拆分,即先判斷該幀起始符是否正確,根據數據幀的定界符判斷地址是否正確。對數據處理之前先進行奇偶校驗。電磁流量計接收的HART 命令幀是由主設備發送的,發送命令前,會先進行校驗,生成該幀最后的校驗字節值。在HART 命令幀的接收過程中,為保證該命令接收的正確,需再一次進行校驗,從幀的定界符字節開始,每接收一個字節的值就與前一次接收的字節進行按位的異或,若每個字節的數據在傳送過程中都不變,在與幀的最后一個校驗字節進行異或之前,生成的校驗值應該與原幀的最后一個字節相同,兩者異或運算后的值應該為0。若在通信的過程中某個字節的某個位出錯,則異或運算結果為非零。
實現的過程過程如下:
1) 判斷是否有連續的兩個“FF”,就是判斷是否為幀起始符;
2) 解釋定界符,根據定界符的高位判斷該幀是長幀還是短帖;
3) 根據地址信息,判斷返回地址是否正確。如果地址信息出錯,則自動請求重發;
4) 讀取數據字節的計數值;
5) 進行奇偶校驗,若出錯,則設置通信錯誤標志,自動請求重新發送;
6) 讀取響應碼,并放入指定的內存區域,為應用層的處理做好準備;
7) 讀幀中數據的字節信息,并將其存入指定內存區域;
8) 返回中斷。
詳情請瀏覽公司網站的產品中心 http://www.ladynoble.net/ 電磁流量計