當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]摘要:CYGNAL生產(chǎn)的單片機(jī)C8051F040是代表8位單片機(jī)發(fā)展方向的高速(25M)混合信號(hào)系統(tǒng)級(jí)芯片(SOC)它不僅集成了一般測(cè)控系統(tǒng)需要的外設(shè),而且集成了很有發(fā)展前景的現(xiàn)場(chǎng)總線—CAN總線控制器,文中對(duì)該芯片中的CAN控

摘要:CYGNAL生產(chǎn)的單片機(jī)C8051F040是代表8位單片機(jī)發(fā)展方向的高速(25M)混合信號(hào)系統(tǒng)級(jí)芯片(SOC)它不僅集成了一般測(cè)控系統(tǒng)需要的外設(shè),而且集成了很有發(fā)展前景的現(xiàn)場(chǎng)總線—CAN總線控制器,文中對(duì)該芯片中的CAN控制器結(jié)構(gòu)作了分析,并給出了在分布式測(cè)控系統(tǒng)中使用該芯片的智能節(jié)點(diǎn)的硬件、軟件設(shè)計(jì)方案。 關(guān)鍵詞:C8051F040;CAN總線;分布式;測(cè)控節(jié)點(diǎn) 1 概述 分布式在線測(cè)控系統(tǒng)是由多個(gè)面向設(shè)備的、以MCU為核心的智能處理單元和多個(gè)并行運(yùn)行且具有不同監(jiān)測(cè)和故障診斷功能的微機(jī)構(gòu)成的。該系統(tǒng)采取“分治”的設(shè)計(jì)思想?它將數(shù)據(jù)采集以及部分?jǐn)?shù)據(jù)處理任務(wù)交給設(shè)備層的智能處理單元去完成?而監(jiān)測(cè)診斷層主要負(fù)責(zé)監(jiān)視和故障診斷。分布式測(cè)控系統(tǒng)設(shè)計(jì)均應(yīng)考慮各個(gè)節(jié)點(diǎn)之間的通信問(wèn)題?因?yàn)橥ㄐ啪W(wǎng)絡(luò)的選取對(duì)系統(tǒng)性能有很大影響。 國(guó)內(nèi)已開(kāi)展了基于現(xiàn)場(chǎng)總線的在線測(cè)控系統(tǒng)的研究?并利用CAN總線實(shí)現(xiàn)設(shè)備層的檢測(cè)處理、單元間的通信以及與上層監(jiān)測(cè)主機(jī)的通信。CAN總線就是一種支持分布式實(shí)時(shí)控制系統(tǒng)的串行通信局域網(wǎng)絡(luò)總線。它的主要特點(diǎn)如下: ●任一個(gè)節(jié)點(diǎn)均可在任一時(shí)刻主動(dòng)向網(wǎng)絡(luò)上的其它節(jié)點(diǎn)發(fā)送數(shù)據(jù),而從不分主從,因此,通信比較靈活; ●節(jié)點(diǎn)可分為不同的優(yōu)先級(jí),可以滿足不同的實(shí)時(shí)要求; ●采用非破壞性總線仲裁,當(dāng)兩節(jié)點(diǎn)同時(shí)向總線發(fā)送信息時(shí),優(yōu)先級(jí)低的節(jié)點(diǎn)主動(dòng)停止數(shù)據(jù)發(fā)送?而優(yōu)先級(jí)高的節(jié)點(diǎn)可不受影響地繼續(xù)發(fā)送數(shù)據(jù); ●通信距離最遠(yuǎn)可達(dá)10km,通信最高速率可達(dá)1Mbps? ●每幀數(shù)據(jù)的有效字節(jié)數(shù)為8,因此,可保證很短的傳輸時(shí)間,而且實(shí)時(shí)性強(qiáng),受干擾的概率低;


