版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、.頁眉.西南科技大學(xué)畢業(yè)設(shè)計(jì)(論文)題目名稱:基于can總線的數(shù)據(jù)傳輸系統(tǒng)年 級(jí):2003級(jí) 本科 專科學(xué)生學(xué)號(hào):20035125學(xué)生姓名:楊敬國 指導(dǎo)教師:韓雪梅學(xué)生單位:信息工程學(xué)院 技術(shù)職稱:講師學(xué)生專業(yè):生物醫(yī)學(xué)工程 教師單位:信息工程學(xué)院西 南 科 技 大 學(xué) 教 務(wù) 處 制.頁腳.頁眉.基于can總線的數(shù)據(jù)傳輸系統(tǒng)摘要: can(控制器局域網(wǎng))屬于現(xiàn)場總線,是一種有效支持分布式和實(shí)時(shí)控制的串行通信網(wǎng)絡(luò)。在基于can總線的數(shù)據(jù)傳輸系統(tǒng)的總體設(shè)計(jì)中,采用了模塊化結(jié)構(gòu)設(shè)計(jì),主要對(duì)數(shù)據(jù)采集模塊和 can 總線通訊模塊進(jìn)行了軟硬件的設(shè)計(jì)開發(fā)。本設(shè)計(jì)以蒸汽鍋爐的溫度信號(hào)作為系統(tǒng)采集的源信號(hào)進(jìn)行
2、設(shè)計(jì),其中溫度傳感器芯片max6675的應(yīng)用,大大簡化了系統(tǒng)硬件電路的設(shè)計(jì)。智能節(jié)點(diǎn)模塊的設(shè)計(jì)中采用了通用的at89s51單片機(jī)和目前流行的can總線外圍器件如sja1000,pca82c250等器件。最后,對(duì)本設(shè)計(jì)的主要工作進(jìn)行了總結(jié),對(duì)系統(tǒng)的完善與相關(guān)理論和技術(shù)的發(fā)展進(jìn)行了展望。關(guān)鍵詞:數(shù)據(jù)傳輸;can總線;溫度信號(hào);智能控制can highway-based data transmission systemabstract: can is a kind of field-bus and a serial communication network which supports distr
3、ibuted and real-time control effectively. the modular structure is applied into the design of the data transmission system based on can-bus. the design focuses on the software and hardware of data-gathering module and can field-bus communication module. in the design, the source signal for the syste
4、m is the temperature signals of the steam boiler. the use of the ic max6675 has mostly narrowed down the design of hardware. in the design of the intelligent part, the mcu at89s51 and the popular can periphery ic sja1000 and pca82c250 are used. finally, the summary of the work in this paper and the
5、prospect of correlative theory and techniques are given.key words: data transmission, can field-bus, temperature signal, intelligent control目 錄第1章 緒 論11.1 課題背景及意義11.2 國內(nèi)外數(shù)據(jù)采集技術(shù)發(fā)展及應(yīng)用狀況11.2.1 現(xiàn)場總線技術(shù)與控制系統(tǒng)的發(fā)展概況11.2.2 數(shù)據(jù)采集技術(shù)及數(shù)據(jù)采集系統(tǒng)的發(fā)展?fàn)顩r31.3本設(shè)計(jì)主要完成的工作4第2章 總體方案介紹52.1 can總線簡介及工作原理52.2 系統(tǒng)總體設(shè)計(jì)思路52.3 各模塊功能介紹72
6、.3.1 數(shù)據(jù)采集模塊72.3.2 數(shù)據(jù)傳輸節(jié)點(diǎn)72.4 本章小結(jié)7第3章 數(shù)據(jù)傳輸系統(tǒng)的硬件設(shè)計(jì)83.1 微處理器的選擇及其電路設(shè)計(jì)83.2 數(shù)據(jù)采集模塊的設(shè)計(jì)93.2.1方案1熱電偶測溫93.2.2 方案2 max6675測溫103.2.3 max6675工作原理103.2.4 max6675工作時(shí)序113.2.5 max6675與at89s51的接口電路123.3 can 總線通訊模塊設(shè)計(jì)123.3.1 can 器件的選用123.3.2 can 控制器的選用133.3.3 can 收發(fā)器的選用143.4 can 通訊模塊電路設(shè)計(jì)153.5本章小結(jié)16第4章 數(shù)據(jù)傳輸系統(tǒng)的軟件設(shè)計(jì)174.
7、1總體軟件功能分析與模塊劃分174.2 can 總線初始化程序設(shè)計(jì)174.2.1 初始化分析174.2.2 初始化主程序184.3 can 總線報(bào)文發(fā)送程序設(shè)計(jì)204.3.1 報(bào)文發(fā)送分析204.3.2報(bào)文發(fā)送主程序204.4 can 總線報(bào)文接收程序設(shè)計(jì)224.4.1 報(bào)文接收分析224.4.2 報(bào)文接收主程序23第5章 系統(tǒng)調(diào)試265.1 硬件調(diào)試265.2 軟件調(diào)試275.3 聯(lián)合調(diào)試27總 結(jié)27參考文獻(xiàn)28附錄1:節(jié)點(diǎn)電路30附錄2:上位指示電路31附錄3:實(shí)物圖32.頁眉.第1章 緒 論1.1 課題背景及意義信息時(shí)代的到來,對(duì)社會(huì)的各個(gè)領(lǐng)域都產(chǎn)生了深刻的變革和巨大的影響。尤其在工業(yè)
8、自動(dòng)化方面開始強(qiáng)調(diào)工業(yè)生產(chǎn)過程自動(dòng)化和工業(yè)信息管理自動(dòng)化。而今,信息控制一體化己經(jīng)成為自動(dòng)化領(lǐng)域的主體,是信息社會(huì)的基礎(chǔ)和平臺(tái)。隨著數(shù)字通信技術(shù)、網(wǎng)絡(luò)技術(shù)和微處理技術(shù)的迅猛發(fā)展,把傳統(tǒng)的由數(shù)字信號(hào)和模擬信號(hào)混合的系統(tǒng)變成全數(shù)字信號(hào)系統(tǒng)成為可能,現(xiàn)場總線就是在這種背景下產(chǎn)生的,由于它適應(yīng)了工業(yè)控制系統(tǒng)向分散化、網(wǎng)絡(luò)化和智能化的發(fā)展方向,所以,一經(jīng)產(chǎn)生便成為全球工業(yè)自動(dòng)化的焦點(diǎn),它的出現(xiàn)同時(shí)導(dǎo)致了現(xiàn)場總線控制系統(tǒng)fcs (field-bus control system)的產(chǎn)生,帶來了自動(dòng)控制技術(shù)領(lǐng)域里的一次產(chǎn)業(yè)革命。針對(duì)目前工業(yè)現(xiàn)場普遍采用的自動(dòng)控制系統(tǒng)如dcs(distribute contr
9、ol system)集散式控制系統(tǒng)來說,它在控制現(xiàn)場需要大量的傳感器、執(zhí)行器、調(diào)節(jié)器等相關(guān)設(shè)備,他們相對(duì)分散且分布在較廣泛的范圍內(nèi),連線過多不便于安裝和維護(hù),而且遠(yuǎn)距離傳輸導(dǎo)致信號(hào)衰減,局域通訊網(wǎng)絡(luò)采用rs485方式,使系統(tǒng)開放性差,組態(tài)比較繁瑣,不具備在線調(diào)試功能,抗干擾能力差,給安全平穩(wěn)運(yùn)行帶來隱患。針對(duì)這一系列弊端,本設(shè)計(jì)提出了應(yīng)用可靠性強(qiáng)、穩(wěn)定性好、抗干擾能力強(qiáng)、通信速率快、造價(jià)低、維護(hù)成本低的can總線控制系統(tǒng)。本課題“基于can總線的數(shù)據(jù)傳輸系統(tǒng)”就是針對(duì)這一問題提出的。它的提出對(duì)提高企業(yè)經(jīng)濟(jì)效益,促進(jìn)企業(yè)的發(fā)展具有極強(qiáng)的現(xiàn)實(shí)意義。1.2 國內(nèi)外數(shù)據(jù)采集技術(shù)發(fā)展及應(yīng)用狀況1.2.1
10、 現(xiàn)場總線技術(shù)與控制系統(tǒng)的發(fā)展概況信息技術(shù)的飛速發(fā)展,引起了現(xiàn)場總線技術(shù)的產(chǎn)生。現(xiàn)場總線技術(shù)發(fā)展的同時(shí)又推動(dòng)了控制系統(tǒng)的向前發(fā)展?,F(xiàn)場總線系統(tǒng)即應(yīng)用在生產(chǎn)現(xiàn)場,在控制設(shè)備之間實(shí)現(xiàn)雙向、串行、多節(jié)點(diǎn)通信的數(shù)字通信系統(tǒng)。它是在 80 年代后期發(fā)展起來的一種先進(jìn)的現(xiàn)場工業(yè)控制技術(shù)。它綜合了數(shù)字通信技術(shù)、計(jì)算機(jī)技術(shù)、自動(dòng)控制技術(shù)、網(wǎng)絡(luò)技術(shù)和智能儀表等多種技術(shù)手段,從根本上突破了傳統(tǒng)的點(diǎn)對(duì)點(diǎn)式的模擬信號(hào)或數(shù)字模擬信號(hào)控制的局限性。構(gòu)成一種全分散、全數(shù)字化、智能、雙向、互連、多變量、多節(jié)點(diǎn)的通信與控制系統(tǒng)。 現(xiàn)場總線的基礎(chǔ)是智能現(xiàn)場設(shè)備,本設(shè)計(jì)中即為智能數(shù)據(jù)傳輸系統(tǒng),分散在各個(gè)工業(yè)現(xiàn)場的智能數(shù)據(jù)傳輸系統(tǒng)通
11、過數(shù)字現(xiàn)場總線連為一體,并與控制室中的監(jiān)控設(shè)備一起共同構(gòu)成現(xiàn)場總線控制系統(tǒng)?,F(xiàn)場總線控制系統(tǒng)fcs通過遵循一定的國際標(biāo)準(zhǔn),可以將不同廠商的現(xiàn)場總線產(chǎn)品集成在同一套fcs中,具有互換性和互操作性。fcs 把傳統(tǒng)dcs 的控制功能進(jìn)一步下放到現(xiàn)場智能數(shù)據(jù)采集器,由現(xiàn)場智能數(shù)據(jù)采集器完成數(shù)據(jù)采集、數(shù)據(jù)處理、控制運(yùn)算和數(shù)據(jù)輸出等功能?,F(xiàn)場智能數(shù)據(jù)采集器的數(shù)據(jù),通過現(xiàn)場總線傳到控制室的監(jiān)控設(shè)備上??刂剖业谋O(jiān)控設(shè)備用來監(jiān)視各個(gè)現(xiàn)場設(shè)備的運(yùn)行狀態(tài),保存各智能數(shù)據(jù)采集器上傳的數(shù)據(jù),同時(shí)完成一定的控制功能。因此fcs更好地體現(xiàn)了“信息集中,控制分散”的概念。而且fcs連線簡單,將大大降低安裝和連線的費(fèi)用,現(xiàn)場裝
12、置的智能化將增強(qiáng)現(xiàn)場設(shè)備的功能,減少一半甚至一半以上的i/o設(shè)備,并提供更多的信息流動(dòng)。由于結(jié)構(gòu)上的改變,fcs比dcs節(jié)約硬件設(shè)備,同時(shí)減少大量電纜,使施工、調(diào)試大大簡化??傊?,現(xiàn)場總線是高可靠性、低成本、組態(tài)簡單、可互換、可互操作性、分散控制、運(yùn)行方便、數(shù)據(jù)庫一致的開放式系統(tǒng)。fcs是控制體系結(jié)構(gòu)的一場革命,它將影響今后幾十年內(nèi)自動(dòng)控制技術(shù)的發(fā)展。fcs將成為自動(dòng)控制系統(tǒng)的主流?,F(xiàn)場總線的產(chǎn)生導(dǎo)致了傳統(tǒng)控制系統(tǒng)結(jié)構(gòu)的變革,形成了新型的網(wǎng)絡(luò)集成式全分布控制系統(tǒng),即現(xiàn)場總線控制系統(tǒng)。這是繼基地式氣動(dòng)儀表控制系統(tǒng)、電動(dòng)單元組合式模擬儀表控制系統(tǒng)、集中式控制系統(tǒng)和集散式控制系統(tǒng)之后的新一代控制系統(tǒng)
13、。 1. 基地式氣動(dòng)儀表控制系統(tǒng) 由于 50 年代以前生產(chǎn)規(guī)模小,檢測控制儀表尚處于發(fā)展的初級(jí)階段,所以采用的是安裝在生產(chǎn)設(shè)備現(xiàn)場、只具備簡單測控功能的基地式氣動(dòng)儀表,其信號(hào)僅在本儀表內(nèi)起作用,各測控點(diǎn)只能成為封閉狀態(tài)。2. 電動(dòng)單元組合式模擬儀表控制系統(tǒng) 隨著生產(chǎn)規(guī)模的擴(kuò)大,操作人員需要綜合掌握多點(diǎn)的運(yùn)行參數(shù)和信息進(jìn)而實(shí)行操作控制,于是出現(xiàn)氣動(dòng)、電動(dòng)系列的單元組合式儀表和集中控制室。生產(chǎn)現(xiàn)場各處的參數(shù)通過統(tǒng)一的模擬信號(hào)送往集中控制室,操作人員可以在控制室縱觀生產(chǎn)流程各處的狀況,可以把各單元儀表的信號(hào)按需要組合成復(fù)雜的控制系統(tǒng)。3. 集中式數(shù)字控制系統(tǒng) 模擬信號(hào)的傳遞需要一對(duì)一的物理連接;信號(hào)
14、變化緩慢,提高計(jì)算速度與精度的開銷和難度都較大,信號(hào)傳輸?shù)目垢蓴_能力也較差。于是出現(xiàn)用數(shù)字信號(hào)取代模擬信號(hào)的直接數(shù)字控制。由于當(dāng)時(shí)數(shù)字計(jì)算機(jī)技術(shù)尚不發(fā)達(dá)、價(jià)格昂貴,所以需要用一臺(tái)計(jì)算機(jī)取代控制室的幾乎所有儀表盤,即集中式數(shù)字控制系統(tǒng)。4. 集散式控制系統(tǒng) 隨著計(jì)算機(jī)可靠性提高、價(jià)格大幅度下降,出現(xiàn)了數(shù)字調(diào)節(jié)器、可編程控制器以及由多個(gè)計(jì)算機(jī)遞階構(gòu)成的集中、分散相結(jié)合的集散式控制系統(tǒng)。這就是今天正在被許多企業(yè)采用的 dcs 系統(tǒng)。dcs 系統(tǒng)中測量變送儀表一般為模擬儀表。因而它是一種模擬數(shù)字混合系統(tǒng)。這種系統(tǒng)在功能、性能上較模擬儀表、集中式數(shù)字控制系統(tǒng)有很大的進(jìn)步,可在此基礎(chǔ)上實(shí)現(xiàn)裝置級(jí)、車間級(jí)的
15、優(yōu)化控制。但是在 dcs 系統(tǒng)形成過程中,由于受計(jì)算機(jī)系統(tǒng)早期存在的系統(tǒng)封閉這一缺陷的影響,各廠家的產(chǎn)品自成系統(tǒng)、不同廠家的設(shè)備不能互連在一起,難以實(shí)現(xiàn)互換與互操作,組成更大范圍信息共享的網(wǎng)絡(luò)系統(tǒng)存在很多困難。5. 現(xiàn)場總線控制系統(tǒng) 新型的現(xiàn)場總線控制系統(tǒng)突破了 dcs 系統(tǒng)中通信由專用網(wǎng)絡(luò)的封閉系統(tǒng)實(shí)現(xiàn)的缺陷,把基于封閉、專用的解決方案變成基于公開化、標(biāo)準(zhǔn)化的解決方案。1.2.2 數(shù)據(jù)采集技術(shù)及數(shù)據(jù)采集系統(tǒng)的發(fā)展?fàn)顩r數(shù)據(jù)采集屬于信息科學(xué)的一個(gè)重要分支,它是以傳感器技術(shù)、信號(hào)檢測和處理技術(shù)、電子技術(shù)、計(jì)算機(jī)科學(xué)等技術(shù)為基礎(chǔ)而形成的一門綜合應(yīng)用技術(shù)學(xué)科。人類從誕生開始就離不開信息活動(dòng),但是信息真
16、正成為科學(xué)研究對(duì)象并發(fā)展成為一門科學(xué),確是始自于 20 世紀(jì) 40 年代中期。發(fā)展至今數(shù)據(jù)采集技術(shù)已經(jīng)成為一種專門的技術(shù),在工業(yè)領(lǐng)域得到了廣泛的應(yīng)用。數(shù)據(jù)采集是工業(yè)控制的基礎(chǔ)部分,無論是集中式數(shù)字控制系統(tǒng)、集散式控制系統(tǒng)、還是現(xiàn)場總線控制系統(tǒng),都必須首先將多個(gè)地點(diǎn)的諸如溫度、濕度、光照、壓力、機(jī)械振動(dòng)和流量等模擬量轉(zhuǎn)換成數(shù)字量,才能利用智能儀表的數(shù)字計(jì)算功能進(jìn)行相關(guān)處理,因此數(shù)據(jù)采集的性能在很大程度上決定了控制系統(tǒng)的性能。20世紀(jì)70年代中后期,隨著微型機(jī)的發(fā)展,誕生了采集器、儀表和計(jì)算機(jī)融為一體的數(shù)據(jù)采集系統(tǒng)。20世紀(jì)80年代隨著計(jì)算機(jī)的普及應(yīng)用,數(shù)據(jù)采集系統(tǒng)得到了極大的發(fā)展,開始出現(xiàn)了通用
17、的數(shù)據(jù)采集與自動(dòng)測試系統(tǒng)。20世紀(jì)80年代后期,數(shù)據(jù)采集系統(tǒng)發(fā)生了極大的變化,工業(yè)計(jì)算機(jī)、單片機(jī)和大規(guī)模集成電路的組合,用軟件管理使系統(tǒng)的成本降低、體積減小、功能成倍增加、數(shù)據(jù)處理能力大大加強(qiáng)。20世紀(jì)90年代至今,在國際上,技術(shù)先進(jìn)國家的數(shù)據(jù)采集技術(shù)已經(jīng)在軍事、航空、電子設(shè)備、宇航技術(shù)及工業(yè)等領(lǐng)域被廣泛應(yīng)用。隨著現(xiàn)場總線技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,數(shù)據(jù)采集系統(tǒng)向分布式系統(tǒng)結(jié)構(gòu)和智能化方向發(fā)展,可靠性不斷提高,可以更好地實(shí)現(xiàn)生產(chǎn)環(huán)節(jié)的在線實(shí)時(shí)數(shù)據(jù)采集與監(jiān)控。1.3本設(shè)計(jì)主要完成的工作本設(shè)計(jì)主要完成了以下幾方面的工作:1. 對(duì)國內(nèi)外數(shù)據(jù)采集技術(shù)及數(shù)據(jù)傳輸系統(tǒng)的發(fā)展?fàn)顩r進(jìn)行了闡述和分析;2. 對(duì)工業(yè)控制
18、系統(tǒng)的特點(diǎn)及其現(xiàn)場總線的應(yīng)用進(jìn)行了總結(jié);對(duì)本設(shè)計(jì)選用的 can 總線進(jìn)行了簡單的分析;3. 對(duì)數(shù)據(jù)傳輸系統(tǒng)的軟硬件進(jìn)行了詳細(xì)設(shè)計(jì);4. 對(duì)系統(tǒng)進(jìn)行調(diào)試;第2章 總體方案分析2.1 can總線簡介及工作原理控制器局域網(wǎng)can(control area network)最初是由德國bosch公司為解決汽車監(jiān)控系統(tǒng)中的諸多復(fù)雜技術(shù)和難題而設(shè)計(jì)的數(shù)字信號(hào)通信協(xié)議。它屬于總線式串行通信網(wǎng)絡(luò)。由于它采用了許多新技術(shù)和獨(dú)特的設(shè)計(jì)思想,與同類產(chǎn)品相比,can總線在數(shù)據(jù)通信方面具有可靠、實(shí)時(shí)和靈活的優(yōu)點(diǎn)。其應(yīng)用范圍遍及從高速網(wǎng)絡(luò)到低成本的多線路網(wǎng)絡(luò)等控制領(lǐng)域。當(dāng) can 總線上的一個(gè)儀表發(fā)送數(shù)據(jù)時(shí),它以報(bào)文形式
19、廣播給網(wǎng)絡(luò)中所有儀表。對(duì)每個(gè)儀表來說,其報(bào)文開頭的 n 個(gè)位稱為標(biāo)識(shí)符,定義了報(bào)文的優(yōu)先級(jí),這種報(bào)文格式稱為面向內(nèi)容的編址方案。在同一系統(tǒng)中標(biāo)識(shí)符是唯一的,不可能有兩個(gè)儀表發(fā)送具有相同標(biāo)識(shí)符的報(bào)文。當(dāng)幾個(gè)儀表同時(shí)競爭總線讀取時(shí),這種配置十分重要。當(dāng)一個(gè)儀表要向其它儀表發(fā)送數(shù)據(jù)時(shí),該儀表的 cpu 將要發(fā)送的數(shù)據(jù)和自己的標(biāo)識(shí)傳送給本儀表的 can 芯片,并處于準(zhǔn)備狀態(tài);當(dāng)它收到總線分配時(shí),轉(zhuǎn)為發(fā)送報(bào)文狀態(tài)。can 芯片將數(shù)據(jù)根據(jù)協(xié)議組織成一定的報(bào)文格式發(fā)出,這時(shí)網(wǎng)上的其它儀表處于接收狀態(tài)。每個(gè)處于接收狀態(tài)的儀表對(duì)接收到的報(bào)文進(jìn)行檢測,判斷這些報(bào)文是否是發(fā)給自己的,以確定是否接收它。由于 can
20、總線是一種面向內(nèi)容的編址方案,因此很容易建立高水準(zhǔn)的控制系統(tǒng)并靈活地進(jìn)行配置,可以很容易地在 can 總線中加進(jìn)一些新儀表而無需在硬件或軟件上進(jìn)行修改。當(dāng)所提供的新儀表是純數(shù)據(jù)接收設(shè)備時(shí),數(shù)據(jù)傳輸協(xié)議不要求獨(dú)立的部分有物理目的地址。它允許分布過程同步化,即總線上控制器需要測量數(shù)據(jù)時(shí),可由網(wǎng)上獲得,而無須每個(gè)控制都有自己獨(dú)立的傳感器。2.2 系統(tǒng)總體設(shè)計(jì)思路根據(jù)can總線的工作原理,can總線數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì)應(yīng)該主要由鍋爐溫度信號(hào)的數(shù)據(jù)采集模塊和數(shù)據(jù)傳輸模塊組成。其中數(shù)據(jù)傳輸通過can總線來實(shí)現(xiàn)。按照應(yīng)用的實(shí)例,智能節(jié)點(diǎn)應(yīng)該由微控制器,can總線控制器和can總線收發(fā)器三部分組成。其中can總
21、線收發(fā)器負(fù)責(zé)建立can總線控制器和物理總線之間的連接,控制邏輯電平信號(hào)從can總線控制器到達(dá)物理總線的物理層,從而完成數(shù)據(jù)的傳輸任務(wù)。所以確定本設(shè)計(jì)總的系統(tǒng)結(jié)構(gòu)圖如圖2-1所示:120120rrcan總線(雙絞線)微 處 理 器can 控制器高速光耦隔離微 處 理 器上 位顯 示can控 制 器can 控 制 器高速光耦隔離高速光耦隔離can 收 發(fā) 器can收 發(fā) 器can收 發(fā) 器信 號(hào) 輸 入信 號(hào) 輸 入圖2-1 系統(tǒng)總體結(jié)構(gòu)圖本數(shù)據(jù)傳輸系統(tǒng)由三個(gè)獨(dú)立的模塊組成,兩個(gè)是獨(dú)立的can智能數(shù)據(jù)采集節(jié)點(diǎn),一個(gè)是上位顯示模塊。這三者通過can總線來進(jìn)行它們之間的數(shù)據(jù)通信。由于can總線具有多主
22、通信的特性,所以這兩個(gè)智能節(jié)點(diǎn)之間沒有主次之分,在特定條件(軟件控制)下兩路數(shù)據(jù)都有權(quán)優(yōu)先通信。系統(tǒng)結(jié)構(gòu)的合理與否,對(duì)系統(tǒng)的可靠性、性能價(jià)格比等有直接影響。主要是軟件、硬件功能的合理分配。原則上要盡可能“以軟代硬”,只要軟件能做到的就不要用硬件。其次要考慮系統(tǒng)的結(jié)構(gòu)布局及接口特性。整個(gè)系統(tǒng)可以分為硬件和軟件兩大部分:1硬件部分微處理器和can控制器是數(shù)據(jù)采集與傳輸?shù)暮诵?。微處理器完成?shù)據(jù)的采集和處理,can控制器通過can總線實(shí)現(xiàn)與上位顯示部分的通信。結(jié)構(gòu)圖如圖2-1。2軟件部分軟件部分主要是can總線通信程序的設(shè)計(jì)。為了保證在特定的工作環(huán)境下,系統(tǒng)能穩(wěn)定、可靠地完成工作。所以在系統(tǒng)設(shè)計(jì)中加入
23、了高速的光電耦合隔離模塊,以起到抗干擾的作用。2.3 各模塊功能介紹2.3.1 數(shù)據(jù)采集模塊數(shù)據(jù)采集模塊的主要功能是實(shí)現(xiàn)數(shù)據(jù)的采集和處理。其中它包括一個(gè)信號(hào)輸入部分和信號(hào)處理部分。信號(hào)輸入部分功能是提供系統(tǒng)所傳輸?shù)男盘?hào)源。信號(hào)的處理由微控制器來實(shí)現(xiàn),而微控制器一般是采用單片機(jī)。所以,數(shù)據(jù)采集模塊應(yīng)該是一個(gè)信號(hào)發(fā)生與調(diào)理電路與單片機(jī)的接口電路。2.3.2 數(shù)據(jù)傳輸節(jié)點(diǎn)數(shù)據(jù)傳輸節(jié)點(diǎn)主要完成前端所采集數(shù)據(jù)的傳輸功能。單片機(jī)通過程序控制將數(shù)據(jù)傳輸給can總線控制器。然后,can總線控制器再把數(shù)據(jù)進(jìn)行一定的處理后發(fā)送給can總線收發(fā)器。為了保證數(shù)據(jù)傳輸?shù)目煽啃院驼鎸?shí)性,在can控制器和can收發(fā)器之間加
24、入了高速的光電耦合器件來完成抗干擾的功能。在傳輸節(jié)點(diǎn)的基礎(chǔ)上加入led的指示電路,就構(gòu)成了基本的上位指示模塊。2.4 本章小結(jié)本章對(duì)can總線的原理進(jìn)行了分析,對(duì)系統(tǒng)的總體設(shè)計(jì)思路進(jìn)行了闡述并對(duì)各個(gè)模塊的具體作用進(jìn)行了簡單的介紹,確定了系統(tǒng)設(shè)計(jì)的總體方案。第3章 數(shù)據(jù)傳輸系統(tǒng)的硬件設(shè)計(jì)系統(tǒng)的硬件電路主要由數(shù)據(jù)采集節(jié)點(diǎn)電路和上位顯示電路兩個(gè)模塊組成。節(jié)點(diǎn)電路主要是數(shù)據(jù)輸入電路和數(shù)據(jù)通信電路組成。輸入電路由溫度傳感器芯片max6675搭建而成;數(shù)據(jù)通信電路由微處理器,can控制器和can收發(fā)器等組成。上位顯示電路主要是在數(shù)據(jù)通信電路的基礎(chǔ)上,運(yùn)用led來指示數(shù)據(jù)傳輸?shù)臓顟B(tài),是一種低級(jí)的顯示模式。3
25、.1 微處理器的選擇及其電路設(shè)計(jì)在智能數(shù)據(jù)采集電路中,微處理器是核心,因此,在硬件設(shè)計(jì)時(shí)首先要考慮的是微處理器的選擇,然后再確定與之配套的外圍設(shè)備電路。單片機(jī)的出現(xiàn),引起了儀器儀表結(jié)構(gòu)的根本性變革。以單片機(jī)為主體取代傳統(tǒng)儀器儀表的常規(guī)電子線路,可以容易地將計(jì)算機(jī)技術(shù)與測量控制技術(shù)結(jié)合在一起,組成新一代的“智能儀器”。在測量控制儀表中采用單片機(jī)技術(shù)使之成為智能儀器后,能解決許多傳統(tǒng)儀表不能或不易解決的難題,同時(shí)還能簡化儀表電路,提高儀表可靠性,降低儀表成本以及加快新產(chǎn)品的開發(fā)速度。本設(shè)計(jì)中,數(shù)據(jù)采集電路采用單片機(jī)作為微處理器。微處理器原則上只要能夠滿足實(shí)時(shí)控制調(diào)節(jié)需要的處理器都可以使用,但考慮到
26、硬件設(shè)計(jì)的兼容性和成本,可采用 51 系列單片機(jī)或兼容的 51 單片機(jī)。從工廠實(shí)際生產(chǎn)的角度來說,最好使用內(nèi)嵌 can 控制器的單片機(jī),可以減少使用成本和占用設(shè)備空間的開銷。但從設(shè)計(jì)的角度來說,這樣設(shè)計(jì)的系統(tǒng)靈活性欠佳,協(xié)議無法有效的擴(kuò)展和改進(jìn)。所以本設(shè)計(jì)最終選擇使用美國 atmel 公司的 at89s51單片機(jī)。 at89s51 提供以下標(biāo)準(zhǔn)功能:4k 字節(jié)flash 閃速存儲(chǔ)器,128字節(jié)內(nèi)部ram,32個(gè)io 口線,看門狗(wdt),兩個(gè)數(shù)據(jù)指針,兩個(gè)16 位定時(shí)計(jì)數(shù)器,一個(gè)5 向量兩級(jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),at89s51可降至0hz的靜態(tài)邏輯操作,
27、并支持兩種軟件可選的節(jié)電工作模式。空閑方式停止cpu的工作,但允許ram,定時(shí)計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存ram 中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位。3.2 數(shù)據(jù)采集模塊的設(shè)計(jì)數(shù)據(jù)采集模塊以溫度信號(hào)的采集來進(jìn)行設(shè)計(jì)。其中蒸汽鍋爐溫度信號(hào)的采集可以由熱電偶或溫度傳感器芯片max6675所搭建的電路來實(shí)現(xiàn)的。為了更好的完成信號(hào)的采集,本設(shè)計(jì)是在詳細(xì)了解了蒸汽鍋爐的溫度范圍(1501000攝氏度)以及溫度芯片的技術(shù)特點(diǎn)以后提出的。以下介紹了采用max6675的依據(jù)和它的技術(shù)特點(diǎn)以及它與微處理器的接口電路。圖3-1 at89s51接線電路3.2.1
28、方案1熱電偶測溫?zé)犭娕茧m然是常用的測量溫度的方式,但將熱電偶應(yīng)用在基于單片機(jī)的嵌入式系統(tǒng)領(lǐng)域時(shí),存在著以下幾方面的問題。非線性:熱電偶輸出熱電勢與溫度之間的關(guān)系為非線性關(guān)系,因此在應(yīng)用時(shí)必須進(jìn)行線性化處理。冷補(bǔ)償:熱電偶輸出的熱電勢為冷端保持為0時(shí)與測量端的電勢差值,而在實(shí)際應(yīng)用中冷端的溫度是隨著環(huán)境溫度而變化的,故需進(jìn)行冷端補(bǔ)償。數(shù)字化輸出:與嵌入式系統(tǒng)接口必然要采用數(shù)字化輸出及數(shù)字化接口,而作為模擬小信號(hào)測溫元件的熱電偶顯然法直接滿足這個(gè)要求。因此,若將熱電偶應(yīng)用于嵌入式系統(tǒng)時(shí),須進(jìn)行復(fù)雜的信號(hào)放大、a/d轉(zhuǎn)換、查表線性線、溫度補(bǔ)償及數(shù)字化輸出接口等軟硬件設(shè)計(jì)。如果能將上述的功能集成到一個(gè)
29、集成電路芯片中,即采用單芯片來完成信號(hào)放大、冷端補(bǔ)償、線性化及數(shù)字化輸出功能,則將大大簡化熱電偶在嵌入式領(lǐng)域的應(yīng)用設(shè)計(jì)。3.2.2 方案2 max6675測溫 max6675是一個(gè)集成了熱電偶放大器、冷端補(bǔ)償、a/d轉(zhuǎn)換器及spi串口的熱電偶放大器與數(shù)字轉(zhuǎn)換器。恰好能解決熱電偶應(yīng)用在基于單片機(jī)的嵌入式系統(tǒng)中存在的需要復(fù)雜的信號(hào)放大、a/d轉(zhuǎn)換、查表線性線、溫度補(bǔ)償及數(shù)字化輸出接口等軟硬件設(shè)計(jì)的問題。而且它的測溫范圍(01024攝氏度)所以,本設(shè)計(jì)最終選擇了max6675作為溫度信號(hào)采集的芯片。這樣既彌補(bǔ)了熱電偶測溫的缺陷,又簡化了電路的設(shè)計(jì),從而降低了設(shè)計(jì)的難度。3.2.3 max6675工作
30、原理根據(jù)熱電偶測溫原理, 熱電偶的輸出熱電勢不僅與測量端的溫度有關(guān),而且與冷端的溫度有關(guān),在以往的應(yīng)用中,有很多種冷端補(bǔ)償方法,如冷端冰點(diǎn)法或電橋補(bǔ)償法等,但調(diào)試都比較麻煩。另外,由于熱電偶的非線性, 以往是采用微處理器表格法或線性電路等方法來減小熱電偶本身非線性帶來的測量誤差, 但這些都增加了程序編制及調(diào)試電路的難度。而max6675 對(duì)其內(nèi)部元器件的參數(shù)進(jìn)行了激光修正, 從而對(duì)熱電偶的非線性進(jìn)行了內(nèi)部修正。同時(shí), max6675 內(nèi)部集成的冷端補(bǔ)償電路、非線性校正電路、斷線檢測電路都給k型熱電偶的使用帶來了極大的方便。該器件采用8引腳so貼片封裝。引腳功能如表3-1表3-1 max6675
31、引腳功能引 腳名 稱功 能1gnd接地端2t-k型熱電偶負(fù)極3t+k型熱電偶正極4vcc正電源端5sck串行時(shí)鐘輸入6cs片選端,cs為低時(shí)、啟動(dòng)串行接口7so串行信息輸出8n.c.空引腳 3.2.4 max6675工作時(shí)序當(dāng)max6675 的cs 引腳從高電平變?yōu)榈碗娖綍r(shí), max6675 將停止任何信號(hào)的轉(zhuǎn)換并在時(shí)鐘sck 的作用下向外輸出已轉(zhuǎn)化的數(shù)據(jù)。相反,當(dāng)cs 從低電平變回高電平時(shí), max6675 將進(jìn)行新的轉(zhuǎn)換。在 cs 引腳從高電平變?yōu)榈碗娖綍r(shí), 第一個(gè)字節(jié)d15 將出現(xiàn)在引腳so。一個(gè)完整的數(shù)據(jù)讀的過程需要16 個(gè)時(shí)鐘周期,數(shù)據(jù)的讀取通常在sck的下降沿進(jìn)行。 max6675
32、 的輸出數(shù)據(jù)為16 位,其中d15 始終無用, d14d3 對(duì)應(yīng)于熱電偶模擬輸入電壓的數(shù)字轉(zhuǎn)換量, d2 用于檢測熱電偶是否斷線(d2 為1 表明熱電偶斷開) , d1 為max6675 的標(biāo)識(shí)符, d0 為三態(tài)。需要指出的是:在以往的熱電偶電路設(shè)計(jì)中,往往需要專門的斷線檢測電路, 而max6675 已將斷線檢測電路集成于片內(nèi),從而簡化了電路設(shè)計(jì)。3.2.5 max6675與at89s51的接口電路圖3-2 max6675與at89s51接口電路為了正確使用max6675 芯片,設(shè)計(jì)時(shí)還必須注意:利用輸出數(shù)據(jù)中的d2 進(jìn)行斷偶檢測時(shí), 熱電偶的輸入負(fù)極t- 必須接地, 且應(yīng)盡可能地靠近 max
33、6675 的引腳地(即pin1);由于冷端溫度是由max6675 本身檢測的, 因此,為了提高測量的精確度,電路板的地線盡可能地大;由于熱電偶信號(hào)為微弱信號(hào),因此要盡可能地采取措施防止噪聲干擾,所以在電源與地線之間要接一個(gè)小電容。本設(shè)計(jì)用一個(gè)0.1uf的電容。3.3 can 總線通訊模塊設(shè)計(jì)3.3.1 can 器件的選用由第 2 章對(duì) can 總線技術(shù)的研究和分析可知,開發(fā)應(yīng)用 can 總線技術(shù)的關(guān)鍵是 can 總線協(xié)議的實(shí)現(xiàn)。由于 can 總線的突出優(yōu)點(diǎn),目前國外許多 ic器件生產(chǎn)廠商競相推出各種 can 總線器件產(chǎn)品。這些總線控制器主要由實(shí)現(xiàn)can 總線協(xié)議和微控制器接口電路二部分組成。對(duì)
34、于不同型號(hào)的 can 總線控制器,實(shí)現(xiàn) can 協(xié)議部分電路的結(jié)構(gòu)和功能大都相同,只是與微控制器接口部分的結(jié)構(gòu)及方式存在一些差異。can 通訊模塊主要由微處理器,can 控制器和 can 收發(fā)器三部分組成。3.3.2 can 控制器的選用 目前在can總線節(jié)點(diǎn)設(shè)計(jì)上被廣泛采用的can控制器芯片為philips的sja1000和intel的82527兩種can控制器芯片。1.intel 82527 can控制器 它支持can2.0,包括標(biāo)準(zhǔn)的和擴(kuò)展的數(shù)據(jù)和遠(yuǎn)程幀;可程控全局屏蔽,包括標(biāo)準(zhǔn)和擴(kuò)展信息標(biāo)識(shí)符;具有15個(gè)報(bào)文緩沖區(qū),每個(gè)數(shù)據(jù)長度為8字節(jié),包括14個(gè)tx/rx緩沖區(qū),一個(gè)帶可程控屏蔽的r
35、x緩沖區(qū);可變cpu接口,包括多路8位總線(intel或motorola方式)、多路16位總線、8位非多路總線(同步/異步)以及串行接口;位速率可程控,并有可程控的時(shí)鐘輸出;可變中斷結(jié)構(gòu);可對(duì)輸出驅(qū)動(dòng)器和輸入比較器結(jié)構(gòu)進(jìn)行設(shè)置; 兩個(gè)8位雙向i/o口。 2.phillips sja1000 can控制器標(biāo)準(zhǔn)結(jié)構(gòu)和擴(kuò)展結(jié)構(gòu)報(bào)文的接收和發(fā)送;64字節(jié)的接收fifo;標(biāo)準(zhǔn)和擴(kuò)展幀格式都具有單/雙接收濾波器含接收屏蔽和接收碼寄存器;可進(jìn)行讀/寫訪問的錯(cuò)誤計(jì)數(shù)器;可編程的錯(cuò)誤報(bào)警限制;最近一次的錯(cuò)誤代碼寄存器;每一個(gè)can總線錯(cuò)誤都可以產(chǎn)生錯(cuò)誤中斷具有丟失仲裁定位功能的丟失仲裁中斷;單發(fā)方式 當(dāng)發(fā)生錯(cuò)誤
36、或丟失仲裁時(shí)不重發(fā);只聽方式(監(jiān)聽can總線,無應(yīng)答,無錯(cuò)誤標(biāo)志);支持熱插拔(無干擾軟件驅(qū)動(dòng)位速率檢測)。選用獨(dú)立式can總線控制器允許設(shè)計(jì)時(shí)充分的靈活性。而sja1000是獨(dú)立的can 控制器,它主要用于移動(dòng)目標(biāo)和一般工業(yè)環(huán)境中的區(qū)域網(wǎng)絡(luò)控制,是 philips 半導(dǎo)體公司 pca82c200 can控制器(basiccan)的替代產(chǎn)品,而且它增加了一種新的操作模式pelican,這種模式支持具有很多新特性的 can2.0b 協(xié)議。它具有與 pca28c200 獨(dú)立 can 控制器兼容的引腳和電氣參數(shù);有擴(kuò)展的 64 字節(jié)接收緩沖器;支持can2.0a 和 can2.0b 協(xié)議;支持 11
37、 位和 29 位標(biāo)識(shí)碼;溫度適應(yīng)范圍大(40125)。這些特點(diǎn)完全滿足設(shè)計(jì)要求,因此本設(shè)計(jì)中 can 控制器選用 sja1000。表 3-2 sja1000 重要引腳功能符 號(hào)引 腳功 能ad0 ad72,1,28 23地址/數(shù)據(jù)復(fù)用總線ale3ale 信號(hào)(intel方式)或as信號(hào)(motorola 方式)/cs4片選輸入,低電平允許訪問sja1000/rd5微控制器的讀信號(hào)(intel 方式)或e 信號(hào)(motorola方式)/wr6微控制器的寫信號(hào)(intel 方式)或讀寫信號(hào)(motorola)方式xtal19振蕩放大器輸入外部振蕩放大器信號(hào)經(jīng)此引腳輸入xtal210振蕩放大器輸出使
38、用外部振蕩信號(hào)時(shí)此引腳必須開路mode11方式選擇輸入端1=intel 方式0=motorola 方式tx013由輸出驅(qū)動(dòng)器0 至物理總線的輸出端tx114由輸出驅(qū)動(dòng)器1 至物理總線的輸出端/int16中斷輸出端用于向微控制器提供中斷信號(hào)/rst17復(fù)位輸入端用于重新啟動(dòng)can 接口低電平有效rx0,rx119,20由物理總線至sja1000輸入比較器的輸入端顯性電平將喚醒處于睡眠方式的sja1000 當(dāng)rx0高于rx1時(shí)讀出為隱性電平否則為顯性電平了解器件重要引腳的功能有助于理解硬件電路的搭建和軟件編寫的思路,所以這里表3-2介紹了can控制器sja1000的主要引腳信息。3.3.3 can
39、 收發(fā)器的選用目前較為先進(jìn)的can總線收發(fā)器是德州儀器公司 (ti) 日前推出的一款5v 控制器局域網(wǎng) (can) 收發(fā)器,它不但性能得到改進(jìn)而且還可提供12kv hbm esd 保護(hù)功能,同時(shí)可靠性增強(qiáng)了6倍。這款收發(fā)器可靈活應(yīng)用于諸如具有 can 控制器的 tms320f24xx、tms320lf24xx 及 tms320lf28xx 系列5v 或 3.3v dsp。另外,sn65hvd251 不僅可用于 dsp,也可與獨(dú)立的 can 控制器及具有 can 控制器的微控制器共同使用。該器件專門針對(duì)采用符合 iso 11898 標(biāo)準(zhǔn)的 can 高速串行通信物理層等應(yīng)用,能以高達(dá) 1 mbps
40、 的速度提供到總線的差動(dòng)傳輸功能,以及到 can 控制器的差動(dòng)接收。但它的價(jià)格昂貴,而且它很多突出的特性在本系統(tǒng)中并不會(huì)得到充分的應(yīng)用,所以本設(shè)計(jì)并沒有選用這款can總線收發(fā)器。pca82c250是phillips公司生產(chǎn)的一款can總線收發(fā)器。它的價(jià)格便宜,性能優(yōu)良。它是連接 can 總線控制器和物理總線的接口,可以為總線提供差動(dòng)的發(fā)送功能,為 can 控制器提供差動(dòng)的接收功能,一個(gè)限流電路可防止發(fā)送輸出級(jí)對(duì)電池電壓的正端和負(fù)端短路。雖然在這種故障條件出現(xiàn)時(shí),功耗將增加,但這種特性可以阻止發(fā)送器輸出級(jí)的破壞。由于can總線控制器選用了phillips的器件,所以在同樣滿足設(shè)計(jì)要求的情況下,本
41、設(shè)計(jì)選用了pca82c250作為can總線收發(fā)器。它的引腳和封裝圖如表3-3:表 3-3 pca82c250重要引腳功能 封裝符 號(hào)管 腳功 能txd1發(fā)送數(shù)據(jù)輸入rxd2接收數(shù)據(jù)輸出canl3低電平can 電壓輸入/輸出canh4高電平can 電壓輸入/輸出rs5斜率電阻輸入3.4 can 通訊模塊電路設(shè)計(jì)本設(shè)計(jì)中can通訊模塊由at89s51、獨(dú)立can控制器sja1000、can總線收發(fā)器pca82c250和高速光電耦合器6n137四部分所構(gòu)成。at89s51負(fù)責(zé)sja1000的初始化,通過控制sja1000實(shí)現(xiàn)數(shù)據(jù)的接收和發(fā)送等通信任務(wù)。sja1000的ad0ad7連接到at89s51
42、的p0口,cs連接到at89s51的p2.0,p2.0為0的cpu片外存儲(chǔ)器地址可選中sja1000。cpu通過這些地址可對(duì)sja1000執(zhí)行相應(yīng)的讀寫操作。sja1000的rd、wr、ale分別與at89s51的對(duì)應(yīng)引腳相連接,int接at89s51的int0,at89s51也可通過中斷方式訪問sja1000。具體的電路原理圖如圖3-3所示:圖3-3 can通信模塊電路為了增強(qiáng)can總線智能數(shù)據(jù)采集器的抗干擾能力,sja1000的tx0、rx0并不是直接與pca82c250的txd和rxd相連,而是通過高速光耦6n137后,與pca82c250相連。這樣就很好的實(shí)現(xiàn)了總線上各can智能數(shù)據(jù)采
43、集節(jié)點(diǎn)間的電氣隔離。不過應(yīng)該特別說明的一點(diǎn)是,光耦部分電路所采用的兩個(gè)電源vcc和vdd必須完全隔離,否則采用光耦也就失去了意義。電源的完全隔離可采用小功率電源隔離模塊或帶5v隔離輸出的開關(guān)電源模塊實(shí)現(xiàn)。pca82c250與can總線的接口部分也采用了一定的安全和抗干擾措施。pca82c250的canh和canl引腳各自通過一個(gè)匹配的電阻與can總線相連,電阻可起到一定的限流作用,保護(hù)pca82c250免受過流的沖擊。canh和canl與地之間并聯(lián)了兩個(gè)小電容,可以起到濾除總線上的高頻干擾和一定的防電磁輻射的能力。當(dāng)引腳 txd 由于硬件或軟件程序的錯(cuò)誤而持久地為低電平時(shí),“txd 控制超時(shí)”
44、定時(shí)器電路可以防止總線進(jìn)入這種持久的支配狀態(tài)(阻塞所有網(wǎng)絡(luò)通信)。這個(gè)定時(shí)器是由引腳 txd 的負(fù)跳沿觸發(fā)。如果引腳 txd 的低電平持續(xù)時(shí)間超過內(nèi)部定時(shí)器的值,發(fā)送器會(huì)被禁能,使總線進(jìn)入隱性狀態(tài)。 定時(shí)器由引腳 txd 的正跳沿復(fù)位。3.5本章小結(jié)本章對(duì)智能數(shù)據(jù)采集的硬件電路進(jìn)行了詳細(xì)設(shè)計(jì)。首先選擇了符合數(shù)據(jù)傳輸系統(tǒng)的單片機(jī) at89s51,并對(duì)其具體電路進(jìn)行了詳細(xì)設(shè)計(jì);然后對(duì)數(shù)據(jù)采集模塊進(jìn)行了詳細(xì)設(shè)計(jì);最后重點(diǎn)對(duì) can 總線通訊模塊進(jìn)行了詳細(xì)設(shè)計(jì)。因?yàn)樯衔伙@示模塊是在通信模塊的基礎(chǔ)上進(jìn)行設(shè)計(jì),所以設(shè)計(jì)中未做詳細(xì)的介紹如想詳細(xì)了解請(qǐng)參考附錄2的電路內(nèi)容。第4章 數(shù)據(jù)傳輸系統(tǒng)的軟件設(shè)計(jì)4.1
45、總體軟件功能分析與模塊劃分?jǐn)?shù)據(jù)傳輸系統(tǒng)軟件的主要功能如下:a.系統(tǒng)初始化b.can總線報(bào)文發(fā)送c.can總線報(bào)文接收4.2 can 總線初始化程序設(shè)計(jì)4.2.1 初始化分析can 總線通訊模塊的初始化主要是對(duì) can 控制器的初始化。獨(dú)立的can 控制器sja1000 必須在上電或硬件復(fù)位后設(shè)置can 通訊。在由主控制器操作期間它可能會(huì)發(fā)送一個(gè)軟件復(fù)位請(qǐng)求,sja1000 會(huì)被重新配置再次初始化can 控制器的初始化要點(diǎn)是:1. 工作模式為 pelican 模式,幀格式采用擴(kuò)展幀2. 通信波特率為 50kbps3. 采用雙濾波驗(yàn)收,即 4 字節(jié)的接收代碼寄存器 acr0acr3 分為前后兩組,
46、前組為接收節(jié)點(diǎn)(目標(biāo)節(jié)點(diǎn))的 id,后組為發(fā)送節(jié)點(diǎn)的 id,這樣報(bào)文由誰發(fā)送、發(fā)送給誰都直接明了4. 在初始化有關(guān)寄存器前,必須使 sja1000 由工作模式進(jìn)入復(fù)位模式,否則無法完成初始化操作。4.2.2 初始化主程序按照上述初始化要點(diǎn),繪制 can 控制器的初始化程序流程圖如圖4-1所示,根據(jù)流程圖用匯編語言實(shí)現(xiàn)如下:can_init:mov dptr, #mode ;指向模式寄存器mov a,#09h ;進(jìn)復(fù)位模式,對(duì) sja1000 進(jìn)行初始化movx dptr,amov dptr,#cdr ;指向時(shí)鐘分頻器寄存器mov a,#88h ;pelican 模式,關(guān)閉時(shí)鐘輸出(clkout
47、)movx dptr,amov dptr,#ier ;指向中斷允許寄存器mov a,#0dh ;開放發(fā)送中斷、超載中斷和錯(cuò)誤警告中斷movx dptr,amov dptr,#amr ;指向接收屏蔽寄存器 0mov r6,#4開始初始化禁止主控制器中斷復(fù)位模式配置驗(yàn)證代碼寄存器配置驗(yàn)收屏蔽寄存器所有中斷使能進(jìn)入工作模式配置輸出控制寄存器配置總線定時(shí)寄存器完成初始化圖4-1初始化程序流程圖mov r0,#damr ;接收屏蔽寄存器內(nèi)容在片內(nèi) ram 中的首地址amr:mov a,r0movx dptr,a ;接收屏蔽寄存器賦初值inc dptrdjnz r6,amrmov dptr,#acr ;接
48、收代碼寄存器mov r6,#4mov r0,#dacr ;接收代碼寄存器內(nèi)容在片內(nèi) ram 中的首地址acr:mov a,r0movx dptr,a ;接收代碼寄存器賦初值inc dptrdjnz r6,acrmov dptr,#btr0 ;總線定時(shí)寄存器 0mov a,#03hmovx dptr,amov dptr,#btr1 ;總線定時(shí)寄存器 1mov a,#0ffh ;16mhz 晶振情況下,設(shè)置波特率為 80kbps.movx dptr,amov dptr,#ocr ;輸出控制寄存器mov a,#0aahmovx dptr,amov dptr,#rbsa ;接收緩存器起始地址寄存器mo
49、v a,#0 ;設(shè)置接收緩存器 fifo 起始地址為 0movx dptr,amov dptr,#txerr ;發(fā)送錯(cuò)誤計(jì)數(shù)寄存器mov a,#0 ;清除發(fā)送錯(cuò)誤計(jì)數(shù)寄存器movx dptr,amov dptr,#ecc ;錯(cuò)誤代碼捕捉寄存器movx a,dptr ;清除錯(cuò)誤代碼捕捉寄存器mov dptr,#mode ;方式寄存器mov a,#08h ;設(shè)置單濾波接收方式,并返回工作狀態(tài)movx dptr,aret4.3 can 總線報(bào)文發(fā)送程序設(shè)計(jì) 4.3.1 報(bào)文發(fā)送分析報(bào)文的發(fā)送采用查詢法。將待發(fā)送信息按 sja1000 的要求送入系統(tǒng)發(fā)送緩沖區(qū),由于本系統(tǒng)采用 pelican 模式和擴(kuò)
50、展幀,因此緩沖區(qū)總共為 13 字節(jié),包括幀信息、id 碼及 8 字節(jié)數(shù)據(jù)。按流程圖圖4-2的要求進(jìn)行報(bào)文的發(fā)送。需要注意的是,在將系統(tǒng)發(fā)送緩沖區(qū)數(shù)據(jù)移至 can 控制器發(fā)送緩沖區(qū)前,必須判斷緩沖區(qū)是否被鎖定。如果緩沖區(qū)被鎖定,則不能寫入數(shù)據(jù)。狀態(tài)寄存器的ts 和rs 標(biāo)志能檢測can 控制器是否已達(dá)到空閑狀態(tài),tbs 標(biāo)志和tcs 標(biāo)志可以檢查報(bào)文是否成功發(fā)送。4.3.2報(bào)文發(fā)送主程序根據(jù)流程圖用匯編語言編寫程序如下,由于篇幅限制,這里 sja1000 初始化配置省略。tdata_can:mov dptr,#sr ;指向狀態(tài)寄存器tdata_can_0:movx a,dptr ;讀狀態(tài)anl
51、a,#10hjnz tdata_can_0 ;判是否正在接收,使則等待tdata_can_1:movx a,dptr ;再次讀入 can 線狀態(tài)anl a,#08hjz tdata_can_1 ;判上次發(fā)送是否成功,不成功則等待ynny開始啟動(dòng)sja1000發(fā)送讀取sja1000狀態(tài)寄存器的值向sja1000發(fā)送緩沖區(qū)寫入數(shù)完成sja1000初始化配置延時(shí)200毫秒將發(fā)送請(qǐng)求位置1判斷tbs&tcs=1?判斷tbs&tcs=1?返回啟動(dòng)發(fā)送成功返回啟動(dòng)發(fā)送失敗圖4-2報(bào)文發(fā)送程序流程圖tdata_can_2:movx a,dptranl a,#04hjz tdata_can_2 ;判發(fā)送緩沖區(qū)是否鎖定,0:被鎖定mov dptr,#txb ;指針指向 can 控制器發(fā)送緩沖區(qū)mov r0,#cantxbuf ;指針指向系統(tǒng)通信緩沖區(qū)mov a,r0 ;取出數(shù)據(jù)movx dptr,a ;寫入發(fā)送緩沖區(qū)anl a,#0fh ;從首字節(jié)的低 4 位得
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度四方擔(dān)保企業(yè)信用貸款合同范本
- 二零二五年度產(chǎn)業(yè)園區(qū)合伙人入駐管理合同3篇
- 二零二五年度綠色節(jié)能門窗改造工程合同4篇
- 2025年度模特時(shí)尚產(chǎn)品代言合同4篇
- 二零二五年度土地承包權(quán)轉(zhuǎn)讓與農(nóng)村產(chǎn)權(quán)交易服務(wù)合同范本
- 2025年度海上風(fēng)電場建設(shè)與運(yùn)維合同4篇
- 2025年度公共安全項(xiàng)目驗(yàn)收流程及合同法應(yīng)用要求3篇
- 二零二五年度企業(yè)年會(huì)主題服裝租賃合同協(xié)議書4篇
- 2025年度個(gè)人商標(biāo)使用權(quán)授權(quán)委托合同3篇
- 2025年零星勞務(wù)合同模板:全新升級(jí)2篇
- 平安產(chǎn)險(xiǎn)陜西省地方財(cái)政生豬價(jià)格保險(xiǎn)條款
- 銅礦成礦作用與地質(zhì)環(huán)境分析
- 30題紀(jì)檢監(jiān)察位崗位常見面試問題含HR問題考察點(diǎn)及參考回答
- 詢價(jià)函模板(非常詳盡)
- 《AI營銷畫布:數(shù)字化營銷的落地與實(shí)戰(zhàn)》
- 麻醉藥品、精神藥品、放射性藥品、醫(yī)療用毒性藥品及藥品類易制毒化學(xué)品等特殊管理藥品的使用與管理規(guī)章制度
- 一個(gè)28歲的漂亮小媳婦在某公司打工-被老板看上之后
- 乘務(wù)培訓(xùn)4有限時(shí)間水上迫降
- 2023年低年級(jí)寫話教學(xué)評(píng)語方法(五篇)
- DB22T 1655-2012結(jié)直腸外科術(shù)前腸道準(zhǔn)備技術(shù)要求
- GB/T 16474-2011變形鋁及鋁合金牌號(hào)表示方法
評(píng)論
0/150
提交評(píng)論