《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > CAN總線在多機通信中的應用
CAN總線在多機通信中的應用
于 淼 黑龍江大慶職業學院
摘要: 設計了多個CAN總線的通信節點,通過PCI9810-CAN適配卡上的CAN總線,組成一個局域通信網絡,實現了PC機對各個節點的監控和通信以及節點間的自由通信。
Abstract:
Key words :

    隨著微處理器的發展,利用微處理器對工業生產過程進行控制已成為趨勢。在工業控制過程中,由于大量數據信息的共享和傳輸,傳統的串行通信模式已不能滿足要求。在工業控制領域中,需要一種抗干擾性強、可靠性高、傳輸速度快和傳輸距離長的總線結構。CAN總線技術不僅滿足上述要求,而且還能實現多點間的信息傳遞。本文使用PCI9810-cAN適配卡上的CAN總線組成局域網絡,實現多微處理器間的信息傳遞和PC機對多處理器的檢控、通信。

1 CAN總線簡介
    CAN(Controller Area Networks)總線,最早是由德國Bosch公司開發用于局域網控制的總線技術。CAN總線采用傳統的雙線串行通信方式,具有診斷能力,抗電磁干擾,其最陜傳輸速率可達1 Mb·s-1,最長通信距離可達10 km(此時的傳輸速率大約為40 kb·s-1)。在CAN總線組成的局域網絡中,通信節點之間不采用主從方式,而是具有總線訪問優先權,通信方式靈活,可實現點對點,一點對多點及廣播方式傳輸數據。

2 系統通信模塊的硬件設計
    CAN總線是由PCI9810-CAN適配卡提供,本文主要完成通信節點的設計。通信節點不僅可以和PC機進行信息交換,還可獨立與其他各節點通信。微處理器在需要和主機或其它節點通信時,其通過P0口向SJA1000T的寄存器發送信息,再由PCA82C250把信息傳遞到CAN總線上。主機和其他通信節點判斷接收報文的標識符,將對接收到的信息作相應的處理,從而實現通信功能,如圖1所示。

a.jpg


    在設計過程中,為了滿足多微處理器間通信的實時性和可靠性要求,結合CAN控制器的特點,對圖1作簡單介紹:
    (1)收發器PCA82C250的引腳8(Rs)有3種工作方式:高速,斜率控制和待機。斜率控制方式具有抗射頻干擾的功能,所以采用47 kΩ的電阻連接引腳8,實現斜率控制方式。
    (2)圖1中應為兩個高速光電耦合隔離器件6N137,由于6N137輸出引腳的驅動能力不夠,需要連接一個約390 Ω的上拉電阻,以增加輸出引腳的驅動能力。兩個光電耦合隔離器件6N137的電源信號采用5 V的DC-DC隔離模塊WRA0505P,以增強系統的抗干擾能力。
    (3)收發器PCA82C250的CANH和CANL引腳各自由通過一個5 Ω的電阻與CAN總線相連,電阻起到一定的限流作用,保護PCA82C250免受CAN總線上的過流沖擊。
    (4)收發器PCA82C250的CANH和CANL引腳與電源地之間分別反接一個保護二極管和30 pF的電容,可以起到CAN總線的過壓保護作用和過流沖擊。
    (5)CAN控制器SJA1000T輸入方式有2種:Intel輸入方式和Motorola輸入方式。在此采用Intel輸入方式,所以SJA1000T的MODE引腳接高電平。
    (6)設計僅用到TX0和RX0引腳,根據SJA1000T通信協議所要求的輸入/輸出邏輯電平關系,SJA1000T的TX1腳懸空,RX1引腳的電位必須維持在0.5 Vcc以上,所以在TX1引腳接上約6.8 kΩ和3.6 kΩ分壓電阻。
    (7)微處理器C51的引腳P2.7接CAN控制器SJA1000T的片選信號/CS,可知CAN控制器SJA1000T的寄存器首地址為8000H。處理器C41和CAN控制器SJA1000T共用12 MHz的晶振,以提高通信速率。
    通過上述分析,設計的電路原理圖,如圖2所示。