●每幀數(shù)據(jù)都含有CRC(循環(huán)冗余)校驗(yàn)及其它校驗(yàn)措施,因而數(shù)據(jù)出錯(cuò)率很低; ●CAN總線節(jié)點(diǎn)在嚴(yán)重錯(cuò)誤的情況下,可自動(dòng)切斷與總線的聯(lián)系,以使總線上的其它操作不受影響。 目前,CAN總線協(xié)議以其可靠性高、實(shí)時(shí)性好以及獨(dú)特的設(shè)計(jì)已經(jīng)成為總線通信網(wǎng)絡(luò)的首選?國(guó)內(nèi)目前使用較廣的是PHILIPS 生產(chǎn)的SJA1000 、82C200等獨(dú)立的CAN控制器,由于這種獨(dú)立的控制器限制了測(cè)控節(jié)點(diǎn)的集成度,因此,很多微處理器生產(chǎn)廠家已經(jīng)開(kāi)始生產(chǎn)內(nèi)部集成有CAN控制器的MCU。美國(guó)CYGNAL公司生產(chǎn)C8051F040就是內(nèi)部集成有BOSCH CAN控制器的混合信號(hào)系統(tǒng)級(jí)芯片(SOC)。本文將分析C8051F040 的CAN總線結(jié)構(gòu)、與CPU 的接口及初始化配置,同時(shí)將給出基于C8051F040的分布式測(cè)控節(jié)點(diǎn)的設(shè)計(jì)及系統(tǒng)的實(shí)現(xiàn)框架。 2 C8051F040及其內(nèi)部BOTSH CAN Cygnal公司的單片機(jī)C8051F040具有與8051指令集完全兼容的CIP-51內(nèi)核。它的最高頻率可達(dá)25MHz?內(nèi)置64kB FLASH RAM和4kB的數(shù)據(jù)存儲(chǔ)器。C8051F040在一個(gè)芯片內(nèi)集成了構(gòu)成單片機(jī)數(shù)據(jù)采集或控制系統(tǒng)所需要的幾乎所有模擬和數(shù)字外設(shè)及其它功能部件,包括ADC、可編程增益放大器、DAC、電壓比較器、溫度傳感器、SMBus/I2C、UART、SPI、定時(shí)器、內(nèi)部振蕩器、看門狗電路以及CAN 控制器等,這種高度集成為設(shè)計(jì)小體積、低功耗、高可靠和高性能的測(cè)控系統(tǒng)提供了方便,同時(shí)也使測(cè)控設(shè)備整體成本能夠降低。 C8051F040內(nèi)部集成有BOTSH CAN,它兼容CAN技術(shù)規(guī)范2.0A和2.0B,主要由CAN內(nèi)核、消息RAM(獨(dú)立于CIP-51的RAM)、消息處理單元和控制寄存器組成,圖1所示是C8051F040內(nèi)部的CAN總線結(jié)構(gòu)圖。


圖1中,CAN內(nèi)核由CAN協(xié)議控制器和負(fù)責(zé)消息收發(fā)的串行/并行轉(zhuǎn)換RX/TX移位寄存器組成。消息RAM用于存儲(chǔ)消息目標(biāo)和每個(gè)目標(biāo)的仲裁掩碼。這種CAN處理器有32個(gè)隨意配置為發(fā)送和接受的消息目標(biāo)?并且每一個(gè)消息目標(biāo)都有它自己的識(shí)別掩碼,所有的數(shù)據(jù)傳輸和接收濾波都是由CAN控制器完成的,而不是由CIP-51來(lái)完成。 CAN內(nèi)部寄存器中存儲(chǔ)了所有CAN的控制和配置信息,其中包括控制寄存器、狀態(tài)寄存器、設(shè)置波特率的位定時(shí)寄存器 、測(cè)試寄存器、錯(cuò)誤計(jì)數(shù)器和消息接口寄存器。通常CAN內(nèi)核不能直接訪問(wèn)消息RAM,而必須通過(guò)接口寄存器IF1或IF2來(lái)訪問(wèn)。另外,CIP-51的SFR并不能直接訪問(wèn)CAN內(nèi)部寄存器的所有單元,其配置CAN、消息目標(biāo)、讀取CAN狀態(tài)以及獲取接收數(shù)據(jù)、傳遞發(fā)送數(shù)據(jù)都由SFR中的6個(gè)特殊寄存器來(lái)完成,其中CAN0CN、CAN0TST和CAN0STA 3個(gè)寄存器可直接獲取或修改CAN 控制器中對(duì)應(yīng)的寄存器,而CAN0DATH、CAN0DATL、CAN0ADR 3個(gè)寄存器主要用來(lái)訪問(wèn)修改其它不能直接訪問(wèn)的CAN 內(nèi)部寄存器,其中CAN0ADR用來(lái)指出要訪問(wèn)寄存器的地址,CAN0DATH、CAN0DATL這時(shí)就相當(dāng)于要訪問(wèn)的16位寄存器的高、低字節(jié)的映射寄存器,而對(duì)它們的讀寫則相當(dāng)于對(duì)所指向寄存器的讀寫。圖2給出了CIP-51如何訪問(wèn)CAN中控制寄存器和每個(gè)消息的路徑圖。 消息處理單元用于根據(jù)寄存器中的信息來(lái)控制CAN內(nèi)核中移位寄存器和消息RAM 之間的數(shù)據(jù)傳遞,同時(shí),它還可用來(lái)管理中斷的產(chǎn)生。 3 基于C8051F040的智能系統(tǒng)設(shè)計(jì) 3.1 硬件設(shè)計(jì) 工業(yè)測(cè)控現(xiàn)場(chǎng)通常存在著大量的傳感器、執(zhí)行機(jī)構(gòu)和電子控制單元,它們一般分布較廣,而且對(duì)實(shí)時(shí)性要求也很高,圖3是基于CAN總線的分布式測(cè)控系統(tǒng)框圖。該系統(tǒng)采用現(xiàn)場(chǎng)總線式集散系統(tǒng)FDCS?Field Distributed Control System結(jié)構(gòu),它由主控站(注:CAN總線各節(jié)點(diǎn)并不分主從 ?這里是針對(duì)特定的系統(tǒng)而言)、C8051F040為MCU的智能節(jié)點(diǎn)并配以CAN現(xiàn)場(chǎng)總線控制網(wǎng)絡(luò)構(gòu)成。主控站主要完成對(duì)各節(jié)點(diǎn)的在線監(jiān)控以及對(duì)各節(jié)點(diǎn)返回信息的分析處理,并對(duì)節(jié)點(diǎn)發(fā)出控制命令以控制節(jié)點(diǎn)工作模式。智能節(jié)點(diǎn)則根據(jù)主控站命令來(lái)完成數(shù)據(jù)采集、運(yùn)行顯示以及對(duì)執(zhí)行部件的控制,以及各節(jié)點(diǎn)與主站、節(jié)點(diǎn)與節(jié)點(diǎn)之間的實(shí)時(shí)數(shù)據(jù)交換和信息控制。 圖4是一個(gè)以C8051F040為核心的智能節(jié)點(diǎn)設(shè)計(jì)原理圖。


