![基于單片機(jī)的CAN總線通訊實(shí)現(xiàn)之歐陽(yáng)家百創(chuàng)編_第1頁(yè)](http://file4.renrendoc.com/view/23b7929101aede52650125141da275fb/23b7929101aede52650125141da275fb1.gif)
![基于單片機(jī)的CAN總線通訊實(shí)現(xiàn)之歐陽(yáng)家百創(chuàng)編_第2頁(yè)](http://file4.renrendoc.com/view/23b7929101aede52650125141da275fb/23b7929101aede52650125141da275fb2.gif)
![基于單片機(jī)的CAN總線通訊實(shí)現(xiàn)之歐陽(yáng)家百創(chuàng)編_第3頁(yè)](http://file4.renrendoc.com/view/23b7929101aede52650125141da275fb/23b7929101aede52650125141da275fb3.gif)
![基于單片機(jī)的CAN總線通訊實(shí)現(xiàn)之歐陽(yáng)家百創(chuàng)編_第4頁(yè)](http://file4.renrendoc.com/view/23b7929101aede52650125141da275fb/23b7929101aede52650125141da275fb4.gif)
![基于單片機(jī)的CAN總線通訊實(shí)現(xiàn)之歐陽(yáng)家百創(chuàng)編_第5頁(yè)](http://file4.renrendoc.com/view/23b7929101aede52650125141da275fb/23b7929101aede52650125141da275fb5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
歐陽(yáng)家百創(chuàng)編歐陽(yáng)家百創(chuàng)編歐陽(yáng)家百創(chuàng)編CAN總線通訊基于51單片機(jī)應(yīng)用歐陽(yáng)家百創(chuàng)編第一章前言1.1概述控制器局域網(wǎng)(CAN—ControllerAreaNetwork)屬于現(xiàn)場(chǎng)總線(Fieldbus)的范疇,是眾多的屬于現(xiàn)場(chǎng)總線標(biāo)準(zhǔn)之一,它適用于工業(yè)控制系統(tǒng),具有通信速率高、可靠性強(qiáng)、連接方便、性能價(jià)格比高等諸多特點(diǎn)。它是一種有效支持分布式控制或?qū)崟r(shí)控制的串行通信網(wǎng)絡(luò),以其短報(bào)文幀及CSMA/CD-AMP(帶有信息優(yōu)先權(quán)及沖突檢測(cè)的載波監(jiān)聽多路訪問)的MAC(媒介訪問控制)方式而倍受工業(yè)自動(dòng)化領(lǐng)域中設(shè)備互連的厚愛。CAN的應(yīng)用范圍遍及從高速網(wǎng)絡(luò)到低成本的多線路網(wǎng)絡(luò),它可以應(yīng)用于汽車系統(tǒng)、機(jī)械、技術(shù)設(shè)備和工業(yè)自動(dòng)化里幾乎任何類型的數(shù)據(jù)通信。隨著計(jì)算機(jī)硬件、軟件及集成電路技術(shù)的迅速發(fā)展,同時(shí)消費(fèi)類電子產(chǎn)品、計(jì)算機(jī)外設(shè)、汽車和工業(yè)應(yīng)用等的需求不斷增加。高速、高可靠和低成本的通信介質(zhì)的要求也隨之提高?,F(xiàn)場(chǎng)總線是當(dāng)今自動(dòng)化領(lǐng)域技術(shù)發(fā)展的熱點(diǎn)之一,它為分布式控制系統(tǒng)實(shí)現(xiàn)各節(jié)點(diǎn)之間實(shí)時(shí)、可靠的數(shù)據(jù)通信提供了強(qiáng)有力的技術(shù)支持。微處理器中常用的串行總線是通用異步接收器傳輸總線(UART)、串行通信接口(SCI)、同步外設(shè)接口(SPI)、內(nèi)部集成電路(120和通用串行總線(USB),以及車用串行總線,包括控制器區(qū)域網(wǎng)(CAN)和本地互連網(wǎng)(LIN)等。這些總線在速度、物理接口要求和通信方法學(xué)上都有所不同。在計(jì)算機(jī)數(shù)據(jù)傳輸領(lǐng)域內(nèi),長(zhǎng)期以來(lái)使用的通信標(biāo)準(zhǔn),盡管被廣泛使用,但是無(wú)法在需要使用大量的傳感器和控制器的復(fù)雜或大規(guī)模的環(huán)境中使用。控制器局部網(wǎng)CAN(CONTROLLERAERANETW0RK就是為適應(yīng)這種需要而發(fā)展起來(lái)的。隨著汽車電子技術(shù)的發(fā)展,消費(fèi)者對(duì)于汽車功能的要求越來(lái)越多,汽車上所用的電控單元不斷增多,電控單元之間信息交換的需求,使得電子裝置之間的通訊越來(lái)越復(fù)雜,同時(shí)意味著需要更多的連接信號(hào)線,這就促進(jìn)了車用總線技術(shù)的發(fā)展。CAN總線的出現(xiàn),就是為了減少不斷增加的信號(hào)線,所有的外圍器件都可以被連接到總線上由于CAN總線具有可靠性高、實(shí)時(shí)性好、成本合理等優(yōu)點(diǎn),逐漸被應(yīng)用于如船舶、航天、工業(yè)測(cè)控、自動(dòng)化、電力系統(tǒng)、樓宇監(jiān)控等其他領(lǐng)域中。歐陽(yáng)家百創(chuàng)編歐陽(yáng)家百創(chuàng)編1.2C1.2C總噬的特點(diǎn)80年代末,在汽車工業(yè)中,由于眾多的控制設(shè)備與測(cè)試儀器之間需要進(jìn)行大量數(shù)據(jù)交換,傳統(tǒng)的總線無(wú)法滿足需求,德國(guó)BOSCH公司提出了CAN總線,這種新的串行數(shù)據(jù)通訊協(xié)議。CAN總線即控制器局域網(wǎng)總線,通信接口中集成了CAN協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成對(duì)通信數(shù)據(jù)的成幀處理,包括位填充、數(shù)據(jù)塊編碼、循環(huán)冗余檢驗(yàn)、優(yōu)先級(jí)判別等項(xiàng)工作。CAN(ControllerAreaNetwork)屬于現(xiàn)場(chǎng)總線的一種,在傳統(tǒng)的工業(yè)控制領(lǐng)域中,大部分的通信采用RS232、RS485或RS422總線。相比之下,RS232、RS485或RS422總線有著通信距離近,通訊速度慢,抗干擾性能差等缺點(diǎn)。通訊一般采用主從方式,通過主站查詢方式進(jìn)行通訊,實(shí)時(shí)性、可靠性較差。當(dāng)系統(tǒng)有錯(cuò)誤,多節(jié)點(diǎn)同時(shí)向總線發(fā)送數(shù)據(jù)時(shí),導(dǎo)致總線呈現(xiàn)短路,從而損壞某些節(jié)點(diǎn)?;贑AN總線的分布式控制系統(tǒng)在很多方面具有明顯的優(yōu)越性°L而CAN的電路結(jié)構(gòu)簡(jiǎn)單,要求的線數(shù)較少,只需要兩根線與外部器件互聯(lián),使得各控制單元能夠通過CAN總線共享所有的信息和資源。達(dá)到簡(jiǎn)化布線、減少傳感器數(shù)量、避免控制功能重復(fù)的效果。CAN具有的完善的通信協(xié)議,并且可以通過CAN控制器芯片及其接口芯片來(lái)實(shí)現(xiàn),從而大大降低系統(tǒng)開發(fā)難度,縮短了開發(fā)周期。CAN支持分布式控制或?qū)崟r(shí)控制,工作于多主方式,網(wǎng)絡(luò)上各個(gè)節(jié)點(diǎn)均可以在任一時(shí)刻主動(dòng)發(fā)送信息,可以點(diǎn)對(duì)點(diǎn),點(diǎn)對(duì)多點(diǎn)以及全局廣播方式收發(fā)數(shù)據(jù)。網(wǎng)絡(luò)中的各節(jié)點(diǎn)都可根據(jù)總線訪問優(yōu)先權(quán),采用非破壞性總線總裁技術(shù),通信速度快,可靠性高,可大大節(jié)省了總線仲裁沖突時(shí)間,在網(wǎng)絡(luò)負(fù)載很重的情況下也不會(huì)出現(xiàn)網(wǎng)絡(luò)癱瘓。CAN沒有采用站地址編碼,而是對(duì)通信數(shù)據(jù)進(jìn)行編碼,這可使不同的節(jié)點(diǎn)同時(shí)接收到數(shù)據(jù),這使得CAN總線的數(shù)據(jù)通信實(shí)時(shí)性強(qiáng),并且容易構(gòu)成冗余結(jié)構(gòu),提高系統(tǒng)的可靠性和系統(tǒng)的靈活性。它具有如下特點(diǎn):CAN是到目前為止為數(shù)不多的有國(guó)際標(biāo)準(zhǔn)的現(xiàn)場(chǎng)總線,總線協(xié)議已被國(guó)際標(biāo)準(zhǔn)化組織認(rèn)證,技術(shù)比較成熟,控制的芯片已經(jīng)商品化,性價(jià)比高,特別適用于分布式測(cè)控系統(tǒng)之間的數(shù)通訊。CAN總線沒有采取傳統(tǒng)的站地址編碼,不對(duì)節(jié)點(diǎn)進(jìn)行地址規(guī)定,而是把通信數(shù)據(jù)塊進(jìn)行編碼。這種方法的優(yōu)點(diǎn)可使網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)個(gè)數(shù)在理論上不受限歐陽(yáng)家百創(chuàng)編歐陽(yáng)家百創(chuàng)編歐陽(yáng)家百創(chuàng)編歐陽(yáng)家百創(chuàng)編歐陽(yáng)家百創(chuàng)編制,數(shù)據(jù)塊的標(biāo)識(shí)碼可由11位或29位二進(jìn)制數(shù)組成。這種按數(shù)據(jù)塊編碼的方式,使用報(bào)文的標(biāo)識(shí)符來(lái)指定報(bào)文的優(yōu)先級(jí)以及報(bào)文的內(nèi)容,高優(yōu)先級(jí)的節(jié)點(diǎn)享有傳送報(bào)文的優(yōu)先權(quán)。還可使不同的節(jié)點(diǎn)同時(shí)接收到相同的數(shù)據(jù),這一點(diǎn)在分布式控制系統(tǒng)中非常有用。采用短幀結(jié)構(gòu),每一幀的有效字節(jié)數(shù)為8個(gè),數(shù)據(jù)傳輸時(shí)間短,受干擾的概率低,重新發(fā)送的時(shí)間短,從而保證了通信的實(shí)時(shí)性。CAN總線采用了多主競(jìng)爭(zhēng)式總線結(jié)構(gòu),通信介質(zhì)可以是雙絞線、同軸電纜或光導(dǎo)纖維,可以多個(gè)主站運(yùn)行并且分散仲裁。CAN總線上任意節(jié)點(diǎn)可以點(diǎn)對(duì)點(diǎn),一對(duì)多及廣播集中方式傳送和接受數(shù)據(jù),而且可以任意時(shí)刻主動(dòng)地向網(wǎng)絡(luò)上其它節(jié)點(diǎn)發(fā)送信息而不分主次,因此可在各節(jié)點(diǎn)之間實(shí)現(xiàn)自由通信。CAN通訊距離最大是1O公里(設(shè)速率為5Kbps),最大通信速率為1Mbit/s(設(shè)通信距離為4O米)。CAN采用非破壞性的總線仲裁技術(shù),即載波偵聽多路訪問/沖突檢測(cè)(CSMA/CD)的總線仲裁方式,當(dāng)多個(gè)節(jié)點(diǎn)同時(shí)發(fā)送數(shù)據(jù)時(shí),優(yōu)先級(jí)低的節(jié)點(diǎn)會(huì)主動(dòng)停止發(fā)送,高優(yōu)先級(jí)的節(jié)點(diǎn)可繼續(xù)傳輸,節(jié)省總線仲裁時(shí)間。避免多個(gè)節(jié)點(diǎn)同時(shí)開始發(fā)送消息而造成總線沖突,保證優(yōu)先級(jí)高的報(bào)文能夠優(yōu)先發(fā)送。CAN總線協(xié)議采用了完善的錯(cuò)誤檢測(cè)與錯(cuò)誤處理機(jī)制,包括了CRC校驗(yàn)、錯(cuò)誤報(bào)文自動(dòng)重發(fā)、錯(cuò)誤狀態(tài)判斷、臨時(shí)錯(cuò)誤自動(dòng)恢復(fù)等措施,從而很好的保證了數(shù)據(jù)通信的可靠性。節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下,具有自動(dòng)關(guān)黔6)閉總線的功能,切斷它與總線的聯(lián)系,以使總線上其他操作不受影響。CAN總線采用雙線串行通信方式,檢錯(cuò)能力強(qiáng),可在高噪聲干擾環(huán)境中工作。具有實(shí)時(shí)性強(qiáng)、傳輸距離較遠(yuǎn)、抗電磁干擾能力強(qiáng)、成本低等優(yōu)點(diǎn)??筛鶕?jù)報(bào)文的ID決定接收或屏蔽該報(bào)文。可靠的錯(cuò)誤處理和檢錯(cuò)機(jī)制,發(fā)送的信息遭到破壞后,可自動(dòng)重發(fā),報(bào)文不包含源地址或目標(biāo)地址,僅用標(biāo)志符來(lái)指示功能信息、優(yōu)先級(jí)信息。CAN卓越的特性、極高的可靠性和獨(dú)特的設(shè)計(jì),特別適合工業(yè)過程監(jiān)控設(shè)備的通信,因此,越來(lái)越受到工業(yè)界的重視,并已公認(rèn)為最有前途的現(xiàn)場(chǎng)總線之一。CAN總線通過CAN控制器接口芯片的輸出端CANH和CANL與物理總線相連,而CANH端的狀態(tài)只能是高電平或懸浮狀態(tài),CANL端只能是低電平或懸浮狀態(tài)。CAN總線的信號(hào)狀態(tài)為2種,隱位與顯位。當(dāng)隱位與顯位發(fā)送出現(xiàn)競(jìng)爭(zhēng)時(shí),最終結(jié)果是顯位。在處理沖突時(shí),由于該信號(hào)的二值且“單穩(wěn)態(tài)”的特性變得簡(jiǎn)單,報(bào)錯(cuò)幀可以使所有節(jié)點(diǎn)很容易地取得一致性的數(shù)據(jù),并且保證了節(jié)點(diǎn)狀態(tài)的同步,這種二值特性對(duì)CAN總線的可靠性有很大保障。而且CAN節(jié)點(diǎn)在出現(xiàn)嚴(yán)重錯(cuò)誤的情況下,可以自動(dòng)關(guān)閉輸出,避免總線上其他節(jié)點(diǎn)的操作受影響,從而保證不會(huì)因個(gè)別節(jié)點(diǎn)出現(xiàn)問題,而使得總線處于”死鎖”狀態(tài)。CAN總線具有位填充、回讀、錯(cuò)誤約束、出錯(cuò)自動(dòng)重發(fā)等優(yōu)點(diǎn),同時(shí)通信速率高、通信距離遠(yuǎn)、容易實(shí)現(xiàn)、且性價(jià)比高。1.3 C總噬的發(fā)展前景CAN最初是用于汽車行業(yè)的監(jiān)測(cè)、控制,用來(lái)解決汽車內(nèi)部的復(fù)雜硬件信號(hào)接線的低成本通信總線,現(xiàn)今CAN總線已經(jīng)被公認(rèn)為一種可靠的網(wǎng)絡(luò)總線在汽車上得以應(yīng)用。CAN總線共享信息和資源,總線的數(shù)據(jù)通信提高了系統(tǒng)可靠性、實(shí)時(shí)性、靈活性、可維護(hù)性,更好地匹配和協(xié)調(diào)各個(gè)控制系統(tǒng)。隨著汽車電子技術(shù)的發(fā)展具有高度靈活性、簡(jiǎn)單的擴(kuò)展性、優(yōu)良的抗干擾性和處理錯(cuò)誤能力的CAN總線,越來(lái)越受到人們的重視,它在汽車領(lǐng)域上得到了廣泛的應(yīng)用。世界上一些著名的汽車制造廠商,都采用了CAN總線來(lái)實(shí)現(xiàn)汽車內(nèi)部控制系統(tǒng)與各檢測(cè)和執(zhí)行機(jī)構(gòu)間的數(shù)據(jù)通信。近年來(lái)CAN總線已發(fā)展成為汽車電子系統(tǒng)的主流總線,已形成國(guó)際標(biāo)準(zhǔn)的現(xiàn)場(chǎng)總線,并由ISO正式頒布了IS011898CAN高速應(yīng)用標(biāo)準(zhǔn)和ISO11519CAN低速應(yīng)用標(biāo)準(zhǔn),這為CAN總線的標(biāo)準(zhǔn)化、規(guī)范化鋪平了道路。CAN總線以其高性能,高可靠性及獨(dú)特的設(shè)計(jì),在現(xiàn)代分布式測(cè)量與控制技術(shù)領(lǐng)域中的應(yīng)用已愈來(lái)愈廣泛。同時(shí)由于CAN總線自身的特點(diǎn),其應(yīng)用范圍目前已不再局限于汽車行業(yè),而是轉(zhuǎn)向鐵路、交通、自動(dòng)控制、航空航天、航海、機(jī)械工業(yè)、機(jī)器人、醫(yī)療器械及安防等領(lǐng)域發(fā)展。CAN總線的發(fā)展已經(jīng)頗具規(guī)模,它不僅在汽車領(lǐng)域的應(yīng)用占據(jù)一定優(yōu)勢(shì),在其他工業(yè)領(lǐng)域內(nèi)也占有一席之地。這要?dú)w根于通信技術(shù)的不斷進(jìn)步,對(duì)通訊本身的要求不斷提高,這種形勢(shì)下CAN總線的優(yōu)勢(shì)在于其優(yōu)越的抗干擾能力和性價(jià)比。盡管CAN總線有一定局限,甚至還有漏洞,但對(duì)CAN總線的改進(jìn)還在繼續(xù),相信在未來(lái)的發(fā)展中,CAN總線通過不斷的更新和改進(jìn),能夠取得更大的進(jìn)步。歐陽(yáng)家百創(chuàng)編歐陽(yáng)家百創(chuàng)編歐陽(yáng)家百創(chuàng)編第2章系統(tǒng)方案總體設(shè)計(jì)系統(tǒng)原理當(dāng)CAN總線上的一個(gè)節(jié)點(diǎn)(站)發(fā)送數(shù)據(jù)時(shí),它以報(bào)文形式廣播給網(wǎng)絡(luò)中所有節(jié)點(diǎn)。對(duì)每個(gè)節(jié)點(diǎn)來(lái)說,無(wú)論數(shù)據(jù)是否是發(fā)給自己的,都對(duì)其進(jìn)行接收。每組報(bào)文開頭的11位字符為標(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í)競(jìng)爭(zhēng)總線讀取時(shí),這種配置十分重要CAN總線的報(bào)文發(fā)送和接收。當(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)行檢測(cè),判斷這些報(bào)文是否是發(fā)給自己的,以確定是否接收它。由于CAN總線是一種面向內(nèi)容的編址方案,因此很容易建立高水準(zhǔn)的控制系統(tǒng)并靈活地進(jìn)行配置。我們可以很容易地在CAN總線中加進(jìn)一些新站而無(wú)需在硬件或軟件上進(jìn)行修改。當(dāng)所提供的新站是純數(shù)據(jù)接收設(shè)備時(shí),數(shù)據(jù)傳輸協(xié)議不要求獨(dú)立的部分有物理目的地址。它允許分布過程同步化,即總線上控制器需要測(cè)量數(shù)據(jù)時(shí),可由網(wǎng)上獲得,而無(wú)須每個(gè)控制器都有自己獨(dú)立的傳感器。系統(tǒng)總體設(shè)計(jì)方框圖UAZ拄制器UAZ拄制器SJA1口門口圖2-1系統(tǒng)總體設(shè)計(jì)方框圖歐陽(yáng)家百創(chuàng)編歐陽(yáng)家百創(chuàng)編歐陽(yáng)家百創(chuàng)編歐陽(yáng)家百創(chuàng)編51單片機(jī)系統(tǒng)的控制芯片采用AT89S52單片機(jī)來(lái)控制,因?yàn)锳T89S52應(yīng)用比較廣泛,并且成本低,操作控制簡(jiǎn)單,功耗較低,運(yùn)行可靠性強(qiáng)。系統(tǒng)本身對(duì)處理器處理速度的要求不是很高,所以選擇該款單片機(jī)。AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。使用Atmel公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。(T2)P1JOC4口□vcc(T2X)P1.1IZ23QZlFCCFM2匚3□PQ.1(ADI>F1.3C437□PO-2pXCQ)P1.4IZ536□F?O.3(MOSI)P1.5CB35□PC.4(MISO)PlB?匚7□尸匚士(AE?>(SCKJP1,7C333□PCeI;AD?>RSTCS32□FD.7<AD7>-(RXD:?P3.D匚1031ZlEA.*VPF(TXO:i戶3Tlz113D□A^E-PROG(TF7TC-)P3..2匚1220□FT?-Er-j(INTI:1R3..3匚13ze□P2.F(A151(TO)P3-.4匚1427□P2.6(T1)P3..5C15□P2.5(A13:而KP3,3C1625□P2.4(A12)(RD-)P3.17匚1724□ips.aiaiijXTAL2C1623□R2J2(A1O)XTAL-IIZ1822□F21i:A5j&NDC士。21□IP2.Ci:ASl圖2-2AT89S52引腳結(jié)構(gòu)TT圖2-3 AT89S52內(nèi)部結(jié)構(gòu)圖VCC:電源GND:地P0口:P0口是一個(gè)8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫“1”時(shí),引腳用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有內(nèi)部上拉電阻。在flash編程時(shí),P0口也用來(lái)接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。P1口:P1口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,p1輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P1端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(P1.1/T2EX),具體如下表所示。在flash編程和校驗(yàn)時(shí),P1口接收低8位地址字節(jié)。
表2-1P1口引腳功能弓|腳號(hào)第二功能P1.0T2(定時(shí)器/計(jì)數(shù)器T2的外部計(jì)數(shù)輸入),時(shí)鐘輸出P1.1T2EX(定時(shí)器/計(jì)數(shù)器T2的捕捉/重載觸發(fā)信號(hào)和方向控制)P1.5MOSI(在系統(tǒng)編程用)P1.6MISO(在系統(tǒng)編程用)P1.7SCK(在系統(tǒng)編程用)P2口:P2口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P2端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX@DPTR)時(shí),P2口送出高八位地址。在這種應(yīng)用中,P2口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用8位地址(如MOVX@RD訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào)。P3口:P3口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,p2輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P3端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)0P3口亦作為AT89S52特殊功能(第二功能)使用,如下表所示。在flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號(hào)。表2-2P3口引腳功能弓1腳號(hào)第二功能P3.0RXD(串行輸入)P3.1TXD(串行輸出)P3.2INTO(外部中斷0)P3.3INTO(外部中斷0)P3.4TO(定時(shí)器0外部輸入)P3.5T1(定時(shí)器1外部輸入)P3.6WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7RD(外部數(shù)據(jù)存儲(chǔ)器寫選通)歐陽(yáng)家百創(chuàng)編歐陽(yáng)家百創(chuàng)編歐陽(yáng)家百創(chuàng)編RS:復(fù)位輸入。晶振工作時(shí),RST腳持續(xù)2個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位??撮T狗計(jì)時(shí)完成后,RST腳輸出96個(gè)晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無(wú)效。DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平有效。ALE/PROG:地址鎖存控制信號(hào)(ALE)是訪問外部程序存儲(chǔ)器時(shí),鎖存低8位地址的輸出脈沖。在flash編程時(shí),此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE以晶振六分之一的固定頻率輸出脈沖,可用來(lái)作為外部定時(shí)器或時(shí)鐘使用。然而,特別強(qiáng)調(diào),在每次訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),ALE脈沖將會(huì)跳過。如果需要,通過將地址為8EH的SFR的第0位置“1”,ALE操作將無(wú)效。這一位置“1”,ALE僅在執(zhí)行MOVX或MOVC指令時(shí)有效。否則,ALE將被微弱拉高。這個(gè)ALE使能標(biāo)志位(地址為8EH的SFR的第0位)的設(shè)置對(duì)微控制器處于外部執(zhí)行模式下無(wú)效。PSEN:外部程序存儲(chǔ)器選通信號(hào)(PSEN)是外部程序存儲(chǔ)器選通信號(hào)。當(dāng)AT89S52從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí)PSEN在每個(gè)機(jī)器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),PSEN將不被激活。EA/VPP:訪問外部程序存儲(chǔ)器控制信號(hào)。為使能從0000H到FFFFH的外部程序存儲(chǔ)器讀取指令,EA必須接GND。為了執(zhí)行內(nèi)部程序指令,EA應(yīng)該接VCC。在flash編程期間,EA也接收12伏VPP電壓。XTAL1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。XTAL2:振蕩器反相放大器的輸出CAN總線收發(fā)器PCA82C250是CAN協(xié)議控制器和物理總線的接口這個(gè)器件對(duì)總線提供不同的發(fā)送能力和對(duì)CAN控制器提供不同的接收能力。歐陽(yáng)家百創(chuàng)編歐陽(yáng)家百創(chuàng)編歐陽(yáng)家百創(chuàng)編歐陽(yáng)家百創(chuàng)編圖2-4 82C250引腳結(jié)構(gòu)表2-3 82C250引腳管腳功能描述TXDRXDVrv-圖2-5 82C250TXDRXDVrv-圖2-5 82C250功能描述:PCA82C50制器和物理總
主要用于汽車士:二、一1標(biāo)記13管新*voSa-gePC/1功能描述3TXD11一1 發(fā)送數(shù)據(jù)輸入L4GND22接地 2VCC33上口/r_LU-t|-r^GND提供電壓RXD44接收數(shù)據(jù)輸出方框圖是CAN協(xié)議控線的接口,它里的高速應(yīng)用Vref55參考電壓輸出CANL66低電平CAN電壓輸入/輸出CANH77高電平CAN電壓輸入輸出RS88Slope電阻輸入IMbaud)。這個(gè)(高達(dá)器件對(duì)總線提供不同的發(fā)送能力和對(duì)CAN控制器提供不同的接收能力完全和ISO11898標(biāo)準(zhǔn)兼容。限定的電流值保護(hù)接收器輸出級(jí),避免陽(yáng)極和陰極的短路,盡管在默認(rèn)的條件下功率消耗是增加的這個(gè)特征值將防止發(fā)送器輸出級(jí)的毀壞。如果節(jié)點(diǎn)溫度超過大約160攝氏度,發(fā)送器限定的電流值輸出被降低因?yàn)榘l(fā)送器占去大部分的功率消耗,這將導(dǎo)致降額功耗和較低的片內(nèi)溫度,IC中的其它部分在使用中將保持不變,當(dāng)總線短路的時(shí)候熱保護(hù)非常需要。這個(gè)CANHCANLIMbaud)。這個(gè)表2-4CAN收發(fā)器真值表提供TXD(發(fā)送)CANHCANL總線狀況RXD接收4.5to5.5V0高低控制04.5to5.5V1(或懸空)懸空懸空接收1<2V(未上電)X懸空懸空接收X2V<VCC<4.5>0.75VCC懸空懸空接收X2V<VCC<4.5X若VRS>0.75VCC懸空若VRS>0.75VCC懸空接收X注意:X二隨意值表2-5官腳RS真值表在RS管腳上強(qiáng)制條件模式在RS管腳上電壓和電流VRS>0.75VCC備用IRS<|10A|10A<IRS<200A斜率控制0.3VCC<VRS<0.6VCCVRS<0.3VCC高速IRS<500A管腳8RS有三種不同的工作模式可被選擇:高速,備用,斜率控制。對(duì)于高速工作模式,發(fā)送器輸出級(jí)晶體管被盡可能地快啟動(dòng)和關(guān)閉,在這種模式下,沒有措施用于限制上升和下降的斜度。建議使用屏蔽電纜可避免RFI這種問題。通過把管腳8接地選擇這個(gè)模式。對(duì)于低速或較短的總線長(zhǎng)度,可使用一種沒有屏蔽的雙絞線或平行線。對(duì)于降低RFI,上升和下降的斜率是個(gè)限定值,上升和下降的斜率能夠被編程,通過從管腳8接一個(gè)電阻至地,這個(gè)斜率和管腳8的電流輸出成比例。如果高電平被接至管腳8,電路進(jìn)入低電流保護(hù)模式。在這種模式下,發(fā)送器被關(guān)閉,接收器開至低電流。如果控制位被檢測(cè)(不同的總線電壓<0.9V),RXD將被開至低電平。這個(gè)微型控制器應(yīng)對(duì)這個(gè)條件有所反應(yīng),通過轉(zhuǎn)換收發(fā)器至正常工作狀態(tài)。(經(jīng)過管腳8)因?yàn)檫@個(gè)接收器在備用模式下比較慢,第一條信息會(huì)丟失掉。CAN總線控制器CAN總線控制器選用SJA1000,SJAl000是一個(gè)獨(dú)立的控制器,有兩種不同的模式。(1)BasicCAN模式:系統(tǒng)上電后默認(rèn)的模式,與PCA82C200兼容。(2)PeliCAN模式:支持CAN2.0B協(xié)議規(guī)定的所有功能。
ADS□_AD7叵ale7as叵CS[±RO/E巨TH卮cLrouT[TVssi叵XTAL1叵KLAL2叵MOPE叵Vhd2|T5t>oE2TXlo圖2-6 SJA1000引腳結(jié)構(gòu)SJA1000功能模塊主要有:接口管理邏輯、接收FIFO隊(duì)列、接收濾波器、發(fā)送緩沖器和CAN核心模塊。CAN核心模塊基于CAN2.0B的協(xié)議執(zhí)行對(duì)CAN幀的發(fā)送和接收。邏輯管理接口實(shí)現(xiàn)與外部單片機(jī)的連接。SJAlO00的發(fā)送緩沖器可以存儲(chǔ)一個(gè)完整的報(bào)文,當(dāng)單片機(jī)開始一個(gè)傳送時(shí),邏輯管理接口會(huì)使CAN核心模塊讀發(fā)送緩沖器的數(shù)據(jù),依照CAN2.OB協(xié)議發(fā)送數(shù)據(jù)。當(dāng)收到一個(gè)報(bào)文時(shí),cAN核心控制模塊將連續(xù)的位轉(zhuǎn)換為標(biāo)準(zhǔn)的數(shù)據(jù)存放于接收過濾器中,通過驗(yàn)收碼寄存器、驗(yàn)收屏蔽寄存器進(jìn)行過濾處理,將符合標(biāo)志位要求的數(shù)據(jù)放人接收FIF0隊(duì)列中以下為SJA1000芯片的特點(diǎn):管腳及電氣特性與獨(dú)立CAN總線控制器PCA82C200兼容;軟件與PCA82C200兼容(缺省為基本CAN模式);擴(kuò)展接收緩沖器(64字節(jié)FIFO);支持CAN2.0B協(xié)議;同時(shí)支持11位和29位標(biāo)識(shí)符;位通訊速率為1Mbits/s;增強(qiáng)CAN模式(PeliCAN);采用24MHz時(shí)鐘頻率;支持多種微處理器接口;可編程CAN輸出驅(qū)動(dòng)配置;工作溫度范圍為-40?+125℃。從芯片的結(jié)構(gòu)圖中可以看出,SJA100C型獨(dú)立CAN總線控制器由以下幾部分構(gòu)成:(1)接口管理邏輯:它接收來(lái)自微處理器的命令,控制CAN寄存器的地址,并為微處理器提供中斷和狀態(tài)信息。(2)發(fā)送緩沖器:有13字節(jié)長(zhǎng)。它位于CPU和位流處理器(BSP)之間,能存儲(chǔ)一條將在CAN總線上發(fā)送的完整的報(bào)文,報(bào)文由CPU寫入,由SBP讀出。(3)接收緩沖器(RXB、RXFIFO):它是CPU和接收濾波器之間的接口,用來(lái)存儲(chǔ)從CAN總線接收并通過了濾波的報(bào)文。接收緩沖器RXB是提供給CPU可訪問的13字節(jié)的窗口,這個(gè)窗口是屬于接收FIFO(RXFIFO)的一部分,共由64字節(jié)長(zhǎng)。有了這個(gè)FIFO,可以在CPU處理一個(gè)報(bào)文的同時(shí)繼續(xù)接收其他到來(lái)的報(bào)文。(4)接收濾波器:它把報(bào)文頭中的標(biāo)識(shí)符和接收濾波寄存器中的內(nèi)容進(jìn)行比較,以判斷文報(bào)文是否被接收。如果被接收,報(bào)文存KXFIFO。(5)位流處理器:它是一個(gè)控制發(fā)送緩沖器、RXFIFO并行數(shù)據(jù)和CAN總線(串行數(shù)據(jù))之間數(shù)據(jù)的序列發(fā)生器,同時(shí)它也執(zhí)行錯(cuò)誤檢測(cè)、仲裁、位填充和CAN總線錯(cuò)誤處理功能。(6)位定時(shí)邏輯不:它將5」八1000同步于CAN總線上的位流。(7)錯(cuò)誤管理邏輯:它按照CAN協(xié)議完成錯(cuò)誤界定。2.2.4光耦合器6N137光耦合器是一款用于單通道的高速光耦合器,其內(nèi)部有一個(gè)850nm波長(zhǎng)AlGaAsLED和一個(gè)集成檢測(cè)器組成,其檢測(cè)器由一個(gè)光敏二極管、高增益線性運(yùn)放及一個(gè)肖特基鉗位的集電極開路的三極管組成。具有溫度、電流和電壓補(bǔ)償功能,高的輸入輸出隔離,LSTTL/TTL兼容,高速(典型為10MBd),5mA的極小輸入電流。圖2-8 6N137引腳結(jié)構(gòu)特性:①轉(zhuǎn)換速率高達(dá)10MBit/s;②擺率高達(dá)10kV/us;③扇出系數(shù)為8;④邏輯電平輸出;⑤集電極開路輸出;工作參數(shù):最大輸入電流,低電平:250uA最大輸入電流,高電平:15山人最大允許低電平電壓(輸出高):0.8v最大允許高電平電壓:VCC最大電源電壓、輸出:5.5V扇出(丁立負(fù)載):8個(gè)(最多)工作溫度范圍:-40°Cto+85°C典型應(yīng)用:高速數(shù)字開關(guān),馬達(dá)控制系統(tǒng)和A/D轉(zhuǎn)換等。信號(hào)從腳2和腳3輸入,發(fā)光二極管發(fā)光,經(jīng)片內(nèi)光通道傳到光敏二極管,反向偏置的光敏管光照后導(dǎo)通,經(jīng)電流-電壓轉(zhuǎn)換后送到與門的一個(gè)輸入端,與門的另一個(gè)輸入為使能端,當(dāng)使能端為高時(shí)與門輸出高電平,經(jīng)輸出三極管反向后光電隔離器輸出低電平。當(dāng)輸入信號(hào)電流小于觸發(fā)閾值或使能端為歐陽(yáng)家百創(chuàng)編歐陽(yáng)家百創(chuàng)編歐陽(yáng)家百創(chuàng)編歐陽(yáng)家百創(chuàng)編歐陽(yáng)家百創(chuàng)編歐陽(yáng)家百創(chuàng)編歐陽(yáng)家百創(chuàng)編低時(shí),輸出高電平,但這個(gè)邏輯高是集電極開路的,可針對(duì)接收電路加上拉電阻或電壓調(diào)整電路。原理如上圖所示,若以腳2為輸入,腳3接地,則真值表如附表所列,這相當(dāng)于非門的傳輸,若希望在傳輸過程中不改變邏輯狀態(tài),則從腳3輸入,腳2接高電平。)圖2-9 測(cè)試電路和波形=工圖2-9 測(cè)試電路和波形=工5mA=375m4PulseGenerator第3章系統(tǒng)硬件設(shè)計(jì)3.1系統(tǒng)硬件的基本組成部分該系統(tǒng)的硬件主要包含這幾個(gè)部分:處理器、CAN總線控制器、CAN總線收發(fā)器。結(jié)構(gòu)電路如下:
圖3-1圖3-1系統(tǒng)硬件結(jié)構(gòu)電路單片機(jī)電路設(shè)計(jì)本設(shè)計(jì)選擇AT89S52單片機(jī)。AT89S52自帶有片內(nèi)ROM和一定數(shù)量的RAM,一般不需要擴(kuò)展片外的存儲(chǔ)器,并且能和MCS—51產(chǎn)品兼容。本設(shè)計(jì)選用簡(jiǎn)單基本的經(jīng)典復(fù)位電路,它利用電容和電阻的充放電來(lái)產(chǎn)生一個(gè)達(dá)到時(shí)間要求的連續(xù)低電壓,并輸入到單片機(jī)的復(fù)位管腳,如下圖所示:JCTAT33=>-3Q□ZTMTdHJ=nnsTTl-°E?aJCTAT33=>-3Q□ZTMTdHJ=nnsTTl-°E?aBA3_4"I71.=3>-3=S■WTL0HLO.x?m_TAMZEZr?uU-:ETCA.sB笠nHLti?my
4裁藍(lán)盍EiE:"莖之士
dA-mr?-dhJ.-4.J..F
葭第BJff圖3-2單片機(jī)結(jié)構(gòu)電路CAN線控制器電路設(shè)計(jì)SJA1000被設(shè)計(jì)為全面支持CAN2.0B協(xié)議,而且支持多處理器接口,其接口電路十分簡(jiǎn)單,如下圖所示:其電路圖如下:
圖3-3控制器結(jié)構(gòu)電路CAN線收發(fā)器電路設(shè)計(jì)CAN總線收發(fā)器選用PCA82C250,其封裝為SOIC,而且只有8個(gè)引腳,其設(shè)計(jì)電路如下圖所示:圖3-4CAN總線收發(fā)器結(jié)構(gòu)電路第4章軟件設(shè)計(jì)4.1軟件總體設(shè)計(jì)程序設(shè)計(jì)主要分為3部分:SJA1000初始化子程序、發(fā)送子程序、接收子程序??梢哉f所有CAN通信程序設(shè)計(jì)都是遵循這3個(gè)基本步驟的,所以熟練掌握這3部分子程序的設(shè)計(jì)對(duì)于應(yīng)用CAN總線的工程技術(shù)人員來(lái)說是非常有必要的。fiJBrres&'icSsi?Wi斯丁作用節(jié)-L啟動(dòng)3JRW004強(qiáng)ri收丫一向小發(fā).送型沖以*弓也用「數(shù)據(jù)、返回「堂口收又或 J延N式用0秒凄取siiwm狀態(tài)帶存黯的值褥口發(fā)口收請(qǐng)求俅/I5H10M初蛤化配置返I可1rl蹌門收域功 J圖4-1CAN節(jié)點(diǎn)自發(fā)自收基本流程圖4.2CAN初始化,用初此化反沖明■收出他寄存:器婦置:監(jiān)〃代牝花府也造人及啰模式配雷:,1仲分頻洛存器配置慢式:汗矗怔首顯線企用制存器器Hi[/模式配置輸出控制寄存器圖4-2CAN節(jié)點(diǎn)初始化流程圖歐陽(yáng)家百創(chuàng)編歐陽(yáng)家百創(chuàng)編SJA1000初始化微控制器和SJA1000之間狀態(tài)、控制和命令信號(hào)的交換都是在控制段中完成的。初始化加載后,寄存器的接收代碼、接收屏蔽、總線定時(shí)寄存器0和1以及輸出控制就不能改變了。SJA1000共有2種工作模式:復(fù)位模式和工作模式。當(dāng)硬件復(fù)位或控制器掉電時(shí)會(huì)自動(dòng)進(jìn)入復(fù)位模式,只有在復(fù)位模式下才可以對(duì)SJA1000進(jìn)行初始化。初始化主要包括工作方式的設(shè)定、接收屏蔽寄存器和接收代碼寄存器的設(shè)定、總線時(shí)序寄存器的設(shè)置、輸出模式寄存器和中斷使能寄存器的設(shè)置等。在初始化完成以后,CAN總線就可以開始進(jìn)行數(shù)據(jù)的接收與發(fā)送工作。退回圖4-3SJA1000初始化流程圖將發(fā)送緩沖區(qū)地址填入描述符計(jì)數(shù)長(zhǎng)度將要發(fā)送的數(shù)據(jù)送入發(fā)送緩沖區(qū)退回圖4-3SJA1000初始化流程圖將發(fā)送緩沖區(qū)地址填入描述符計(jì)數(shù)長(zhǎng)度將要發(fā)送的數(shù)據(jù)送入發(fā)送緩沖區(qū)置命令寄存器匚MFL0=1(請(qǐng)求發(fā)送)讀點(diǎn)態(tài)寄存器0R.2發(fā)送與接收首先與CAN控制器連接的微處理器必須將要發(fā)送的數(shù)據(jù)從其數(shù)據(jù)存儲(chǔ)區(qū)中取出,與主機(jī)的ID地址一起組成信息幀按CAN報(bào)文結(jié)構(gòu)發(fā)送到發(fā)送緩沖器中,并置位命令寄存器中的發(fā)送請(qǐng)求標(biāo)志,接收到發(fā)送請(qǐng)求后發(fā)送過程由CAN控制器自動(dòng)完成。在檢測(cè)到接收緩沖器中存在有效報(bào)文后,接收程序?qū)⒔邮站彌_器歐陽(yáng)家百創(chuàng)編
中的內(nèi)容讀入CPU的數(shù)據(jù)存儲(chǔ)區(qū)。接收完畢后檢查總線狀態(tài)及溢出情況等并做相應(yīng)處理。發(fā)送與接收程序流程圖中的內(nèi)容讀入CPU的數(shù)據(jù)存儲(chǔ)區(qū)。接收完畢后檢查總線狀態(tài)及溢出情況等并做相應(yīng)處理。發(fā)送與接收程序流程圖圖4-4第5章系統(tǒng)調(diào)試計(jì)算機(jī)通過串口RS232發(fā)送數(shù)據(jù)到單片機(jī)AT89S52,單片機(jī)通過CAN控制器以及CAN收發(fā)器把數(shù)據(jù)轉(zhuǎn)換成CAN通訊,傳送到CANH,CANH把數(shù)據(jù)傳送給CANL,CANL又通過CANCANL,CANL又通過CAN控制器把數(shù)據(jù)轉(zhuǎn)換成串口通信數(shù)據(jù)發(fā)送到計(jì)算機(jī),實(shí)現(xiàn)圖5-1系統(tǒng)調(diào)試圖歐陽(yáng)家百創(chuàng)編歐陽(yáng)家百創(chuàng)編歐陽(yáng)家百創(chuàng)編歐陽(yáng)家百創(chuàng)編在實(shí)現(xiàn)的過程中,用了一個(gè)LED,單片機(jī)發(fā)送一組數(shù)組TX[]緩沖區(qū)里的數(shù)據(jù),轉(zhuǎn)換成CAN通訊CANH發(fā)送,LED變換一次,CANL收回來(lái)。將接受到的數(shù)據(jù)保存到數(shù)組RX[]緩沖區(qū)。LED變換一次,同時(shí)用示波器的紅色探頭接觸控制器的接收和發(fā)送的數(shù)據(jù)端,觀察接收和發(fā)送的數(shù)據(jù)是否一致。圖5-2系統(tǒng)調(diào)試實(shí)物圖調(diào)試結(jié)果比對(duì):圖5-3發(fā)送的示波器示意圖 圖5-4接收的數(shù)據(jù)示波器示意圖由上面的圖對(duì)比可以看出,接收的數(shù)據(jù)和發(fā)送的數(shù)據(jù)時(shí)一致的,實(shí)現(xiàn)了設(shè)計(jì)需要實(shí)現(xiàn)的功能—自發(fā)自收。結(jié)論采用了多主工作方式及CSMA/CD的CAN總線以其顯著優(yōu)于傳統(tǒng)“一主多從”式多機(jī)串行通訊模式而得到了廣泛應(yīng)用。實(shí)踐表明,由于CAN總線結(jié)構(gòu)簡(jiǎn)單,器件容易購(gòu)置,開發(fā)技術(shù)易于掌握,且具有統(tǒng)一的國(guó)際標(biāo)準(zhǔn),故在現(xiàn)場(chǎng)總線的發(fā)展中占有了重要位置。本系統(tǒng)設(shè)計(jì)通過單片機(jī),CAN控制器SJA1000以及CAN收發(fā)器PCA82C250的電路設(shè)計(jì),實(shí)現(xiàn)了CAN通信的自發(fā)自收。計(jì)算機(jī)通過串口RS232發(fā)送數(shù)據(jù)到單片機(jī)AT89S52,單片機(jī)通過CAN控制器以及CAN收發(fā)器把數(shù)據(jù)轉(zhuǎn)換成CAN通訊,歐陽(yáng)家百創(chuàng)編傳送到CANH,CANH把數(shù)據(jù)傳送給CANL,CANL又通過CAN控制器把數(shù)據(jù)轉(zhuǎn)換成串口通信數(shù)據(jù)發(fā)送到計(jì)算機(jī),雖然這個(gè)系統(tǒng)簡(jiǎn)單,但在調(diào)試的過程中仍遇到了很多問題。通過這次設(shè)計(jì),對(duì)CAN的通信有了較為深刻的認(rèn)識(shí)和了解,以及對(duì)于不同通信方式之間的轉(zhuǎn)換有了掌握。本系統(tǒng)設(shè)計(jì)電子學(xué),數(shù)據(jù)通訊,硬件設(shè)計(jì),軟件設(shè)計(jì)等多方面的內(nèi)容,知識(shí)范圍廣,由于本人水平有限,在設(shè)計(jì)過程中還有很多不足和不夠完善的地方,懇請(qǐng)諸位專家、老師大力斧正,不吝賜教。致謝本課題的選題、研究以及撰寫工作是對(duì)大學(xué)生活的一個(gè)總結(jié)。在研究過程中,積累了很多實(shí)際經(jīng)驗(yàn)和技巧,思維更加嚴(yán)謹(jǐn),分析問題更加科學(xué),做事更加細(xì)心。首先,非常感謝我的指導(dǎo)老師王敏。正是在她孜孜不倦的教誨和親切關(guān)懷下本文才得以順利完成。王老師治學(xué)嚴(yán)謹(jǐn)、學(xué)識(shí)淵博,在大學(xué)期間給我指明發(fā)展方向,不僅傳授專業(yè)理論知識(shí),而且給我很多實(shí)踐機(jī)會(huì),她那踏實(shí)的工作作風(fēng)以及高度負(fù)責(zé)的科研精神更是讓我終身受益。其次,感謝培育我的母校,感謝測(cè)控技術(shù)與儀器專業(yè)的全體老師,是你們的辛勤培養(yǎng)使我掌握了扎實(shí)的專業(yè)基礎(chǔ)知識(shí);感謝我所有的朋友和同學(xué),在成都理工大學(xué)一起生活和學(xué)習(xí)的美好時(shí)光里,給我的大學(xué)生活增添了無(wú)窮的樂趣和光彩,我們之間的深厚友誼將是我一生中最美好的留念。還要感謝我的家人,多年來(lái)他們總是只知付出,不求索取的愛護(hù)我、理解我、關(guān)心我、支持我,我的每一個(gè)足跡都離不開他們的默默付出,他們鼓勵(lì)的目光永遠(yuǎn)是我前進(jìn)的動(dòng)力。最后,謹(jǐn)向在百忙之中審閱本文的各位專家和評(píng)委老師表示衷心的感謝。參考文獻(xiàn)[1]孫涵芳.Intel16位單片機(jī)[M].北京:航空航天大學(xué)出版社.2000.⑵鄔寬明.CAN總線原理和應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:航空航天大學(xué)出版社.2001.[3]蔣方帥.Delph^_1序員指南M].北京:人民郵電出版也000[4]方方,周偉.單片微機(jī)原理及應(yīng)用[M].清華大學(xué)出版社,北京交通大學(xué)出版歐陽(yáng)家百創(chuàng)編歐陽(yáng)家百創(chuàng)編歐陽(yáng)家百創(chuàng)編歐陽(yáng)家百創(chuàng)編社.2007[5]樓然苗,李光飛.單片機(jī)課程設(shè)計(jì)指導(dǎo)[M].北京北京航空航天大學(xué)出版社.2007[6]楊春杰,王曙光,亢紅波.CAN總線技術(shù)[M].北京航空航天大學(xué)出版社.2010[7]李勇,張怡CAN總線的設(shè)計(jì)與實(shí)現(xiàn)W.西北工業(yè)大學(xué)電子蔡000[8]杜善封CAN總線測(cè)控技術(shù)及應(yīng)用W.電子工業(yè)出版社2007[9]鄒應(yīng)全51系列單片機(jī)原理與實(shí)驗(yàn)教程].西安電子科技大學(xué)出版社007[10]鄔寬明.CAN總線原理和應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京航空航天大學(xué)出版社.1996[11]蘇偉斌.8051系列單片機(jī)應(yīng)用手冊(cè).科學(xué)出版社[M].1997[12]李真花,崔健.CAN總線輕松入門與實(shí)踐[M].北京航空航天大學(xué)出版社2011Paret,Dominique.LeBusCAN:[ControllerAreaNetwork].Dunod,1996jianlingzhao,yuanyuanxue.MCUdevelopment&applicationinternals[M].電子工業(yè)出版社.2009Carninci,Piero.L'informationeconomiqueettechniquedelaprofession[M].Societed'ExpansionTechniqueetEconomique1989-2005[16]夏巍,丁剛,嚴(yán)輝.基于CAN總線和嵌入式網(wǎng)關(guān)的家庭智能控制網(wǎng)絡(luò)[J].工業(yè)儀表與自動(dòng)化裝置2008(6)29-31[17]朱齊丹,汪瞳.CAN通信物理層建模與仿真口[J].計(jì)算機(jī)工
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)低年級(jí)聽評(píng)課記錄
- 【人教版】八年級(jí)地理上冊(cè)第一章第二節(jié)《人口》聽課評(píng)課記錄及優(yōu)化訓(xùn)練答案
- 蘇州蘇教版六年級(jí)數(shù)學(xué)上冊(cè)第三單元《分?jǐn)?shù)應(yīng)用題(1)》聽評(píng)課記錄
- 聽評(píng)課記錄六年級(jí)語(yǔ)文
- 新版華東師大版八年級(jí)數(shù)學(xué)下冊(cè)《16.2.2分式的加減分式的加減-同分母分式加減》聽評(píng)課記錄16
- 小學(xué)二年級(jí)數(shù)學(xué)100道口算題
- 蘇科版七年級(jí)數(shù)學(xué)上冊(cè)《2.2有理數(shù)與無(wú)理數(shù)》聽評(píng)課記錄
- 北師大版道德與法治七年級(jí)下冊(cè)1.2《理解情緒》聽課評(píng)課記錄
- 八年級(jí)歷史人教版下冊(cè)聽課評(píng)課記錄:第9課 對(duì)外開放
- 校企共建培訓(xùn)中心合作協(xié)議書范本
- 第五講鑄牢中華民族共同體意識(shí)-2024年形勢(shì)與政策
- 中華人民共和國(guó)學(xué)前教育法
- 2024年貴州公務(wù)員考試申論試題(B卷)
- 三年級(jí)(下冊(cè))西師版數(shù)學(xué)全冊(cè)重點(diǎn)知識(shí)點(diǎn)
- 期末練習(xí)卷(試題)-2024-2025學(xué)年四年級(jí)上冊(cè)數(shù)學(xué)滬教版
- 2025年公務(wù)員考試申論試題與參考答案
- 抑郁癥課件教學(xué)課件
- 關(guān)于消防安全評(píng)估設(shè)備操作說明詳解
- 2025年高考作文專練(25道真題+審題立意+范文)- 2025年高考語(yǔ)文作文備考總復(fù)習(xí)
- 中國(guó)高血壓防治指南(2024年修訂版)要點(diǎn)解讀
評(píng)論
0/150
提交評(píng)論