《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于C8051F550的CAN總線智能節點的設計
基于C8051F550的CAN總線智能節點的設計
摘要: CAN總線最早是德國的BOSCH公司為解決汽車的監測,控制系統而設計的。現在,已由汽車行業擴展到過程工業,機械工業,機器人和樓宇自動化等領域。總結各個領域中的應用實例,CAN通信設計的關鍵在于各個通信模塊的設計與實現。通信信號一般有模擬量輸入/輸出(電壓電流采集模塊),開關量輸入\輸出,數字量輸入\輸出(如計數器模塊)等。本文重點就模擬量輸入模塊和開關量輸入模塊的設計,采用具有CAN接口的C8051F550單片機作為系統設計的從節點,用來采集模擬量和開關量,實現與上位機中央控制器的通信。
Abstract:
Key words :
  CAN總線最早是德國的BOSCH公司為解決汽車的監測,控制系統而設計的。現在,已由汽車行業擴展到過程工業,機械工業,機器人和樓宇自動化等領域。總結各個領域中的應用實例,CAN通信設計的關鍵在于各個通信模塊的設計與實現。通信信號一般有模擬量輸入/輸出(電壓電流采集模塊),開關量輸入\輸出,數字量輸入\輸出(如計數器模塊)等。本文重點就模擬量輸入模塊和開關量輸入模塊的設計,采用具有CAN接口的C8051F550單片機作為系統設計的從節點,用來采集模擬量和開關量,實現與上位機中央控制器的通信。

  1 CAN總線通信網絡系統

  如圖1所示,本設計中通過帶有終端器(120歐電阻)的通信介質(雙絞線)將上位機和底層模塊連接起來。實驗中,終端電阻和雙絞線阻抗的匹配確保了數據信號不會在總線的兩端反射。上位機(主節點)采用USB—CAN接口適配器(型號GYB507),使PC機直接通過USB接口就可連入CAN總線網絡,成為一個標準的CAN節點。配合總線通信測試軟件CANtool的使用,可直接配置PC機的發送與接收狀態,通信速率和報文濾波功能等。同時,還可實時監測顯示網絡中各從節點與PC機的數據通信,應用簡單、方便。

a.jpg

  2 智能節點硬件設計

  傳統的從節點設計是將CPU與CAN總線控制器和總線收發器相連后再連入總線網絡,這樣使CPU外圍電路復雜化,整個系統受外部影響較大。為了解決這一問題,很多單片機廠商都將CAN控制器集成在單片機上。本文中選用C8051F550該單片機,它是內部集成的CAN控制器,完全按照BoshchCAN全功能的CAN模塊實現,符合CAN2.0B協議,工作位速率可達1Mpbs。控制器包含有一個CAN內核,消息緩沖區,報文處理狀態機和CAN控制寄存器。通信控制器有32個消息對象,可以配置為發送或接收數據。輸入數據,消息對象及其標識符存儲在CAN消息緩沖區中,能實現CAN協議的數據鏈路層的全部功能及物理層大部分功能。CIP-51CPU可通過特殊功能寄存器直接或間接訪問CAN控制寄存器(CANOCN),測試寄存器(CANOTST)和狀態寄存器(CANOSTA)。所有其它寄存器只能通過CANOADR,CANODATH和CANOTAL寄存器以地址索引方式間接訪問。

  CAN總線的驅動器采用隔離CAN總線收發器CTM1050,通信速率1Mbps,至少可連接110個節點。內部集成的電氣輸入級隔離電路,可隔離高達2 500V的直流電壓。輸入級兼容3.3V和5V的CAN控制器,輸出級驅動具有溫度保護,內部TVS管可防止總線過壓功能。與傳統的PCA82C250總線收發器相比,主要優點是無需外加光耦可直接使用,外圍電路簡單,安全,可滿足工業現場惡劣條件的使用。圖2所示為C805117550與CTM1050的接口電路。