圖中,C8051F040的6、7腳分別為CANRX和CANTX引腳,CAN的輸出輸入必須加總線收發(fā)器才能與CAN物理總線相連。本系統(tǒng)采用了TJA1050高速CAN收發(fā)器來(lái)替代傳統(tǒng)的PCA82C250收發(fā)器,TJA1050芯片具有電磁輻射低、防短路、不上電時(shí)對(duì)總線無(wú)影響等特點(diǎn),它的8腳S可以選擇高速或靜音兩種模式,并可由C8051F040的P4.0控制。為了增加CAN 節(jié)點(diǎn)的抗干擾能力,將CAN引腳通過(guò)高速光耦6N137與總線收發(fā)器相連,可實(shí)現(xiàn)各節(jié)點(diǎn)之間的電氣隔離。電源的隔離可以采用小功率電源隔離模塊,也可以用帶多個(gè)5V隔離輸出的開(kāi)關(guān)電源模塊。這樣能大大提高節(jié)點(diǎn)的穩(wěn)定性和可靠性,但可能會(huì)增加節(jié)點(diǎn)的硬件復(fù)雜性。 3.2 節(jié)點(diǎn)軟件設(shè)計(jì) 對(duì)于一個(gè)實(shí)際的測(cè)控系統(tǒng),其節(jié)點(diǎn)軟件是比較復(fù)雜的,但由于C8051F040具有與8051指令完全兼容的CIP-51內(nèi)核,所以,對(duì)于有使用51系列單片機(jī)經(jīng)驗(yàn)的人來(lái)說(shuō),這并沒(méi)有太大的難度,下面主要介紹C8051F040內(nèi)置CAN的軟件設(shè)計(jì)。 如果需要某一節(jié)點(diǎn)將A/D采樣值通過(guò)CAN總線送到主控站(地址01H),且配置系統(tǒng)時(shí)設(shè)定的工作頻率為25MHz?CANTX引腳設(shè)為推挽方式,那么在初始化過(guò)程中,波特率應(yīng)配置為160kbps,消息目標(biāo)禁止不用,配置消息目標(biāo)2為接收時(shí)的程序代碼如下: CAN_INIT: MOV SFRPAGE,#01H ORL CAN0CN,#41H ;設(shè)INIT位為1, CCE為1 ; 配置波特率 MOV CAN0ADR,#03H MOV CAN0DATH,#7FH MOV CAN0DATL,#05H ;禁止不用的消息目標(biāo)(3-32) MOV CAN0ADR, #0DH ; 指向IF1的仲裁控制寄存器2 MOV CAN0DATH,#00H ; MAGVAL=0; MOV CAN0ADR,#09H ; 指向IF1的命令掩碼寄存器 MOV CAN0DATL,#0A0H ?; 方向?yàn)閷?,改變仲裁?MOV R1,#20H MOV CAN0ADR, #08H ;指向IF1的命令寄存器 ENABLE_MESSAGE_OBJECTS: MOV CAN0DATL,R1 ;寫R1指向的消息目標(biāo) MOV CAN0ADR, #08H ;指向IF1的命令寄存器 WAIT_TRANSFER_OVER? MOV A,CAN0DATH ?;讀命令寄存器 JB ACC.7,WAIT_TRANSFER_OVER DEC R1 CJNE R1,#02H,ENABLE_MESSAGE_BJECTS ;配置消息目標(biāo)2為接收 MOV CAN0ADR,#21H MOV CAN0DATL,#11111000B?; 寫IF2命令掩碼 MOV CAN0DATH,#00H MOV CAN0DATL,#00H ?;寫IF2掩碼1 MOV CAN0DATH,#00H MOV CAN0DATL,#00H ?; 寫IF2掩碼2 MOV CAN0DATL,#00H ?; 寫IF2仲裁寄存器1 MOV CAN0DATH,#80H ?; 寫IF2仲裁寄存器2高8位 消息目標(biāo)有效,標(biāo)準(zhǔn)仲裁幀,方向?yàn)榻邮?MOV CAN0DATL,#00H ?; 寫IF2仲裁寄存器2低8位 MOV CAN0DATH,#00010100B?; 寫IF2控制寄存器高位 MOV CAN0DATL,#80H ?; 寫IF2控制寄存器低位 MOV CAN0ADR, #20H MOV CAN0DATL, #02H ?; 通過(guò)IF2寫2號(hào)消息目標(biāo) WAIT_TRANSFER_OVER1; MOV A,CAN0DATH ; 讀命令寄存器 JB ACC.7,WAIT_TRANSFER_OVER1 ; 等待寫結(jié)束 ;CAN進(jìn)入操作模式 MOV CAN0CN,#00000010B ; CAN進(jìn)入正常操作模式狀態(tài)中斷使能, RET 發(fā)送過(guò)程是將存儲(chǔ)在從BUF0起始地址中的2個(gè)字節(jié)的A/D采樣數(shù)據(jù),通過(guò)IF1傳送到消息目標(biāo)1的過(guò)程。其啟動(dòng)發(fā)送程序代碼如下: SEND_AD_DATA: MOV SFRPAGE, #01H MOV CAN0ADR, #09H MOV CAN0DATL,#10110111B ; 寫IF1命令掩碼寄存器 MOV CAN0ADR, #0DH MOV CAN0DATH,#10100000B ;使用11位標(biāo)準(zhǔn)仲幀