b.jpg



3 系統通信模塊的軟件設計
    通信模塊的軟件由3部分組成:初始化程序,發送程序和接受程序。僅這3部分程序,就能完成通信節點間信息的傳遞。要將CAN總線應用于更復雜的通信系統中,還要考慮CAN總線的錯誤處理,超載處理等功能和節點間的計算方法。由于每個通信節點都有自己的MCU,所以它們之間可以自由通信。通過CAN收發器PCA82C250的引腳CANH和CANL對總線輸出,使總線表現“顯性”,這時可發送信息。判斷總線表現為“顯性”時,就要為接受信息做好準備。
3.1 CAN控制器SJA1000T初始化程序
    該程序首先進入復位狀態,設置SJAl000T的模式寄存器MR為Basic CAN模式,驗收碼寄存器ACR和屏蔽碼寄存器AMR,再設置定時器0和定時器1,輸出控制寄存器OCR,重新設置控制寄存器CR,返回到正常工作模式下。初始化程序流程圖如圖3所示。

c.jpg


3.2 發送程序
    此系統采用中斷方式發送信息,這樣能節省資源,提高通信效率。需要發送信息時,先將信息組合成一幀報文:數據幀或遠程幀。進入發送程序后,首先關閉中斷,保護現場,讀中斷寄存器是否為發送中斷,將報文寫入發送緩沖區,設置命令寄存器允許發送,開中斷。發送程序流程圖,如圖4所示。

d.jpg


3.3 接受程序
    此系統仍采用中斷方式接收信息。接收程序比較復雜,需要對錯誤報警,接收溢出等情況作進一步的處理。信息報文通過CAN總線被送入接收緩存器中,接收中斷被置位,處理器從控制器SJA1000T的緩存器內讀取信息,再設置新的接收標志,開中斷。接收程序流程圖如圖5所示。

e.jpg



4 結束語
    把多個通信節點連接到PCI9810-CAN適配卡上的CAN總線,構成一個局部通信網絡,從而實現PC機對多通信節點的檢控和信息傳送,通信節點間的高速通信。在實際中,可以實現約110個通信節點間的通信,但系統比較復雜,通信效率降低,就需要考慮PCI9810-CAN適配卡和通信節點的程序改進和相應算法的應用。在多機通信系統的設計過程中,主要是通過軟件的編寫,提高系統的高速傳輸性。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产精品美女一区二区三区 | 99视频国产精品 | 男人精品一线视频在线观看 | 午夜久久久久久久 | 97在线播放 | 亚洲最大网址 | 日韩在线资源 | 精品国产精品国产 | 国内久久久久影院精品 | 成人国产综合 | 亚洲精品久久久久久久无 | 亚洲一区2区三区4区5区 | 一级绝黄| 视频偷拍一级视频在线观看 | 亚洲一区二区免费 | 美国毛片一级视频在线aa | 国产免费人成在线看视频 | 最新国产三级在线观看不卡 | 久久久亚洲欧洲日产国码二区 | 91久久99久91天天拍拍 | 欧美一级做一a做片性视频 欧美一级做一级爱a做片性 | 亚洲欧美日韩在线一区 | 国产亚洲精品福利片 | 精品国产v无码大片在线观看 | 男人透女人超爽视频免费 | 老司机毛片 | 亚洲欧美高清 | 欧美精品免费看 | 国产片毛片 | a级国产乱理伦片在线观看国 | 欧洲一级视频 | 国产精品成人一区二区三区 | 一本大道香蕉久在线不卡视频 | 第一色网站 | 一区二区不卡久久精品 | 国产67194| a一级毛片免费高清在线 | 韩国毛片在线 | 亚洲精品国产精品国自产观看 | 欧毛片 | 成人男女网18免费看 |