【技術實現步驟摘要】
本專利技術涉及串口通信領域,更具體地說,涉及一種用于適用于電機控制器的串口通訊協議。
技術介紹
通用串行通訊系統由于其接口簡單,擴展靈活 ,從而被廣泛應用于各類單片機系統中,但由于單片本身的工作頻率一般較低,處理速度較慢,在高速通訊的過程中,往往會出現通訊不可靠的情況,如果通訊協議過于簡單,無法保證多字節數據傳輸以及數據的準確性。為了解決這一問題,目前所存在的串口通訊協議,通常會通過增加接收端和發送端的協議和任務的復雜度來提高穩定性,而過于復雜的通訊協議,必定要占用更多的微處理器的處理時間和存儲單元,使得為了運行傳統的串口通訊協議,需要選用相對高端的微處理器,或者添加用于通信的輔助微處理器,從而提升了串口通訊系統的制造成本。且在傳統的通訊協議中,很難考慮到電機控制器這類產品中微處理器的特點,導致現成的協議無法適用于這類產品中的微處理器。
技術實現思路
本專利技術的目的是提供一種協議內容精簡合理,采用“點對點”和“點對多”的通信拓撲模式,且可盡最大可能降低電機控制器中微處理器在通訊上的任務量,同時適用于多種通訊物理層的控制器的串口通訊協議。本專利技術是采取以下技術方案實現的包括如下步驟I)主機方面(A)主機準備應用層數據;( B )主機向從機發送數據;(C)主機等待從機的應答信號;若主機接收到的信號來源為非期望從機,則主機重新發送數據;若主機接收來自期望從機的應答信號時產生幀間超時或幀內超時,則主機重新發送數據;若主機接收到的來自期望從機的應答信號為“NAK”,則主機重新發送數據;若主機接收到的來自期望從機的應答信號為“ACK”,則完成一次操作;2)從機方面(a)從機 ...
【技術保護點】
一種控制器串口通訊協議,其特征在于包括如下步驟:1)主機方面:(A)主機準備應用層數據;(B)主機向從機發送數據;(C)主機等待從機的應答信號;若主機接收到的信號來源為非期望從機,則主機重新發送數據;若主機接收來自期望從機的應答信號時產生幀間超時或幀內超時,則主機重新發送數據;若主機接收到的來自期望從機的應答信號為“NAK”,則主機重新發送數據;若主機接收到的來自期望從機的應答信號為“ACK”,則完成一次操作;2)從機方面:(a)從機接收主機發送的數據;(b)若從機忙,不處理數據,不應答,重新接收;若接收到的數據為非本機ID數據,不應答,重新接收;若從機接收本機ID數據時產生幀內超時,則清空接收緩存,重新接收;若從機接收到的本機ID數據校驗錯誤,則發送“NAK”應答信號給主機;若從機接收到的本機ID數據校驗正確,則從機處理應用層數據,并發送“ACK”應答信號給主機,完成一次操作。
【技術特征摘要】
1.一種控制器串口通訊協議,其特征在于包括如下步驟 O主機方面 (A)主機準備應用層數據; (B)主機向從機發送數據; (C)主機等待從機的應答信號;若主機接收到的信號來源為非期望從機,則主機重新發送數據;若主機接收來自期望從機的應答信號時產生幀間超時或幀內超時,則主機重新發送數據;若主機接收到的來自期望從機的應答信號為“NAK”,則主機重新發送數據;若主機接收到的來自期望從機的應答信號為“ACK”,則完成一次操作; 2)從機方面 (a)從機接收主機發送的數據; (b)若從機忙,不處理數據,不應答,重新接收;若接收到的數據為非本機ID數據,不應答,重新接收;若從機接收本機ID數據時產生幀內超時,則清空接收緩存,重新接收;若從機接收到的本機ID數據校驗錯誤,則發送“NAK”應答信號給主機;若從機接收到的本機ID數據校驗正確,則從機處理應用層數據,并發送“ACK”應答信號給主機,完成一次操作。2.根據權利要求I所述的控制器串口通訊協議,其特征在于所述主機和從機間的通信具有6種工作方式,分別為實施監控,寫用戶參數,讀用戶參數,讀當前故障,讀歷史故障,清除歷史故障;其中實時監控的工作方式在從機的存儲區I中完成,寫用戶參數和讀用戶參數的工作方式在從機的存儲區2中完成,讀當前故障的工作方式在從機的存儲區3中完成,讀歷史故障和清除歷史故障的工作方式在從機的存儲區4中完成;存儲區I至存儲區4為相互獨立的4個存儲區;6種工作方式的每一種工作方式都具有步驟(A)、(B) (C)以及步驟(a)、(b)、(c)的協議流程。3.根據權利要求I所述的控制器串口通訊協議,其特征在于所述主機和從機在完成數據的接收前,接收到的數據會先存在接收緩存中,在完成數據的發送前,發送的數據會先存在發送緩存中。4.根據權利要求I或權利要求3所述的控制器串口通訊協議,其特征在于主機和從機每一次重新接收數據前會將接收緩存中的數據清空;主機和從機每一次從新發送數據時,重新發送的數據會將發送緩存中的數據覆蓋。5.根據權利要求I所述的控制器串口通訊協議,其特征在于所述幀間超時是指主機發送一個完整的數據幀后,接收從機的應答信號大于所設定的時間;幀內超時是指主機或從機在接收某個數據幀時,接收到首尾的兩個字節之間的時間間隔大于所設定的時間。6.根據權利要求I所述的控制器串口通訊協議,其特征在于所述主機和從機之間發送的每一幀數據包含6個字節;字節I為參數1,字節2為參數2,字節3為參數3,字節4為參數4 ;字節5參數5 ;字節6為參數6。7.根據權利要求I或權利要求6所述的控制器串口通訊協議,其特征在于所述主機和從機之間通信的波特率為19200bps,主機和從機之間發送和接收的每一個字節前有一位起始位,字節后有終止位,故接收中斷觸發的最高頻率為1920HZ。8.根據權利要求I或權利要求2或權利要求6所述的控制器串口通訊協議,其特征在于所述參數I為操作碼,對應主機和從機進行串口通信的6種工作方式;參數2為操作數地址,且為偏移地址;參數3和參數4為操作數,參數5的高位為目標機ID,低位為校驗狀態信息,為表示數據校驗正確的對應碼或數據校驗錯誤的對應碼;參數6為校驗信息,參數6為前5個參數之和,若加和后出現的溢出位,舍棄溢出位。9.根據權利要求I或權利要求2或權利要求6或權利要求8所述的控制器串口通訊協議,其特征在于 在實施監控的工作方式中,主機向從機發送參數I至參數6 ;參數I為實施監控的工作方式所對應的操作碼;參數2為操作數所在的偏移地址;參數3和參數4為空,即為置O ;參數的5高位為從機ID,低位為空,即低位置O ;參數6為參數I至參數5之和; 從機接收到主機的數據后,向主機發送參數I至參數6 ;參數I為實施監控的工作方式所對應的操作碼,參數2為操作數所在的偏移地址;參數3和參數4...
【專利技術屬性】
技術研發人員:孫彥軍,
申請(專利權)人:天津市松正電動汽車技術股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。