基于can總線的溫度檢測(cè)系統(tǒng)畢業(yè)設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩46頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  畢業(yè)設(shè)計(jì)(論文)</b></p><p>  專 業(yè): </p><p>  題 目: 基于CAN總線的溫度檢測(cè)系統(tǒng) </p><p>  作 者 姓 名: </p><p&g

2、t;  導(dǎo)師及職稱: </p><p>  導(dǎo)師所在單位: </p><p>  2011年 6 月 16 日</p><p>  本科畢業(yè)設(shè)計(jì)(論文)任務(wù)書</p><p>  2011 屆 專業(yè)</p><p>  學(xué)生姓名:

3、 </p><p> ?、?畢業(yè)設(shè)計(jì)(論文)題目</p><p>  中文:基于CAN總線的溫度檢測(cè)系統(tǒng)</p><p>  英文:The Temperature Monitor System Based on CAN Bus</p><p><b> ?、?原始資料</b></p>

4、;<p>  [1] 李華,MCS-51系列單片機(jī)實(shí)用接口技術(shù)[M],北京航空航天大學(xué)出版社,1998</p><p>  [2] 胡漢才,單片機(jī)原理及接口技術(shù)[M],北京:清華大學(xué)出版社,1996</p><p>  [3 ] 王樹(shù)勛,王朝玉,張新發(fā)MCS-51單片微型計(jì)算機(jī)原理與開(kāi)發(fā)[M] 北京:機(jī)械工業(yè)出版社,1989</p><p>  [

5、4 ] 張鳳登 現(xiàn)場(chǎng)總線技術(shù)與應(yīng)用[M],北京:科學(xué)出版社 2008</p><p>  [5 ] 饒?jiān)茲?,鄒繼軍,鄭勇蕓 現(xiàn)場(chǎng)總線CAN原理與應(yīng)用技術(shù)[M],北京:北京航空航天大學(xué)出版社,2003.6</p><p>  [6 ] 程希明,CAN現(xiàn)場(chǎng)總線數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)方案[J] 自動(dòng)化儀表,2004:21-25</p><p> ?、?畢業(yè)設(shè)計(jì)(論文)任務(wù)內(nèi)容

6、</p><p><b>  1、課題研究的意義</b></p><p>  由于CAN總線具有多主方式工作、非破壞總線仲裁、直接通訊距離遠(yuǎn)、通信介質(zhì)靈活、性價(jià)比高等特點(diǎn),其應(yīng)用范圍目前已不再局限于汽車行業(yè),而擴(kuò)展到了機(jī)械工業(yè)、紡織機(jī)械、農(nóng)業(yè)機(jī)械、機(jī)器人、數(shù)控機(jī)床、家用電器等領(lǐng)域發(fā)展。CAN已經(jīng)形成了國(guó)際標(biāo)準(zhǔn),并已被公認(rèn)為集中最有前途的現(xiàn)場(chǎng)總線之一。對(duì)于CAN總線的開(kāi)

7、發(fā)具有重要的現(xiàn)實(shí)意義。</p><p>  2、本課題研究的主要內(nèi)容:</p><p>  此次畢業(yè)設(shè)計(jì)研究的內(nèi)容是基于CAN總線的溫度檢測(cè)系統(tǒng)利用AT89S51單片機(jī)、SJA1000CAN控制器設(shè)計(jì)開(kāi)發(fā)基于智能節(jié)點(diǎn)的CAN網(wǎng)絡(luò),實(shí)時(shí)監(jiān)測(cè)各個(gè)節(jié)點(diǎn)狀態(tài)并發(fā)送狀態(tài)信息。</p><p><b>  3、提交的成果:</b></p>&

8、lt;p> ?。?)畢業(yè)設(shè)計(jì)(論文)正文;</p><p> ?。?)原理圖及主程序;</p><p> ?。?)一篇引用的外文文獻(xiàn)及其譯文;</p><p> ?。?)10篇主要參考文獻(xiàn)的題錄及摘要。</p><p><b>  指導(dǎo)教師(簽字)</b></p><p><b>

9、  教研室主任(簽字)</b></p><p>  批 準(zhǔn) 日 期2011年1月5日</p><p>  接受任務(wù)書日期2011年1月9日</p><p>  完 成 日 期2011年6月15日 </p><p>  接受任務(wù)書學(xué)生(簽字) </p><p>  基于CAN總線的溫度檢測(cè)系統(tǒng)&

10、lt;/p><p><b>  摘 要</b></p><p>  本設(shè)計(jì)以AT89S51單片機(jī)為核心的溫度控制系統(tǒng)的工作原理和設(shè)計(jì)方法來(lái)研究CAN總線測(cè)控系統(tǒng)間數(shù)據(jù)通信、結(jié)構(gòu)靈活、通用性號(hào)。我們還采用了單總線型數(shù)字式的溫度傳感器DS18B20,使系統(tǒng)具有測(cè)溫誤差小、分辨率高、抗干擾能力強(qiáng),動(dòng)態(tài)顯示的方式等特點(diǎn)。選用SJA1000作為CAN總線的控制器與82C250

11、芯片設(shè)計(jì)了CAN總線接口模塊。82C250可以提供對(duì)總線的差動(dòng)發(fā)送和接收功能,提高系統(tǒng)總線的節(jié)點(diǎn)驅(qū)動(dòng)能力,增大通信距離,降低干擾。</p><p>  全文整理CAN總線溫度檢測(cè)系統(tǒng)基本原理、發(fā)展歷史以及介紹與CAN總線相關(guān)設(shè)計(jì)方法,介紹了所用的元器件的介紹,并設(shè)計(jì)了CAN總線節(jié)點(diǎn)設(shè)計(jì)電路,設(shè)計(jì)時(shí)鐘電路和復(fù)位電路。最后設(shè)計(jì)了CAN總線溫度檢測(cè)系統(tǒng)的軟件設(shè)計(jì)及流程圖。</p><p>  溫

12、度檢測(cè)無(wú)論在醫(yī)療電子領(lǐng)域還是工業(yè)控制領(lǐng)域應(yīng)用都非常廣泛,人們都需要對(duì)各類加熱爐、熱處理爐、反應(yīng)爐和鍋爐中的溫度進(jìn)行檢測(cè)和控制,醫(yī)療電子領(lǐng)域的生化分析儀等,內(nèi)部都涉及到溫度控制,具有特別廣闊的前景。</p><p>  關(guān)鍵字:AT89S51單片機(jī) 溫度傳感器DS18B20 SJA1000控制器 溫度檢測(cè)</p><p>  The Temperature Monitor System

13、 Based on CAN Bus</p><p><b>  Abstract</b></p><p><b>  窗體底端</b></p><p><b>  窗體頂端</b></p><p>  The design of the AT89S51 microcontrol

14、ler as the core principle of the temperature control system and design method to study the CAN bus data communication between control system, structural flexibility, universal number.We also use a single bus-type digital

15、 temperature sensor DS18B20, the system has a temperature measurement error is small, high resolution, anti-interference ability, dynamic show the way and so on.SJA1000 CAN bus used as a controller and 82C250 chip design

16、 of the CAN bus interf</p><p>  CAN bus full finishing the basic principles of temperature measurement systems, development history and describes the design method with the CAN-bus-related, a description of

17、the components used in the introduction, and a CAN bus node design circuit design, design clock circuit and reset circuit.The final design of the CAN-bus temperature detection system software design and flow chart.</p

18、><p>  Temperature detection both in the field of medical electronics field or industrial control applications are very wide, people need all kinds of furnace, heat treatment furnace, the temperature in the rea

