版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第12章 綜合實(shí)例——工業(yè)CAN網(wǎng)絡(luò)控制系統(tǒng)節(jié)點(diǎn)設(shè)計(jì),本章通過一個(gè)在工業(yè)上實(shí)際使用的實(shí)例,講解CAN網(wǎng)絡(luò)控制系統(tǒng)的設(shè)計(jì)方法,及其CAN通訊協(xié)議的基本制定過程。通過該實(shí)例,讀者能夠?qū)W習(xí)到CAN網(wǎng)絡(luò)通訊、CAN通訊協(xié)議制定各方面的知識。,12.1 系統(tǒng)結(jié)構(gòu)與分析,在工業(yè)現(xiàn)場,往往需要通過一個(gè)主機(jī)對分布在廠房各處的設(shè)備進(jìn)行控制和監(jiān)控,利用CAN網(wǎng)絡(luò),可以有效的組織各個(gè)設(shè)備的通訊與管理。,12.1.1 工業(yè)CAN網(wǎng)絡(luò)控制系統(tǒng)節(jié)點(diǎn)功能分析,
2、在工業(yè)現(xiàn)場,大部分控制與監(jiān)控只需要對輸入輸出的數(shù)字信號進(jìn)行管理即可,因此本章設(shè)計(jì)的工業(yè)CAN網(wǎng)絡(luò)控制系統(tǒng)節(jié)點(diǎn),需要具備以下的功能。硬件具備足夠數(shù)量的數(shù)字信號輸入端口(>=12);硬件具備足夠數(shù)量的數(shù)字信號輸出端口(>=12);硬件具備總線通訊能力,總線負(fù)荷結(jié)點(diǎn)數(shù)>=50個(gè),通訊能力不小于250kbsp,根據(jù)需要綜合考慮選用CAN總線通訊系統(tǒng);,12.1.1 工業(yè)CAN網(wǎng)絡(luò)控制系統(tǒng)節(jié)點(diǎn)功能分析,硬件具備顯示時(shí)鐘能
3、力,時(shí)鐘可以根據(jù)需要由總線設(shè)置;硬件具備232/485接口,與智能儀表進(jìn)行通訊;硬件具備相當(dāng)?shù)目垢蓴_能力,能夠滿足現(xiàn)場條件的穩(wěn)定運(yùn)行;在滿足上述條件下盡可能減小成本。,12.1.2 工業(yè)CAN網(wǎng)絡(luò)控制系統(tǒng)分析,本章介紹的工業(yè)CAN網(wǎng)絡(luò)控制系統(tǒng),通過CAN網(wǎng)絡(luò)對各個(gè)分布節(jié)點(diǎn)的數(shù)字量輸出信號進(jìn)行控制,同時(shí)監(jiān)控分布節(jié)點(diǎn)的數(shù)字量輸入信號,并通過232/485協(xié)議讀取智能儀表的測量值,通過CAN網(wǎng)絡(luò)采集到系統(tǒng)主機(jī),在各個(gè)節(jié)點(diǎn)處相應(yīng)有LED
4、顯示狀態(tài)。,12.2 CAN總線知識簡介,CAN,全稱為“Controller Area Network”,即控制器局域網(wǎng),是國際上應(yīng)用最廣泛的現(xiàn)場總線之一。最初,CAN是作為汽車環(huán)境中的微控制器通訊而設(shè)計(jì)的,因此在車載各電子控制裝置ECU之間交換信息,形成汽車電子控制網(wǎng)絡(luò)方面得到了大量的應(yīng)用。例如發(fā)動(dòng)機(jī)管理系統(tǒng)、變速箱控制器、儀表裝備、電子主干系統(tǒng)等等,均具備CAN通訊的能力。隨著CAN總線的發(fā)展,CAN總線也被廣泛應(yīng)用于工業(yè)控制。
5、,12.2.1 CAN總線的特點(diǎn),CAN總線是一種多節(jié)點(diǎn)的無主從競爭網(wǎng)絡(luò),其具備以下一些突出的特點(diǎn)。低成本;極高的總線利用率;很遠(yuǎn)的數(shù)據(jù)傳輸距離(長達(dá)10Km);高速的數(shù)據(jù)傳輸速率(高達(dá)1Mbit/s);,12.2.1 CAN總線的特點(diǎn),可根據(jù)報(bào)文的ID決定接收或屏蔽該報(bào)文;可靠的錯(cuò)誤處理和檢錯(cuò)機(jī)制;發(fā)送的信息遭到破壞后,可自動(dòng)重發(fā);節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下具有自動(dòng)退出總線的功能;報(bào)文不包含源地址或目標(biāo)地址,僅用標(biāo)志符
6、來指示功能信息、優(yōu)先級信息。,12.2.2 CAN總線的物理層,CAN總線的物理層通過兩根導(dǎo)線將所有設(shè)備連接到一起,這兩個(gè)導(dǎo)線稱為CANH和CANL。由于CAN協(xié)議沒有對CAN總線的通訊介質(zhì)作出規(guī)定,因此CAN總線的通訊介質(zhì)可以是屏蔽雙絞線或者光纜等常用的通訊線路。如圖所示為簡單的CAN總線拓?fù)浣Y(jié)構(gòu)。,12.2.3 CAN總線的報(bào)文幀,為了實(shí)現(xiàn)CAN總線的通訊功能,CAN通訊協(xié)議中定義了四種不同的通訊報(bào)文幀。 數(shù)
7、據(jù)幀:數(shù)據(jù)幀攜帶數(shù)據(jù)從發(fā)送器至接收器; 遠(yuǎn)程幀:總線單元發(fā)出遠(yuǎn)程幀,請求發(fā)送具有同一識別符的數(shù)據(jù)幀; 錯(cuò)誤幀:任何單元檢測到總線錯(cuò)誤就發(fā)出錯(cuò)誤幀; 過載幀:過載幀用以在先行的和后續(xù)的數(shù)據(jù)幀(或遠(yuǎn)程幀)之間提供一附加的延時(shí)。12.2.3.1 數(shù)據(jù)幀12.2.3.2 遠(yuǎn)程幀12.2.3.3 錯(cuò)誤幀12.2.3.4 過載幀,12.2.4 CAN總線的仲裁,當(dāng)CAN總線上兩個(gè)節(jié)點(diǎn)同時(shí)發(fā)送信息時(shí)
8、,就需要進(jìn)行CAN總線的仲裁。CAN總線以報(bào)文為單位進(jìn)行數(shù)據(jù)傳送,報(bào)文的優(yōu)先級結(jié)合在11位/29位標(biāo)識符中,具有最低二進(jìn)制數(shù)的標(biāo)識符有最高的優(yōu)先級。這種優(yōu)先級一旦在系統(tǒng)設(shè)計(jì)時(shí)被確立后就不能再被更改,總線讀取中的沖突可通過位仲裁解決。當(dāng)CAN網(wǎng)絡(luò)上兩個(gè)節(jié)點(diǎn)同時(shí)發(fā)送消息時(shí),就要發(fā)生CAN總線的仲裁,總線狀態(tài)由節(jié)點(diǎn)中的顯性位所決定,因此,當(dāng)一個(gè)節(jié)點(diǎn)發(fā)送的仲裁域出現(xiàn)隱形位時(shí),節(jié)點(diǎn)將檢查總線狀態(tài)是否與自己狀態(tài)一致,當(dāng)發(fā)現(xiàn)總線被顯性狀態(tài)所占據(jù)時(shí),
9、說明有更高優(yōu)先級的節(jié)點(diǎn)正在發(fā)送信息,該節(jié)點(diǎn)自動(dòng)停止發(fā)送,等待下一次總線空閑時(shí)再嘗試發(fā)送。,12.3 工業(yè)CAN網(wǎng)絡(luò)控制系統(tǒng)節(jié)點(diǎn)硬件電路設(shè)計(jì),在本節(jié)中從各個(gè)子系統(tǒng)詳細(xì)介紹工業(yè)CAN網(wǎng)絡(luò)控制系統(tǒng)節(jié)點(diǎn)的硬件電路設(shè)計(jì),包括單片機(jī)最小系統(tǒng)、CAN控制器電路、CAN收發(fā)器電路、時(shí)鐘顯示電路、輸入輸出控制電路和跑馬燈電路等部分。,12.3.1 AT89S51單片機(jī)最小系統(tǒng)電路,在該設(shè)計(jì)中采用了AT89S51單片機(jī)作為核心處理器,因此在電路中首先需
10、要設(shè)計(jì)的是AT89S51的最小系統(tǒng)。AT89S51單片機(jī)的最小系統(tǒng)電路包含以下幾個(gè)部分:單片機(jī)供電電路:AT89S51需要具有可靠的5V供電,在電路圖中的VCC和GND為供電網(wǎng)絡(luò)標(biāo)識符;振蕩電路:AT89S51需要一個(gè)穩(wěn)定的振蕩電路才能夠正常工作,在該電路采用了24Mhz的晶振作為AT89S51的時(shí)鐘源;復(fù)位電路:復(fù)位電路是單片機(jī)正常運(yùn)行的一個(gè)必要部分,復(fù)位電路應(yīng)該保證單片機(jī)在上電的瞬間進(jìn)行一次有效的復(fù)位,在單片機(jī)正常工作時(shí)將R
11、ST引腳置低。此外通過一個(gè)按鍵進(jìn)行手動(dòng)復(fù)位,在單片機(jī)運(yùn)行不正常時(shí)使用。,12.3.2 CAN總線控制電路,CAN控制器電路采用Philips公司生產(chǎn)的SJA1000并行接口CAN控制器,SJA1000是一款獨(dú)立的控制器,用于汽車和一般工業(yè)環(huán)境中的控制器局域網(wǎng)絡(luò)(CAN)。12.3.2.1 SJA1000的性能指標(biāo)SJA1000是PHILIPS半導(dǎo)體PCA82C200 CAN控制器(BasicCAN)的替代產(chǎn)品,它增加了一種新的工
12、作模式(PeliCAN),這種模式支持具有很多新特性的CAN 2.0B協(xié)議,具體性能指標(biāo)如下。12.3.2.3 SJA1000的濾波工作方式使用SJA1000時(shí)要注意SJA1000的驗(yàn)收濾波器的使用才能夠正確的從CAN總線上接收正確的數(shù)據(jù)。12.3.2.4 SJA1000的接口電路,12.3.3 CAN收發(fā)器電路,CAN收發(fā)器采用Philips公司生產(chǎn)的PCA82C250專用高速CAN收發(fā)器,PCA82C250是CAN協(xié)議控
13、制器和物理總線之間的接口,該器件對總線提供差動(dòng)發(fā)送能力,并對CAN控制器提供差動(dòng)額接收能力,具有體積小,耗電低,工作穩(wěn)定,抗干擾能力強(qiáng)的特點(diǎn)。 12.3.3.1 PCA82C250的性能指標(biāo)12.3.3.2 PCA82C250的引腳定義12.3.3.3 PCA82C250的CAN驅(qū)動(dòng)電路設(shè)計(jì),12.3.4 時(shí)鐘顯示電路,時(shí)鐘顯示采用了共陰極的LED數(shù)碼管,為了減小對單片機(jī)引腳的占用和降低成本,采用Maxim公司生產(chǎn)的MAX
14、7219串行LED數(shù)碼管驅(qū)動(dòng)器,MAX7219是美國MAXIM公司生產(chǎn)的串行輸入/輸出共陰極顯示驅(qū)動(dòng)器。該芯片可直接驅(qū)動(dòng)最多8位7段數(shù)字LED顯示器,或64個(gè)LED和條形圖顯示器。它與微處理器的接口非常簡單,僅用3個(gè)引腳與微處理器相應(yīng)端連接即可實(shí)現(xiàn)最高10MHz串行口。12.3.4.1 時(shí)鐘顯示電路設(shè)計(jì)具體電路設(shè)計(jì)如圖12.23所示,MAX7219與AT89S51單片機(jī)連接采用三線串行接口。對于MAX7219,串行數(shù)據(jù)是以16
15、位數(shù)據(jù)包的形式從DIN腳串行輸入,在CLK的每一個(gè)上升沿一位一位地送入芯片內(nèi)部16位移位寄存器。,12.3.5 數(shù)字量輸入輸出,數(shù)字量輸入/輸出接口電路主要是用于工業(yè)控制時(shí)的邏輯輸入和輸出,設(shè)計(jì)要求大于12路輸入/輸出,由于數(shù)字核心單片機(jī)的引腳有限,要實(shí)現(xiàn)如此之多的輸入輸出必須要進(jìn)行IO擴(kuò)展。如果使用邏輯電路進(jìn)行擴(kuò)展,電路復(fù)雜程度和成本都會(huì)比較高,因此采用Atmel公司生產(chǎn)的AVR單片機(jī)Atmega 48進(jìn)行數(shù)字端口的擴(kuò)展,該單片機(jī)
16、成本只要5元左右,卻能夠?qū)崿F(xiàn)19路的數(shù)據(jù)量,在該電路使用中無需晶振電路,幾乎所有的引腳都可以用來作為IO擴(kuò)展接口,,12.3.6 跑馬燈及其他接口電路,為了調(diào)試方便,在電路中外擴(kuò)了8位跑馬燈,為了減少端口使用,將跑馬燈電路與ID設(shè)置電路進(jìn)行了復(fù)用,具體電路設(shè)計(jì)如圖所示,此外,也為電路留出了RS232接口,CAN和電源接口。,,12.3.7 工業(yè)CAN網(wǎng)絡(luò)控制節(jié)點(diǎn)總電路,由以上的設(shè)計(jì)分析可以得到如圖所示的節(jié)點(diǎn)硬件電路圖。,,12.4
17、 工業(yè)CAN網(wǎng)絡(luò)控制系統(tǒng)通訊協(xié)議設(shè)計(jì),本節(jié)講解工業(yè)CAN網(wǎng)絡(luò)控制系統(tǒng)節(jié)點(diǎn)的通訊協(xié)議設(shè)計(jì),該通訊協(xié)議基于CAN總線在工業(yè)上的標(biāo)準(zhǔn)通訊協(xié)議CANOpen進(jìn)行簡化并制定,本章僅僅選取了部分重要的協(xié)議部分進(jìn)行講解,具體細(xì)節(jié)讀者可以參考CANOpen協(xié)議標(biāo)準(zhǔn)。,12.4.1 拓?fù)浣Y(jié)構(gòu)與接口定義,本章介紹案例的工業(yè)現(xiàn)場控制系統(tǒng)的網(wǎng)絡(luò)拓?fù)鋱D如圖所示,控制主機(jī)通過CAN總線控制現(xiàn)場設(shè)備進(jìn)行數(shù)字量的輸入和輸出操作。,12.4.2 通訊約定協(xié)議,通訊約
18、定協(xié)議是指網(wǎng)絡(luò)中約定的統(tǒng)一通訊參數(shù),通訊約定是所有節(jié)點(diǎn)能夠正常連接的基本條件。12.4.2.1 通信節(jié)點(diǎn)及約束通信節(jié)點(diǎn)包括控制主機(jī)(MCC)和現(xiàn)場設(shè)備節(jié)點(diǎn)(ETN),一個(gè)網(wǎng)絡(luò)允許一個(gè)MCC及一個(gè)或多個(gè)ETN,網(wǎng)絡(luò)中至多允許126個(gè)ETN。,12.4.2 通訊約定協(xié)議,12.4.2.2 信息交換方式網(wǎng)絡(luò)工作在主/從通訊模式,網(wǎng)絡(luò)中只允許MCC和ETN之間的通信,MCC為主設(shè)備,ETN為從設(shè)備。MCC以單播或廣播的方式進(jìn)行通信,
19、ETN接收對應(yīng)ID的單播數(shù)據(jù)和所有的廣播數(shù)據(jù);ETN只向MCC發(fā)送單播數(shù)據(jù)。不允許ETN發(fā)送多播數(shù)據(jù),不允許ETN之間的通信。,12.4.2 通訊約定協(xié)議,12.4.2.3 通信數(shù)據(jù)速率CAN網(wǎng)絡(luò)速率為250Kbps。12.4.2.4 數(shù)據(jù)刷新速率以250Kbps運(yùn)行的CAN網(wǎng)絡(luò),網(wǎng)絡(luò)的滿負(fù)荷幀率約為2000frps。為保證各ETN有足夠時(shí)間處理數(shù)據(jù),ETN發(fā)送幀率小于5frps。,12.4.2 通訊約定協(xié)議,12.4.2
20、.5 幀格式網(wǎng)絡(luò)中采用CAN標(biāo)準(zhǔn)幀進(jìn)行通信,每幀包括11位標(biāo)識符(ID)、數(shù)據(jù)長度碼(DLC)、遠(yuǎn)程傳送請求位(RTR)、最多8個(gè)字節(jié)的數(shù)據(jù)等由用戶設(shè)置的內(nèi)容。此外,每幀還有CAN標(biāo)準(zhǔn)規(guī)定的幀起始、校驗(yàn)、分割、應(yīng)答等。,12.4.3 標(biāo)識符定義,在采用標(biāo)準(zhǔn)幀進(jìn)行通信時(shí),CAN對象標(biāo)識符(COB-ID)為11位,其中高四位為功能代碼,低7位是節(jié)點(diǎn)標(biāo)識符。標(biāo)識符的定義如表12.1所示。12.4.3.1 功能代碼功能代碼定義了功能
21、代碼值的范圍是0x00H – 0x0EH,其中0x00H - 0x02H對應(yīng)于CANOpen中預(yù)定義主從連接集的廣播對象,0x03H – 0x0EH對應(yīng)于CANOpen中主從連接集的對等對象。,12.4.3 標(biāo)識符定義,12.4.3.2 廣播對象廣播對象包括網(wǎng)絡(luò)管理(NMT,Network ManagemenT)模塊控制(Module Control)、同步(SYNC,SYNChronize)、時(shí)間戳(TIME,Time Stam
22、p),如表所示。,12.4.3 標(biāo)識符定義,12.4.3.3 對等對象對等對象包括緊急消息(EMCY,EMergenCY)、過程數(shù)據(jù)對象(PDO,Process Data Object)、服務(wù)數(shù)據(jù)對象(SDO,S1ervice Data Object)、網(wǎng)絡(luò)管理錯(cuò)誤控制(NMT,NMT Error Control)五類。,12.4.3 標(biāo)識符定義,12.4.3.4 節(jié)點(diǎn)標(biāo)識符(NID)分配NID從01H到7EH為ETN所用,
23、7FH(全1)為MCC所用。在實(shí)際的網(wǎng)絡(luò)通信中,所有對等對象的NID始終表現(xiàn)為ETN的NID,即在所有的對等對象通信中,主控電腦發(fā)送的幀以實(shí)驗(yàn)臺節(jié)點(diǎn)的NID作為的地址,實(shí)驗(yàn)臺節(jié)點(diǎn)發(fā)送的幀以自身的NID作為源地址,所有廣播幀的NID為0,如表所示。,12.4.4 過程數(shù)據(jù)對象(PDO),網(wǎng)絡(luò)報(bào)文數(shù)據(jù)共8個(gè)字節(jié),分別表示為Byte 0, Byte 1, …, Byte 7。每個(gè)字節(jié)8位,表示為:b0, b1, …, b7,位序表示為b7
24、, b6, …, b0。即在網(wǎng)絡(luò)上串行發(fā)送數(shù)據(jù)時(shí),每字節(jié)的最高位被首先發(fā)送,最低位被最后發(fā)送。字節(jié)序及位序的定義見如表所示。,12.4.4 過程數(shù)據(jù)對象(PDO),12.4.4.1 PDO1PDO1發(fā)送對象負(fù)責(zé)關(guān)于現(xiàn)場設(shè)備狀態(tài)的一切設(shè)定與讀取,如開關(guān)量設(shè)定、初始狀態(tài)設(shè)定、狀態(tài)讀取、其他數(shù)據(jù)讀取等。PDO1接收對象完成PDO1發(fā)送對象中設(shè)定情況的反饋,依據(jù)命令返回現(xiàn)場設(shè)備的開關(guān)狀態(tài)及其他狀態(tài)。PDO1和PDO2對象成對出現(xiàn)。PD
25、O1發(fā)送的COB-ID為384+NID,數(shù)據(jù)長度為自定義,數(shù)據(jù)幀。PDO1接收的COB-ID為512+NID,數(shù)據(jù)長度為自定義,數(shù)據(jù)幀。,12.4.4 過程數(shù)據(jù)對象(PDO),12.4.4.2 PDO2PDO2發(fā)送對象負(fù)責(zé)向現(xiàn)場設(shè)備上的智能儀表發(fā)送命令,PDO2接收對象將智能儀表的反饋發(fā)送回主機(jī)。智能儀表接在485總線上。PDO2發(fā)送的COB-ID為640+NID,數(shù)據(jù)長度自定義,數(shù)據(jù)幀。PDO2接收的COB-ID為768+NI
26、D,數(shù)據(jù)長度自定義,數(shù)據(jù)幀。,12.4.4 過程數(shù)據(jù)對象(PDO),12.4.4.3 PDO3PDO3用來實(shí)現(xiàn)現(xiàn)場設(shè)備上LCD等顯示信息的控制,現(xiàn)場設(shè)備內(nèi)容的反饋等。12.4.4.4 PDO4PDO4保留,用于未來的使用。,12.4.5 服務(wù)數(shù)據(jù)對象(SDO),服務(wù)數(shù)據(jù)對象參考CANOpen協(xié)議標(biāo)準(zhǔn)CiA DS/301,9.2.2制定。SDO對象用來實(shí)現(xiàn)對現(xiàn)場設(shè)備管理、過程控制等信息。12.4.5.1 SDO(發(fā)送/服
27、務(wù)器)12.4.5.2 SDO(接收/客戶),12.4.6 同步對象(SYNC),同步對象參考CANOpen標(biāo)準(zhǔn)協(xié)議:CiA DS/301,9.2.3制定。同步對象由NMT主機(jī)周期性的廣播發(fā)出,間隔時(shí)間約定為5秒。消息自主機(jī)初始化完畢后開始發(fā)出,所有從節(jié)點(diǎn)在進(jìn)入“預(yù)運(yùn)行”狀態(tài)后,須等待此消息。該對象的COB-ID為128,數(shù)據(jù)長度為0,數(shù)據(jù)幀。,12.4.7 時(shí)間戳對象(TIME),時(shí)間戳對象參考CANOpen標(biāo)準(zhǔn)協(xié)議:CiA
28、DS/301,9.2.4制定。ETN在收到時(shí)間戳對象后,將本地時(shí)間設(shè)定為時(shí)間戳指定的時(shí)間,并重新開始計(jì)時(shí)。由于網(wǎng)絡(luò)傳輸?shù)仍蛟斐傻臅r(shí)間誤差暫不予考慮。該對象的COB-ID為256,數(shù)據(jù)長度為3,數(shù)據(jù)幀。數(shù)據(jù)格式為“時(shí)、分、秒”,數(shù)據(jù)格式為unsigned char,如表所示。,12.4.8 緊急對象(EMCY),緊急對象參考CANOpen標(biāo)準(zhǔn)協(xié)議:CiA DS/301,9.2.5制定。CAN通信過程中,在執(zhí)行某些命令時(shí)發(fā)生的響應(yīng)錯(cuò)誤在
29、相應(yīng)對象中已經(jīng)實(shí)現(xiàn)的,均不在此實(shí)現(xiàn)。另,ETN的嚴(yán)重錯(cuò)誤需要通過SDO對象通知MCC。ETN的其余錯(cuò)誤均通過EMCY發(fā)出,但不影響整個(gè)實(shí)驗(yàn)的進(jìn)行,具體錯(cuò)誤代碼如表所示。,12.5 工業(yè)CAN網(wǎng)絡(luò)控制節(jié)點(diǎn)程序設(shè)計(jì),本章介紹該案例的程序設(shè)計(jì),同樣,對一這樣一個(gè)大的工程,需要將程序利用不同的C文件和H頭文件進(jìn)行組織,該系統(tǒng)程序的工程文件結(jié)構(gòu)。,12.5.1 SJA1000芯片寄存器與關(guān)鍵字定義,SJA1000.h定義了和CAN控制器芯片S
30、JA1000相關(guān)的所有寄存器和控制字,及其SJA1000相關(guān)寄存器地址,具體代碼如下。,12.5.2 SJA1000.c底層驅(qū)動(dòng)函數(shù)庫,SJA1000.c包含了SJA1000的底層驅(qū)動(dòng)函數(shù),具體代碼如下。(具體內(nèi)容請參照本書),12.5.3 時(shí)鐘操作定義,Timer_defs.h頭文件里定義了與時(shí)鐘操作相關(guān)的具體變量,具體代碼如下。(具體內(nèi)容請參照本書),12.5.4 時(shí)鐘操作函數(shù)庫,Timer_funcs.c文件中包含了所有關(guān)于
31、時(shí)鐘操作的函數(shù),是這些函數(shù)的實(shí)體文件,具體代碼如下所示。(具體內(nèi)容請參照本書),12.5.5 485信息定義,_485_defs.h頭文件中包含了485通訊需要的相關(guān)頭文件定義,具體代碼如下所示。(具體內(nèi)容請參照本書),12.5.6 485通訊函數(shù)庫,_485_funcs.c包含了所有關(guān)于485通訊的函數(shù),注意在本案例設(shè)計(jì)中,485驅(qū)動(dòng)芯片是外置,在本案例中僅僅輸入和輸出邏輯信號。(具體內(nèi)容請參照本書),12.5.7 Max721
32、9寄存器與關(guān)鍵字定義,max7219.h中定義了所有關(guān)于LED數(shù)碼管驅(qū)動(dòng)的寄存器和寄存器地址,具體代碼如下所示。(具體內(nèi)容請參照本書),12.5.8 Max7219數(shù)碼管驅(qū)動(dòng)函數(shù)庫,max7219.c定義了操作MAX7219對LED數(shù)碼管進(jìn)行驅(qū)動(dòng)的函數(shù),具體代碼如下。(具體內(nèi)容請參照本書),12.5.9 數(shù)碼管操作函數(shù)庫,DIG_funcs.c函數(shù)中包含了所有關(guān)于數(shù)碼管操作的功能函數(shù),具體代碼如下。(具體內(nèi)容請參照本書),12.5.
33、10 CAN總線操作函數(shù)庫,CAN_funs.c函數(shù)中包含了CAN總線的一般操作函數(shù),這些函數(shù)都是在SJA1000底層函數(shù)的基礎(chǔ)上編寫的,具體代碼如下。(具體內(nèi)容請參照本書),12.5.11 輸入輸出管理函數(shù),atmega48.c是管理節(jié)點(diǎn)19路輸入輸出接口的函數(shù),內(nèi)部實(shí)際上就是和atmega48進(jìn)行SPI通訊的函數(shù),具體代碼如下。(具體內(nèi)容請參照本書),12.5.12 綜合節(jié)點(diǎn)功能函數(shù),該文件是實(shí)現(xiàn)整個(gè)CAN網(wǎng)絡(luò)系統(tǒng)的綜合功能節(jié)
34、點(diǎn),其中的函數(shù)實(shí)現(xiàn)了整個(gè)定義的CAN通訊協(xié)議,具體代碼如下所示。(具體內(nèi)容請參照本書),12.5.13 引腳定義,pin_defs.h定義了所有的引腳功能分布,具體代碼如下所示。(具體內(nèi)容請參照本書),12.5.14 CAN操作函數(shù)聲明,xkcan.h對大部分功能函數(shù)進(jìn)行了聲明,具體代碼如下。(具體內(nèi)容請參照本書),12.5.15 特殊變量定義,xkcan_defs.h定義了在操作中需要用到的一些特殊變量和特殊定義,具體代碼如下。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第12章控制系統(tǒng)的狀態(tài)空間設(shè)計(jì)
- 車載網(wǎng)絡(luò)控制系統(tǒng)及基于CAN的電噴節(jié)點(diǎn)的研究.pdf
- 汽車CAN網(wǎng)絡(luò)控制系統(tǒng)的設(shè)計(jì)研究.pdf
- 第12章 綜合
- 基于CAN總線的工業(yè)控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- can總線的雙機(jī)冗余系統(tǒng)設(shè)計(jì)——工業(yè)控制網(wǎng)絡(luò)課程設(shè)計(jì)
- 基于CAN總線的直流無刷電機(jī)協(xié)調(diào)控制系統(tǒng)智能節(jié)點(diǎn)設(shè)計(jì).pdf
- 第9章 信息系統(tǒng)綜合應(yīng)用開發(fā)實(shí)例
- 工業(yè)控制網(wǎng)絡(luò)課程設(shè)計(jì)論文_基于can總線的大棚溫濕度檢測節(jié)點(diǎn)設(shè)計(jì)__190191921
- 網(wǎng)絡(luò)控制系統(tǒng)節(jié)點(diǎn)驅(qū)動(dòng)方式及其控制研究.pdf
- 第3章內(nèi)容 第5章4控制系統(tǒng)
- 汽車CAN總線網(wǎng)絡(luò)控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 電動(dòng)汽車驅(qū)動(dòng)控制系統(tǒng)及CAN總線網(wǎng)絡(luò)控制系統(tǒng).pdf
- 工業(yè)ct控制系統(tǒng)設(shè)計(jì)
- CAN總線網(wǎng)絡(luò)控制系統(tǒng)設(shè)計(jì)及調(diào)度算法研究.pdf
- 基于CAN總線網(wǎng)絡(luò)控制系統(tǒng)的研究與設(shè)計(jì).pdf
- 基于CAN總線的工業(yè)園區(qū)智能照明控制系統(tǒng)設(shè)計(jì).pdf
- dsp與can總線通信系統(tǒng)設(shè)計(jì)-工業(yè)控制網(wǎng)絡(luò)課程設(shè)計(jì)(論文)
- 控制系統(tǒng)實(shí)例32個(gè)
- 基于CAN總線的網(wǎng)絡(luò)控制系統(tǒng)研究.pdf
評論
0/150
提交評論