新聞中心

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

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

        作者: 時間:2011-09-03 來源:網絡 收藏

        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腳出現有高電平到低電平的跳變。

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

          ◆Intel模式 MODE高

          ◆M0torola模式 MODE低

          (2)節點前端物理接口電路的設計

          (c)節點前端物理接口電路的設計

          使用SJA1000 控制器可完成通信任務,但它的驅動能力不夠,因此外接82C250總線驅動芯片。CAN是控制器局域網絡(Controller Area Network, CAN)的簡稱,是由研發和生產汽車電子產品著稱的德國BOSCH公司開發了的,并最終成為國際標準(ISO118?8)。是國際上應用最廣泛的現場總線之一。 在北美和西歐,協議已經成為汽車計算機控制系統和嵌入式工業控制局域網的標準總線,并且擁有以CAN為底層協議專為大型貨車和重工機械車輛設計的J1939協議。近年來,其所具有的高可靠性和良好的錯誤檢測能力受到重視,被廣泛應用于汽車計算機控制系統和環境溫度惡劣、電磁輻射強和振動大的工業環境82C250是CAN控制器和物理總線間的接口。之所以選擇82C250芯片是因為其具有高速性(最高可達1Mbit/s),具有抗瞬間干擾保護總線的能力。具有降低射頻干擾的斜率控制。此外,它可以與110 個節點相連,防止電池與地之間發生短路,當某一個節點掉電時,不會影響總線。

          (3)設計電路注意的問題

          ◆SJA1000通過光耦與82C250的連接是光電隔離的接法。這樣可以防止線路間的串擾。在總線兩端要接2 個120歐姆的總線阻抗匹配電阻。忽略掉它們會降低總線的抗干擾能力,甚至導致無法通信。

          ◆SJA1000的TX1腳懸空,RX1引腳的電位必須維持在0.5vcc以上,否則將不能行成CAN協議所要求的電平邏輯。

          ◆光耦6N137的輸入端2,3腳的信號輸入極性要與光耦的輸出極性相同,如果電路設計時極性相反,也可以通過軟件編程改變SJA1000的數據輸出極性,從而使單片機的輸出數據與82C250中數據的極性一致。

          4 在Small RTOS 下CAN節點的數據接收與發送實例

          下面將通過一個簡單的實例(需要配置Small 操作系統)來介紹在Small RTOS 下CAN節點的數據接收與發送過程。實例使用兩個CAN節點組成CAN網絡,實現的功能是,每隔一定的定時周期發送一幀數據,同時接收CAN數據,并將接收的CAN數據發送到CAN總線上。LED將顯示收到的數據幀的頭兩個字節。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 梁平县| 峨山| 曲松县| 云龙县| 柘荣县| 黎平县| 阿巴嘎旗| 鹿邑县| 获嘉县| 海丰县| 桐柏县| 横峰县| 铅山县| 高尔夫| 资中县| 余姚市| 张掖市| 丰县| 白水县| 黑山县| 古蔺县| 河西区| 黎川县| 富宁县| 永济市| 南乐县| 万源市| 敦煌市| 云和县| 南阳市| 夹江县| 青川县| 仪陇县| 汕头市| 南岸区| 霍山县| 洪洞县| 祥云县| 新津县| 建宁县| 津南区|