日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀]文中對C8051F040芯片中的CAN控制器結構作了分析,并給出了在分布式測控系統(tǒng)中使用該芯片的智能節(jié)點的硬件、軟件設計方案。

    摘要:CYGNAL生產(chǎn)的單片機C8051F040是代表8位單片機發(fā)展方向的高速(25M)混合信號系統(tǒng)級芯片(SOC)它不僅集成了一般測控系統(tǒng)需要的外設,而且集成了很有發(fā)展前景的現(xiàn)場總線—CAN總線控制器,文中對該芯片中的CAN控制器結構作了分析,并給出了在分布式測控系統(tǒng)中使用該芯片的智能節(jié)點的硬件、軟件設計方案。

    關鍵詞:C8051F040;CAN總線;分布式;測控節(jié)點

1 概述

分布式在線測控系統(tǒng)是由多個面向設備的、以MCU為核心的智能處理單元和多個并行運行且具有不同監(jiān)測和故障診斷功能的微機構成的。該系統(tǒng)采取“分治”的設計思想?它將數(shù)據(jù)采集以及部分數(shù)據(jù)處理任務交給設備層的智能處理單元去完成?而監(jiān)測診斷層主要負責監(jiān)視和故障診斷。分布式測控系統(tǒng)設計均應考慮各個節(jié)點之間的通信問題?因為通信網(wǎng)絡的選取對系統(tǒng)性能有很大影響。 國內(nèi)已開展了基于現(xiàn)場總線的在線測控系統(tǒng)的研究?并利用CAN總線實現(xiàn)設備層的檢測處理、單元間的通信以及與上層監(jiān)測主機的通信。CAN總線就是一種支持分布式實時控制系統(tǒng)的串行通信局域網(wǎng)絡總線。它的主要特點如下:

●任一個節(jié)點均可在任一時刻主動向網(wǎng)絡上的其它節(jié)點發(fā)送數(shù)據(jù),而從不分主從,因此,通信比較靈活;

●節(jié)點可分為不同的優(yōu)先級,可以滿足不同的實時要求;

●采用非破壞性總線仲裁,當兩節(jié)點同時向總線發(fā)送信息時,優(yōu)先級低的節(jié)點主動停止數(shù)據(jù)發(fā)送?而優(yōu)先級高的節(jié)點可不受影響地繼續(xù)發(fā)送數(shù)據(jù);

●通信距離最遠可達10km,通信最高速率可達1Mbps?

●每幀數(shù)據(jù)的有效字節(jié)數(shù)為8,因此,可保證很短的傳輸時間,而且實時性強,受干擾的概率低;

    ●每幀數(shù)據(jù)都含有CRC(循環(huán)冗余)校驗及其它校驗措施,因而數(shù)據(jù)出錯率很低;

●CAN總線節(jié)點在嚴重錯誤的情況下,可自動切斷與總線的聯(lián)系,以使總線上的其它操作不受影響。

目前,CAN總線協(xié)議以其可靠性高、實時性好以及獨特的設計已經(jīng)成為總線通信網(wǎng)絡的首選?國內(nèi)目前使用較廣的是PHILIPS 生產(chǎn)的SJA1000 、82C200等獨立的CAN控制器,由于這種獨立的控制器限制了測控節(jié)點的集成度,因此,很多微處理器生產(chǎn)廠家已經(jīng)開始生產(chǎn)內(nèi)部集成有CAN控制器的MCU。美國CYGNAL公司生產(chǎn)C8051F040就是內(nèi)部集成有BOSCH CAN控制器的混合信號系統(tǒng)級芯片(SOC)。本文將分析C8051F040 的CAN總線結構、與CPU 的接口及初始化配置,同時將給出基于C8051F040的分布式測控節(jié)點的設計及系統(tǒng)的實現(xiàn)框架。

2 C8051F040及其內(nèi)部BOTSH CAN

