新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > Small RTOS51 下CAN總線數據收發實現

        Small RTOS51 下CAN總線數據收發實現

        作者: 時間:2009-11-05 來源:網絡 收藏

        1 簡介

        現場技術FCS(Fieldbus Control System)成為當今工業自動化技術發展的熱點,德國Bosch公司的(1Mbit/s)是國際標準之一,也是Controller Area Network 的應用標準。它屬于現場范疇,是一種有效支持分布式控制或實時控制的串行通信網絡。由于其高性能、高可靠性、及獨特設計,總線已成為目前國外最普及和實時性最高的現場總線。CAN總線在可靠性和實時性方面遠遠優于RS-485等工業現線CAN總線主要有下列特征:

        1. 信號采用差分電壓傳輸,兩條信號線”CAN_H”和” CAN_L”。

        2. 傳輸介質可用雙絞線、同軸電纜或光纖,具有較強的抗干擾能力。直接通信距離最大可達10km(速率小于5kbit/s),最高通信速率可達1Mbit/s(此時距離最長為40m)。

        3. 節點不分主從,節點任意時刻可向其他節點發送信息,依據優先權進行總線訪問,滿足不同的實時要求。

        4. 采用非破壞性基于優先權總線仲裁技術。

        5. 采用短幀結構,每幀為8bit,保證了出錯率低。

        6. 可以點對點、點對多點及全局廣播方式傳送接收

        7. 發送期間若丟失仲裁或由于出錯而遭破壞的幀可自動重發送。
        2 簡介

        是一個用于8051系列單片機的多任務實時操作系統。8051系列單片機一般只有很少的ROM和RAM資源,如P89C51只有4KB Flash和128字節RAM。一般的實時操作系統如RTX Tiny 雖然小,但是任務沒有優先級和中斷管理,也無源代碼,而uc/os-II規模太大,需要大量外部RAM。基于此, 是專為51 單片機編寫嵌入式操作系統,它使用了RTX51 Tiny 的堆棧管理機制,并像uc/os-II一樣是搶占式的。

        3 一個典型的CAN節點

        3.1.CAN總線接口的結構

        一個CAN總線接口有3 部分組成,如圖(a)所示,它們分別對應于CAN總線的物理層、數據鏈路層和應用層。

        最上層為微控制器,主要負責上層應用以及系統控制,包括CAN協議的應用層協議的,協調各系統設備的工作。(本設計采用的MCU是8051)

        中間層為CAN控制器,CAN控制器負責處理數據幀,完成數據的打包、解包,錯誤界定,并提供報文緩沖和傳輸濾波。(本設計采用的CAN總線控制器是Philips公司生產SJA1000)

        最底層為CAN器,主要是接口電平的轉換,接口電器特性的處理。(本設計采用82C250)

        (a)CAN接口結構



        3.2.節點電路設計

        (1)SJA1000與單片機接口電路



        (b)SJA1000與單片機接口電路

        SJA1000 的AD0-AD7與單片機的數據總線相連,地址A17作為SJA1000的片選使能端,由ALE、WR、RD控制SJA1000 數據的發送和接收。注意SJA1000復位端的連接,單片機是高電平復位,而SJA1000是低電平復位,因此復位信號要通過一個反相器與SJA1000復位端相連。另外SJA1000的11腳MODE接高電平,選擇Intel二分頻模式 。SJA1000的16腳時中斷信號輸出,在中斷允許情況下,有中斷發生時,16腳出現有高電平到低電平的跳變。因此16腳可以直接與單片機的外部中斷輸入腳相連接。

        SJA1000的ODE引腳可選擇接口模式:

        ◆Intel模式MODE高

        ◆M0torola模式MODE低


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 永福县| 兴安县| 新乡市| 临沂市| 鸡西市| 万州区| 东城区| 浠水县| 岚皋县| 同心县| 睢宁县| 建阳市| 龙门县| 平乐县| 丘北县| 宽甸| 图木舒克市| 江源县| 赣榆县| 邢台县| 德令哈市| 瑞丽市| 桂林市| 鄱阳县| 抚松县| 芮城县| 阿合奇县| 通山县| 澜沧| 日照市| 南郑县| 南丰县| 青海省| 大渡口区| 恭城| 乾安县| 南乐县| 武宣县| 阿坝县| 莎车县| 房产|