b.jpg

  3 智能節點軟件設計

  圖1中三個節點與上位機的通信方式采用的是節點1、3與上位機實現點對點通信工作方式。節點1、3的微處理器C8051F550上電復位后,自動采集模擬電壓信號,通過C8051F550內部集成的12位A/D轉換,將數字量發送到上位機。上位機實時進行數據監控,如果收到的數據出現錯誤,可以通過CANtool軟件,發送自定義的錯誤數據標識給兩個節點,兩節點收到該數據后,停止A/D采樣工作。節點1、3與節點2是主從工作方式。當節點2的開關量有按鍵按下時,1、3節點將實時采集到的數據在發送給節點2,并在節點2的LCD上顯示。

  3.1 初始化CAN控制器

  C8051F550上電復位后,控制寄存器CANOCN的INIT位和CCE位置‘1’。允許寄存器初始化并寫入設置信息。需要寫入的寄存器主要包括位定時寄存器和擴展寄存器,命令掩碼寄存器。主要完成時序參數的配置和消息對象的初始化。本設計中,使用晶振頻率為11.05MHz,位定時設置為996.65~1000ns。初始化程序如下:

c.jpg

  3.2 CAN中斷服務程序

  C8051F550的CAN支持的中斷方式有狀態中斷和模塊中斷。狀態中斷方式是在報文成功傳輸或檢測到CAN總線出錯時發生的。模塊中斷也稱消息中斷。CAN控制器允許用戶按需求配置消息對象成為中斷源。通過設置消息控制寄存器的中斷懸掛位可實現此功能。在CAN中斷寄存器中以最高優先級來指向這些掛起的中斷,而不考慮時序。狀態中斷有最高優先級,讀取狀態寄存器會自動清除狀態中斷值(8000h)。消息中斷優先級是隨消息編號的增加而減小。消息中斷是由清除消息對象的INTPND位來清除的。中斷服務流程圖如圖3所示。

d.jpg

  4 結束語

  本系統的總線通信網絡已實現三個節點與上位機的連調,系統軟件采用結構化程序設計方案,使其具有較好的模塊化和可移植性,對于不同的系統功能或不同的應用環境,可以方便地進行編程重組。

  本文設計的CAN總線通信網絡中的主從智能節點經過試驗調試,硬件電路工作正常,在總線數據采集系統中抗干擾能力強。軟件部分實時性強,準確率高。從節點可以實時地將信息傳送給主節點,以便主節點實時監控。整個節點通信系統工作穩定,可以滿足現場環境要求。

  在設計過程中,認識到目前基于CAN2.0B協議的CAN控制器無法為實時和非實時性數據動態分配優先權,基于事件觸發模式的訪問機制無法滿足眾多節點的實時訪問。



 

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 欧美日韩国产成人精品| 黄色a视频在线观看| 无料エロ同人志エロ漫汉化| 亚洲成在人线在线播放无码| 美女被免费视频网站a国产| 国产精品29页| a级亚洲片精品久久久久久久| 日本天码aⅴ片在线电影网站| 亚洲成av人片在线观看无码| 精品人妻无码一区二区色欲产成人| 国产成人亚洲精品无码车a| 92午夜少妇极品福利无码电影| 成人毛片全部免费观看| 久久精品欧美日韩精品| 欧美牲交a欧美牲交aⅴ免费真| 午夜dj免费在线观看| 青青青青青免精品视频| 国产精品免费拍拍1000部| chinese乱子伦xxxx国语对白| 无忧传媒视频免费观看入口| 亚洲1区1区3区4区产品乱码芒果 | 精品国产免费一区二区三区香蕉| 国产成人无码av在线播放不卡| 91欧美在线视频| 好大好湿好硬顶到了好爽视频| 久久久www成人免费精品| 最近中文字幕免费完整国语| 亚洲欧美性另类春色| 男女边摸边做激情视频免费| 四虎永久在线精品视频| 黄大片a级免色| 国产精品亚洲一区二区三区在线观看| 99视频在线免费看| 性欧美16sex性高清播放| 久久久久久久久国产| 日韩毛片免费在线观看| 亚洲午夜成人片| 欧美综合婷婷欧美综合五月| 伊人热热久久原色播放www| 美女把腿扒开让男人桶免费| 国产免费拔擦拔擦8x|