新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 淺談Small RTOS51 下CAN總線數據收發(fā)實現

淺談Small RTOS51 下CAN總線數據收發(fā)實現

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

3.2.節(jié)點電路設計

 ?。?)SJA1000與單片機接口電路

 ?。╞)SJA1000與單片機接口電路

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

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

  ◆Intel模式 MODE高

  ◆M0torola模式 MODE低

 ?。?)節(jié)點前端物理接口電路的設計

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

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

 ?。?)設計電路注意的問題

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

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

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

  4 在Small RTOS 下CAN節(jié)點的數據接收與發(fā)送實例

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



評論


相關推薦

技術專區(qū)

關閉