基于CAN總線的數據采集器的設計
現代工業生產過程一般都是連續或成批的工作,故需要嚴格的過程控制和安全措施。數據采集系統就是對生產環節的數據進行實時采集,并對數據進行處理,從而實現提供生產過程數據和動態監控等功能。在整個生產過程中,數據采集系統發揮著非常重要的作用。為此,本文給出了一種數據采集器的設計方法,本設計采用CAN(Controller Area Network,控制器局域網絡)總線,具有智能程度高、傳輸效率高、實時性強、適用面廣等特點。
1 CAN總線簡介
CAN(Controller Area Network)為局域網控制總線,符合國際標準ISO11898。CAN總線最初是由德國的BOSCH公司為汽車的監測、控制系統設計的,屬于總線式通訊網絡。CAN總線規范了任意兩個CAN節點之間的兼容性,包括電氣特性及數據解釋協議。CAN協議分為二層:物理層和數據鏈路層。物理層用于決定實際位傳送過程中的電氣特性。在同一網絡中,所有節點的物理層必須保持一致,但可以采用不同方式的物理層。CAN的數據鏈路層功能則包括幀組織形式、總線仲裁和檢錯、錯誤報告及處理、對要發送信息的確認以及確認接收信息并為應用層提供接口等。
其主要特點是:
(1) 能夠以多主方式工作,網絡上的任意節點均可成為主節點,并可向其它節點傳送信息;
(2) 非破壞性總線仲裁和錯誤界定,總線沖突的解決和出錯界定可由控制器自動完成,且能區分暫時和永久性故障并自動關閉故障節點;
(3) CAN節點可被設定為不同的發送優先級。以滿足不同的實時要求;
(4) 采用差分驅動,可在高噪聲干擾環境下使用;
(5) 通信距離可達lO km(5Kbps),速率可達1Mbps(40m以內)。
2 數據采集器的結構原理
本文設計的數據采集器綜合考慮了各種現場需求以及線路的優化等因素。設計時選用了專用元器件,以盡量簡化電路,提高電路的可靠性。該數據采集器電路有4路模擬量差分輸入(信號范圍為0~10 V)和2路輸出;開關量則是四路輸入和四路輸出,并有1個CAN總線通信口;CAN通信采用CANOPEN協議方式。
本數據采集器采用單片微機C8051F005作為控制核心,與CAN控制器SJA1000、CAN驅動器82C250及兩片TLP521-4等器件共同組成具有模擬/數字量輸入輸出的接口電路。將C8051F005的P1口的全部口線同兩片TLP521-4的輸入或輸出連接,以作為開關量的數據接口;P0的全部口線則作為與CAN控制器SA1000接口的地址/數據復用總線;P2口的部分口線用于對CAN控制器SJA1000的控制。該數據采集器的結構如圖1所示。
2.1 模擬量采集模塊的設計
模擬量的采集是本系統的關鍵,為了提高數據采集的精度和抗干擾性,模擬量采集模塊采用差分形式。其中4路模擬量輸入通過模擬多路開關進行分時切換。本系統選用高速模擬多路開關DG529,并共用一個前置電路數據送入C8051F005的A/D轉化器進行轉換,這種方案可以大大簡化電路結構,提高效率。具體的前置電路如圖2所示。
該前置電路采取浮動差分形式來提高數據采集的穩定性。先將DG529切換過來的信號送到AD620進行阻抗匹配,之后采用高精度運放OP07并疊加一個1.2 V的電平到信號中間,使之形成浮動差分形式,再經過R7~R10的電阻網絡衰減以及運放LM258的緩沖,送到C8051F005的AIN0、AIN1進行相差之后,進行A/D轉換。二極管D1~D4可保護單片機的口線。
模擬量的輸出則直接用C8051F005的DAC轉換器再經運放放大來實現。
2.2 開關量采集模塊的設計
開關量的輸入采用光耦進行光電隔離,以隔
斷前后通道的電磁聯系,提高抗干擾能力,同時把輸入的開關量轉化為C8051F005的3.3 V的電平標準。開關量的輸出同輸入一樣仍然采用光電隔離。具體電路如圖3所示。
評論