新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于CAN總線的數(shù)據(jù)采集器的設計

        基于CAN總線的數(shù)據(jù)采集器的設計

        作者: 時間:2012-03-17 來源:網(wǎng)絡 收藏

        2.3 通信模塊的結構

        通信系統(tǒng)主要由CAN通訊控制器SJA1000、CAN通訊驅動電路82C250和光電隔離部分構成。通信模塊負責實現(xiàn)現(xiàn)場總線體系結構的邏輯鏈路控制(LLC)子層、媒體訪問控制(MAC)子層和物理層的功能,完成具體數(shù)據(jù)的可靠接收和發(fā)送。CAN控制器SJA1000與物理總線接口芯片82C250連接。為了保護內部的芯片并提高抗干擾能力,在SJA1000與82C250之間加入光耦進行隔離。考慮CAN網(wǎng)絡具有較高的傳輸速率,普通光耦的速度是不夠的,所以,本設計選用高速光耦(6N137)作為隔離器件,而且光耦部分電路所采用的兩個電源也必須完全隔離,否則光耦也就失去了意義。SJA1000與82C250的電路連接如圖4所示。

        3 CAN通信的設計

        的通信采用CANopen協(xié)議來實現(xiàn)。CANopen是基于CAN串行通訊的網(wǎng)絡系統(tǒng),CANopen規(guī)范覆蓋了應用層和通訊協(xié)議子集、程序設備的構造、推薦的電纜和接頭形式、SI單位和前綴解釋等,因而可保證不同廠家CAN控制器在通訊、聯(lián)接和具體控制以及軟件開發(fā)方面的一致性,從而給系統(tǒng)的使用和維護帶來極大方便,圖5是其參考模型。

        在CANopen應用層中,設備通訊和應用程序對象將得到交換,所有這些對象均可通過16位索引和8位子索引進行訪問,這些對象(COB)將會被映射到一個或更多的已經(jīng)預定義和配置好的幀中。圖6是CAN各協(xié)議層的訪問方式示意圖。通過對象索引,數(shù)據(jù)對象在應用層進行處理和訪問將更加方便和直接。

        CAN協(xié)議具體包括如下幾個方面:

        (1) 標識符

        采用11位標識符,數(shù)據(jù)鏈路層與CAN2.0A相同。

        (2) 網(wǎng)絡中的主從節(jié)點關系

        一個CANopen系統(tǒng)必須有一個且僅有一個主節(jié)點,但可以有多個從節(jié)點(0~126),其中主節(jié)點具有啟動網(wǎng)絡、停止網(wǎng)絡、節(jié)點檢查、網(wǎng)絡引導等特殊功能。

        (3) PD0協(xié)議

        在CANopen協(xié)議中,CAN的數(shù)據(jù)信息可被看作是一種過程數(shù)據(jù)對象PDO (Process Data Ob-ject),它是設備傳送處理信息的標準方式。PDO發(fā)送端可看作為PDO生產者,而PDO接收端則可比喻成PDO的消費者,這種通訊為一點對多點的方式。

        (4) SDO服務

        SDO(Services Data Object服務數(shù)據(jù)對象)可提供一種獲得指定節(jié)點相關狀態(tài)數(shù)據(jù)的手段。當SDO客戶端發(fā)送一個數(shù)據(jù)請求后,服務端便發(fā)送相應的數(shù)據(jù)回應,這與原CAN協(xié)議中的遠程數(shù)據(jù)幀類似。

        (5) 預定義連接集

        CANopen規(guī)定了預定義的連接集,以簡化網(wǎng)絡的配置和使用。

        (6) 發(fā)送和接收PDO

        CANopen規(guī)定了相應的內存區(qū)以用于發(fā)送和接受網(wǎng)絡上的數(shù)據(jù)。這相當于c語言中直接對地址進行操作,因而可實現(xiàn)PDO數(shù)據(jù)的完全透明傳送,從而給程序編制帶來極大方便。

        4 結束語

        現(xiàn)場總線技術是自動化控制領域的一次重大變革,本文所設計的系統(tǒng)正是為適應這一變革所做的積極的探索。應用實踐證明,基于CAN現(xiàn)場總線的不僅可靠性高,而且比通常采用PLC系統(tǒng)配置更為靈活,相信該系統(tǒng)將更加廣泛的應用于工業(yè)生產的各個方面。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 江达县| 诸暨市| 陇西县| 潮州市| 德庆县| 潼南县| 长宁区| 隆安县| 伊通| 灵石县| 泰来县| 紫金县| 琼海市| 贺州市| 邹平县| 永兴县| 莱芜市| 咸宁市| 岳阳市| 利辛县| 塔河县| 本溪| 临夏县| 正阳县| 廊坊市| 福贡县| 陇西县| 远安县| 临漳县| 澄城县| 长丰县| 西乌珠穆沁旗| 楚雄市| 林甸县| 江北区| 玛沁县| 浑源县| 清流县| 德兴市| 珠海市| 定安县|