<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 汽車(chē)電子 > 設計應用 > 基于C8051F040的CAN總線(xiàn)智能節點(diǎn)的設計

基于C8051F040的CAN總線(xiàn)智能節點(diǎn)的設計

——
作者:潘佚 時(shí)間:2007-01-26 來(lái)源:《現代電子技術(shù)》 收藏


控制器局域網(wǎng)can(controller aera network)是德國bosch公司在80年代初為解決現代汽車(chē)中大量的控制與測試儀器之間的數據交換而提出的一種串行數據通信協(xié)議。他是多主總線(xiàn),通信介質(zhì)可以是雙絞線(xiàn),通信速率可達1m/s,最遠通信距離可達10km。can具有極高的可靠性,高實(shí)時(shí)性特點(diǎn)特別適合工業(yè)過(guò)程監控設備的互連,已被公認是最有前途的現場(chǎng)總線(xiàn)之一。can總線(xiàn)的高速采集系統具備dcs(分布式控制系統)的主要特征,可代替dcs。

本文引用地址:http://dyxdggzs.com/article/20900.htm

cygnal公司的51系列單片機c8051f040是集成在一塊芯片上的混合信號系統級單片機,在一個(gè)芯片內集成了構成一個(gè)單片機數據采集或控制的智能節點(diǎn)所需要的幾乎所有模擬和數字外設以及其他功能部件,代表了目前8位單片機控制系統的發(fā)展方向。芯片上有1個(gè)12位多通道adc,2個(gè)12位dac,2個(gè)電壓比較器,1個(gè)電壓基準,1個(gè)32kb的flash存儲器,與mcs-51指令集完全兼容的高速cip-51內核,峰值速度可達25mips,并且還有硬件實(shí)現的uart串行接口和完全支持can2.0a和can2.0b的can控制器。本文將介紹帶有在片can的cygnal公司的混合信號片上系統(soc)級單片機c8051f040作為微處理器的can智能節點(diǎn)設計的硬件和軟件方案。

1 典型c8051f404的can總線(xiàn)網(wǎng)絡(luò )結構

典型c8051f404的can總線(xiàn)網(wǎng)絡(luò )結構如圖1所示。一個(gè)典型的can節點(diǎn)由帶有can控制器的微處理器和can收發(fā)器構成。can收發(fā)器建立can控制器和物理總線(xiàn)之間的連接,控制邏輯電平信號從can控制器到達物理總線(xiàn)的物理層,反之也一樣。can控制器執行can協(xié)議,用于信息緩沖和濾波。f040的can控制器支持完全的can2.0a和can2.0b。

上位機通過(guò)can適配卡與各個(gè)can節點(diǎn)通訊。在應用中,上位機可以發(fā)送命令到節點(diǎn),收集數據,修改過(guò)程參數,各節點(diǎn)可以將采集到的數據送到上位機進(jìn)行復雜的數學(xué)計算或是保存打印,實(shí)現更加優(yōu)越的信息處理功能。

2 c8051f040的can控制器結構

f040的所有can協(xié)議功能都由獨立的can控制器而不是由51處理器來(lái)完成。因此,can通信占用cpu帶寬很小,51處理器只需要通過(guò)特殊功能寄存器(sfr)配置can控制器,數據過(guò)濾器就可以了。

2.1 can控制器各部分功能

can core:can協(xié)議控制器和發(fā)送/接收轉換寄存器;

message ram:存儲message objects和標志碼,can控制器共有32個(gè)message object可供配置來(lái)用于發(fā)送或接收數據;

registers:用于控制和配置c_can模塊的所有寄存器;

message handler:控制數據在can core的接收/發(fā)送轉換寄存器和message object之間的傳輸,以及中斷的產(chǎn)生。

2.2 can寄存器分類(lèi)

can寄存器可分為以下4類(lèi):

(1)can控制器協(xié)議寄存器:用于can控制、中斷、錯誤控制、總線(xiàn)狀態(tài)控制和測試模塊;