Cygnal公司的單片機C8051F040具有與8051指令集完全兼容的CIP-51內(nèi)核。它的最高頻率可達25MHz?內(nèi)置64kB FLASH RAM和4kB的數(shù)據(jù)存儲器。C8051F040在一個芯片內(nèi)集成了構成單片機數(shù)據(jù)采集或控制系統(tǒng)所需要的幾乎所有模擬和數(shù)字外設及其它功能部件,包括ADC、可編程增益放大器、DAC、電壓比較器、溫度傳感器、SMBus/I2C、UART、SPI、定時器、內(nèi)部振蕩器、看門狗電路以及CAN 控制器等,這種高度集成為設計小體積、低功耗、高可靠和高性能的測控系統(tǒng)提供了方便,同時也使測控設備整體成本能夠降低。

C8051F040內(nèi)部集成有BOTSH CAN,它兼容CAN技術規(guī)范2.0A和2.0B,主要由CAN內(nèi)核、消息RAM(獨立于CIP-51的RAM)、消息處理單元和控制寄存器組成,圖1所示是C8051F040內(nèi)部的CAN總線結構圖。

    圖1中,CAN內(nèi)核由CAN協(xié)議控制器和負責消息收發(fā)的串行/并行轉換RX/TX移位寄存器組成。消息RAM用于存儲消息目標和每個目標的仲裁掩碼。這種CAN處理器有32個隨意配置為發(fā)送和接受的消息目標?并且每一個消息目標都有它自己的識別掩碼,所有的數(shù)據(jù)傳輸和接收濾波都是由CAN控制器完成的,而不是由CIP-51來完成。

CAN內(nèi)部寄存器中存儲了所有CAN的控制和配置信息,其中包括控制寄存器、狀態(tài)寄存器、設置波特率的位定時寄存器 、測試寄存器、錯誤計數(shù)器和消息接口寄存器。通常CAN內(nèi)核不能直接訪問消息RAM,而必須通過接口寄存器IF1或IF2來訪問。另外,CIP-51的SFR并不能直接訪問CAN內(nèi)部寄存器的所有單元,其配置CAN、消息目標、讀取CAN狀態(tài)以及獲取接收數(shù)據(jù)、傳遞發(fā)送數(shù)據(jù)都由SFR中的6個特殊寄存器來完成,其中CAN0CN、CAN0TST和CAN0STA 3個寄存器可直接獲取或修改CAN 控制器中對應的寄存器,而CAN0DATH、CAN0DATL、CAN0ADR 3個寄存器主要用來訪問修改其它不能直接訪問的CAN 內(nèi)部寄存器,其中CAN0ADR用來指出要訪問寄存器的地址,CAN0DATH、CAN0DATL這時就相當于要訪問的16位寄存器的高、低字節(jié)的映射寄存器,而對它們的讀寫則相當于對所指向寄存器的讀寫。圖2給出了CIP-51如何訪問CAN中控制寄存器和每個消息的路徑圖。

消息處理單元用于根據(jù)寄存器中的信息來控制CAN內(nèi)核中移位寄存器和消息RAM 之間的數(shù)據(jù)傳遞,同時,它還可用來管理中斷的產(chǎn)生。

3 基于C8051F040的智能系統(tǒng)設計

3.1 硬件設計

工業(yè)測控現(xiàn)場通常存在著大量的傳感器、執(zhí)行機構和電子控制單元,它們一般分布較廣,而且對實時性要求也很高,圖3是基于CAN總線的分布式測控系統(tǒng)框圖。該系統(tǒng)采用現(xiàn)場總線式集散系統(tǒng)FDCS?Field Distributed Control System?結構,它由主控站(注:CAN總線各節(jié)點并不分主從 ?這里是針對特定的系統(tǒng)而言)、C8051F040為MCU的智能節(jié)點并配以CAN現(xiàn)場總線控制網(wǎng)絡構成。主控站主要完成對各節(jié)點的在線監(jiān)控以及對各節(jié)點返回信息的分析處理,并對節(jié)點發(fā)出控制命令以控制節(jié)點工作模式。智能節(jié)點則根據(jù)主控站命令來完成數(shù)據(jù)采集、運行顯示以及對執(zhí)行部件的控制,以及各節(jié)點與主站、節(jié)點與節(jié)點之間的實時數(shù)據(jù)交換和信息控制。

圖4是一個以C8051F040為核心的智能節(jié)點設計原理圖。