19、ctor and boiler inspection and control, medical electronics and other biochemical analyzer, internalare related to temperature control, has a special broad prospects.</p><p>  Key words: AT89S51 monolithic i

20、ntegrated circuit temperature sensor DS18B20 SJA1000 controller temperature examination</p><p><b>  目 錄</b></p><p><b>  引 言1</b></p><p>  第1章 緒

21、論2</p><p>  1.1 本設(shè)計(jì)研究的背景和實(shí)際意義2</p><p>  1.2 研究相關(guān)內(nèi)容的現(xiàn)狀2</p><p>  1.3 課題完成功能3</p><p>  第2章 系統(tǒng)設(shè)計(jì)的基本方案4</p><p>  2.1 設(shè)計(jì)的主要思路4</p><p>

22、;  2.2 溫度檢測(cè)的總體方案設(shè)計(jì)4</p><p>  第3章 CAN總線溫度檢測(cè)系統(tǒng)的硬件及設(shè)計(jì)5</p><p>  3.1 CAN總線的介紹5</p><p>  3.2 AT89S51單片機(jī)介紹6</p><p>  3.3 傳感器的選用DS18B20傳感器8</p><p>  3.4

23、 收發(fā)器,控制器與光耦合器11</p><p>  3.5 CAN總線接口電路設(shè)計(jì)13</p><p>  3.6 單片機(jī)的接口電路15</p><p>  第4章 軟件設(shè)計(jì)19</p><p>  4.1 軟件流程圖19</p><p>  4.2 系統(tǒng)程序設(shè)計(jì)23</p><

24、;p>  4.2 實(shí)驗(yàn)結(jié)果分析23</p><p><b>  結(jié)論與展望24</b></p><p><b>  致 謝25</b></p><p><b>  參考文獻(xiàn)26</b></p><p><b>  附錄A原理圖27</b>

25、;</p><p>  附錄B一篇引用的外文文獻(xiàn)及其譯文28</p><p>  附錄C 列入的主要參考文獻(xiàn)的題錄及摘要30</p><p>  附錄D 實(shí)驗(yàn)的部分主要源程序32</p><p><b>  插圖清單</b></p><p>  圖2-1 系統(tǒng)結(jié)構(gòu)圖4</p>

26、<p>  圖3-1 AT89S51單片機(jī)引腳圖6</p><p>  圖3-2 DS18B20外形結(jié)構(gòu)圖9</p><p>  圖3-3 DS18B20的寫時(shí)序10</p><p>  圖3-4 DS18B20的讀時(shí)序10</p><p>  圖3-5 PCA82C250收發(fā)器11</p><p&g

27、t;  圖3-6 CAN 總線系統(tǒng)硬件電路原理圖14</p><p>  圖3-7振蕩電路15</p><p>  圖3-8外部時(shí)鐘的電路16</p><p>  圖3-9上電復(fù)位16</p><p>  圖3-10開(kāi)機(jī)復(fù)位17</p><p>  圖3-11時(shí)鐘電路17</p><p&

28、gt;  圖3-12 DS18B20接口電路18</p><p>  圖4-1總流程圖19</p><p>  圖4-2 CAN SJA1000初始化20</p><p>  圖4-3 SJ1000發(fā)送21</p><p>  圖4-4 SJA1000接受22</p><p><b>  表格清單&

29、lt;/b></p><p>  表3-1 DS18B20內(nèi)部結(jié)構(gòu)9</p><p>  表3-2 SJA1000的功能框圖12</p><p><b>  引 言</b></p><p>  自動(dòng)控制系統(tǒng)在各個(gè)領(lǐng)域尤其是工業(yè)領(lǐng)域中有著及其廣泛的應(yīng)用,溫度控制是控制系統(tǒng)中最為常見(jiàn)的控制類型之一。隨著單片

30、機(jī)技術(shù)的飛速發(fā)展,通過(guò)單片機(jī)對(duì)被控對(duì)象進(jìn)行控制日益成為今后自動(dòng)控制領(lǐng)域的一個(gè)重要發(fā)展方向。溫度控制系統(tǒng)廣泛應(yīng)用于社會(huì)生活的各個(gè)領(lǐng)域 ,如家電、汽車、材料、電力電子等 ,常用的控制電路根據(jù)應(yīng)用場(chǎng)合和所要求的性能指標(biāo)有所不同 , 在工業(yè)企業(yè)中,如何提高溫度控制對(duì)象的運(yùn)行性能一直以來(lái)都是控制人員和現(xiàn)場(chǎng)技術(shù)人員努力解決的問(wèn)題。</p><p>  數(shù)字溫度傳感器DS18B20只用一個(gè)引腳即可與單片機(jī)進(jìn)行通信,大大減少了接

31、線的麻煩,使得單片機(jī)更加具有擴(kuò)展性。由于DS18B20芯片的小型化,更加可以通過(guò)單跳數(shù)據(jù)線就可以和主電路連接,故可以把數(shù)字溫度傳感器DS18B20做成探頭,探入到狹小的地方,增加了實(shí)用性。更能串接多個(gè)數(shù)字溫度傳感器DS18B20進(jìn)行范圍的溫度檢測(cè)。采用單片機(jī)AT89S51對(duì)溫度進(jìn)行控制,不僅具有控制方便、組態(tài)簡(jiǎn)單和靈活性大等優(yōu)點(diǎn),而且可以大幅度提高被控溫度的技術(shù)指標(biāo),從而能夠大大提高產(chǎn)品的質(zhì)量和數(shù)量。</p><p&

32、gt;  本文采用DS18B20測(cè)溫芯片作為傳感器,使用CAN總線標(biāo)準(zhǔn),設(shè)計(jì)溫度測(cè)試體統(tǒng),該系統(tǒng)精度高,可靠性好,結(jié)構(gòu)簡(jiǎn)單,成本底,用于各種檢測(cè)溫度場(chǎng)合。</p><p><b>  窗體底端</b></p><p>  第1章 緒 論</p><p>  1.1 本設(shè)計(jì)研究的背景和實(shí)際意義</p><p>

33、  現(xiàn)場(chǎng)總線是唯一有國(guó)際標(biāo)準(zhǔn)的現(xiàn)場(chǎng)總線。它是應(yīng)用在生產(chǎn)最底層的一種總線型拓?fù)涞木W(wǎng)絡(luò),是用作現(xiàn)場(chǎng)控制系統(tǒng)的、直接與所有受控節(jié)點(diǎn)串行相連的通信網(wǎng)絡(luò)。受控設(shè)備和網(wǎng)絡(luò)所處的環(huán)境可能很特殊,對(duì)信號(hào)的干擾往往是多方面的,這就要求控制必須是實(shí)時(shí)性很強(qiáng)。在20世紀(jì)80年代初,工程人員開(kāi)始討論現(xiàn)有的總線系統(tǒng)運(yùn)用于轎車的可能性。1986年2月在SAE大會(huì)上,博世公司提出了CAN,稱為“Automotive Serial Controller Area Ne

34、twork”。今天幾乎每一輛在歐洲誕生的新轎車都至少裝配有一個(gè)CAN網(wǎng)絡(luò)系統(tǒng)。CAN也應(yīng)用在從火車到輪船等其他類型的運(yùn)輸工具上,以及工業(yè)控制方面 。</p><p>  由于CAN總線具有多主方式工作、非破壞總線仲裁、直接通訊距離遠(yuǎn)、通信介質(zhì)靈活、性價(jià)比高等特點(diǎn),其應(yīng)用范圍目前已不再局限于汽車行業(yè),而擴(kuò)展到了機(jī)械工業(yè)、紡織機(jī)械、農(nóng)業(yè)機(jī)械、機(jī)器人、數(shù)控機(jī)床、家用電器等領(lǐng)域發(fā)展。CAN已經(jīng)形成了國(guó)際標(biāo)準(zhǔn),并已被公認(rèn)為