(2)信息目標(message object)接口寄存器:配置32個(gè)信息目標(msg obj),從目標接收和發(fā)送數據。8051處理器通過(guò)他來(lái)讀寫(xiě)can message ram;

(3)信息處理寄存器:只讀寄存器。為51cpu提供信息目標的狀態(tài),如信息有效標志,發(fā)送請求狀態(tài),新數據標志和中斷標志;

(4)c8051處理器特殊功能寄存器(sfr):c8051處理器控制的5個(gè)寄存器,直接讀寫(xiě)can協(xié)議寄存器,通過(guò)can數據寄存器(can0dath和can0datl)和can地址寄存器(can0adr)間接讀寫(xiě)其他can控制器。

3 can節點(diǎn)的硬件設計

設計采用的接口芯片使用ti公司的3.3vcan收發(fā)器sn65hvd230,他與pca82c250的引腳兼容。sn65hvd230有3種工作模式:高速,傾斜和低功耗模式,由rs腳的連接方式來(lái)確定。由于f040自帶了can控制器,外圍電路極為簡(jiǎn)潔。

4 can通訊軟件設計

為避免51 cpu讀寫(xiě)message ram與can 信息收發(fā)之間產(chǎn)生沖突,cpu不直接讀寫(xiě)message object,而是通過(guò)專(zhuān)門(mén)的寄存器(ifx interface registers)來(lái)配置信息目標。

一個(gè)完整的信息目標的結構如表1所示。



can通訊協(xié)議的最大特點(diǎn)之一就是廢除了傳統的站地址編碼,而使用信息塊標志碼。id28-0,xtd和dir用來(lái)定義信息標志碼,以及定義即將發(fā)送數據幀的類(lèi)型(遠程幀或標準幀),并且與mask28-0,mxtd和mdir一起用來(lái)作為將要接收數據幀的過(guò)濾器。一個(gè)已接收到的信息被放在有效的(msgval=1)、具有匹配標志碼的message object里。只有當xtd=1時(shí),遠程幀才被放入message object,xtd=0時(shí),標準幀被放入message object。當多于一個(gè)的有效message object與收到的信息匹配,則該條信息被放入號碼最小的message object里。data0-data7是8個(gè)數據字節。can通訊初始化和法數據幀的軟件流程如圖4所示。

can通訊軟件設計主要包括3個(gè)模塊:can通訊初始化、接收數據和發(fā)送數據模塊。信息目標的初始化程序代碼(c語(yǔ)言)如下:

當微處理器接收數據采用中斷方式,接收message object初始化時(shí)將rxie位置1。當程序進(jìn)入到can中斷服務(wù)子程序時(shí),先判斷can狀態(tài)寄存器的rxok位是否已置位,若已置位,則說(shuō)明can控制器已經(jīng)成功接收到一個(gè)數據幀(因為can通訊有多個(gè)中斷源,而中斷向量只有一個(gè)),這時(shí)再調用相應的函數,取出數據幀中有用的字節進(jìn)行處理或執行相應的操作。源程序代碼如下:

5 結語(yǔ)

c8051f040是完全集成的混合信號系統級單片機,具有與8051指令集完全兼容的cip-51內核,代表了8位單片機的發(fā)展方向。他不但集成了構成監控系統的常用外設,而且還集成了高可靠性、高性能的can總線(xiàn)控制模塊。本文使用該芯片設計的can節點(diǎn)模塊集成度高、性能穩定,實(shí)時(shí)性好、軟件設計簡(jiǎn)潔,在工業(yè)生產(chǎn)和儀器開(kāi)發(fā)領(lǐng)域具有廣泛的應用前景。本文給出的硬件和軟件設計方案均已通過(guò)實(shí)際測試,并成功運用于大洋協(xié)會(huì )“十五”攻關(guān)項目:小型底棲生物標本自動(dòng)分離系統的通訊模式中。



關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>