圖中,C8051F040的6、7腳分別為CANRX和CANTX引腳,CAN的輸出輸入必須加總線收發(fā)器才能與CAN物理總線相連。本系統(tǒng)采用了TJA1050高速CAN收發(fā)器來替代傳統(tǒng)的PCA82C250收發(fā)器,TJA1050芯片具有電磁輻射低、防短路、不上電時對總線無影響等特點,它的8腳S可以選擇高速或靜音兩種模式,并可由C8051F040的P4.0控制。為了增加CAN 節(jié)點的抗干擾能力,將CAN引腳通過高速光耦6N137與總線收發(fā)器相連,可實現(xiàn)各節(jié)點之間的電氣隔離。電源的隔離可以采用小功率電源隔離模塊,也可以用帶多個5V隔離輸出的開關電源模塊。這樣能大大提高節(jié)點的穩(wěn)定性和可靠性,但可能會增加節(jié)點的硬件復雜性。

3.2 節(jié)點軟件設計

對于一個實際的測控系統(tǒng),其節(jié)點軟件是比較復雜的,但由于C8051F040具有與8051指令完全兼容的CIP-51內(nèi)核,所以,對于有使用51系列單片機經(jīng)驗的人來說,這并沒有太大的難度,下面主要介紹C8051F040內(nèi)置CAN的軟件設計。

如果需要某一節(jié)點將A/D采樣值通過CAN總線送到主控站(地址01H),且配置系統(tǒng)時設定的工作頻率為25MHz?CANTX引腳設為推挽方式,那么在初始化過程中,波特率應配置為160kbps,消息目標禁止不用,配置消息目標2為接收時的程序代碼如下:

CAN_INIT:

MOV SFRPAGE,#01H

ORL CAN0CN,#41H ;設INIT位為1, CCE為1

; 配置波特率

MOV CAN0ADR,#03H

MOV CAN0DATH,#7FH

MOV CAN0DATL,#05H

;禁止不用的消息目標(3-32)

MOV CAN0ADR, #0DH ; 指向IF1的仲裁控制寄存器2

MOV CAN0DATH,#00H ; MAGVAL=0;

MOV CAN0ADR,#09H ; 指向IF1的命令掩碼寄存器

MOV CAN0DATL,#0A0H ?; 方向為寫,改變仲裁位

MOV R1,#20H

MOV CAN0ADR, #08H ;指向IF1的命令寄存器

ENABLE_MESSAGE_OBJECTS:

MOV CAN0DATL,R1 ;寫R1指向的消息目標

MOV CAN0ADR, #08H ;指向IF1的命令寄存器

WAIT_TRANSFER_OVER?

MOV A,CAN0DATH ?;讀命令寄存器

JB ACC.7,WAIT_TRANSFER_OVER

DEC R1

CJNE R1,#02H,ENABLE_MESSAGE_BJECTS

;配置消息目標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位

消息目標有效,標準仲裁幀,方向為接收

MOV CAN0DATL,#00H ?; 寫IF2仲裁寄存器2低8位

MOV CAN0DATH,#00010100B?; 寫IF2控制寄存器高位

MOV CAN0DATL,#80H ?; 寫IF2控制寄存器低位

MOV CAN0ADR, #20H

MOV CAN0DATL, #02H ?; 通過IF2寫2號消息目標

WAIT_TRANSFER_OVER1;

MOV A,CAN0DATH ; 讀命令寄存器

JB ACC.7,WAIT_TRANSFER_OVER1

; 等待寫結束

;CAN進入操作模式

MOV CAN0CN,#00000010B ; CAN進入正常操作模式狀態(tài)中斷使能,

RET

發(fā)送過程是將存儲在從BUF0起始地址中的2個字節(jié)的A/D采樣數(shù)據(jù),通過IF1傳送到消息目標1的過程。其啟動發(fā)送程序代碼如下:

SEND_AD_DATA:

MOV SFRPAGE, #01H

MOV CAN0ADR, #09H

MOV CAN0DATL,#10110111B

; 寫IF1命令掩碼寄存器

MOV CAN0ADR, #0DH

MOV CAN0DATH,#10100000B ;使用11位標準仲幀

    MOV CAN0DATL,#04H ;寫IF1仲裁寄存器2,發(fā)送對象的地址01因標準幀使用高11位,所以地址要左移2位指向控制寄存器

