




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、遼 寧 工 業(yè) 大 學(xué) 工業(yè)控制網(wǎng)絡(luò) 課程設(shè)計(論文)題目:基于CAN總線的舵機(jī)加載系統(tǒng)油源溫度監(jiān)控儀的設(shè)計 院(系): 電氣工程學(xué)院 專業(yè)班級: 自動化093 學(xué) 號: 學(xué)生姓名: 指導(dǎo)教師: (簽字)起止時間: 課程設(shè)計(論文)報告的內(nèi)容及其文本格式1、課程設(shè)計(論文)報告要求用A4紙排版,單面打印,并裝訂成冊,內(nèi)容包括:封面(包括題目、院系、專業(yè)班級、學(xué)生學(xué)號、學(xué)生姓名、指導(dǎo)教師姓名、起止時間等)設(shè)計(論文)任務(wù)及評語中文摘要 (黑體小二,居中,不少于200字)目錄正文(設(shè)計計算說明書、研究報告、研究論文等)參考文獻(xiàn)2、課程設(shè)計(論文)正文參考字?jǐn)?shù):2000字周數(shù)。3、封面格式4、設(shè)計(
2、論文)任務(wù)及評語格式5、目錄格式標(biāo)題“目錄”( 小二號、黑體、居中)章標(biāo)題(四號字、黑體、居左)節(jié)標(biāo)題(小四號字、宋體)頁碼(小四號字、宋體、居右)6、正文格式頁邊距:上2.5cm,下2.5cm,左3cm,右2.5cm,頁眉1.5cm,頁腳1.75cm,左側(cè)裝訂;字體:一級標(biāo)題,小二號字、黑體、居中;二級標(biāo)題,黑體小三、居左;三級標(biāo)題,黑體四號;正文文字,小四號字、宋體;行距:20磅行距;頁碼:底部居中,五號、黑體;7、參考文獻(xiàn)格式標(biāo)題:“參考文獻(xiàn)”,小二,黑體,居中。示例:(五號宋體)期刊類:序號作者1,作者2,作者n.文章名.期刊名(版本).出版年,卷次(期次):頁次.圖書類:序號作者1,
3、作者2,作者n.書名.版本.出版地:出版社,出版年:頁次.課程設(shè)計(論文)任務(wù)及評語院(系):電氣工程學(xué)院 教研室: 學(xué) 號學(xué)生姓名專業(yè)班級課程設(shè)計(論文)題目課程設(shè)計(論文)任務(wù)課題完成的功能、設(shè)計任務(wù)及要求、技術(shù)參數(shù)進(jìn)度計劃指導(dǎo)教師評語及成績平時: 論文質(zhì)量: 答辯: 總成績: 指導(dǎo)教師簽字: 年 月 日注:成績:平時20% 論文質(zhì)量60% 答辯20% 以百分制計算摘 要本文針對目前舵機(jī)加載系統(tǒng)油源溫度監(jiān)控的功能,設(shè)計了一種基于CAN總線的舵機(jī)加載系統(tǒng)油源溫度監(jiān)控系統(tǒng),實現(xiàn)了利用CAN總線對檢測數(shù)據(jù)的傳輸功能。該系統(tǒng)主要由現(xiàn)場數(shù)據(jù)采集模塊和總線發(fā)送模塊構(gòu)成。現(xiàn)場數(shù)據(jù)的采集是以STC89C5
4、2RC單片機(jī)為核心控制單元,外接數(shù)字溫度傳感器DS18B20獲得現(xiàn)場加載系統(tǒng)油源溫度信號。通過CAN總線控制器SJA1000和CAN總線驅(qū)動器PCA82C250將數(shù)據(jù)發(fā)送到CAN總線上,并進(jìn)行處理,決策是否啟動風(fēng)機(jī)和電磁溢流閥為舵機(jī)加載系統(tǒng)油源溫度進(jìn)行降溫。另外,本文還具有報警電路,對CAN總線也進(jìn)行光電隔離設(shè)計,確保通信的安全性。關(guān)鍵詞:CAN總線;單片機(jī);PCA82C250;SJA1000目 錄第1章 緒論1第2章 課程設(shè)計的方案22.1 概述22.2 系統(tǒng)組成總體結(jié)構(gòu)2第3章 硬件設(shè)計43.1 單片機(jī)最小系統(tǒng)設(shè)計43.2 CAN通信模塊43.2.1 CAN 總線控制器SJA10004 光
5、耦合器6N13763.2.3 CAN 總線驅(qū)動器PCA82C25063.2.4 SJA1000與6N137和PCA82C250的連接73.3 溫度傳感器模塊93.4 報警模塊103.5 風(fēng)機(jī)和電磁溢流閥驅(qū)動模塊10第4章 軟件設(shè)計124.1 系統(tǒng)主程序12 單片機(jī)初始化134.1.2 SJA1000的初始化144.2 報文發(fā)送和接收子程序16第5章 課程設(shè)計總結(jié)18參考文獻(xiàn)19第1章 緒論舵機(jī)加載系統(tǒng)用于模擬舵面氣動負(fù)載或水動負(fù)載,電液加載系統(tǒng)能夠?qū)崿F(xiàn)多種加載方式,其中舵機(jī)加載系統(tǒng)油源溫度監(jiān)控在一定范圍內(nèi)是保障系統(tǒng)穩(wěn)定運行的必要條件。因此,舵機(jī)加載系統(tǒng)油源溫度監(jiān)控是一項很重要過程。國內(nèi)生產(chǎn)的溫
6、度控制器,總體發(fā)展水平仍然不高,同日本、美國、德國等先進(jìn)國家相比仍然有著較大的差距。目前,我國在這方面總體水平處于20實際80年代中后期水平,為了滿足舵機(jī)加載系統(tǒng)油源溫度監(jiān)控的需求,在傳感器智能控制方案和具體應(yīng)用中做了大量的研究和可行性分析,開發(fā)了一種具有智能化功能的溫度監(jiān)測系統(tǒng)。該系統(tǒng)由數(shù)據(jù)采集模塊和總線信號發(fā)送模塊組成。其中數(shù)據(jù)采集模塊采用了以單片機(jī)STC89C52RC為核心外接傳感器的結(jié)構(gòu)框架,保證了系統(tǒng)對加載系統(tǒng)油源溫度信號采集的實時性和準(zhǔn)確性。發(fā)送模塊利用總線發(fā)送器和驅(qū)動器,將數(shù)字信號變換成CAN總線上的模擬信號進(jìn)行傳輸,從而有效的增加了傳輸距離?,F(xiàn)場總線是當(dāng)今自動化領(lǐng)域技術(shù)發(fā)展的熱
7、點之一,被譽(yù)為自動化領(lǐng)域的計算機(jī)局域網(wǎng)。CAN總線的全稱為 局域網(wǎng),屬于現(xiàn)場總線的一種,是一種有效支持分布式控制和實時控制的串行通信網(wǎng)絡(luò)。CAN總線的主要特點有:多主方式工作,各節(jié)點不分主從;采用非破壞總線仲裁,不會出現(xiàn)網(wǎng)絡(luò)癱瘓(以太網(wǎng)則可能);最遠(yuǎn)通信距離可達(dá)10KM,最高通信速率可達(dá)1Mbps;采用短幀結(jié)構(gòu),硬件CRC校驗,出錯率極低。CAN總線是目前唯一形成了國際標(biāo)準(zhǔn)的現(xiàn)場總線,被公認(rèn)為最有前途的現(xiàn)場總線之一。第2章 課程設(shè)計的方案2.1 概述本次設(shè)計主要是綜合應(yīng)用所學(xué)知識,設(shè)計出基于CAN總線的舵機(jī)加載系統(tǒng)油源溫度監(jiān)控儀實現(xiàn)油源溫度監(jiān)控的功能。CAN總線屬于總線式串行通信網(wǎng)絡(luò),由于其采
8、用了許多新技術(shù)及獨特的設(shè)計,與一般通信總線相比,CAN總線的數(shù)據(jù)通信具有突出的可靠性、實時性和靈活性。本次設(shè)計采用總線式傳輸形式,而CAN總線具有較為先進(jìn)的傳輸協(xié)議,且穩(wěn)定性高,能夠?qū)崿F(xiàn)遠(yuǎn)距離通信的要求。本系統(tǒng)要求實現(xiàn)的技術(shù)參數(shù)為:1、CAN總線符合CAN2.0B規(guī)范;2、CAN總線通訊速率500kbit/s;3、CAN總線進(jìn)行光電隔離設(shè)計;4、油溫檢測范圍0100,精度0.5;5、繼電器負(fù)載工作電流為500mA。2.2 系統(tǒng)組成總體結(jié)構(gòu)該系統(tǒng)主要由現(xiàn)場數(shù)據(jù)采集模塊和總線發(fā)送模塊構(gòu)成?,F(xiàn)場數(shù)據(jù)的采集是以STC89C52RC單片機(jī)為核心控制單元,外接數(shù)字溫度傳感器DS18B20,從而獲得現(xiàn)場舵機(jī)
9、加載系統(tǒng)油源的溫度信號。通過CAN總線控制器SJA1000和CAN總線驅(qū)動器PCA82C250將數(shù)據(jù)發(fā)送到CAN總線上。在CAN總線兩端需要有120歐的終端電阻,用來抑制回路的反射信號。CAN節(jié)點由微處理器、CAN控制器SJA1000、光電耦合器6N137、CAN驅(qū)動器PCA82C250構(gòu)成。CAN控制器SJA1000執(zhí)行在CAN規(guī)范中規(guī)定的完整的CAN協(xié)議,用于報文的緩沖和驗收過濾,負(fù)責(zé)與微控制器進(jìn)行狀態(tài)、控制和命令等信息交換;在SJA1000下層是CAN收發(fā)器PCA82C250,是CAN控制器和總線接口,用于控制從CAN控制器到總線物理層或相反的邏輯電平信號,提供對總線的差動發(fā)送和對CAN
10、控制器差動接收功能。系統(tǒng)總體框圖如圖2.1所示溫度傳感器DS18B20CPUSTC89C52RC時鐘電路復(fù)位電路CAN總線控制器SJA1000報警電路CAN收發(fā)器120歐PC機(jī)繼電器驅(qū)動電路光電耦合器圖2.1系統(tǒng)總體框圖第3章 硬件設(shè)計3.1 單片機(jī)最小系統(tǒng)設(shè)計本系統(tǒng)采用STC89C52RC作為控制器,其最小系統(tǒng)一般應(yīng)該包括單片機(jī)芯片、時鐘電路、復(fù)位電路等幾部分。STC89C52RC具有8KB的FlashROM,32個雙向I/O口,完全能夠滿足本設(shè)計要求。晶振電路選擇12MHZ的外部晶振源,其具有穩(wěn)定,精確地時鐘發(fā)生功能。最小系統(tǒng)原理圖如圖3.1下所示。圖3.1 單片機(jī)最小系統(tǒng)原理圖3.2 C
11、AN通信模塊3.2.1 CAN 總線控制器SJA1000 SJA1000是Philips生產(chǎn)的獨立CAN總線控制器,它實現(xiàn)CAN總線物理層和數(shù)據(jù)鏈路層的所有功能。它是早期的PCA82C200的替代產(chǎn)品。它與PCA82C200在管腳、電氣特性上完全兼容,不僅有和PCA82C200一樣的基本CAN(BasicCAN)工作模式,而且新增加了增強(qiáng)CAN(PeliCAN)工作模式,這種模式支持具有很多新特性的CAN2.0B協(xié)議。對于單片機(jī)來說,只要把它看成一個基本的I/O設(shè)備即可,使用非常簡單、方便。其功能框圖如圖3.2 。圖 3.2 SJA1000功能框圖SJA1000的主要特性如下:(1)擴(kuò)展的接受
12、緩沖器(64字節(jié),先進(jìn)先出FIFO)。(2)和CAN2.0B協(xié)議兼容。(3)同時支持11位和29位識別碼。(4)位速率最高可達(dá)1Mbits/s。(5)支持多種微處理器接口。(6)增強(qiáng)的溫度適應(yīng)性。3.2.2 光電耦合器6N1376N137光電耦合器是一款用于單通道的高速光耦合器,其內(nèi)部有一個850 nm波長AlGaAs LED和一個集成檢測器組成,其檢測器由一個光敏二極管、高增益線性運放及一個肖特基鉗位的集電極開路的三極管組成。具有溫度、電流和電壓補(bǔ)償功能,高的輸入輸出隔離,LSTTL/TTL兼容,高速(典型為10MBd),5mA的極小輸入電流。其工作原理是: 6N13
13、7的結(jié)構(gòu)原理如圖3.3所示,信號從腳2和腳3輸入,發(fā)光二極管發(fā)光,經(jīng)片內(nèi)光通道傳到光敏二極管,反向偏置的光敏管光照后導(dǎo)通,經(jīng)電流-電壓轉(zhuǎn)換后送到與門的一個輸入端,與門的另一個輸入為使能端,當(dāng)使能端為高時與門輸出高電平,經(jīng)輸出三極管反向后光電隔離器輸出低電平。當(dāng)輸入信號電流小于觸發(fā)閾值或使能端為低時,輸出高電平,但這個邏輯高是集電極開路的,可針對接收電路加上拉電阻或電壓調(diào)整電路。圖3.3 6N137結(jié)構(gòu)原理圖6N137特性:轉(zhuǎn)換速率高達(dá)10MBit/s;擺率高達(dá)10kV/us;扇出系數(shù)為8;邏輯電平輸出;集電極開路輸出;3.2.3 CAN 總線驅(qū)動器PCA82C250PCA82C250 收發(fā)器是
14、協(xié)議控制器和物理傳輸線路之間的接口,它可以用高達(dá)1Mbit/s 的位速率在兩條有差動電壓的總線電纜上傳輸數(shù)據(jù),如圖3.4所示。圖 3.4 PCA82C250原理圖PCA82C250 共有三種不同的工作模式第一種模式是高速模式它支持最大的總線速度和或長度第二種是斜率模式當(dāng)使用非屏蔽的總線電纜時可以考慮使用這種模式這種模式的輸出轉(zhuǎn)換速度可被故意降低以減少電磁輻射第三種是準(zhǔn)備模式這種模式在電池供電的應(yīng)用要求系統(tǒng)功率消耗非常低的應(yīng)用中非常有用在準(zhǔn)3.2.4 SJA1000與6N137和PCA82C250的連接C A N 通信模塊的硬件設(shè)計如圖3.5 所示,電路主要由四部分組成,即微控制器STC 8 9
15、 C 5 2 、獨立C A N 通信控制器SJA1000、CAN 總線收發(fā)器82C50 和高速光電耦合器6N137。SJA1000 和單片機(jī)之間的數(shù)據(jù)通信通過單片機(jī)PO 口進(jìn)行,數(shù)據(jù)接收信號采用中斷方式,以提高數(shù)據(jù)處理的實時性。CAN控制器SJA1000通過總線驅(qū)動器PCA82C250連接在物理總線上。PCA820C250 器件提供對總線的差動發(fā)送能力和CAN 控制器的差動接收能力。SJA1000 的TXO和RXO通過高速光耦6N137 與82C250 相連,實現(xiàn)了收發(fā)器與控制器之間的電氣隔離,保護(hù)智能節(jié)點核心電路工作安全,并實現(xiàn)了總線上各C A N 節(jié)點間的電氣隔離??稍诳偩€入口處并接雙向穩(wěn)
16、壓管,限制線路上可能出現(xiàn)的短時尖峰過電壓,增加共模抑制線圈,以消除共模信號的干擾。信號傳輸?shù)綄?dǎo)線的站點時,會發(fā)生反射,干擾正常信號的傳輸,可在CAN 總線兩端并接2 個1 2 0 的電阻,起到匹配總線阻抗和消除反射的雙重作用。圖3.5 CAN總線通信模塊電路3.3 溫度傳感器模塊系統(tǒng)采用由DALLAS半導(dǎo)體公司生產(chǎn)的DS18B20型單線智能溫度傳感器,它具有微型化、低功耗、抗干擾能力強(qiáng),易配處理器而且CPU只需一根端口線就能與DS18B20通信等優(yōu)點,它具有3引腳T0-92小體積封裝形式,溫度測量范圍為-55攝氏度到125攝氏度,可以滿足本次設(shè)計0攝氏度到100攝氏度的要求。它主要有兩種工作方
17、式:寄生電源工作方式和外接電源工作方式。本系統(tǒng)采用外接電源方式。其與單片機(jī)的連接如圖3.6所示。圖 3.6 溫度模塊電路3.4 報警模塊報警功能是現(xiàn)場的舵機(jī)加載系統(tǒng)油源溫度超過預(yù)定的報警限額時,節(jié)點控制器就必須能夠及時地進(jìn)行報警。如圖3.7是一個簡單實用的蜂鳴器報警電路。當(dāng)舵機(jī)加載系統(tǒng)油源溫度超過預(yù)定報警限額時單片機(jī)P1.0口將給出高電平,就能驅(qū)動蜂鳴器發(fā)出警報。圖3.7 報警模塊電路3.5 風(fēng)機(jī)和電磁溢流閥驅(qū)動模塊固態(tài)繼電器(SOLIDSTATE RELAYS),簡寫成“SSR”,是一種全部由固態(tài)電子元件組成的新型無觸點開關(guān)器件,它利用電子元件(如開關(guān)三極管、雙向可控硅等半導(dǎo)體器件)的開關(guān)特
18、性,可達(dá)到無觸點無火花地接通和斷開電路的目的,因此又被稱為“無觸點開關(guān)”,它問世于70年代,由于它的無觸點工作特性,使其在許多領(lǐng)域的電控及計算機(jī)控制方面得到日益廣范的應(yīng)用。本次設(shè)計中當(dāng)現(xiàn)場的舵機(jī)加載系統(tǒng)油源溫度超過預(yù)定的報警限額時,由固態(tài)繼電器來驅(qū)動風(fēng)機(jī)和電磁溢流閥工作冷卻油溫。其原理如圖3.8所示。圖3,.8風(fēng)機(jī)和電磁溢流閥驅(qū)動模塊電路3.6 設(shè)計總電路圖本次設(shè)計的總電路圖如圖3.9所示。圖3.9 設(shè)計總電路圖第4章 軟件設(shè)計4.1 CAN總線協(xié)議參照ISOOSI 標(biāo)準(zhǔn)模型,CAN分為數(shù)據(jù)鏈路層和物理層。而數(shù)據(jù)鏈路層又包括邏輯鏈路控制子層LLC和媒體訪問控制子層MAC。邏輯鏈路子層LLC的主
19、要共恩呢該是,對總線上傳送的報文實行接收濾波,判斷總線上傳送的報文是否與本節(jié)點有關(guān),哪些報文應(yīng)該為本節(jié)點所接收;對報文的接收予以確認(rèn);為數(shù)據(jù)傳送和遠(yuǎn)程數(shù)據(jù)請求提供服務(wù);當(dāng)丟失仲裁或被出錯干擾時,邏輯鏈路子層具有自動重發(fā)的恢復(fù)管理功能;當(dāng)收發(fā)器出現(xiàn)超載,要求推遲一下數(shù)據(jù)幀或遠(yuǎn)程幀時,則通過邏輯子層發(fā)送超載幀,一推遲接受下一數(shù)據(jù)幀。MAC子層是CAN協(xié)議的核心。它負(fù)責(zé)執(zhí)行總線仲裁、報文成幀、出錯檢測、錯誤標(biāo)定等傳輸控制規(guī)則。MAC子層要為開始一次新的發(fā)送確定總線是否可占用,在確認(rèn)總線空閑后開始發(fā)送。在丟失仲裁時退出仲裁,轉(zhuǎn)入接收方式。對發(fā)送數(shù)據(jù)實行串行比,對接收數(shù)據(jù)實行反串行比。完成CRC校驗和應(yīng)
20、答校驗,發(fā)送出錯幀。確認(rèn)超載條件,激活并發(fā)送超載幀。添加或卸除起始位、遠(yuǎn)程傳送請求、保留位、CRC校驗和應(yīng)答碼等,即完成報文的打包和拆包。通信是通過以下5 種類型的幀進(jìn)行的。 數(shù)據(jù)幀 遙控幀 錯誤幀 過載幀 幀間隔另外,數(shù)據(jù)幀和遙控幀有標(biāo)準(zhǔn)格式和擴(kuò)展格式兩種格式。標(biāo)準(zhǔn)格式有11 個位的標(biāo)識符(Identifier: 以下稱ID),擴(kuò)展格式有29 個位的ID。各種幀的用途如下數(shù)據(jù)幀 用于發(fā)送單元向接收單元傳送數(shù)據(jù)的幀。遙控幀 用于接收單元向具有相同ID 的發(fā)送單元請求數(shù)據(jù)的幀。錯誤幀 用于當(dāng)檢測出錯誤時向其它單元通知錯誤的幀。過載幀 用于接收單元通知其尚未做好接收準(zhǔn)備的幀。幀間隔 用于將數(shù)據(jù)幀及
21、遙控幀與前面的幀分離開來的幀。4.2 數(shù)據(jù)包機(jī)構(gòu)設(shè)計數(shù)據(jù)包結(jié)構(gòu)設(shè)計提高系統(tǒng)通信安全性的另一個方面是設(shè)計一個合理的傳輸數(shù)據(jù)包?,F(xiàn)今常用的數(shù)據(jù)包一般有兩種形式,即基于字符和基于長度?;陂L度的數(shù)據(jù)幀如圖4.3所示,是依據(jù)幀起始符和幀長度來實現(xiàn)接收的。即當(dāng)出現(xiàn)一個幀起始字符時,就表示可以接收幀數(shù)據(jù),并根據(jù)幀長度來確定接下要接收多少字節(jié)的幀數(shù)據(jù)命令,當(dāng)接收完畢規(guī)定的長度字節(jié)就意味著一幀數(shù)據(jù)接收完畢。這樣在幀長度字節(jié)之后到幀接收結(jié)束所接收到的所有字節(jié)就都是數(shù)據(jù)而不會是控制字符。幀起始符幀長度幀數(shù)據(jù)命令校驗字圖4.3基于長度的幀格式本系統(tǒng)中,我們使用了基于字符的幀格式。基于字符的數(shù)據(jù)幀如圖4.4所示,是利
22、用特定的字符來判斷幀傳輸?shù)钠鹗己徒Y(jié)束。幀起始符和停止符之間的字節(jié)則為數(shù)據(jù)。在此就有一個問題需要解決,即在幀數(shù)據(jù)部分有可能會出現(xiàn)幀控制字符,如幀起始符或幀停止符。這樣就會造成幀錯誤。解決這個問題有兩種方案:一個是在幀數(shù)據(jù)中的控制字符使用轉(zhuǎn)義字符的機(jī)制。即當(dāng)在幀數(shù)據(jù)段出現(xiàn)一個與控制字符相同的字符時,就在該字符前加一個轉(zhuǎn)義字符,以此說明其后的字符是數(shù)據(jù)字符而不是控制字符;另一種解決方案是將幀數(shù)據(jù)段單字節(jié)十六進(jìn)制字符轉(zhuǎn)換成兩字節(jié)ASCII碼。例如OxOl轉(zhuǎn)換成Ox30和Ox31。這樣就把所有的幀數(shù)據(jù)段字符限定在O9,AF的ASCII碼范圍內(nèi),也能有效的避開控制字符。雖然后一種方法增加了系統(tǒng)的開銷,但是
23、實現(xiàn)起來非常方便,所以我們選擇了此種解決方案。幀起始符幀數(shù)據(jù)命令校驗字幀停止符圖4.4 基于字符的數(shù)據(jù)幀格式4.3 系統(tǒng)主程序檢測點軟件方面主要實現(xiàn)兩方面的功能:一是檢測現(xiàn)場的舵機(jī)加載系統(tǒng)油源溫度,并由單片機(jī)處理是否啟動風(fēng)機(jī)和電磁溢流閥;二是與主節(jié)點通信,響應(yīng)其配置或查詢命令并反饋報文。檢測點的主程序的功能主要包括:單片機(jī)初始化;CAN控制器SJA1000的初始化;變量的初始化;溫度檢測;報文處理等。主程序流程圖如圖4.1所示。開始單片機(jī)初始化SJA1000初始化變量初始化溫度檢測發(fā)送報文接收報文處理發(fā)送報文反饋是否啟動風(fēng)機(jī)和電磁圖4.1 主程序流程圖在通信系統(tǒng)中,各個通信節(jié)點之問是相互獨立的
24、,因此它們之間的數(shù)據(jù)傳輸就必然存在著不確定因素。一個合理的通信流程就能夠在很大程度上克服這種不確定因素。我們知道,當(dāng)通信過程開始前如果能夠確定通信雙方已經(jīng)成功的建立了連接,在這種情況下,通信雙方數(shù)據(jù)傳輸就比較安全。對于一般的系統(tǒng)而言,通過良好的通信流程來提高通信成功率是一種經(jīng)濟(jì)有效的手段。針對舵機(jī)加載系統(tǒng)的油源溫度監(jiān)控系統(tǒng),我設(shè)計了如下的通信流程。如圖4.2所示。數(shù)據(jù)格式轉(zhuǎn)換寫入CAN控制器發(fā)送緩沖器啟動發(fā)送結(jié)束開始發(fā)送緩沖器有數(shù)據(jù)?YN開始接收緩沖區(qū)有足夠的剩余空間?報文讀入接收緩沖區(qū)釋放接收緩沖器結(jié)束YN圖4.2 通信流程數(shù)據(jù)發(fā)送流程中,數(shù)據(jù)幀發(fā)送與該幀的應(yīng)答幀處理分離開來。當(dāng)發(fā)送一個數(shù)據(jù)
25、幀時,發(fā)送程序就根據(jù)該幀的類型置位該數(shù)據(jù)幀已發(fā)送標(biāo)志,啟動應(yīng)用程序等待該數(shù)據(jù)幀的應(yīng)答幀即把數(shù)據(jù)的發(fā)送和確認(rèn)并發(fā)處理,使得通過更加高效和安全。數(shù)據(jù)接收過程相對比較簡單,可以讓接收驅(qū)動將接收到的數(shù)據(jù)存入數(shù)據(jù)緩沖區(qū),應(yīng)用程序從數(shù)據(jù)緩沖區(qū)中捕獲數(shù)據(jù)幀,并進(jìn)行相應(yīng)的處理這種方式下,數(shù)據(jù)接收過程中,緩沖區(qū)的大小將是直接影響數(shù)據(jù)接收安全性的主要因素 4.3.1 單片機(jī)的初始化TMOD=0X20;TH1=0Xfd; TL1=0xfd;PCON=0x00;TR1=1;SCON=0x50;EA=0;模數(shù)轉(zhuǎn)換子程序:MOV R0,#30H MOV R2, #08H SETB IT0 SETB EA SETB EX0
26、 MOV DPTR,#FEF8H LOOP: MOVX DPTR, A HERE: SJMP HERE 中斷服務(wù)程序:MOVX A, DPTR MOV R0, A INC DPTR INC RO DJNZ R2, INT0 CLR EA CLR EX0 RETI INT0: MOVX DPTR, A RETI 判斷比較子程序:CLR C MOV A, 30H SUBB A,90H JNC BAOJIN 發(fā)送 AT 命令子程序:for (i=0;i<4;i+)hh=&doc00 SBUF=doc0i;while(TI=0);TI=0;delay();for (j=0;j<4;
27、j+) while(RI=0);RI=0 mnkj=SBUF;if (mnkj0x4b)=0) hh=mnkj;break;4.3.2 SJA1000的初始化void SJA_write(unsigned char trr_address,unsigned char wr_data)SJA_PCAN_address=fr_address;*SJA_PCAN_address=vrr data;unsigned char SJA_read(unsigned char re address)SJA_PCAN_address=re_address:return(*SJA PCAN_address):u
28、nsigned char SJAtestinterface(unsigned char test_value)unsigned char status 2 0:bit bdata bit errorflag=1:unsigned char data error_count2 Ox20;while(_一error_count)SJA_write(REG_TEST,test_value):if(SJA_read(REG_TEST)=test_value)SJh_write(REG_TEST,Ox00):bi t_errorflag=0:break:if(bit_error_flag)status=
29、CAN_INTERFACEERR;elsestatus=CAN_INTERFACE_OK;return(status)unsigned char SJA_entry reset_mode(void)unsigned char status=O:bit bdata bit_error_flag=1:unsigned char error_count=0x20while(一error_count)SJA_'rrite(REG_MOOE,Ox01):if(SJA read(REG_MODE)Ox010x01)bit_error_flag=0:break:if(bit_error_flag)s
30、tatus=CAN F24TRESET_ERR;elsestatus=CAN_ENTRESET_OK;return(status):unsigned char SJ_quit_reset_mode(void)unsigned char status=O:bit bdata bit_error_flag=1:unsigned char error_count=0x20:whi le(_一error_count)SJjrite(REG_MODE,Ox00):if(SJA_read(REG_MODE)&Ox01)=Ox00)bi terrorflag=O:break:)if(bit_erro
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 解除合同協(xié)議書申請函
- 計算機(jī)二級VB考試的歷年真題及答案分析
- 計算機(jī)二級ACCESS考前沖刺試題及答案
- 計算機(jī)VFP考試必考技能試題及答案
- 堅持學(xué)習(xí)的計算機(jī)二級試題及答案
- 出租房合同 協(xié)議書范本
- 嵌入式設(shè)備能耗管理試題及答案
- 逐步掌握現(xiàn)代漢語考試試題及答案
- 旅行社包銷合同協(xié)議書
- 稅收制度的公平性探討試題及答案
- 肥胖癥診療指南(2024年版)解讀
- 麥?zhǔn)障腊踩嘤?xùn)課件
- 《科普技巧常識》課件
- 2025年中國全電腦橫機(jī)市場現(xiàn)狀分析及前景預(yù)測報告
- 大型活動場館停車管理方案與技術(shù)措施
- 醫(yī)院基建管理試題及答案
- 2025年全國保密教育線上培訓(xùn)考試試題庫及答案(奪冠)帶答案詳解
- 滬教牛津版(深圳用)英語五年級下冊Unit-11-Chinese-festivals課件
- 2025-2030中國職業(yè)資格培訓(xùn)行業(yè)市場深度調(diào)研及競爭格局與投資前景研究報告
- 甘露特鈉膠囊聯(lián)合多奈哌齊片治療輕中度阿爾茨海默病的療效及腸道菌群影響
- 2025科技輔導(dǎo)員培訓(xùn)
評論
0/150
提交評論