35、集中最有前途的現(xiàn)場(chǎng)總線之一。對(duì)于CAN總線的開(kāi)發(fā)具有重要的現(xiàn)實(shí)意義。</p><p>  1.2 研究相關(guān)內(nèi)容的現(xiàn)狀</p><p>  隨著科技的進(jìn)步和時(shí)代的發(fā)展,溫度在人們的生產(chǎn)和生活中扮演的角色越來(lái)越重要。因此在現(xiàn)代的生產(chǎn)和生活中對(duì)溫度進(jìn)行監(jiān)測(cè)便有了十分重要的意義。但是,目前常用的溫度監(jiān)測(cè)系統(tǒng)大多存在至少兩大缺點(diǎn):其一,使用的通信網(wǎng)絡(luò)可靠性低,抗干擾能力差,成本高;其二,線路上

36、傳送的是模擬信號(hào),易受干擾和損耗。為了克服這些缺點(diǎn),本文提出了將目前最有前途之一的CAN總線技術(shù)與數(shù)字化傳感器技術(shù)結(jié)合起來(lái)的設(shè)計(jì)思想,實(shí)現(xiàn)了基于CAN總線的智能化溫度檢測(cè)系統(tǒng)[5]。</p><p>  溫度測(cè)量控制系統(tǒng)在工業(yè)、農(nóng)業(yè)及人們的日常生活中扮演著越來(lái)越重要的角色,它對(duì)人們的生活具有很大的影響,所以溫度檢測(cè)系統(tǒng)的設(shè)計(jì)與研究有十分重要的意義。溫度是生產(chǎn)過(guò)程和科學(xué)試驗(yàn)中普遍存在的物理量,許多領(lǐng)域都需要對(duì)溫度進(jìn)

37、行監(jiān)控。溫度檢測(cè)對(duì)于國(guó)民經(jīng)濟(jì)等各領(lǐng)域有著非常重要的意義和價(jià)值,因此良好的溫度檢測(cè)系統(tǒng)對(duì)于溫度檢測(cè)來(lái)說(shuō)就顯得尤為重要。本文研究的溫度檢測(cè)系統(tǒng)就是為了完成本單位溫度檢測(cè)工作。由于工作要求精度高,測(cè)量范圍廣,需要研制一種方便的以精密鉑電阻為標(biāo)準(zhǔn)傳感器的高精度數(shù)字溫度檢測(cè)系統(tǒng)。精度問(wèn)題是本系統(tǒng)需要解決的一個(gè)非常重要的問(wèn)題,要求檢測(cè)精度達(dá)到±0.05℃。</p><p>  用DSl8820溫度傳感器對(duì)測(cè)量點(diǎn)的溫

38、度進(jìn)行采集,可測(cè)量多點(diǎn)溫DSl8820溫度,單片機(jī)負(fù)責(zé)將采集到的各溫度值進(jìn)行處理,然后將測(cè)量值傳輸?shù)紺AN總線上,多個(gè)CAN總線通信系統(tǒng)可構(gòu)成CAN總線通信網(wǎng)絡(luò),彼此進(jìn)行通信,溫度監(jiān)測(cè)系統(tǒng)作為網(wǎng)絡(luò)中的一個(gè)智能節(jié)點(diǎn),CAN總線系統(tǒng)很容易擴(kuò)展成多點(diǎn)的溫度監(jiān)測(cè)網(wǎng)絡(luò),以實(shí)現(xiàn)對(duì)較大系統(tǒng)的溫度實(shí)時(shí)監(jiān)測(cè)任務(wù)。</p><p>  1.3 課題完成功能</p><p>  利用AT89S51單片機(jī)、S

39、JA1000CAN控制器設(shè)計(jì)開(kāi)發(fā)基于智能節(jié)點(diǎn)的CAN網(wǎng)絡(luò),實(shí)時(shí)監(jiān)測(cè)各個(gè)節(jié)點(diǎn)狀態(tài)并發(fā)送狀態(tài)信息。</p><p>  第2章 系統(tǒng)設(shè)計(jì)的基本方案</p><p>  2.1 設(shè)計(jì)的主要思路</p><p>  整個(gè)系統(tǒng)智能節(jié)點(diǎn)和一臺(tái)主控制器組成。主控制器和智能節(jié)點(diǎn)通過(guò)CAN總線連成網(wǎng)絡(luò)。智能節(jié)點(diǎn)每個(gè)1秒采集一次溫度值,將采集到的溫度值在本機(jī)顯示并通過(guò)CAN總線傳輸?shù)街?/p>

40、控制器。主控制器接收智能節(jié)點(diǎn)的溫度值并顯示,并可通過(guò)CAN總線向智能節(jié)點(diǎn)發(fā)送溫度。</p><p>  2.2 溫度檢測(cè)的總體方案設(shè)計(jì) </p><p>  根據(jù)應(yīng)用場(chǎng)合的需要,本溫度測(cè)控系統(tǒng)主要完成的功能有:對(duì)熱電偶溫度傳感器Pt100的信號(hào)進(jìn)行檢測(cè);利用數(shù)字溫度傳感器DS18B20對(duì)溫度的檢測(cè);現(xiàn)場(chǎng)LED顯示數(shù)字溫度信號(hào)以及鍵盤控制功能;主站通過(guò)CAN總線與下位機(jī)通信,實(shí)現(xiàn)對(duì)整

41、個(gè)系統(tǒng)的監(jiān)控。系統(tǒng)主要由:監(jiān)控模塊、測(cè)溫模塊、現(xiàn)場(chǎng)顯示模塊和CAN 總線通信等部分組成。設(shè)計(jì)系統(tǒng)結(jié)構(gòu)圖如圖2-1: </p><p>  圖2-1 系統(tǒng)結(jié)構(gòu)圖</p><p>  第3章 CAN總線溫度檢測(cè)系統(tǒng)的硬件及設(shè)計(jì)</p><p>  3.1 CAN總線的介紹</p><p>  CAN總線是德國(guó)一家公司在20世紀(jì)80年代初為解決

42、汽車中大量的控制與測(cè)試儀器之間的數(shù)據(jù)交換而開(kāi)發(fā)的一種串行數(shù)據(jù)通信協(xié)議。CAN能靈活有效地支持具有較高安全等級(jí)的分布式控制.其數(shù)據(jù)傳輸速度可達(dá)1Mbps,在汽車、煤礦安全檢測(cè)、自動(dòng)化儀表、智能樓宇、機(jī)械制造等領(lǐng)域應(yīng)用廣泛。本文介紹了一種基于CAN總線的智能溫、濕度檢測(cè)系統(tǒng),可應(yīng)用于不同的工業(yè)自動(dòng)化領(lǐng)域。CAN 即控制器局域網(wǎng)絡(luò),屬于工業(yè)現(xiàn)場(chǎng)總線的范疇。與一般的通信總線相比,CAN總線的數(shù)據(jù)通信具有突出的可靠性、實(shí)時(shí)性和靈活性。由于其良好的