MOV CAN0DATL,#04H ;寫IF1仲裁寄存器2,發(fā)送對(duì)象的地址01因標(biāo)準(zhǔn)幀使用高11位,所以地址要左移2位指向控制寄存器 MOV CAN0DATH,#00001001B ; 寫IF1控制寄存器高8位,傳輸中斷使能,置傳輸請(qǐng)求位 MOV CAN0DATL,#0BH ?; 寫IF1控制寄存器低8 位,EOB=1 DLC=0指向BUF0 MOV DPTR,BUF0 MOVX A,@DPTR MOV CAN0DATL,A ?; 寫IF1數(shù)據(jù)0 INC DPTR MOVX A,@DPTR MOV CAN0ADR,#0FH MOV CAN0DATH,A ?; 寫IF1數(shù)據(jù)1 MOV CAN0ADR, #08H MOV CAN0DATL,#01H ?;傳遞到目標(biāo)1及啟動(dòng)發(fā)送 RET 4 結(jié)束語(yǔ) Cygnal公司的單片機(jī)C8051F040是一種完全集成的混合信號(hào)系統(tǒng)級(jí)芯片(SOC),它具有與8051指令集完全兼容的CIP-51內(nèi)核?代表了8位單片機(jī)的發(fā)展方向。它不僅集成有構(gòu)成監(jiān)控系統(tǒng)常用的外設(shè),而且集成了逐漸成為控制領(lǐng)域首選的高可靠性、高性能C8051F040 CAN總線;本文使用該芯片設(shè)計(jì)的測(cè)控系統(tǒng)智能節(jié)點(diǎn)具有集成度高、性能穩(wěn)定等特點(diǎn)。由于C8051F040可達(dá)到25MHz工作頻率,因而可提高系統(tǒng)實(shí)時(shí)性。此外,由于BOTSCH CAN內(nèi)有32個(gè)自帶掩碼消息目標(biāo)的特殊設(shè)計(jì),因此,用其進(jìn)行分布式在線測(cè)控系統(tǒng)節(jié)點(diǎn)之間的相互數(shù)據(jù)傳遞設(shè)計(jì)將更為簡(jiǎn)單。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