當(dāng)前位置:首頁(yè) > 測(cè)試測(cè)量 > 測(cè)試測(cè)量
[導(dǎo)讀]本文介紹了一種基于單片機(jī)AT89C52的CAN總線分布式測(cè)控系統(tǒng),主要闡述了系統(tǒng)的總體設(shè)計(jì)方案,以及控制模塊和采集模塊的軟硬件設(shè)計(jì),重點(diǎn)是系統(tǒng)中以單片機(jī)為核心的帶有CAN總線接口的設(shè)計(jì),解決現(xiàn)場(chǎng)各傳感器得到的測(cè)量信號(hào)利用單片機(jī)進(jìn)行存儲(chǔ)和處理,然后通過(guò)與CAN控制器的通訊將信息發(fā)送到CAN總線上。

本文介紹了一種基于單片機(jī)AT89C52的CAN總線分布式測(cè)控系統(tǒng),主要闡述了系統(tǒng)的總體設(shè)計(jì)方案,以及控制模塊和采集模塊的軟硬件設(shè)計(jì),重點(diǎn)是系統(tǒng)中以單片機(jī)為核心的帶有CAN總線接口的設(shè)計(jì),解決現(xiàn)場(chǎng)各傳感器得到的測(cè)量信號(hào)利用單片機(jī)進(jìn)行存儲(chǔ)和處理,然后通過(guò)與CAN控制器的通訊將信息發(fā)送到CAN總線上。
 
  1 CAN總線網(wǎng)絡(luò)的技術(shù)特點(diǎn)[1][2]  
  
  用通訊數(shù)據(jù)塊編碼,可實(shí)現(xiàn)多主工作方式,數(shù)據(jù)收發(fā)方式靈活,可實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)、一點(diǎn)對(duì)多點(diǎn)及全局廣播等多種傳輸方式;可將DCS結(jié)構(gòu)中主機(jī)的常規(guī)測(cè)試與控制功能分散到各個(gè)智能節(jié)點(diǎn),節(jié)點(diǎn)控制器把采集到的數(shù)據(jù)通過(guò)CAN適配器發(fā)送到總線,或者向總線申請(qǐng)數(shù)據(jù),主機(jī)便從原來(lái)繁重的底層設(shè)備監(jiān)控任務(wù)中解放出來(lái),進(jìn)行更高層次的控制和管理功能,比如故障診斷、優(yōu)化協(xié)調(diào)等;
 
  采用非破壞性基于優(yōu)先權(quán)的總線仲裁技術(shù),具有暫時(shí)錯(cuò)誤和永久性故障節(jié)點(diǎn)的判別及故障節(jié)點(diǎn)的自動(dòng)脫離功能,使系統(tǒng)其它節(jié)點(diǎn)的通信不受影響;同時(shí),CAN具有出錯(cuò)幀自動(dòng)重發(fā)功能,可靠性高;   
 
  信號(hào)傳輸用短幀結(jié)構(gòu)(8字節(jié)),實(shí)時(shí)性好;
  
  不關(guān)閉總線即可任意掛接或拆除節(jié)點(diǎn),增強(qiáng)了系統(tǒng)的靈活性和可擴(kuò)展性;  
 
  采用統(tǒng)一的標(biāo)準(zhǔn)和規(guī)范,使各設(shè)備之間具有較好的互操作性和互換性,系統(tǒng)的通用性好;   
 
  通訊介質(zhì)可采用雙絞線,無(wú)特殊要求;現(xiàn)場(chǎng)布線和安裝簡(jiǎn)單,易于維護(hù),經(jīng)濟(jì)性好。
 
  總之,CAN總線具有實(shí)時(shí)性強(qiáng)、可靠性高、結(jié)構(gòu)簡(jiǎn)單、互操作性好、價(jià)格低廉等優(yōu)點(diǎn),克服了傳統(tǒng)的工業(yè)總線的缺陷,是構(gòu)建分布式測(cè)控系統(tǒng)的一種有效的解決方案。
 
  2系統(tǒng)總體硬件設(shè)計(jì)方案 
  
  首先,定義各節(jié)點(diǎn)的功能,確定各節(jié)點(diǎn)檢測(cè)或控制量的數(shù)目、類型、信號(hào)特征。這是進(jìn)行微機(jī)測(cè)控系統(tǒng)網(wǎng)絡(luò)化的第一步。原則是盡量避免重復(fù)測(cè)試。智能節(jié)點(diǎn)模塊絕大部分是輸入輸出模塊,調(diào)節(jié)回路可以跨模塊構(gòu)成回路。但考慮到調(diào)節(jié)回路的安全性,為了保證在上位機(jī)或整個(gè)通信線路出現(xiàn)重大故障時(shí)回路調(diào)節(jié)不受到影響,設(shè)計(jì)了隔離型、自整定PID、隔離型溫度調(diào)節(jié)器等帶有調(diào)節(jié)功能的模塊。它們的輸入輸出通道都在同一模塊中,其底層軟件的功能很強(qiáng),所有的輸入處理、輸出增量的計(jì)算(多種調(diào)節(jié)算法可通過(guò)組態(tài)選擇,包括串級(jí)調(diào)節(jié))、輸出,包括自整定模塊的過(guò)程參數(shù)的自動(dòng)識(shí)別都在本模塊實(shí)現(xiàn),保證了調(diào)節(jié)回路的安全性、可靠性。
 
  其次,選擇各節(jié)點(diǎn)控制器和相應(yīng)的CAN適配元件。由于各測(cè)控節(jié)點(diǎn)功能相對(duì)單一,數(shù)據(jù)量少,因此對(duì)CPU的要求大大降低,采用8051系列單片機(jī)即可滿足要求。CAN 總線適配器件主要有:控制器接口、總線收發(fā)器和I/O器件。采用Philips公司生產(chǎn)的82C200CAN控制器和與其配套的82C250CAN收發(fā)器。82C200具有完成高性能通信協(xié)議所要求的全部必要特性。具有簡(jiǎn)單總線連接的82C200可完成物理層和數(shù)據(jù)鏈路層的所有功能。
  
  最后,按照CAN總線物理層協(xié)議選擇總線介質(zhì),設(shè)計(jì)布線方案,連接成CAN總線分布式測(cè)控網(wǎng)絡(luò)。如圖1所示。
 

  3系統(tǒng)的硬件組成[3][4][5]
  (1)CAN總線接口模塊
  ① 微處理器
  目前廣泛流行的CAN總線器件有兩大類:一類是獨(dú)立的CAN控制器,如82C200,SJA1000及Intel 82526/82527等;另一類是帶有芯片CAN的微控制器,如P8XC582及16位微控制器87C196CA/CB等。根據(jù)當(dāng)前市場(chǎng)、開(kāi)發(fā)工具和課題的實(shí)際需要,系統(tǒng)的智能節(jié)點(diǎn)均選用ATMEL 8位單片機(jī)AT89C52為微處理器。
 
  ② CAN控制器
  CAN控制器選用SJA1000作為控制器。SJA1000是高集成度CAN控制器。具有多主結(jié)構(gòu)、總線訪問(wèn)優(yōu)先權(quán)、成組與廣播報(bào)文功能及硬件濾波功能。輸入時(shí)鐘頻率為16MHh時(shí)鐘,輸出可編程控制。由以下幾部分構(gòu)成:接口管理邏輯、發(fā)送緩存器、接收緩存器、位流處理器、位定時(shí)邏輯、收發(fā)邏輯、錯(cuò)誤管理邏輯、控制器接口邏輯等。
 
  SJA1000有很多新功能 :標(biāo)準(zhǔn)結(jié)構(gòu)和擴(kuò)展結(jié)構(gòu)報(bào)文的接受和發(fā)送;64字節(jié)的接收FIFO;標(biāo)準(zhǔn)和擴(kuò)展幀格式都具有單/雙接收濾波器;可進(jìn)行讀/寫訪問(wèn)的錯(cuò)誤計(jì)數(shù)器;可編織的錯(cuò)誤報(bào)警限制:最近一次的錯(cuò)誤代碼寄存器;每一個(gè)CAN總線錯(cuò)誤都可以產(chǎn)生錯(cuò)誤中斷;具有丟失仲裁定位功能的丟失仲裁中斷;單發(fā)方式(當(dāng)發(fā)主錯(cuò)誤或丟失仲裁時(shí)不重發(fā));只聽(tīng)方式(監(jiān)聽(tīng)CAN總線,無(wú)應(yīng)答,無(wú)錯(cuò)誤標(biāo)志);支持熱插拔(無(wú)干擾軟件驅(qū)動(dòng)位速率監(jiān)測(cè))。因此,系統(tǒng)的智能節(jié)點(diǎn)均選用SJA1000作為CAN控制器。
 
  ③ CAN總線收發(fā)器
  CAN總線收發(fā)器選用PCA82C250作為總線收發(fā)器。 PCA82C250是CAN 協(xié)議控制器和物理總線之間的接口。82C250 可以為總線提供不同的發(fā)送性能,為CAN 控制器提供不同的接收性能。而且它與“ISO 11898”標(biāo)準(zhǔn)完全兼容。PCA82C250的目的是為了增大通信距離,提高系統(tǒng)的瞬間抗干擾能力,保護(hù)總線,降低射頻干擾(RFI)實(shí)現(xiàn)熱防護(hù)等。為了進(jìn)一步提高抗干擾措施,在兩個(gè)CAN器件之間使用了由高速隔離器件6N137構(gòu)成的隔離電路。 CAN器件與微處理器的硬件連接如圖2所示。


  硬件電路的設(shè)計(jì)并不太困難,但有幾點(diǎn)應(yīng)引起注意:
  總線兩端兩個(gè)120Ω的電阻,對(duì)于匹配總線阻擾,起著相當(dāng)重要的作用。忽略掉它們,會(huì)使數(shù)據(jù)通信的抗干擾性及可靠性大大降低,甚至無(wú)法通信。
 
  82C50第8腳與地之間的電阻Rs稱為斜率電阻,它的取值決定了系統(tǒng)處于高速工作方式還是斜率控制方式。把該引腳直接與地相連,系統(tǒng)將處于高速工作方式,在這種方式下,為避免射頻干擾,建議使用屏蔽電纜作總線;而在波特率較低、總線較短時(shí),一般采用斜率控制方式,上升及下降的斜率取決于民的阻值,實(shí)驗(yàn)數(shù)據(jù)表明15"200kΩ為Rs較理想的取值范圍,在該方式下,可以使用平行線或雙絞線作總線。
 
  SJA1000的TX1腳懸空,RX1引腳的電位必須維持在約0.5Vcc上,否則,將不能形成CAN協(xié)議所要求的電平邏輯。如果系統(tǒng)傳輸距離近,環(huán)境干擾小,可以不用電流隔離,這樣可直接把82C250的VREF端(約為0.5 Vcc)與RX1腳相連,從而簡(jiǎn)化了電路。
 
  在系統(tǒng)中,SJA1000的片選信號(hào)一般由地址總線經(jīng)譯碼獲得,并由此決定出CAN控制器各寄存器的地址。實(shí)際應(yīng)用中,采用單片機(jī)AT89C52的P2.7為片選信號(hào)。所以,SJA1000的地址為:7F00"7F32H。
 
  當(dāng)上電復(fù)位時(shí),AT89C52的上電復(fù)位,需要從低到高的電平變化來(lái)激活,而SJA1000的17腳RST被激活,需要出現(xiàn)一個(gè)由高電平到低電平的跳變,因此,這必須加一個(gè)反相器。
 
  (2)數(shù)據(jù)采集模塊
  數(shù)據(jù)采集模塊用來(lái)將各類傳感器的數(shù)據(jù)傳送到CAN總線上。整個(gè)電路包括:看門狗X5045,單片機(jī)89C52,鎖存器74LS373,A/D轉(zhuǎn)換器ADC0809以及CAN控制器SJA1000和收發(fā)器82C250。電路板如圖3。

  數(shù)據(jù)采集模塊的工作原理:各類傳感器采集到數(shù)據(jù)后將0—5V的模擬量傳送到ADC0809,0809將轉(zhuǎn)換成的數(shù)字量傳給89C52,最后單片機(jī)將采集到的數(shù)據(jù)送到SJA1000通過(guò)CAN總線收發(fā)器82C250傳上總線,完成數(shù)據(jù)采集工作。
 
  (3)控制模塊
  是一個(gè)帶有CAN通信功能的隔離型控制器。該模塊有一個(gè)數(shù)據(jù)輸入點(diǎn),可以是命令或其他信號(hào),有一個(gè)模擬量輸出,供輸出執(zhí)行機(jī)構(gòu)是連續(xù)變化的控制系統(tǒng)使用,例如控制步進(jìn)電機(jī);還有一路是數(shù)字量輸出,供執(zhí)行機(jī)構(gòu)是兩位式的控制系統(tǒng)使用,例如開(kāi)關(guān)設(shè)備。這個(gè)控制器可以單獨(dú)作為一個(gè)調(diào)節(jié)器使用,因?yàn)樵谠撃K上提供了完整的顯示窗口和操作按鈕,可以設(shè)定溫度設(shè)定值、PID調(diào)節(jié)參數(shù)等運(yùn)行過(guò)程中可以顯示被控對(duì)象的PV值和SV值。
 
  該模塊可以根據(jù)設(shè)定的控制點(diǎn)及升、降的時(shí)間實(shí)現(xiàn)自動(dòng)調(diào)節(jié)。帶有CAN通信口,可以與微機(jī)實(shí)現(xiàn)通信,也就是說(shuō)控制模塊可以接入CAN 網(wǎng)絡(luò)系統(tǒng)。通過(guò)上位機(jī)實(shí)現(xiàn)對(duì)多個(gè)節(jié)點(diǎn)上的控制模塊設(shè)定各控制點(diǎn)的上下限控制點(diǎn)、PID值、實(shí)現(xiàn)時(shí)間等控制參數(shù),并實(shí)時(shí)記錄各控制器的測(cè)量值,描繪出變化曲線,供實(shí)驗(yàn)人員對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析。如圖4所示。

  4系統(tǒng)軟件設(shè)計(jì)
  (1)CAN 總線通訊模塊
  CAN總線測(cè)控系統(tǒng)的通信軟件分為3部分:CAN初始化、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收。
  ① CAN初始化
  其主要是設(shè)置CAN的通信參數(shù)。需要初始化的寄存器有:模式寄存器(Peli CAN模式)、時(shí)分寄存器、接收代碼寄存器、屏蔽寄存器、總線定時(shí)寄存器、輸出控制寄存器等。需要注意的是,這些寄存器僅能在復(fù)位期間可寫訪向,因此,在對(duì)這些寄存器初始化前,必須確保系統(tǒng)進(jìn)入了復(fù)位狀態(tài),并且系統(tǒng)中各CAN控制器的總線定時(shí)寄存器的初始化字必須相同。
 
  ② 數(shù)據(jù)發(fā)送
  現(xiàn)場(chǎng)的各傳感器把環(huán)境多參數(shù)的檢測(cè)信號(hào)(數(shù)字量、模擬量、開(kāi)關(guān)量)進(jìn)行轉(zhuǎn)換處理后,發(fā)向CAN控制器的發(fā)送緩沖區(qū),然后啟動(dòng)CAN控制器的發(fā)送命令,此時(shí)CAN控制器將自動(dòng)向總線發(fā)送數(shù)據(jù),不再需傳感器的微控制器進(jìn)行干預(yù)。若系統(tǒng)中有多個(gè)傳感CAN控制器同時(shí)向總線發(fā)送數(shù)據(jù),則CAN控制器通過(guò)信息幀中的標(biāo)識(shí)符來(lái)進(jìn)行仲裁,標(biāo)識(shí)符數(shù)值最小的CAN控制器具有對(duì)總線的優(yōu)先使用權(quán)。
 
  ③ 數(shù)據(jù)接收
  整個(gè)溫室微機(jī)測(cè)控系統(tǒng)中的CAN控制器檢測(cè)到總線上有數(shù)據(jù)時(shí)會(huì)自動(dòng)接收總線上的數(shù)據(jù),存入其接收緩沖區(qū),并向89C52微控制器發(fā)送接收中斷,啟動(dòng)中斷接收服務(wù)程序,89C52通過(guò)執(zhí)行中斷接收服務(wù)程序,從CAN控制器的接收緩沖區(qū)讀取數(shù)據(jù),并對(duì)其進(jìn)行進(jìn)一步處理工作。
 
  (2)監(jiān)控模塊
  集成了所有的數(shù)據(jù)采集、參數(shù)設(shè)定、數(shù)據(jù)統(tǒng)計(jì)分析等功能。同時(shí),為了實(shí)現(xiàn)操作人員對(duì)生產(chǎn)過(guò)程的人工干預(yù),如修改給定值、控制參數(shù)和報(bào)警限等,添加了參數(shù)的修改功能;為了建立人機(jī)信息聯(lián)系,并且能將各節(jié)點(diǎn)傳輸來(lái)的數(shù)據(jù)以圖形、圖表或其它動(dòng)態(tài)方式顯示出來(lái),本系統(tǒng)可以使用任何具有DDE(Dynamic Data Exchange)接口的MMI(Man-Machine interface)軟件;為了更好的管理各種數(shù)據(jù),采取了組態(tài)控制方式,能夠接收來(lái)自MMI軟件以及用戶軟件的DDE連接請(qǐng)求,并將該請(qǐng)求傳遞給通信驅(qū)動(dòng)部分,由通信驅(qū)動(dòng)轉(zhuǎn)換為通信信號(hào)通過(guò)傳輸媒體傳遞給智能模塊的固化軟件。并將模塊的應(yīng)答作為DDE操作的結(jié)果返回給MMI軟件及用戶軟件。
 
  5 結(jié)論
  將先進(jìn)的現(xiàn)場(chǎng)總線技術(shù)(CAN BUS)應(yīng)用于智能測(cè)控系統(tǒng),大大提高了系統(tǒng)的可靠性;自主開(kāi)發(fā)了符合國(guó)際標(biāo)準(zhǔn)的基于單片機(jī)的智能節(jié)點(diǎn),不僅大量節(jié)約了資金,而且可以購(gòu)置通用的同類設(shè)備,可節(jié)約大量的研發(fā)費(fèi)用;基于工控機(jī)的上位機(jī)提供了良好的人機(jī)界面,使操作更加方便,直觀。
 
  參考文獻(xiàn):
  [1] 林強(qiáng),陽(yáng)憲惠等.現(xiàn)場(chǎng)總線及其網(wǎng)絡(luò)集成.測(cè)控技術(shù),1999,18(5):24-26
  [2] 顧洪軍等.工業(yè)企業(yè)網(wǎng)與現(xiàn)場(chǎng)總線技術(shù)及應(yīng)用.北京:人民郵電出版社,2002.4.265-416
  [3]肖海榮,周風(fēng)余.基于SJA1000的CAN總線系統(tǒng)智能節(jié)點(diǎn)設(shè)計(jì)[J].計(jì)算機(jī)自動(dòng)測(cè)量與控制,2001,9(2)
  [4]鄔寬明.CAN總線原理和應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京航空航天大學(xué)出版社
  [5]獨(dú)立CAN器件SJA1000的應(yīng)用[J].南京工程學(xué)院學(xué)報(bào),2002年3月
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