43、性能及獨(dú)特的設(shè)計(jì),CAN總線越來(lái)越受到人們的重視。由于CAN總線本身的特點(diǎn),CAN已經(jīng)形成國(guó)際標(biāo)準(zhǔn),并已被公認(rèn)為幾種最有前途的現(xiàn)場(chǎng)總線之一[3]。</p><p>  CAN(Controller Area Network——控制器局域網(wǎng))是一種有效的支持分布式控制和實(shí)施控制的總線式串行通信網(wǎng)絡(luò),其可靠性遠(yuǎn)高于已經(jīng)陳1日的現(xiàn)場(chǎng)通信技術(shù),具有強(qiáng)有力的檢錯(cuò)功能以及優(yōu)先權(quán)和仲裁功能,可以很容易的實(shí)現(xiàn)多個(gè)單片機(jī)的掛載,并

44、且價(jià)格低廉,結(jié)構(gòu)靈活,維護(hù)方便,已經(jīng)成為國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一。另外,與其它現(xiàn)場(chǎng)總線比較而言,CAN總線是具有通信速率高、容易實(shí)現(xiàn)、且性價(jià)比高等諸多特點(diǎn)的一種已形成國(guó)際標(biāo)準(zhǔn)的現(xiàn)場(chǎng)總線。這些也是目前 CAN總線應(yīng)用于眾多領(lǐng)域,具有強(qiáng)勁的市場(chǎng)競(jìng)爭(zhēng)力的重要原因。</p><p>  CAN通信的特點(diǎn) :</p><p>  (1) CAN是到目前為止唯一具有國(guó)際標(biāo)準(zhǔn)且成本較低的現(xiàn)場(chǎng)總線;

45、</p><p>  (2) CAN廢除了傳統(tǒng)總線的站地址編碼,對(duì)通信數(shù)據(jù)塊進(jìn)行編碼,為多主方式工作,不分主從,通信方式靈活,通過(guò)報(bào)文標(biāo)識(shí)符通信,可使不同的節(jié)點(diǎn)同時(shí)接收到相同的數(shù)據(jù),無(wú)需站地址等節(jié)點(diǎn)信息。</p><p>  (3) CAN采用非破壞性總線仲裁技術(shù),當(dāng)多個(gè)節(jié)點(diǎn)同時(shí)向總線發(fā)送信息時(shí),優(yōu)先級(jí)較低的節(jié)點(diǎn)會(huì)主動(dòng)地退出發(fā)送,而最高優(yōu)先級(jí)的節(jié)點(diǎn)可不受影響地繼續(xù)傳輸數(shù)據(jù),從而大大節(jié)省了總

46、線沖突仲裁時(shí)間。尤其是在網(wǎng)絡(luò)負(fù)載很重的情況下也不會(huì)出現(xiàn)網(wǎng)絡(luò)癱瘓情況(以太網(wǎng)則有可能出現(xiàn)這種情況)。</p><p>  (4) CAN只需通過(guò)報(bào)文濾波即可實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)、一點(diǎn)對(duì)多點(diǎn)即全局廣播等方式傳送接收數(shù)據(jù),無(wú)需專門的“調(diào)度”。</p><p>  (5) CAN的直接通信距離最遠(yuǎn)可達(dá)10km(速率5kbps以下);通信速率最高可lambs(此時(shí)通信距離最長(zhǎng)為40m);</p>

47、<p>  (6) CAN上的節(jié)點(diǎn)數(shù)最多可達(dá)110個(gè)(主要取決于總線驅(qū)動(dòng)電路)。</p><p>  (7) CAN采用短幀結(jié)構(gòu),單幀最大長(zhǎng)度僅150位,傳輸時(shí)間短,從而保證了通信的實(shí)時(shí)性,受干擾概率低。</p><p>  (8) CAN的每幀信息都有CRC校驗(yàn)及其他檢錯(cuò)措施,降低了數(shù)據(jù)出錯(cuò)率,保證了數(shù)據(jù)通信的可靠性。</p><p>  (9) CA

48、N節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下具有自動(dòng)關(guān)閉輸出功能,以使總線上其他節(jié)點(diǎn)的操作不受影響。</p><p>  (10) CAN的通信介質(zhì)可使用雙絞線作為傳輸介質(zhì),價(jià)格低廉,可靠性強(qiáng)。</p><p>  3.2 AT89S51單片機(jī)介紹</p><p>  AT89S51是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k Bytes ISP(In-system prog

49、rammable)的可反復(fù)擦寫1000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。89S51采用0.35新工藝,成本降低,而且將功能提升,增加了競(jìng)爭(zhēng)力。AT89S51單片機(jī)引腳圖如3-1[3]。</

50、p><p>  AT89S51提供一下標(biāo)準(zhǔn)功能:4K字節(jié)Flash閃速存儲(chǔ)器,128字節(jié)內(nèi)部RAM,32個(gè)I/O口線,看門狗(WDT),兩個(gè)數(shù)據(jù)指針,兩個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),AT89S51可降至0HZ的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及診斷系統(tǒng)工作。掉電方式保存RA

51、M中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位。</p><p>  圖3-1 AT89S51單片機(jī)引腳圖 </p><p>  AT89S51具有如下特點(diǎn):40個(gè)引腳,4k Bytes Flash片內(nèi)程序存儲(chǔ)器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器

52、,2個(gè)全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器。此外,AT89S51設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過(guò)軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。 </p><p><b>

53、  1.主要特性: </b></p><p> ?。?) 8031 CPU與MCS-51 兼容 </p><p> ?。?) 4K字節(jié)可編程FLASH存儲(chǔ)器(壽命:1000寫/擦循環(huán)) </p><p> ?。?) 全靜態(tài)工作:0Hz-33MHz </p><p> ?。?) 三級(jí)程序存儲(chǔ)器保密鎖定 </p><

54、;p>  (5) 128*8位內(nèi)部RAM </p><p> ?。?) 32條可編程I/O線 </p><p> ?。?) 兩個(gè)16位定時(shí)器/計(jì)數(shù)器 </p><p> ?。?) 6個(gè)中斷源 </p><p> ?。?) 可編程串行通道 </p><p> ?。?0) 低功耗的閑置和掉電模式 </p>

55、<p> ?。?1) 片內(nèi)振蕩器和時(shí)鐘電路 </p><p><b>  2.管腳說(shuō)明: </b></p><p>  VCC:供電電壓。 </p><p><b>  GND:接地。 </b></p><p>  P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門電流

56、。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。 </p><p>  P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將

57、輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 </p><p>  P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出

58、地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 </p><p>  P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于

59、上拉的緣故。 </p><p>  P3.0 RXD(串行輸入口) </p><p>  P3.1 TXD(串行輸出口) </p><p>  P3.2 /INT0(外部中斷0) </p><p>  P3.3 /INT1(外部中斷1) </p><p>  P3.4 T0(記時(shí)器0外部輸入) </p>

60、<p>  P3.5 T1(記時(shí)器1外部輸入) </p><p>  P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通) </p><p>  P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通) </p><p>  P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。 </p><p>  I/O口作為輸入口時(shí)有兩種工作方式,即所謂的讀端口與讀引腳。讀端

61、口時(shí)實(shí)際上并不從外部讀入數(shù)據(jù),而是把端口鎖存器的內(nèi)容讀入到內(nèi)部總線,經(jīng)過(guò)某種運(yùn)算或變換后再寫回到端口鎖存器。只有讀端口時(shí)才真正地把外部的數(shù)據(jù)讀入到內(nèi)部總線。上面圖中的兩個(gè)三角形表示的就是輸入緩沖器CPU將根據(jù)不同的指令分別發(fā)出讀端口或讀引腳信號(hào)以完成不同的操作。這是由硬件自動(dòng)完成的,不需要我們操心,1然后再實(shí)行讀引腳操作,否則就可能讀入出錯(cuò),為什么看上面的圖,如果不對(duì)端口置1端口鎖存器原來(lái)的狀態(tài)有可能為0Q端為0Q^為1加到場(chǎng)效應(yīng)管柵極

