

下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、C8051F040中CAN控制器的應用摘要介紹8051040單片機內(nèi)部控制器的應用。詳細敘述此控制器的構成及其訪問方式, 指出在使用時是如何配置控 制器的相關控制寄存器,并且給出控制器在應用中的物理層硬件電路和應 用層軟件設計。關鍵詞控制器寄存器報文對象8051040單片機與總線連接的傳統(tǒng)方式 是將與總線控制器和總線收發(fā)器相連后再接入總線網(wǎng)絡,這樣使外圍電路 復雜化,整個系統(tǒng)受外部影響較大。為了解決這一問題,很多單片機廠商紛紛將控制器集成在單片機芯片 上。目前,單片機內(nèi)部集成的控制器有公司的68912128、公司的87591、公司的895101和895102、公司的87196和87196以及公
2、司的8051040等。不同單片機內(nèi)部控制器的使用方法有所不同,但存在著很多相似之處。這里以8051040為列詳細介紹其內(nèi)部控制器的使用方法,希望通過這篇文章能給初學帶來方便,并能和廣大的單片機愛好者就這一問題做進一 步的討論。18051040控制器構成及訪問方式8051040單片機是美國公司生產(chǎn)的 完全集成的混合信號系統(tǒng)級芯,具有與8051指令集完全兼容的-51內(nèi)核。它在一塊芯片上集成了構成一個單片機數(shù)據(jù)采樣或控制系統(tǒng)所需要 的幾乎所有模擬和數(shù)字外設及其它功能部件。它具有64、4352、控制器20、2個串行接口、5個16位定時器、12位轉(zhuǎn)換器、8位轉(zhuǎn)換器及12位轉(zhuǎn)換器等,它內(nèi)部還帶有接口,使調(diào)
3、試變得 非常方便。8051040內(nèi)部集成的控制器為控制器。 此控制器有以下幾部分構成內(nèi)核、報文與8051相互獨立、報文處理 狀態(tài)機制和控制寄存器。其結(jié)構框圖如圖1所示。 范文先生網(wǎng)收集整理在控制器里只有三個寄存器可通過-51中的特殊 功能寄存器直接訪問,其它的寄存器只能通過0、0和0寄存器以地址索引的方式間接訪問。在使用控制器時,重點和難點是對控制器的寄存器的使用,其內(nèi)部寄 存器的分類及其主要功能如下1控制器協(xié)議寄存器該協(xié)議寄存器是用來配 置控制器,處理各種中斷,監(jiān)控總線狀態(tài)以及置控制器為測試模式。控制器協(xié)議寄存器可使用8051特殊功能寄存器通過索引方式間接訪 問,其中有些還可以很方便的通過8
4、051內(nèi)部特殊功能寄存器直接尋址來 訪問。這部分的寄存器有控制寄存器0、狀態(tài)寄存器0、測試寄存器、錯誤 計數(shù)寄存器、位定時寄存器和波特率預比列因子擴展寄存器。其中,0、0和可通過8051特殊功能寄存器直接訪問,其它的只能通 過間接訪問。2報文對象接口寄存器控制器中有兩組報文對象接口寄存器,它們用 來配置報文中32個報文對象是用來向總線發(fā)送數(shù)據(jù),還是從總線接收數(shù) 據(jù)。當其中的一組被設置為向報文中寫數(shù)據(jù),另一組則從報文中讀取數(shù)據(jù)。利用此接口寄存器可以避免訪問報文與報文接收和發(fā)送緩沖轉(zhuǎn)移之 間的沖突。所有的報文對象都存儲在報文里面,通過報文對象寄存器對其進行訪 問和配置,這些寄存器要通過8051的0
5、和0寄存器,使用間接索引地址 方式來訪問。這部分寄存器有命令請求寄存器、命令屏蔽寄存器、屏蔽寄存器1、屏蔽寄存器2、仲裁寄存器1、仲裁寄存器2、報文控制寄存器、數(shù)據(jù)寄存 器1、數(shù)據(jù)寄存器2、數(shù)據(jù)寄存器1和數(shù)據(jù)寄存器2。3報文處理寄存器所有的報文處理寄存器都是只讀寄存器。 通過讀取它們的值可以實時地判斷相應報文對象的狀態(tài),從而使控制 器能正確運行。它們的標識位由0、0和0通過索引方式間接來訪問。 報文處理寄存器提供中斷、錯誤、發(fā)送接收請求和新數(shù)據(jù)信息。 這部分的寄存器包括中斷寄存器、發(fā)送請求寄存器、新數(shù)據(jù)寄存器、 中斷隊列寄存器和報文有效寄存器。那么,通過0、0和0寄存器以索引方式間接訪問控制器
6、中寄存器的 過程會怎樣呢?因為每個控制器寄存器都有一個索引號,如果要訪問某一 控制寄存器,只需將此寄存器的索引號寫入0寄存器,而數(shù)據(jù)讀寫操作通 過0和0來完成。例如如果需要對位定時寄存器重新配置時,只需向0寄存器中寫入003,將新配置的數(shù)據(jù)的低字節(jié)寫入0中,高字節(jié)寫入0中。2控制器應用時寄存器配置下面就控制器在應用時,根據(jù)所要完成功 能的不同而需要做的不同配置做具體描述。這包括報文對象初始化處理、發(fā)送對象配置、接收對象配置、中斷處 理配置;另外,還有發(fā)送對象的更新、位定時寄存器等配置。21報文對象初始化處理報文中的報文對象除、 、和配置不受芯片復位 的影響。所有的報文對象在使用前必須由來初始化
7、為零或者被設置為無效。報文對象的配置是通過相應的接口寄存器來設置其屏蔽碼、仲裁場、 控制場和數(shù)據(jù)場值,而這一設置過程由相應的命令請求寄存器來完成。當控制寄存器中的位置零, 內(nèi)核中的協(xié)議控制器狀態(tài)機制和報文處理 狀態(tài)機制將控制_的內(nèi)部數(shù)據(jù)流。接收到的報文通過接收濾波后都存放在報文中,而得到傳輸請求的報 文都要移入內(nèi)核的移位寄存器中并通過總線傳出。22發(fā)送對象的配置當報文對象作為發(fā)送對象時,仲裁寄存器28-0和位將被應用,它們定義了即將發(fā)送的報文識別符和類型,如果使用11位 識別符標準幀,那么使用的是2818,而170將被忽視。如果位被置位,則位在此報文對象被成功發(fā)送后被置位;如果位被置 位,在接
8、收到匹配的遠程幀將引起位被置位。若數(shù)據(jù)寄存器3-0,0-7將被使用,和在數(shù)據(jù)有效前不會被置位。屏蔽寄存器28-0、和位可以用來=1允許相同識別符的數(shù)據(jù)幀組被 接收。24中斷處理在所有中斷中, 狀態(tài)中斷具有最高優(yōu)先級, 報文對象的中 斷優(yōu)先級隨著報文編號的增大而減小。如果有幾個中斷產(chǎn)生,那么中斷寄存器將指向優(yōu)先級最高的中斷,而 不是按中斷先后順序排列。狀態(tài)中斷通過讀取狀態(tài)寄存器來清除,報文中斷通過清除報文對象的 位來清除。處于中斷寄存器中的中斷識別符能表明中斷的原因,如果這個寄存器 的值為0,沒有中斷產(chǎn)生;否則,有中斷發(fā)生。控制著狀態(tài)寄存器的改變是否可以引起中斷控制寄存器中的和位;當 中斷寄存器
9、的值不為0控制寄存器中的位時中斷隊列是否有效。有兩種方式判斷報文中斷源,每一種是判斷中斷寄存器中的位;另一 種是順序掃描中斷發(fā)生寄存器。圖23控制器的應用總線一般用在工業(yè)檢測和控制現(xiàn)場,它將各功能 模塊連接在一起組成一個現(xiàn)場級通信網(wǎng)絡。在本應用中, 總線完成下位機各部分之間的通信以及各下位機與上位 機之間的通信。下位機以單片機8051040為核心,上位機由機構成。 下位機的通信物理層的電路在下面將做詳細說明,為了完成上位機與 下位機的通信,需要外加一塊-通信卡。31控制器外圍硬件電路實現(xiàn)由于內(nèi)部的控制器只是個協(xié)議控制器, 不能提供物理層驅(qū)動,所以在使用時還需外加總線收發(fā)器,常用的總線收發(fā) 器有
10、公司的82250收發(fā)器、高速1050收發(fā)器等。這里使用的是82250收發(fā)器、高速1050收發(fā)器等。這里使用的是82250收發(fā)器, 它可提高總線的差動發(fā)送和接收能力。它與11898標準完全兼容,有三種不同的工作方式,即高速、斜率控 制和待機,可根據(jù)實際情況選擇。此通信物理層電路圖如圖2所示。 為了進一步提高系統(tǒng)的抗干擾能力,在控制器引腳、和收發(fā)器822 50之間并不是直接相連,而是通過由高速光耦6137構成的隔離電路 后再與82250相連,這樣就可以很好的實現(xiàn)總線上各節(jié)點的電氣隔離。這部分增加了節(jié)點的復雜性,但它卻提高了節(jié)點的穩(wěn)定性和安全性。在80250與總線接口部分也采用了一些安全和抗干擾措施
11、。82250的和引腳各自通過一個5Q的電阻與總線相連,電阻可起到一定的限流作用,從而保護82250免受過流的沖擊。在和與地之間各自接一個30的小電容,可以起到濾除總線上的高頻 干擾和防電磁輻射的能力。另外,在和之間并聯(lián)一個15的瞬態(tài)電壓抑制二極管, 可以保護80250在瞬間高電壓情況下而不受損壞。82250的腳上接有一個下拉電阻,電阻的大小可根據(jù)總線速率適當?shù)恼{(diào)整,其值一般在16Q140Q之間,圖2中選用47Q。8051040供電電源為2736,其所有口允許5極限值為58輸入,但是 輸出電平為。而82250為5系統(tǒng),為了能夠驅(qū)動其工作,在引腳上拉一上拉電阻,其值為47Q。32通信軟件實現(xiàn)此下位
12、機通信部分主要完成的任務是將現(xiàn)場檢測到 的數(shù)據(jù)傳送給上位機或其它的下位機節(jié)點;同時,上位機可以對下位機的 相關參考進行設置,即下位機還須接收一定量的數(shù)據(jù)。由上可知,此節(jié)點的通信主要包括系統(tǒng)初始化程序、發(fā)送程序、接收 程序等。軟件部分設計的好壞將直接決定系統(tǒng)能否正常工作,對于初次接觸總 線系統(tǒng)的設計人員來說是一個難點,也是一個重點。在本例中,系統(tǒng)軟件采用結(jié)構化程序設計方案,使其具有較好的模塊 性和可移植性,對于不同的系統(tǒng)功能或不同的應用環(huán)境,可以方便地進行 編程重組。321系統(tǒng)初始化初始化初始化程序主要完成對所有的報文對象進 行初始化一般將所有值置零,對控制寄存器0、位定時寄存器進行設置,還要對
13、發(fā)送報文對象和接收報文對象分別進行初始化。其中,位定時寄存器的設置較為復雜,這里我們使用外部晶振為8, 通信速率為500,得到的初始值為02301。主程序中規(guī)定對象初始化、發(fā)送和接收初始化,最后才啟動處理機制對和0初始化,下面為啟動程序_=0_;*指向0頁面*0|=041;*將和置1開始 初始化*0=;*指向位定時寄存器進行配置*0=02301;*位率為500*0|=006;*允許全局中斷,和置位*0&二041;*清楚和位,啟動狀態(tài)機制*322發(fā)送程 序報文發(fā)送是由控制器自動完成的,用戶只需根據(jù)接收到的遠程幀的識別 符,將對應的數(shù)據(jù)轉(zhuǎn)移到發(fā)送緩沖寄存器,然后將此報文對象的編碼寫入 命令
14、請求寄存器啟動發(fā)送即可,而發(fā)送由硬件來完成。這里, 我們使用定時更新發(fā)送報文對象中的數(shù)據(jù), 數(shù)據(jù)的發(fā)送有控制 器自動完成,當其收到一個遠程幀時,就將具有相同識別符的數(shù)據(jù)幀發(fā)送 出去。其發(fā)送程序結(jié)構如下_=0_;*指向0頁面*0=1;*向1命令屏蔽寄存器 寫入命令*0=00083;0=12;*指向1仲裁寄存器2*0|=080;0=11;*指向數(shù)據(jù)場的第一個字節(jié)*=0;0=_;*將4字節(jié)數(shù)據(jù)寫入 發(fā)送緩沖器*0=1;0=;*將報文對象編號寫入,則數(shù)據(jù)發(fā)送到對應的報文對 象中*323接收程序報文的接收與發(fā)送一樣,是由控制器自動完成的,接 收程序只需從接收緩存器中讀取接收的數(shù)據(jù),再進行相應的處理即可。
15、其基本方法與發(fā)送程序一致,只是接收程序采用中斷方式。在此應用中,接收程序主要接收上位機對下位機的參數(shù)設置數(shù)據(jù),只 有當修改時才需要接收數(shù)據(jù),所以采用中斷方式處理比較合適。接收程序結(jié)構如下_=0_;*指向0頁面*0=1;*向1命令屏蔽寄存器寫 入命令*0=00083;0=12;*指向1仲裁寄存器2*0|=080;0=11;*指向數(shù)據(jù)場 的第一個字節(jié)*=0;0=_;*將4字節(jié)數(shù)據(jù)寫入發(fā)送緩沖器*0=1;0=;*將報文 對象編號寫入,則數(shù)據(jù)發(fā)送到對應的報文對象中*323接收程序報文的接 收與發(fā)送一樣,是由控制器自動完成的,接收程序只需從接收緩存器中讀 取接收的數(shù)據(jù),再進行相應的處理即可。其基本方法與發(fā)送程序一致,只是接收程序采用中斷方式。在此應用中,接收程序主要接收上位機對下位機的參數(shù)設置數(shù)據(jù),只 有當修改時才需要接收數(shù)據(jù),所以采用中斷方式處理比較合適。接收程序結(jié)構如下_=0_;*指向0頁面*0=2;*向2命令屏蔽寄存器寫
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2人小公司管理制度
- 4人小公司管理制度
- 柴油管道安全管理制度
- 標桿地產(chǎn)公司管理制度
- 校內(nèi)活動安全管理制度
- 校園保安應急管理制度
- 校園周邊攤販管理制度
- 校園室外電線管理制度
- 校園文明建設管理制度
- 校園精準扶貧管理制度
- 乳制品行業(yè)的跨界合作與創(chuàng)新
- 人工智能概論課件完整版
- 比較文學課件:流傳學
- 2025年高考地理一輪復習備考策略
- 電腦租合同模板
- 稅收籌劃:理論、實務與案例(第4版)+蔡昌+課后習題及答案匯 第1-12章 稅收籌劃的基本理論 - 跨國經(jīng)營的稅收籌劃
- 2024年中國南水北調(diào)集團水網(wǎng)智慧科技限公司秋季公開招聘高頻難、易錯點500題模擬試題附帶答案詳解
- ISO45001職業(yè)健康管理體系培訓課件
- 化學物質(zhì)的性質(zhì)與變化考核試卷
- 02S515排水檢查井圖集
- 四川省南充市2024-2025學年高二數(shù)學下學期期末考試試題理
評論
0/150
提交評論