新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于CAN總線的數據采集器的設計

        基于CAN總線的數據采集器的設計

        作者: 時間:2012-03-17 來源:網絡 收藏
        引言

        現代工業生產過程一般都是連續或成批的工作,故需要嚴格的過程控制和安全措施。數據采集系統就是對生產環節的數據進行實時采集,并對數據進行處理,從而實現提供生產過程數據和動態監控等功能。在整個生產過程中,數據采集系統發揮著非常重要的作用。為此,本文給出了一種的設計方法,本設計采用CAN(Controller Area Network,控制器局域網絡)總線,具有智能程度高、傳輸效率高、實時性強、適用面廣等特點。

        1 簡介

        CAN(Controller Area Network)為局域網控制總線,符合國際標準。最初是由德國的BOSCH公司為汽車的監測、控制系統設計的,屬于總線式通訊網絡。規范了任意兩個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所示。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 鹤岗市| 双峰县| 长海县| 元谋县| 承德县| 高雄县| 天峨县| 新密市| 天台县| 叙永县| 徐水县| 汾阳市| 东乡县| 瓮安县| 尉犁县| 方山县| 凤山市| 夏河县| 元江| 原平市| 伊金霍洛旗| 六枝特区| 甘孜县| 木里| 扶绥县| 池州市| 娱乐| 株洲市| 永吉县| 刚察县| 长乐市| 三河市| 汉寿县| 棋牌| 辉县市| 张掖市| 金湖县| 绵竹市| 桑日县| 同德县| 东乌|