版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 . . . 一、現(xiàn)場總線、現(xiàn)場總線系統(tǒng)(FCS)、現(xiàn)場總線智能節(jié)點現(xiàn)場總線現(xiàn)場總線是一種工業(yè)數(shù)據(jù)總線,它主要解決現(xiàn)場的智能化儀表、控制器、協(xié)作機構(gòu)等現(xiàn)場設(shè)備間的數(shù)字通訊以與這些現(xiàn)場設(shè)備和高級控制系統(tǒng)之間的信息傳遞問題。近年來,國際上形成了多種成熟的現(xiàn)場總線,較為著名的有過程現(xiàn)場總線PROFIBUS(Process Fieldbus)、基金會現(xiàn)場總線FF(Foundation Fieldbus)、控制器局域網(wǎng)現(xiàn)場總線CANbus(Control Area Network)、可尋址遠(yuǎn)程傳感器數(shù)據(jù)通路(HART)和局部操作網(wǎng)絡(luò)(LONWORKS)。從資料分析和應(yīng)用實踐來看,F(xiàn)F、LONWORKS或
2、HART與國的技術(shù)狀況和承受能力有一定距離。CAN總線更適合我國國情,其通信芯片價格較為低廉。本項目研制的智能節(jié)點就采用了CAN總線技術(shù)。CAN總線是德國BOSCH公司從80年代初為解決現(xiàn)代汽車中眾多的控制與測量儀器之間的數(shù)據(jù)交換而開發(fā)的一種串行數(shù)據(jù)通信協(xié)議。他是一種多主總線,通信介質(zhì)可以使雙絞線、同軸電纜和光導(dǎo)纖維。通信速率可達(dá)1Mbps 。歸納起來,CAN總線主要有以下特點:(1)、網(wǎng)絡(luò)中任一節(jié)點均可作為主節(jié)點,主動發(fā)送數(shù)據(jù)。解決了許多傳統(tǒng)總線的從節(jié)點無法主動向其他節(jié)點發(fā)送數(shù)據(jù)的難題,給用戶的系統(tǒng)設(shè)計提供了極大的靈活性。(2)、CAN網(wǎng)絡(luò)中節(jié)點可分優(yōu)先權(quán)滿足不同要求。(3)、抗干擾能力強,
3、速度快,且工程簡單,普通雙絞線40米時可達(dá)1Mbps 。(4)、調(diào)試維護(hù)方便。(5)、CAN用戶可以定義自己的CAN語言,即子層數(shù)據(jù)協(xié)議,然而這個協(xié)議需遵守ISO/OSI參考模型的第7層(應(yīng)用層)標(biāo)準(zhǔn)。當(dāng)然,用戶也可以使用標(biāo)準(zhǔn)的CAN子層數(shù)據(jù)協(xié)議,如工業(yè)標(biāo)準(zhǔn)CAN協(xié)議Allen-Bradleys DEVICE net ,直接利用它們進(jìn)行方案開發(fā),通過這些數(shù)據(jù)協(xié)議,建立了應(yīng)用層與物理層之間的聯(lián)系。(6)、CAN協(xié)議采用CRC校樣并可提供相應(yīng)的錯誤處理功能,保證數(shù)據(jù)的可靠性。CAN總線是基于發(fā)送報文的編碼,而不是對CAN控制節(jié)點進(jìn)行編碼,故增添或刪減CAN上的控制節(jié)點不會對系統(tǒng)造成太大的影響。本文
4、結(jié)合作者工作中的體會,首先介紹了CAN協(xié)議的有關(guān)容,接著,以SJA1000為例介紹如何建立簡單的通信,并給出了它的軟硬件設(shè)計,最后,探討了應(yīng)用中對CAN控制器進(jìn)行初始化的一些問題。CAN協(xié)議(1)、CAN報文格式CAN系統(tǒng)中,數(shù)據(jù)在節(jié)點間發(fā)送和接收以4種不同類型的幀(數(shù)據(jù)幀、遠(yuǎn)程幀、出錯幀、超載幀)出現(xiàn)。其中最常見的是數(shù)據(jù)幀和遠(yuǎn)程幀。每種幀有其相應(yīng)的幀格式。CAN控制節(jié)點發(fā)送數(shù)據(jù)時,SJA1000的TX0腳輸出位序列。用邏輯分析儀捕捉了一個數(shù)據(jù)幀,它由7種位場構(gòu)成:幀起始、仲裁場、控制場、數(shù)據(jù)場、校驗場、應(yīng)答場和幀結(jié)束。數(shù)據(jù)幀結(jié)構(gòu)幀起始(SOF),包含一個顯性位,用于硬同步。仲裁場(ARBIT
5、RATIONFIELD),包含11個報文標(biāo)識位和1個RTR位。報文標(biāo)識位的高7位不能全為“1”,RTR位用以區(qū)分?jǐn)?shù)據(jù)幀和遠(yuǎn)程幀,數(shù)據(jù)幀為“0”,遠(yuǎn)程幀為“1”,這12位提供報文的優(yōu)先權(quán)。總線通過這12位進(jìn)行總線仲裁,數(shù)越小,優(yōu)先權(quán)越高??刂茍觯–ONTROLFIELD),包含2位備用位和4位數(shù)據(jù)長度碼。數(shù)據(jù)場(DATAFIELD)。循環(huán)冗余CRC校驗場(CRCFIELD),包含15位CRC序列和1位界定符(隱性位“1”)。應(yīng)答場(ACKFIELD),包含應(yīng)答間隙和應(yīng)答界定符各1位,應(yīng)答間隙為隱性位。CAN總線上所有收到正確報文的CAN控制器將隱性位改為顯性位,發(fā)送者借此確認(rèn)它已發(fā)送完一條完整和
6、正確的消息。若報文有誤,或被仲裁退出(由于優(yōu)先級較低),發(fā)送者將會重發(fā)報文。幀結(jié)束(EOF),包含7個隱性位。遠(yuǎn)程幀用于請求與其有一樣標(biāo)識符的數(shù)據(jù)幀,它與數(shù)據(jù)幀的區(qū)別在于RTR位、數(shù)據(jù)場。(2)、CAN節(jié)點狀態(tài)CAN總線上的每個節(jié)點總處于錯誤主動(ERRORACTIVE)、錯誤被動(ERRORPASSIVE)和脫離總線(BUSOFF)其中的一種狀態(tài)。CAN協(xié)議定義了5種錯誤類型,并由CAN控制器的發(fā)送錯誤寄存器(REC)和接收錯誤寄存器(TEC)分別對錯誤進(jìn)行計數(shù)。CAN節(jié)點的狀態(tài)便由這兩個錯誤寄存器決定。當(dāng)兩個寄存器的值都小于126時,節(jié)點處于錯誤主動狀態(tài),此時節(jié)點遇到錯誤發(fā)送主動錯誤幀;當(dāng)
7、其中一個錯誤寄存器的值大于126時,節(jié)點處于錯誤被動狀態(tài),此時節(jié)點遇到錯誤發(fā)送被動錯誤幀;當(dāng)發(fā)送寄存器的值大于255時,節(jié)點處于BUSOFF狀態(tài),此時節(jié)點對總線無影響。(3)、CAN節(jié)點監(jiān)聽總線機制CAN控制器不停地接收總線上的數(shù)據(jù),由此完成對總線的監(jiān)聽。當(dāng)它發(fā)送報文時,接收的數(shù)據(jù)會被放入接收緩存,并與發(fā)送的數(shù)據(jù)進(jìn)行比較。若發(fā)送的報文標(biāo)識符是“1”,接收的是“0”(總線完成“線與”的功能),則該節(jié)點停止發(fā)送,等總線空閑后,重新發(fā)送報文。這樣來完成總線仲裁。一節(jié)點發(fā)送完一份報文后,可在該節(jié)點的接收緩存找到該報文。該報文會被隨后接收的數(shù)據(jù)覆蓋。CAN節(jié)點監(jiān)聽到其他節(jié)點發(fā)送的錯誤幀后,會根據(jù)自身的狀
8、態(tài)發(fā)送相應(yīng)的錯誤幀。故總線上的錯誤幀是由所有CAN節(jié)點發(fā)送的錯誤幀疊加而成。CAN通過它來完成局部錯誤全局化。CAN卓越的特性,性能的可靠和獨特的設(shè)計,特別適合工業(yè)過程互控設(shè)備互聯(lián)。因此,越來越受工業(yè)界重視,并已被公認(rèn)為是最有前途的現(xiàn)場總線之一?,F(xiàn)場總線控制系統(tǒng)FCS將分散在各個工業(yè)現(xiàn)場的智能儀表通過數(shù)字現(xiàn)場總線連為一體,并與控制室中的控制器和監(jiān)視器一起就構(gòu)成現(xiàn)場總線控制系統(tǒng)FCS(Fieldbus Control System)。在FCS中,有現(xiàn)場智能儀表完成數(shù)據(jù)采集、數(shù)據(jù)處理、控制運算和數(shù)據(jù)輸出等功能?,F(xiàn)場智能儀表采集到的數(shù)據(jù)通過現(xiàn)場總線傳到控制室中的控制設(shè)備上,控制設(shè)備監(jiān)視各個現(xiàn)場儀表的
9、運行狀態(tài),持有各智能儀表上傳的數(shù)據(jù),同時完成少量現(xiàn)場智能儀表無法完成的高級控制功能?,F(xiàn)場總線中的智能儀表因其可在測量數(shù)據(jù)的基礎(chǔ)上完成對工業(yè)過程的控制,是控制系統(tǒng)的危險進(jìn)一步分散。從而體現(xiàn)了“控制分散,危險分散”的設(shè)計思想?,F(xiàn)場總線智能節(jié)點把連在現(xiàn)場總線上的智能儀表稱為現(xiàn)場總線智能節(jié)點。現(xiàn)場總線智能節(jié)點是FCS的現(xiàn)場自動化設(shè)備,是構(gòu)成FCS的基礎(chǔ)。目前現(xiàn)場總線智能節(jié)點的特點是采用先進(jìn)的單片機技術(shù)和微電子技術(shù),具有體積小、功耗底、可靠性高的特點,并具有標(biāo)準(zhǔn)化的現(xiàn)場總線接口。二、現(xiàn)場總線智能節(jié)點總體方案設(shè)計 上位機CAN接口 CAN-bus智能節(jié)點智能節(jié)點CAN接口CAN接口智能節(jié)點既有CPU、存、
10、接口和通信等數(shù)字信號處理,還有非電量信號監(jiān)測變換和放大的模擬信號處理。由于必須安裝在生產(chǎn)現(xiàn)場和生產(chǎn)裝置上,而且工作環(huán)境十分惡劣,對于易燃易爆場所,必須提供總線供電的本質(zhì)安全,這就要求微處理器體積小、功能全、性能好、可靠性高、耗電少。另外,現(xiàn)場通信網(wǎng)絡(luò)分布于生產(chǎn)現(xiàn)場,網(wǎng)絡(luò)節(jié)點具有互換性和互操作性,并有節(jié)點構(gòu)成虛擬控制路,這就要求采用先進(jìn)的網(wǎng)絡(luò)技術(shù)和分布式數(shù)據(jù)庫系統(tǒng)。本課題研制的智能節(jié)點將現(xiàn)場總線技術(shù)和智能儀表技術(shù)相結(jié)合,具有以下主要功能:(1)、每5秒鐘采集一次溫度、值,并在整點時刻記下溫度值,數(shù)據(jù)保存一個月。溫度傳感器(如熱電耦)感知被測對象溫度,溫度信號在儀表中經(jīng)過處理變成電信號,電信號再經(jīng)
11、A/D轉(zhuǎn)換器將其變?yōu)閿?shù)字量,然后送入CPU中進(jìn)行后續(xù)處理。通過在儀表存儲器中預(yù)置不同的測溫元件的熱電特性,可由測得的電信號直接得到被測介質(zhì)溫度。(2)、測量數(shù)據(jù)越限報警:根據(jù)被測溫度正常圍設(shè)定溫度報警限,當(dāng)被測數(shù)據(jù)越過報警限時,智能節(jié)點自動給出報警信息,該信息一方面在智能節(jié)點本地顯示,另一方面?zhèn)魉徒o上位機。(3)、故障診斷:智能節(jié)點發(fā)生故障時,在儀表顯示面板上給出故障信息,并把信息傳送給上位機。上位機種不僅顯示故障類限,還顯示故障原因和故障處理意見的詳細(xì)信息。(4)、自標(biāo)定:通過在A/D轉(zhuǎn)換器輸入端中加零電壓與滿量程電壓。對儀表的零點和滿量程自動進(jìn)行標(biāo)定。自標(biāo)定的思路是:當(dāng)施加某一電壓時,在儀
12、表輸出端應(yīng)給出對應(yīng)于該電壓的輸出溫度值。若輸入電壓和該電壓對應(yīng)的溫度值不吻合,就要自動調(diào)整儀表有關(guān)系數(shù),直至二者一致。這種標(biāo)定主要是針對儀表電子線路部分的,目的是減小系統(tǒng)誤差,提高系統(tǒng)精度。(5)、掉電保護(hù):智能儀表用非易失性存儲器NVRAM作為設(shè)定參數(shù)和有關(guān)測量數(shù)據(jù)的存儲空間,NVRAM自帶鋰電池,數(shù)據(jù)不會因為瞬間掉電而丟失,一旦重新上電,儀表可從存儲器中讀出保存數(shù)據(jù),保證儀表正常工作。(6)、控制器的執(zhí)行算法模塊主要采用了增量型PID控制算法和模塊控制算法,PID控制的參數(shù)可預(yù)先設(shè)定。程序開始運行后,被控量的偏差較大,此時將采用增量型PID控制算法根據(jù)被測量偏差e,偏差變化量e在實時響應(yīng)曲
13、線中所處的不同階段自動調(diào)節(jié)比例,積分,微分系數(shù),實現(xiàn)系數(shù)的自尋優(yōu),使被控量盡快回到設(shè)定值附近;然后,當(dāng)偏差處于某一預(yù)定圍時,將采用模糊控制算法減少控制量對被控量微小變化產(chǎn)生過于靈敏的動作,防止被控量在設(shè)定值附近產(chǎn)生振蕩現(xiàn)象,實現(xiàn)PID控制算法和模糊控制算法的理想結(jié)合。三、智能節(jié)點的軟硬件介紹智能節(jié)點設(shè)計人機接口80C196KC時鐘芯片溫度檢測芯片收發(fā)接口光電隔離CAN控制器NVRAMDS1225EEPROM2864 圖1 智能節(jié)點的原理框圖智能節(jié)點以Intel公司16位單片機80C196KC為核心,80C196單片機由于采用了寄存器寄存器結(jié)構(gòu),消除了常規(guī)累加器結(jié)構(gòu)所產(chǎn)生的瓶頸效應(yīng),提高了操作速
14、度和數(shù)據(jù)吞吐能力,使最小系統(tǒng)效率高、速度快。同時,該單片機還具有8通道的10位A/D轉(zhuǎn)換器,具有極高的性能價格比。80C196KC片RAM為488字節(jié),他們都可以作為通用寄存器來訪問,這使得程序的每一個模塊都可以有自己的專用寄存器使用,增強了模塊的獨立性和抗干擾性。采用CMOS工藝,其功耗小。采用8K的EEPROM2816存放程序,8K的RAM6264存放數(shù)據(jù),具有掉電保護(hù)功能,采用一片可編程并行接口芯片8255來控制顯示和鍵盤。復(fù)位電路采用了一片MAX706,具有低電平復(fù)位輸出,集強大功能(上電復(fù)位、欠電壓復(fù)位、“看門狗”等)和微小封裝(SOT23-5)于一身。CAN接口電路中采用了PHIL
15、IPS公司生產(chǎn)的CAN總線控制器82C200(STA1000)和CAN接口芯片82C250。電源方案采用體積小、重量輕的AC-DC模塊,交流輸入圍105265V,輸出兩組電源,分別為Vcc、GND(+5V/250mA)和+5V、GND(+5V/150mA),較簡單地完成了電源方案設(shè)計。2、智能節(jié)點硬件電路設(shè)計目前廣泛流行的CAN總線器件有兩大類:一類是獨立的CAN控制器,如82C200、SJA1000與INTEL82526/82527等;另一類是帶有在片CAN的微控制器,如P8XC582與16位微控制器87C196CA/CB等。根據(jù)當(dāng)前市場開發(fā)工具和課題的實際需要,系統(tǒng)全部智能節(jié)點均以INTE
16、L16位單片機80C196KC為核心,選用SJA1000作為CAN控制器,并使用了CAN控制器接口芯片82C250。CAN器件與微控制器的連接如圖2所示。SJA1000:獨立式CAN控制器,具有64字節(jié)的FIFO作為接收緩存。6N137:高速光隔,最高速度10MB/S,用于保護(hù)CAN控制器。硬件電路中使用82C250的目的是為了增大通信距離,提高系統(tǒng)的瞬間抗干擾能力,保護(hù)總線,降低射頻干擾(RFI),實現(xiàn)熱防護(hù)等。82C250:CAN總線收發(fā)器,是CAN控制器與CAN總線的接口器件,對CAN總線差分式發(fā)送。其RS引腳用于選擇82C250的工作模式:高速、斜率控制、等待。RS腳接地,82C250
17、處于高速。RS腳串接一個電阻后再接地,用于控制上升和下降斜率,從而減小射頻干擾。RS腳接高電平,82C250處于等待,此時發(fā)送器關(guān)閉,接收器處于低電流工作,可以對CAN總線上的顯性位做出反應(yīng),通知CPU。CPU需通過切換RS引腳上的電平來重置82C250工作模式。若82C250處于CAN總線的網(wǎng)絡(luò)終端,總線接口部分需加一個120的匹配電阻。 圖2 CAN總線接口電路原理圖從圖中可以看出,硬件電路的設(shè)計并不是太困難,但是有幾點應(yīng)引起注意,否則會事倍功半,甚至功虧一簣。(1)總線兩端那兩個120的電阻,對匹配總線阻抗起著相當(dāng)重要的作用。忽略掉它們,會使數(shù)據(jù)通信的抗干擾性和可靠性大大降低,甚至無法通
18、信。(2)82C250第8腳與地之間的電阻RS稱為斜率電阻,它的取值決定了系統(tǒng)處于高速工作方式還是斜率控制方式。把該引腳直接與地相連,系統(tǒng)將處于高速工作方式。在這種方式下,為避免射頻干擾,建議使用屏蔽電纜作總線;而在波特率較低、總線較短時,一般采用斜率控制方式,上升和下降的斜率取決于RS的阻值。實驗數(shù)據(jù)表明,15K200K為RS較理想的取值圍。在這一種方式下,可以使用平行線或雙絞線作總線。(3)SJA1000的TX1腳懸空,RX1引腳的電位必須維持在約0.5Vcc上,否則將不能形成CAN協(xié)議所要求的電平邏輯。如果系統(tǒng)傳輸距離近,環(huán)境干擾小,可以不用電流隔離,這樣可直接把82C250的VREF端
19、(約為0.5Vcc)與RX1腳相連,從而簡化電路。(4)在系統(tǒng)中,SJA1000的片選信號一般由地址總線經(jīng)譯碼獲得,并由此決定出CAN控制器各寄存器的地址。(5)當(dāng)中斷允許時,一旦有中斷發(fā)生,SJA1000的16腳INT就會被激活,出現(xiàn)一個由高電平到低電平的躍變,而80C196KC的外部中斷(P0 7腳)卻需要從低到高的電平變化來激活,因此這之間必須加一個反相器。3、智能節(jié)點軟件設(shè)計上位機功能:時間的顯示和調(diào)整、顯示并存儲下位機采集的數(shù)據(jù)。上位機的時間由時鐘芯片DS1302提供。美國Dallas公司推出的串行接口實時時鐘芯片DS1302可對時鐘芯片備份電池進(jìn)行涓流充電。由于該芯片具有體積小、功
20、耗低、接口容易、占用CPU的I/O口線少等主要特點,故該芯片可作為實時時鐘,廣泛應(yīng)用于智能化儀器儀表種。DS1302部具有實時時鐘、日歷和用戶可用的RAM。通過一個簡單的串行接口與微機通訊,可根據(jù)月份和閏年的情況自動調(diào)整月份的結(jié)束日期。時鐘可由用戶決定是以24小時制式或12小時制式工作。對芯片的所有寫入或讀出操作都是由命令字節(jié)為引導(dǎo)的。單字節(jié)讀操作每次需16個時鐘,地址字節(jié)在前8個時鐘周期的上升沿輸入,而數(shù)據(jù)字節(jié)在后8個時鐘周期的下降沿輸出。據(jù)此編制出了如下的單字節(jié)讀、寫子程序:11 / 11DS_READ: PUSH CX ORB PORT1,#04H ANDB PORT1,#0FDH AN
21、DB PORT1,#0FBH SCALL DS_WSUB SCALL DS_RSUB ORB PORT1,#04H POP CX RETDS_WRITE: PUSH CX ORB PORT1,#04H ANDB PORT1,#0FDH ANDB PORT1,#0FBH SCALL DS_WSUB LDB AL,AH SCALL DS_WSUB ORB PORT1,#04H POP CX RETDS_WSUB: LDB CL,#08HWLOOP: SHRB AL,#01H JC WSET ANDB PORT1,#0FEH SJMP WCTNUWSET: ORB PORT1,#01HWCTNU:
22、ORB PORT1,#02H NOP NOP ANDB PORT1,#0FDH DJNZ CL,WLOOP RETDS_RSUB: LDB CL,#08HRLOOP: ORB PORT1,#01H ANDB PORT1,#0FDH SHRB AL,#01H C PORT1,0,RCTNU ORB AL,#80HRCTNU: ORB PORT1,#02H DJNZ CL,RLOOP RET下位機功能:定時采集數(shù)據(jù)并顯示、將數(shù)據(jù)傳給上位機。 鑒于篇幅,下面僅給出下位機主程序和時間中斷子程序框圖(圖3、圖4) 入 口 開 始啟動A/D轉(zhuǎn)換 自 檢轉(zhuǎn)換完成?8255初始化 NSJA1000初始化Y 讀
23、取轉(zhuǎn)換結(jié)果設(shè)置定時器中斷送LED顯示設(shè)置外中斷 返 回 等待中斷 圖3 下位機主程序框圖 圖4 時間中斷子程序框圖對于初次涉足CAN總線系統(tǒng)設(shè)計的人員來說,其軟件設(shè)計要比硬件設(shè)計難一些,特別是CAN總線系統(tǒng)的初始化設(shè)計,一開始總感覺無從下手,而這一部分設(shè)計不好,系統(tǒng)將不可能正常工作。因此初始化設(shè)計是一個難點,又是一個重點。假設(shè)SJA1000的首地址為6000H,用匯編語言編制的初始化程序如下:INCLUDE“RE96 ASM”CREQU6000H;控制寄存器CMR EQU6001H;命令寄存器SREQU6002H;狀態(tài)寄存器IREQU6003H;中斷寄存器ACR EQU6004H;驗收碼寄存器
24、AMR EQU6005H;驗收屏蔽寄存器BTR0EQU6006H;總線定時寄存器0BTR1EQU6007H;總線定時寄存器1OCR EQU6008H;輸出控制寄存器INIT:DILDBCL,#1BHSTBCL,CR ;開放接收、出錯、超載中斷,并LDBCL,#01H ;置位復(fù)位請求,以開始初始化。STBCL,ACRLDBCL,#0FEHSTBCL,AMR;驗收濾波LDBCL,#00HSTBCL,BTR0LDBCL,#14HSTBCL,BTR1;確定波特率,SJ,位周期寬LDBCL,#0AAH ;度,采樣點位置與采樣次數(shù)STBCL,OCR ;選擇輸出方式,建立輸出驅(qū)動器LDBCL,#1AH;的配
25、置。STBCL,CR;初始化結(jié)束,SJA1000返回其EI;正常運行狀態(tài)從上面的初始化程序不難看出,對CAN控制器進(jìn)行初始化,實際上就是對ACR、AMR、BTR0、BTR1、OCR這些寄存器進(jìn)行訪問。在這里需要明確的是,只有當(dāng)控制寄存器CR中的復(fù)位請求位為高時,訪問才被允許,否則既寫不進(jìn)去,也讀不出正確的容。對CR進(jìn)行第一次寫操作,要設(shè)定將要開放的中斷類型,并置位復(fù)位請求,允許初始化開始。對ACR、AMR進(jìn)行寫操作,要界定對什么樣的報文予以接收,因此有時稱它們?yōu)轵炇諡V波器。當(dāng)滿足以下兩個條件之一,并存在空的接收緩存器(RBF)時,完整報文可被正確接收。條件之一:ACR與報文標(biāo)識符的高8位在AM
26、R為“0”的那些位(即相關(guān)位)上對應(yīng)相等。條件之二:AMR=0FFH,即ACR的所有位均為不相關(guān)(或屏蔽)位。這兩個寄存器也是編排標(biāo)識符的基本依據(jù)。對BTR0進(jìn)行操作,可決定波特率預(yù)分頻器(BRP)和同步跳轉(zhuǎn)寬度(SJ)的數(shù)值;對BTR1進(jìn)行寫操作,可決定位周期的寬度,采樣點的位置與在每個采樣點進(jìn)行采樣的次數(shù)。這兩個寄存器的容,可唯一確定波特率與同步跳轉(zhuǎn)寬度。例如:程序中BTR0=00H,BTR1=14H,晶振頻率為16MHZ時,采樣時鐘周期TSCL等于兩倍的振蕩器時鐘周期。波特率剛好為1MBPS,同步跳轉(zhuǎn)寬度為一個TSCL。兩個寄存器各位功能和相關(guān)計算公式見參考文獻(xiàn)。但有一點還應(yīng)引起注意,就
27、是一個系統(tǒng)中的所有節(jié)點BTR0和BTR1的容都應(yīng)一樣,否則將無法進(jìn)行通信。對OCR進(jìn)行寫操作,可確定CAN控制器的輸出方式,并建立起CAN總線要求的電平邏輯所需輸出驅(qū)動器的配置。對CR進(jìn)行第二次操作主要是清復(fù)位請求位,使SJA1000返回正常運行狀態(tài)。成功地初始化SJA1000后,系統(tǒng)就可以應(yīng)用它來傳輸報文。數(shù)據(jù)傳輸?shù)某绦虿浑y編寫,但有些細(xì)節(jié)處理不好,系統(tǒng)工作起來還是經(jīng)常發(fā)生問題。作者通過反復(fù)調(diào)試已把通信部分的程序做成了模塊,在實際系統(tǒng)中的應(yīng)用表明它經(jīng)受住了考驗,運行的相當(dāng)好。鑒于篇幅,下面僅給出節(jié)點請求數(shù)據(jù)和發(fā)送數(shù)據(jù)子程序框圖(圖5、圖6)與中斷服務(wù)程序框圖(圖7)。按照這些框圖編制的子程序
28、已用于實際系統(tǒng),效果良好。 入 口 入 口判SR.4=1?判SR.4=1? 正在接收 Y 正在接收 Y N N判SR.2=1?判SR.2=1? TBF鎖定 N TBF鎖定 N Y TBF釋放 Y TBF釋放將數(shù)據(jù)幀與數(shù)據(jù)寫入TBF將遠(yuǎn)程幀寫入TBF給CMR賦值05H給CMR賦值05H即申請發(fā)送并釋放接受緩存器,等候接受判SR.3=1?發(fā)送未完成 返 回 N Y 返 回 圖5 請求數(shù)據(jù)數(shù)據(jù)子程序框圖 圖6 發(fā)送數(shù)據(jù)子程序框圖在節(jié)點主程序中,可以根據(jù)實際需要,通過調(diào)用上面的兩個子程序向其它節(jié)點發(fā)送遠(yuǎn)程幀來申請數(shù)據(jù),也可以直接向需要數(shù)據(jù)的節(jié)點發(fā)送數(shù)據(jù)幀與數(shù)據(jù),但在系統(tǒng)軟件設(shè)計時應(yīng)該特別注意無論何時C
29、AN總線不應(yīng)被永久性地100%加載。中斷服務(wù)程序入口讀IR的內(nèi)容判是何種中斷? 出錯中斷 超載中斷 延 時清楚超載狀態(tài),并同時釋放RBF即使CMR=0CH 接收中斷判RTR=1? N接收數(shù)據(jù)Y調(diào)發(fā)送數(shù)據(jù)子程序重新調(diào)請求數(shù)據(jù)子程序轉(zhuǎn)存數(shù)據(jù)置位CMR.2,釋放RBF 返 回 圖7 中斷服務(wù)程序框圖元器件清單:單片機80C196KC×3 程序存儲器28C64B×3復(fù)位芯片MAX706×3 并行接口8255×3時鐘芯片DS1302×1 數(shù)據(jù)存儲器DS1225×1CAN總線控制器SJA1000×3 高速光隔6N137×6CA
30、N控制器接口芯片82C250×3參考資料:1 汪建 .MCS-96系列單片機原理與應(yīng)用技術(shù). 華中理工大學(xué)2 涵芳 .Intel 16 位單片機. 航空航天大學(xué)3 鄔寬明 .CAN總線原理和應(yīng)用系統(tǒng)設(shè)計. 航空航天大學(xué)4周鳳余 肖海榮 .CAN總線系統(tǒng)智能節(jié)點設(shè)計與實現(xiàn). 微機算計信息 . 1999年第15卷第6期5 繼鋒 付強 .基于CAN總線的分布式溫度檢測網(wǎng)絡(luò)設(shè)計. 微機算計信息 . 1999年第15卷第6期6 王明順 吳省 .可涓流充電的串行實時時鐘芯片DS1302與應(yīng)用設(shè)計. 電子技術(shù)應(yīng)用 . 1996(10)7 CANbus brings new thinking to the control of an injection moulding machine Anon Source: British Plastics and Rubber Nov 1998 MCM Publishing p 13-16 0307-6164 In Engli
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞務(wù)工程合同
- 書法工作室翻新人工合同
- 2024物流運輸與倉儲服務(wù)合同
- 2025年度新能源汽車牌照租賃服務(wù)合同范本3篇
- 2024網(wǎng)絡(luò)廣告投放與代理合同
- 2024陶瓷水杯文化紀(jì)念品采購合同范本3篇
- 2025年度智能倉儲車間租賃合同4篇
- 2025年度五星級酒店廚師職位聘用合同4篇
- 2024簡單砌墻承包合同范本
- 2025年度智能化倉儲空間設(shè)計與裝修工程合同4篇
- 2023年上海英語高考卷及答案完整版
- 西北農(nóng)林科技大學(xué)高等數(shù)學(xué)期末考試試卷(含答案)
- 金紅葉紙業(yè)簡介-2 -紙品及產(chǎn)品知識
- 《連鎖經(jīng)營管理》課程教學(xué)大綱
- 《畢淑敏文集》電子書
- 頸椎JOA評分 表格
- 員工崗位能力評價標(biāo)準(zhǔn)
- 定量分析方法-課件
- 朱曦編著設(shè)計形態(tài)知識點
- 110kV變電站工程預(yù)算1
- 某系統(tǒng)安全安全保護(hù)設(shè)施設(shè)計實施方案
評論
0/150
提交評論