新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于AT89C51型單片機的CAN總線智能節點設計

        基于AT89C51型單片機的CAN總線智能節點設計

        作者:李金剛 劉永鴻 時間:2008-07-11 來源:國外電子元器件 收藏

          1 引言

        本文引用地址:http://www.104case.com/article/85600.htm

          CAN(Controller Area Network)是控制器局域網,主要用于各種設備檢測及控制的現場總線。是德國BOSCH公司20世紀80年代初為解決汽車中眾多控制與測試儀器間的數據交換而開發的串行數據協議。這是一種多主總線,無論是在高速網絡還是在低成本的節點系統,應用都很廣泛。由于采用了許多新技術及獨特的設計,與一般的總線相比,的數據具有突出的可靠性、實時性和靈活性,其主要特點如下:

          ●通信方式靈活,可以多主方式工作,網絡上任意一個節點均可以在任意時刻主動向網絡上的其他節點發送信息,不分主從。

          ●CAN節點只需對報文的標識符濾波即可實現點對點、點對多點及全局廣播方式發送和接收數據,其節點可分成不同的優先級,節點的優先級可通過報文標識符進行設置,優先級高的數據最多可在134μs內傳輸,可以滿足不同的實時要求。

          ●通信格式采用短幀格式,每幀字節數量多為8個字節,可滿足一般工業領域中控制命令、工作狀態及測試數據的要求,同時,8個字節不會占用總線時間過長,保證了通信的實時性。

          ●采用非破壞性總線仲裁技術,當多個節點同時向總線發送信息出現沖突時,優先級低的節點會主動退出數據發送,而優先級高的節點可不受影響地繼續傳輸數據,大大節省了總線沖突仲裁時間,在網絡重載的情況下也不會出現網絡癱瘓。

          ●直接通信距離最大可達10 km (速率在5 kb/s以下),最高通信速率可達1 Mb/s (此時距離最長為40 m);節點數可達110個,通信介質可以是雙絞線、同軸電纜或光導纖維。

          ●CAN總線采用CRC檢驗并可提供相應的錯誤處理功能,保證數據通信的可靠性,其節點在錯誤嚴重的情況下具有自動關閉輸出功能,使總線上其他節點的操作不受影響。

          2 CAN總線系統結構

          由于CAN總線采用多主方式工作,所以具有與DCS(分布式控制系統)不一樣的拓撲結構。其控制系統由計算機和組成,如圖1所示。該系統最大的特點是所有的節點都能以平等的地位掛接在總線上。1個總線節點通常至少包括3部分:控制節點任務的、總線控制器及總線驅動器。本文主要介紹CAN總線的簡單設計。由89C5l型、SJA1000型總線控制器、82C250型總線驅動器及PC構成。在實際應用中可以連接不同的傳感器件,完成數據的采集和傳輸。

          3 硬件電路設計

          筆者設計的CAN總線系統智能節點采用Intel公司的AT89C51型作為節點的微處理器。AT89C51具有64KB的尋址空間。本身不帶CAN控制器,所以要實現與CAN總線之間的通信需外加CAN控制器和CAN驅動器。在本設計中采用SJAl000型CAN總線通信控制器和AT82C250型總線驅動器。

          CAN總線系統智能節點硬件電路如圖2所示。從圖2可以看出,硬件電路主要由AT89C51、SJAl000、AT82C250、6N137型高速光電耦合器和MAX202型電平轉換器件組成。AT89C51負責SJAl000的初始化,控制SJAl000實現數據的接收和發送等通信任務。MAX202用于TTL電平與RS232電平的相互轉換,可以將接收的數據顯示在PC上。SJAl000的ADO-AD7連接到AT89C51的P0口,CS連接到AT89C51的P2.7。P2.7為0時,CPU片外存儲器地址可選中SJA1000,CPU通過這些地址可對SJAl000執行相應的讀/寫操作。SJAl000的RD、WR、ALE分別與AT89C51的相應引腳相連,SJAl000的INT接AT89C51的INTl,AT89C51也可通過中斷方式訪問SJA1000。

          為了增強總線節點的抗干擾能力,SJAl000的TX0和RX0并不直接與82C250的TXD和RXD相接,而是通過6N137與AT82C250相接,這樣,很好地實現了總線上各節點間的電氣隔離。不過,光耦電路用的2個電源VCC和VDD必須隔離。電源的完全隔離可采用小功率電源隔離模塊實現。這雖然增加了接口電路的復雜性,但卻提高了節點的穩定性和安全性。

          AT82C250與總線的接口也采取了一定的安全和抗干擾措施。AT82C250的CANH引腳和CANL引腳各自通過1只5 Ω的電阻器與總線相連,電阻器可起到一定的限流作用,保護AT82C250免受過電流沖擊。CANH和CANL與地之間并聯了2只30pF的小電容器,可以濾除總線上的高頻干擾并具有一定的防電磁輻射能力。另外,在2條CAN總線輸入端與地之間分別接了1個防雷擊管,當2個輸入端與地之間出現瞬變干擾時,防雷擊管的放電起到一定的保護作用。AT82C250的RS引腳接1只斜率電阻器,其阻值的大小可根據總線通信速度適當調整,一般在16 kΩ~140 kΩ之間。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 茶陵县| 延边| 东宁县| 从化市| 睢宁县| 信阳市| 会昌县| 镇雄县| 通州区| 永嘉县| 福安市| 荣成市| 尤溪县| 蚌埠市| 龙岩市| 安图县| 乌审旗| 呼图壁县| 玉屏| 六枝特区| 商南县| 洪江市| 资溪县| 泊头市| 石泉县| 平度市| 顺义区| 孟州市| 手游| 旺苍县| 体育| 枣阳市| 阿勒泰市| 龙岩市| 息烽县| 曲阳县| 新沂市| 张家港市| 津市市| 华容县| 从江县|