62、的信號(hào)為1,該場(chǎng)效應(yīng)管就導(dǎo)通對(duì)地呈現(xiàn)低阻抗,此時(shí)即使引腳上輸入的信號(hào)為1,也會(huì)因端口的低阻抗而使信號(hào)變低使得外加的1信號(hào)讀入后不一定是1。若先執(zhí)行置1操作,則可以使場(chǎng)效應(yīng)管截止引腳信號(hào)直接加到三態(tài)緩沖器中實(shí)現(xiàn)正確的讀入,由于在輸入操作時(shí)還必須附加一個(gè)準(zhǔn)備動(dòng)作,所以這類I/O口被稱為準(zhǔn)雙向口。89C51的P0/P1/P2/P3口作為輸入時(shí)都是準(zhǔn)雙向口。接下來(lái)讓我們?cè)倏戳硪粋€(gè)問(wèn)題,從圖中可以看出這四個(gè)端口還有一個(gè)差別,除了P1口外P0P2P

63、3口都還有其他的功能。 </p><p>  RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。 </p><p>  ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)

64、目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。 </p><p>  /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/

65、PSEN信號(hào)將不出現(xiàn)。 </p><p>  /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 </p><p>  XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路

66、的輸入。 </p><p>  XTAL2:來(lái)自反向振蕩器的輸出。 </p><p>  AT89SXX系列單片機(jī)實(shí)現(xiàn)了ISP下載功能,故而取代了89CXX系列的下載方式,也是因?yàn)檫@樣,ATMEL公司已經(jīng)停止生產(chǎn)89CXX系列的單片機(jī),現(xiàn)在市面上的AT89CXX多是停產(chǎn)前的庫(kù)存產(chǎn)品。 </p><p>  3.3 傳感器的選用DS18B20傳感器</p>

67、;<p>  DS18B20是美國(guó)DALLAS半導(dǎo)體公司繼DS1820之后最新推出的一種改進(jìn)型智能溫度傳感器。與傳統(tǒng)的熱敏電阻相比,他能夠直接讀出被測(cè)溫度并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)9~12位的數(shù)字值讀數(shù)方式[11]??梢苑謩e在93.75 ms和750 ms內(nèi)完成9位和12位的數(shù)字量,并且從DS18B20讀出的信息或?qū)懭隓S18B20的信息僅需要一根口線(單線接口)讀寫,溫度變換功率來(lái)源于數(shù)據(jù)總線,總線本身也可以向

68、所掛接的DS18B20供電,而無(wú)需額外電源。因而使用DS18B20可使系統(tǒng)結(jié)構(gòu)更趨簡(jiǎn)單,可靠性更高。他在測(cè)溫精度、轉(zhuǎn)換時(shí)間、傳輸距離、分辨率等方面較DS1820有了很大的改進(jìn),給用戶帶來(lái)了更方便的使用和更令人滿意的效果。 </p><p>  DS18B20產(chǎn)品的特點(diǎn) ?。?) 只要求一個(gè)端口即可實(shí)現(xiàn)通信?! 。?) 在DS18B20中的每個(gè)器件上都有獨(dú)一無(wú)二的序列號(hào)?! 。?) 實(shí)際應(yīng)用中不需要外部任何

69、元器件即可實(shí)現(xiàn)測(cè)溫?! 。?) 測(cè)量溫度范圍在-55。C到+125。C之間?! 。?) 數(shù)字溫度計(jì)的分辨率用戶可以從9位到12位選擇。 ?。?) 內(nèi)部有溫度上、下限告警設(shè)置。</p><p>  圖3-2 DS18B20 外形結(jié)構(gòu)圖</p><p>  DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。</p&

70、gt;<p>  由于DS18B20采用的是1-Wire總線協(xié)議方式,即在一根數(shù)據(jù)線實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸,而對(duì)AT89S51單片機(jī)來(lái)說(shuō),硬件上并不支持單總線協(xié)議,因此,我們必須采用軟件的方法來(lái)模擬單總線的協(xié)議時(shí)序來(lái)完成對(duì)DS18B20芯片的訪問(wèn)?! ?由于DS18B20是在一根I/O線上讀寫數(shù)據(jù),因此,對(duì)讀寫的數(shù)據(jù)位有著嚴(yán)格的時(shí)序要求。DS18B20有嚴(yán)格的通信協(xié)議來(lái)保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號(hào)的

71、時(shí)序:初始化時(shí)序、讀時(shí)序、寫時(shí)序。所有時(shí)序都是將主機(jī)作為主設(shè)備,單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機(jī)主動(dòng)啟動(dòng)寫時(shí)序開(kāi)始,如果要求單總線器件回送數(shù)據(jù),在進(jìn)行寫命令后,主機(jī)需啟動(dòng)讀時(shí)序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。</p><p>  表3-1 DS18B20內(nèi)部結(jié)構(gòu)[11]</p><p>  上表3-1表示DS18B20的方框圖,上圖已經(jīng)給出了引腳說(shuō)明。6

72、4位只讀存儲(chǔ)器存儲(chǔ)器件的唯一片序列號(hào)。高速暫存器含有兩個(gè)字節(jié)的溫度寄存器,這兩個(gè)寄存器用來(lái)存儲(chǔ)溫度傳感器輸出的數(shù)據(jù)。除此之外,高速暫存器提供一個(gè)直接的溫度報(bào)警值寄存器(TH和TL),和一個(gè)字節(jié)的配置寄存器。配置寄存器允許用戶將溫度的精度設(shè)定為9,10,11或12位。TH、TL和配置寄存器是非易失性的可擦除的程序寄存器(EEPROM),所以存儲(chǔ)的數(shù)據(jù)在器件掉電時(shí)不會(huì)消失。 </p><p>  DS18B20通過(guò)

73、達(dá)拉斯公司獨(dú)有的單總線協(xié)議依靠一個(gè)單線端口通訊。當(dāng)全部器件經(jīng)由一個(gè)3態(tài)端口(DQ引腳在DS18B20上的情況下)與總線連接的時(shí)候,控制線需要連接一個(gè)上拉電阻。在這個(gè)總線系統(tǒng)中,微控制器(主器件)依靠每個(gè)器件獨(dú)有的64位片序列碼辨認(rèn)總線上的器件和記錄總線上的器件地址。由于每個(gè)裝置有一個(gè)獨(dú)特的片序列碼,總線可以連接的器件數(shù)碼事實(shí)上是無(wú)限的。單總線協(xié)議,包括指令的詳細(xì)解釋和“時(shí)序”。</p><p>  DS18B20

74、的寫時(shí)序仍然分為寫0時(shí)序和寫1時(shí)序兩個(gè)過(guò)程。DS18B20寫0時(shí)序和寫1時(shí)序的要求不同,當(dāng)要寫0時(shí)序時(shí),單總線要被拉低至少60us,保證DS18B20能夠在15us到45us之間能夠正確地采樣IO總線上的“0”電平,當(dāng)要寫1時(shí)序時(shí),單總線被拉低之后,在15us之內(nèi)就得釋放單總線。 </p><p>  圖3-3 DS18B20的寫時(shí)序</p&g