MOV CAN0DATH,#00001001B ; 寫IF1控制寄存器高8位,傳輸中斷使能,置傳輸請求位

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 ?;傳遞到目標1及啟動發(fā)送

RET

4 結束語

Cygnal公司的單片機C8051F040是一種完全集成的混合信號系統(tǒng)級芯片(SOC),它具有與8051指令集完全兼容的CIP-51內(nèi)核?代表了8位單片機的發(fā)展方向。它不僅集成有構成監(jiān)控系統(tǒng)常用的外設,而且集成了逐漸成為控制領域首選的高可靠性、高性能C8051F040 CAN總線;本文使用該芯片設計的測控系統(tǒng)智能節(jié)點具有集成度高、性能穩(wěn)定等特點。由于C8051F040可達到25MHz工作頻率,因而可提高系統(tǒng)實時性。此外,由于BOTSCH CAN內(nèi)有32個自帶掩碼消息目標的特殊設計,因此,用其進行分布式在線測控系統(tǒng)節(jié)點之間的相互數(shù)據(jù)傳遞設計將更為簡單。

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

在這篇文章中,小編將為大家?guī)矸植际侥茉吹南嚓P報道。如果你對本文即將要講解的內(nèi)容存在一定興趣,不妨繼續(xù)往下閱讀哦。

關鍵字: 能源 分布式 分布式能源

今天,小編將在這篇文章中為大家?guī)矸植际侥茉吹挠嘘P報道,通過閱讀這篇文章,大家可以對它具備清晰的認識,主要內(nèi)容如下。

關鍵字: 能源 分布式 分布式能源

分布式能源將是下述內(nèi)容的主要介紹對象,通過這篇文章,小編希望大家可以對它的相關情況以及信息有所認識和了解,詳細內(nèi)容如下。

關鍵字: 能源 分布式 分布式能源

在工業(yè)自動化與智能交通領域,CAN總線因其高可靠性、抗干擾能力和實時性,成為設備間通信的核心協(xié)議。然而,單CAN總線存在單點故障風險,一旦總線節(jié)點或線路損壞,可能導致整個系統(tǒng)癱瘓。針對這一痛點,基于STM32的雙CAN總...

關鍵字: STM32 CAN總線

CAN總線(Controller Area Network)?是一種串行通信協(xié)議,旨在解決現(xiàn)代汽車中眾多電子控制系統(tǒng)之間的通信問題。

關鍵字: CAN總線

在嵌入式系統(tǒng)開發(fā)中,CAN(Controller Area Network)總線因其高可靠性、實時性和抗干擾能力,廣泛應用于汽車、工業(yè)自動化、智能設備等領域。本文將深入探討嵌入式設備CAN總線的開發(fā),從協(xié)議解析到錯誤處理...

關鍵字: 嵌入式 CAN總線

深圳2025年2月9日 /美通社/ -- 近期,微眾銀行和財新智庫聯(lián)合發(fā)布《中國數(shù)字普惠金融發(fā)展報告》(以下簡稱"報告"),該報告在國家金融與發(fā)展實驗室的學術支持下,基于行業(yè)觀察和金融機構案例,盤點我...

關鍵字: 數(shù)字化 人工智能技術 云計算 分布式

在現(xiàn)代汽車電子控制系統(tǒng)和工業(yè)自動化領域,CAN(Controller Area Network)總線作為一種高效、可靠的通信協(xié)議,扮演著至關重要的角色。然而,在CAN網(wǎng)絡運行過程中,由于各種內(nèi)外因素,節(jié)點可能會進入BUS...

關鍵字: CAN總線 緩沖區(qū) BUS OFF

在現(xiàn)代汽車和工業(yè)控制系統(tǒng)中,CAN(Controller Area Network)總線作為一種高效、可靠的數(shù)據(jù)通信協(xié)議,扮演著至關重要的角色。CAN總線網(wǎng)絡允許多個節(jié)點(如ECU、傳感器、執(zhí)行器等)在共享介質上發(fā)送和接...

關鍵字: CAN總線 數(shù)據(jù)通信協(xié)議
關閉