四通道位置控制的CAN總線節點設計與實現
摘 要:本文介紹了一種基于單片機系統的CAN總線接口系統,通過將CAN總線上的數字指令轉換為模擬控制信號,送給已有的四路電動伺服模擬控制系統。該方案實現了四通道位置控制的CAN總線節點設計。
關鍵詞:CAN總線;位置隨動系統;D/A轉換;多路模擬開關
概述
根據課題要求,并經充分考慮CAN總線數據通訊的特點、四個通道位置控制規律及實際工程的環境與條件之后,設計了一個CAN總線節點,并利用四個通道的控制信號來實施四路位置控制。該系統的結構關系如圖1所示,根據該圖可以把本文中要描述的系統劃分為三個部分:CAN總線接口電路、單片機系統、D/A轉換電路。CAN總線接口電路主要提供CAN總線物理層通訊協議所要求的電氣連接,保證可靠通訊;單片機系統是本CAN總線節點的中樞,主要是控制和協調各部分的正常工作,并按算法計算形成四通道的控制信號;D/A轉換電路則要把單片機所形成的四個通道的數字控制信號轉化為四路模擬控制信號去驅動四路的電機控制系統,同時要保證系統允許的延時和信號的線性度,最終完成對四通道的位置控制。
硬件設計
CAN總線接口電路設計
完整的接口電路原理圖如圖2所示,該電路包含了CAN總線協議控制芯片SJA1000(與PCX82C200兼容)和CAN總線驅動芯片82C250以及它們各自的外圍電路。在此只討論實現過程中幾個具體問題。
片選信號:總體方案設計中確定了本系統地址空間的分配,CAN總線接口電路占用了C000~DFFF。為了有效利用已有的邏輯芯片,采用線選法產生片選信號CanSelt。片選信號CanSelt低電平有效。
總線連接:由于SJA1000本身具有分時復用的8位地址數據總線,并且引腳3、引腳5以及引腳6分別對應單片機地址鎖存信號ALE、讀信號和寫信號,因此可以直接與80C196KC單片機的地址數據總線、控制總線對應連接。
中斷信號:當SJA1000進行總線通信,需要單片機參與處理時,就在引腳16產生一個中斷信號。這些觸發中斷的事件包括總線上成功接收到有效數據幀、成功發送數據幀、CAN協議芯片被其它CAN節點喚醒、接收緩沖區超限以及總線狀態出錯等。引腳16平時維持高電平,中斷時產生一個負跳變信號。由于80C196KC單片機的外部中斷正跳變信號有效,所以SJA1000的中斷信號要經過一個非門再送到單片機的外部中斷引腳。但在實際電路中,無中斷產生時,SJA1000的引腳16是觀察不到高電平的,只能觀察到0.7V~0.8V的電平信號。這是因為高電平被下級的非門導通拉低所致,不影響正常使用。
多路D/A轉換通道電路設計
CAN總線是一種串行總線,總線上傳輸的信息是數字信號,而已有的電機控制系統是模擬控制系統,因此需要設計D/A轉換電路來解決這一問題。在D/A轉換接口設計中主要考慮的問題是D/A轉換芯片的選擇、數字量的碼輸入及模擬量的極性輸出、參考電壓電流源、模擬電量輸出的調整與分配等。基于上述因素,本設計電路結構如圖3所示。在該結構中采用同一個D/A轉換芯片分時、分別對各路信號進行D/A轉換,再由一個多路采樣保持電路將轉換結果分時提取,并送到各路模擬信號通道。
由于電機模擬控制系統的性能指標如下:
輸入/輸出關系:輸入為
評論