75、t;<p>  DS18B20的讀時(shí)序分為讀0時(shí)序和讀1時(shí)序兩個(gè)過(guò)程。DS18B20的讀時(shí)隙是從主機(jī)把單總線拉低之后,在15秒之內(nèi)就得釋放單總線,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS18B20在完成一個(gè)讀時(shí)序過(guò)程,至少需要60us才能完成。</p><p>  圖3-4 DS18B20的讀時(shí)序</p><p>  3.4 收發(fā)器,控制器與光耦合器</p>

76、<p>  CAN總線驅(qū)動(dòng)器PCA82C250</p><p>  CAN總線驅(qū)動(dòng)器PCA82C250主要提供CAN控制器與物理總線之間的接口[6]。它最初是為汽車中的高速應(yīng)用(達(dá)1Mbps)而設(shè)計(jì)的,可提供對(duì)總線的差動(dòng)發(fā)送和接收功能。</p><p>  圖3-5 PCA82C250收發(fā)器</p><p><b>  CAN總線控制器<

77、;/b></p><p>  SJAl000是PHILIPS公司推出的一種高性能的CAN總線控制器,它不僅和PCA82C200的基本CAN模式(Basie CAN)兼容,而且還增強(qiáng)CAN模式 (Pelican),這種模式支CAN2.0B協(xié)議。</p><p>  SJA1000的主要性能特點(diǎn)如下:</p><p>  引腳與PCA82C200獨(dú)立CAN控制器兼

78、容</p><p>  電器特性與PCA82C200獨(dú)立CAN控制器兼容</p><p>  具有BasicCAN模式</p><p>  有擴(kuò)展的接收緩沖器64字節(jié),先進(jìn)先出(FIFO)。</p><p>  支持CAN2.0A/B協(xié)議</p><p>  支持11位(標(biāo)準(zhǔn)幀)和29位標(biāo)識(shí)碼(擴(kuò)展幀) </p&

79、gt;<p>  通信位速率最高可達(dá)1Mbps</p><p>  PeliCAN模式的擴(kuò)展功能有</p><p>  可讀寫訪問(wèn)的錯(cuò)誤計(jì)數(shù)寄存器</p><p>  可編程的錯(cuò)誤報(bào)警限額寄存器</p><p>  最近一次錯(cuò)誤代碼寄存器</p><p>  對(duì)每一個(gè)CAN總線錯(cuò)誤的中斷</p>

80、;<p>  有具體位表示的仲裁丟失中斷</p><p><b>  單次發(fā)送(無(wú)重發(fā))</b></p><p>  只聽(tīng)模式(無(wú)確認(rèn)、無(wú)激活的錯(cuò)誤標(biāo)志)</p><p><b>  支持熱插拔</b></p><p><b>  驗(yàn)收濾波器的擴(kuò)展</b><

81、/p><p><b>  接收自身報(bào)文</b></p><p><b>  24MHz時(shí)鐘頻率</b></p><p>  輸入電壓:5.0VDC+/-5%</p><p>  可與不同的微處理器接口</p><p>  可編程的CAN輸出驅(qū)動(dòng)器配置</p><

82、;p>  溫度適應(yīng)范圍:-40℃~+125℃</p><p>  表3-2 SJA1000的功能框圖</p><p>  SJAl000以一塊可編程芯片上的邏輯電路的組合來(lái)實(shí)現(xiàn)這些功能,提了與模塊控制器及微控制器的接口,通過(guò)對(duì)它的編程,CPU可設(shè)置它的工作方式,控制它的工作狀態(tài),與CAN驅(qū)動(dòng)器PCA82C250進(jìn)行數(shù)據(jù)的接收和發(fā)送。</p><p>  SJA

83、1000的功能框表3-2。</p><p>  SJA1000型獨(dú)立CAN總線控制器由以下幾部分構(gòu)成; </p><p> ?。?) 接口管理邏輯:它接收來(lái)自微處理器的命令,控制CAN寄存器的地址,并為微處理器提供中斷和狀態(tài)信息。 </p><p> ?。?) 發(fā)送緩沖器:有13字節(jié)長(zhǎng)。它位于CPU和位流處理器(BSP)之間,能存儲(chǔ)一條將在CAN總線上發(fā)送的完整的報(bào)

84、文,報(bào)文由CPU寫入,由SBP讀出。 </p><p> ?。?) 接收緩沖器(RXB、RXFIFO):它是CPU和接收濾波器之間的接口,用來(lái)存儲(chǔ)從CAN總線接收并通過(guò)了濾波的報(bào)文。接收緩沖器RXB是提供給CPU可訪問(wèn)的13字節(jié)的窗口,這個(gè)窗口是屬于接收FIFO(RXFIFO)的一部分,共由64字節(jié)長(zhǎng)。有了這個(gè)FIFO,可以在CPU處理一個(gè)報(bào)文的同時(shí)繼續(xù)接收其他到來(lái)的報(bào)文。 </p><p&g

85、t; ?。?) 接收濾波器:它把報(bào)文頭中的標(biāo)識(shí)符和接收濾波寄存器中的內(nèi)容進(jìn)行比較,以判斷文報(bào)文是否被接收。如果被接收,報(bào)文存入RXFIFO。 </p><p> ?。?) 位流處理器:它是一個(gè)控制發(fā)送緩沖器、RXFIFO并行數(shù)據(jù)和CAN總線(串行數(shù)據(jù))之間數(shù)據(jù)的序列發(fā)生器,同時(shí)它也執(zhí)行錯(cuò)誤檢測(cè)、仲裁、位填充和CAN總線錯(cuò)誤處理功能。 </p><p> ?。?) 位定時(shí)邏輯不:它將SJA1

86、000同步于CAN總線上的位流。 </p><p> ?。?) 錯(cuò)誤管理邏輯:它按照CAN協(xié)議完成錯(cuò)誤界定。 </p><p>  6N137光耦合器 </p><p>  6N137光耦合器是一款用于單通道的高速光耦合器。在6N137光耦合器的電源管腳旁應(yīng)有—個(gè)0.1uF的去耦電容。在選擇電容類型時(shí),應(yīng)盡量選擇高頻特性好的電容器,如陶瓷電容或鉭電容,并且盡量靠近

87、6N137光耦合器的電源管腳;另外,輸入使能管腳在芯片內(nèi)部已有上拉電阻,無(wú)需再外接上拉電阻。</p><p>  3.5 CAN總線接口電路設(shè)計(jì)</p><p>  CAN 總線通信控制器的硬件電路結(jié)構(gòu)圖3-6所示。主要包括主控制器、時(shí)鐘保持電路、非易失性EEPROM存儲(chǔ)器、CAN總線接口電路和RS232 接口電路。主控制器采用性價(jià)比高、結(jié)構(gòu)簡(jiǎn)單、便于編程的AT89S51 單片機(jī),主要用

88、于對(duì)CAN 控制器SJA1000 及RS232 串口的初始化, 并通過(guò)對(duì)CAN 控制器SJA1000 及RS232 串口的控制操作實(shí)現(xiàn)現(xiàn)場(chǎng)CAN 總線與管理層中央服務(wù)器PC 的數(shù)據(jù)交換等通信任務(wù)[5]。</p><p>  CAN 總線接口電路的構(gòu)成主要由CAN 通信控制器SJA1000、高速光耦6N137 CAN 總線驅(qū)動(dòng)器82C250 組成。SJA1000 作為CAN 總線協(xié)議轉(zhuǎn)換的控制器,它內(nèi)建BASICC

89、AN 協(xié)議,并提供對(duì)CAN2.0B 協(xié)議的支持。通過(guò)對(duì)片內(nèi)寄存器的讀、寫操作,主控制器單片機(jī)能夠設(shè)置CAN 總線通信模式,實(shí)現(xiàn)數(shù)據(jù)的發(fā)送與接</p><p>  SJA1000 在邏輯上實(shí)現(xiàn)了傳輸數(shù)據(jù)的編碼和解碼,若要與物理線路連接,還必須助總線驅(qū)動(dòng)器82C250,以增強(qiáng)CAN總線的差動(dòng)發(fā)送和接收驅(qū)動(dòng)能力。為了增強(qiáng)CAN 總線節(jié)點(diǎn)的抗干擾能力,防止線路間串?dāng)_,SJA1000 的TX0 和RXO 并不是直接與82C

90、250 的TXD 和RXD 相連,而是通過(guò)高速光耦6N137 后再與82C250 相連;另外,CAN 總線驅(qū)動(dòng)器采用帶隔離的DC/DC 模塊單獨(dú)供電,實(shí)現(xiàn)了通信控制器與CAN 總線的隔離,提高系統(tǒng)的可靠性。這里我們采用PCA82C250 作為驅(qū)動(dòng)收發(fā)器[5],它是CAN控制器和物理傳輸線路之間的接口。它們可以用高達(dá)1Mb/s的位速率實(shí)現(xiàn)在兩條差動(dòng)電壓總線電纜上的數(shù)據(jù)傳輸。82C250的CANH 和CANL 引腳各自通過(guò)一熱敏電阻CAN

91、總線相連,當(dāng)過(guò)流時(shí)電阻發(fā)熱阻值變大,保護(hù)82C250 免受過(guò)流的沖擊。CANH CANL 與地之間并聯(lián)兩個(gè)小電容,可以起到濾除總線上的高頻干擾和一定的防電磁輻射的能力。</p><p>  RS232 接口電路主要用于主控制器單片機(jī)與管理層中央服務(wù)器PC 的雙向數(shù)據(jù)傳送。由于采用了標(biāo)準(zhǔn)的RS232 串行通信,結(jié)構(gòu)簡(jiǎn)單、成本低。CAN 總線系統(tǒng)電路主由四部分所構(gòu)成:微控制器AT89S51,CAN 控制器SJA100

92、0,CAN 總線收發(fā)器82C250 和高速光電耦合器6N137 微處理器。</p><p>  89S51 負(fù)責(zé)SJA1000 的初始化,通過(guò)控制SJA1000 實(shí)現(xiàn)數(shù)據(jù)的接收和發(fā)送等通信任務(wù)。SJA1000 的AD0~ Dl7 連接到AT89S51 的PO 口,CS 連接到AT89S51 的P2.0,P2.0 為0 的CPU 片外存貯器地址可選中SJAI000,CPU 通過(guò)這些地址可對(duì)SJAl000 執(zhí)行相應(yīng)的

93、讀寫操作。SJAl000 的RD、WR、ALE 分別與AT89S51 的對(duì)應(yīng)引腳相連。INT 接A89S51 的INT0,89S51 也可通過(guò)中斷方式訪問(wèn)SJA1000。SJAI000 和82C250 分別使用物理隔離的電源供電,是為了增強(qiáng)系統(tǒng)的抗干擾能力和可靠性。不過(guò)應(yīng)該特別說(shuō)明的一點(diǎn)是光耦部分電路所采用的兩個(gè)電源VCC 和VDD 必須完全隔離,否則采用光耦也就失去了意義。</p><p>  圖3-6 CAN

94、 總線系統(tǒng)硬件電路原理圖</p><p>  電源的完全隔離可采用小功率電源隔離模塊或帶多5V 隔離輸出的開(kāi)關(guān)電源模塊實(shí)現(xiàn)。這些部分雖然增加了節(jié)點(diǎn)的復(fù)雜,但是卻提高了節(jié)點(diǎn)的穩(wěn)定性和安全性??刂破鞯钠渌鈬娐愤€有電源模塊、非易失性EEPROM存儲(chǔ)器、時(shí)鐘保持電路、LED 指示燈和看門狗等。通過(guò)簡(jiǎn)單的串行接口與單片機(jī)進(jìn)行通信,用于給各節(jié)點(diǎn)控制器校時(shí)。同時(shí),控制器還配置了4 個(gè)LED 指示燈,分別用于系統(tǒng)上電、CAN

95、 通信、RS232 通信和系統(tǒng)通信故障的指示,以方便系統(tǒng)的調(diào)試和對(duì)控制器運(yùn)行狀況的監(jiān)測(cè)。</p><p>  3.6 單片機(jī)的接口電路 </p><p><b>  單片機(jī)時(shí)鐘電路:</b></p><p>  AT89S51中有一個(gè)用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。這個(gè)放大器

96、與作為反饋的元件的片外石英晶體和陶瓷諧振器一起構(gòu)成自激振蕩器,振蕩電路參見(jiàn)下圖3-7</p><p>  外接石英品體(或陶瓷諧振器)及電容C1, C2接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對(duì)外接電容C1,C2雖然沒(méi)有十分嚴(yán)格的要求,但電容容量的大小會(huì)輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性,如果使用石英品體,我們推薦電容使用30pF士10pF,而如使用陶瓷諧振器建議選擇40pF士

97、l0pF。</p><p><b>  圖3-7 振蕩電路</b></p><p>  用戶也可以采用外部時(shí)鐘。采用外部時(shí)鐘的電路如下圖3-8所示。這種情況下,外部時(shí)鐘脈沖接到XTAL1端,即內(nèi)部時(shí)鐘,發(fā)生器的輸入端,XTAL2則懸空。</p><p>  圖3-8 外部時(shí)鐘的電路</p><p><b>  

98、單片機(jī)復(fù)位電路:</b></p><p>  當(dāng)在AT89S51單片機(jī)的RST引腳引入高電平并保持2個(gè)機(jī)器周期時(shí),單片機(jī)內(nèi)部就執(zhí)行復(fù)位操作(如果RST引腳保持高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài))。</p><p>  實(shí)際應(yīng)用中,復(fù)位操作有兩種基本操作:一種是上電復(fù)位,另一種是上電與按鍵均有效的復(fù)位。</p><p>  上電復(fù)位要求接通電源后,單片機(jī)自動(dòng)

99、實(shí)驗(yàn)復(fù)位操作。常用的開(kāi)機(jī)復(fù)位電路如圖3-9所示。開(kāi)機(jī)瞬間RST引腳獲得高電平,隨著電容C1的充電,RST引腳的高電平將逐漸下降。RST引腳的高電平只要能保持足夠的時(shí)間(2個(gè)機(jī)器周期),單片機(jī)就可以進(jìn)行復(fù)位操作。該電路典型的電阻和電容參數(shù)為:晶振頻率為12MHz時(shí),C1為10µF,R1為8.2K?;晶振頻率為6MHz時(shí),C1為22µF,R1為1K?</p><p><b>  圖3-9

100、 上電復(fù)位</b></p><p>  開(kāi)機(jī)與按鍵均有效的復(fù)位電路如下圖3-10所示。開(kāi)機(jī)復(fù)位原理與上圖相同,另外在單片機(jī)運(yùn)行期間,還可以利用按鍵完成復(fù)位操作。晶振頻率為6MHz時(shí),R2為200。</p><p>  圖3-10 開(kāi)機(jī)復(fù)位原理圖</p><p><b>  時(shí)鐘電路</b></p><p> 

101、 單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,其輸入端為芯片引腳XTAL1,其輸出端為引腳XTAL2。而在芯片的外部,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個(gè)穩(wěn)定的自激振蕩器如圖3-11。</p><p>  只要在單片機(jī)的XTAL1和XTAL2引腳外接晶體振蕩器就構(gòu)成了自激振蕩器并在單片機(jī)內(nèi)部產(chǎn)生時(shí)鐘脈沖信號(hào)。電容器C1和C2的作用是穩(wěn)定頻率和快速起振,電容值在5-30pF,典型值為30pF。外部

102、時(shí)鐘方式是把外部已有的時(shí)鐘信號(hào)引入到單片機(jī)內(nèi)。此方式常用于多片單片機(jī)同時(shí)工作,以便于各單片機(jī)的同步。一般要求外部信號(hào)高電平的持續(xù)時(shí)間大于20ns,且為頻率低于12MHz的方波。</p><p>  圖3-11 時(shí)鐘電路</p><p>  DS18B20接口電路</p><p>  在硬件上,DS18B20與單片機(jī)的連接有兩種方法,一種是VCC接外部電源,GND接地

103、,I/O與單片機(jī)的I/O線相連;另一種是用寄生電源供電,此時(shí)UDD、GND接地,I/O接單片機(jī)I/O。無(wú)論是內(nèi)部寄生電源還是外部供電,I/O口線要接5K?左右的上拉電阻。我們采用的是第一種連接方法,如圖3-12所示,把DS18B20的數(shù)據(jù)線與單片機(jī)的13管腳連接,再加上拉電阻。</p><p>  圖3-12 DS18B20接口電路</p><p><b>  第4章 軟件設(shè)計(jì)

104、</b></p><p>  4.1 軟件流程圖</p><p><b>  圖4-1 總流程圖</b></p><p>  圖4-2 SJA1000初始化</p><p>  圖4-3 SJ1000發(fā)送</p><p>  圖4-4 SJA1000接受</p>

105、<p>  4.2 系統(tǒng)程序設(shè)計(jì) </p><p>  CAN 總線節(jié)點(diǎn)的軟件設(shè)計(jì)主要包括三大部分:CAN節(jié)點(diǎn)初始化、報(bào)文發(fā)送和報(bào)文接收。熟悉這三部分程序的設(shè)計(jì)就能編寫出利用CAN總線進(jìn)行通信的一般應(yīng)用程序,當(dāng)然要將CAN總線應(yīng)用于通信任務(wù)比較復(fù)雜的系統(tǒng)中還需詳細(xì)了解有關(guān)CAN總線錯(cuò)誤處理總線脫離處理接收濾波處理波特率參數(shù)設(shè)置和自動(dòng)檢測(cè)以及CAN總線通信距離和節(jié)點(diǎn)數(shù)的計(jì)算等方面的內(nèi)容。程序用C語(yǔ)言編寫

106、,簡(jiǎn)潔明了且有詳細(xì)的注釋,并寫成頭文件的形式,可移植更強(qiáng)。</p><p>  4.2 實(shí)驗(yàn)結(jié)果分析</p><p>  本次設(shè)計(jì)的主要目的是對(duì)CAN總線這種非常有實(shí)際用途的現(xiàn)場(chǎng)總線技術(shù)做深入的了解,本次設(shè)計(jì)結(jié)束了,結(jié)果已經(jīng)按要求實(shí)現(xiàn)了,不過(guò)在此過(guò)程中也遇到了不少問(wèn)題。</p><p>  對(duì)現(xiàn)場(chǎng)總線標(biāo)準(zhǔn)的認(rèn)識(shí),涉及到計(jì)算機(jī)網(wǎng)絡(luò)中有關(guān)物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層的相

107、關(guān)知識(shí)。雖然計(jì)算機(jī)網(wǎng)絡(luò)已經(jīng)有所接觸,但是在理解相關(guān)概念時(shí)還是有一些問(wèn)題。比如對(duì)MAC子層和LLC子層的理解上,沒(méi)有完全理解。這直接影響到對(duì)后續(xù)CAN總線幀格式的理解與應(yīng)用。</p><p>  在軟件的編寫過(guò)程中,調(diào)試碰到了一些問(wèn)題,因?yàn)樵S多時(shí)候軟件中的處理在是在判斷總線的狀態(tài)以后做出的,然而在軟件調(diào)試中無(wú)法模擬這些狀態(tài),最后只能采取對(duì)發(fā)送部分屏蔽的辦法才得以解決。</p><p><

108、;b>  結(jié)論與展望</b></p><p>  本設(shè)計(jì)主要是依靠新型DS18B20溫度傳感器對(duì)溫度的采集以及AT89S51單片機(jī)、LED數(shù)碼管、CAN總線通信系統(tǒng)完成了一個(gè)簡(jiǎn)單的溫度自動(dòng)檢測(cè)系統(tǒng)。本設(shè)計(jì)充分采用了DS18B20的高精度、體積小、CAN總線等特點(diǎn)和AT89S51單片機(jī)的強(qiáng)大功能,既節(jié)約了時(shí)間、經(jīng)濟(jì)成本,也減小了設(shè)計(jì)電路的復(fù)雜性。</p><p>  通過(guò)這

109、次溫度控制系統(tǒng)的設(shè)計(jì),我也收獲了許多,這以后使我對(duì)單片機(jī)更加感興趣,也加強(qiáng)了我對(duì)C語(yǔ)言等的學(xué)習(xí),但本設(shè)計(jì)也有許多不足的地方,通過(guò)程序的編寫,感覺(jué)自己對(duì)單片機(jī)原理理解不深有很多東西要以后去掌握,學(xué)習(xí)更多的相關(guān)知識(shí),使我的學(xué)習(xí)往前邁了一大步。</p><p>  系統(tǒng)通過(guò)CAN總線實(shí)現(xiàn)對(duì)溫度的檢測(cè)系統(tǒng)的管理,控制各控制模塊,對(duì)信息的采集,數(shù)據(jù)的傳輸和溫度的調(diào)節(jié),系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,可靠性高,應(yīng)用靈活,前景十分廣泛。CAN總

110、線溫度的檢測(cè)系統(tǒng)可用于遠(yuǎn)程檢測(cè)系統(tǒng)等方面,具有較好的實(shí)用價(jià)值和應(yīng)用前景。</p><p><b>  致 謝</b></p><p>  四年的讀書生活在這個(gè)季節(jié)即將劃上一個(gè)句號(hào),而于我的人生卻只是一個(gè)逗號(hào),我將面對(duì)又一次征程的開(kāi)始。在這四年的求學(xué)生涯中師長(zhǎng)、親友給與了我大力支持,在這個(gè)翠綠的季節(jié)我將邁開(kāi)腳步走向遠(yuǎn)方,懷念,思索,長(zhǎng)長(zhǎng)的問(wèn)號(hào)一個(gè)個(gè)在求學(xué)的路途中被知識(shí)

111、的舉手擊碎,而人生的思考才剛剛開(kāi)始。感謝我教書育人的老師,我不是你們最出色的學(xué)生,而你們卻是我最尊敬的老師。大學(xué)時(shí)代的老師治學(xué)嚴(yán)謹(jǐn),學(xué)識(shí)淵博,思想深邃,視野雄闊,為我營(yíng)造了一種良好的精神氛圍。授人以魚不如授人以漁,置身其間,耳濡目染,潛移默化,使我不僅接受了全新的思想觀念,樹(shù)立了宏偉的學(xué)術(shù)目標(biāo),領(lǐng)會(huì)了對(duì)待知識(shí),走向社會(huì)的思考方式。在這里尤其要感謝劉建林老師,從論文題目的選定到論文寫作的指導(dǎo),經(jīng)由您悉心的點(diǎn)撥,再經(jīng)思考后的領(lǐng)悟,常常讓我有

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論