<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è) > 嵌入式系統 > 設計應用 > 基于dsPIC30F6014的CAN節點(diǎn)設計

基于dsPIC30F6014的CAN節點(diǎn)設計

作者: 時(shí)間:2009-11-10 來(lái)源:網(wǎng)絡(luò ) 收藏

引言

CAN,全稱(chēng)為“Controller Area Network”,即控制器局域網(wǎng),是國際上應用最廣泛的現場(chǎng)總線(xiàn)之一。作為一種技術(shù)先進(jìn)、可靠性高、功能完善、成本合理的遠程網(wǎng)絡(luò )通訊控制方式,CAN-bus已被廣泛應用到各個(gè)自動(dòng)化控制系統中,具有不可比擬的優(yōu)越性。

新型16位數字信號控制器結合單片機的控制優(yōu)點(diǎn)及數字信號處理器(DSP)的高速運算特性,為嵌入式系統提供了單一芯片解決方案。

本篇論文以CAN協(xié)議為基礎,結合的突出性能,在設計通訊接口過(guò)程中,提出了基于數字信號控制器的設計方法。

1 dsPIC30F6014數字信號控制器與CAN總線(xiàn)

1.1 dsPIC30F6014數字信號控制器特點(diǎn)

dsPIC30F6014數字信號控制器(DSC)是單片嵌入式控制器,它集成了單片機(MCU)的控制功能以及數字信號處理器(DSP)的計算能力和數據吞吐能力,運算速度可達20和30 MIPS,配備自編程閃存,并能在工業(yè)級溫度和擴展級溫度范圍內工作。以16位單片機為核心的 dsPIC30F6014數字信號控制器不僅具有功能強大的外圍設備和快速中斷處理能力,又融合了可管理高速計算活動(dòng)的數字信號處理器功能。dsPIC30F CPU 模塊采用16 位(數據)改良的哈佛架構,并帶有增強型指令集包含對DSP 的有力支持。CPU 擁有24 位指令字,指令字帶有長(cháng)度可變的操作碼字段。 程序計數器(PC)為24位寬,可以尋址高達4M × 24 位的用戶(hù)程序存儲器空間。 單周期指令預取機制用來(lái)幫助維持吞吐量并提供可預測的執行。配備144K字節增強型閃存及8K字節靜態(tài)RAM,8K字節EEPROM,能支持大型的復雜應用。dsPIC系列產(chǎn)品與現有嵌入式系統不同,系統集成了振蕩器,低電壓檢測,看門(mén)狗定時(shí)器,產(chǎn)品無(wú)需使用額外的元件,可降低主板面積和系統成本,為嵌入式系統提供了單一芯片解決方案。此外還具備一系列片上功能,包括I/O端口、定時(shí)器、輸入捕捉、輸出比較、UART、12位A/D轉換器、SPI接口、I2C接口及CAN通信等模塊。結構圖如圖1所示:

這些特性使之成為需要更高精確度、更快轉速或無(wú)傳感器控制的電機控制應用領(lǐng)域如非傳感無(wú)刷直流電機、磁阻轉換和感應電機的理想解決方案,另外還可以應用于因特網(wǎng)接入設備和汽車(chē)產(chǎn)品;生物特徵檢測保護--如指紋識別;不間斷電源、電源管理和話(huà)音開(kāi)關(guān)(話(huà)音識別系統)等領(lǐng)域。

1.2 CAN總線(xiàn)技術(shù)特點(diǎn)

CAN是主要用于各種過(guò)程(設備)監測及控制的一種網(wǎng)絡(luò )。最初是德國B(niǎo)OSCH公司為汽車(chē)的監測、控制系統而設計的。由于CAN具有卓越的特性和極高的可靠性,特別適合于工業(yè)過(guò)程中監控設備的互連,因此,越來(lái)越受到工業(yè)界的重視。具體來(lái)說(shuō),CAN具有如下特性:

(1) CAN可以多主方式工作,網(wǎng)絡(luò )上任意一個(gè)節點(diǎn)均可以在任意時(shí)刻主動(dòng)地向網(wǎng)絡(luò )上的其他節點(diǎn)發(fā)送信息,而不分主從,通信方式靈活;

(2) CAN可以點(diǎn)對點(diǎn)、點(diǎn)對多點(diǎn)(成組)及全局廣播方式傳送接收數據;

(3) CAN網(wǎng)絡(luò )上的節點(diǎn)信息可分成不同的優(yōu)先級,可以滿(mǎn)足不同的實(shí)時(shí)要求;

(4) CAN采用非破壞性總線(xiàn)仲載技術(shù)。當兩個(gè)節點(diǎn)同時(shí)向網(wǎng)絡(luò )上發(fā)送數據時(shí),優(yōu)先級低的點(diǎn)主動(dòng)停止數據發(fā)送,而優(yōu)先級高的節點(diǎn)可不受影響地繼續傳輸數據,大大地節省了總線(xiàn)仲載沖突時(shí)間,在網(wǎng)絡(luò )負載很重的情況下也不會(huì )出現網(wǎng)絡(luò )癱瘓;

(5) CAN的直接通信距離最大可達10km(速率小于5kbps),最高通信速率可達1Mkbps(此時(shí)距離最長(cháng)為40m)。

2 設計

2.1 硬件設計

圖2所示為CAN總線(xiàn)網(wǎng)絡(luò )示例。圖中給出了三種CAN網(wǎng)絡(luò )實(shí)現方式:微控制器+CAN控制器+CAN收發(fā)器;集成CAN控制器的微控制器+CAN收發(fā)器;CAN的串行I/O器件+CAN收發(fā)器。其中節點(diǎn)1由MICROCHIP公司的dsPIC30F6014集成CAN控制器+MCP2551CAN收發(fā)器構成;節點(diǎn)2由MICROCHIP公司的PIC單片機+SPI接口的MCP2550串行CAN控制器+MCP2551CAN收發(fā)器構成;PC機的CAN節點(diǎn)由Philips公司的SJA1000CAN控制器+PCA82C250CAN收發(fā)器構成。本文的研究和試驗結果就是在這一網(wǎng)絡(luò )框架下完成的。

顯然dsPIC30F6014只需加上CAN總線(xiàn)收發(fā)電路就可掛接到CAN通信網(wǎng)絡(luò )上,大大簡(jiǎn)化了通信系統的設計,同時(shí)可減少通信節點(diǎn)受到干擾的概率。CAN模塊通過(guò)CAN控制器接口芯片MCP2551連接到物理總線(xiàn)上。MCP2551是一個(gè)可容錯的高速CAN器件,可作為CAN協(xié)議控制器和物理總線(xiàn)接口。MCP2551 可為CAN 協(xié)議控制器提供差分收發(fā)能力,它完全符合ISO-11898標準,包括能滿(mǎn)足24V 電壓要求。它的工作速率高達1 Mb/s。

2.2 CAN節點(diǎn)軟件設計

CAN總線(xiàn)的3層結構模型為: 物理層、數據鏈路層和應用層。系統的開(kāi)發(fā)主要在應用層軟件的設計上,CAN總線(xiàn)節點(diǎn)的軟件設計主要包括三大部分:CAN節點(diǎn)初始化、報文發(fā)送和報文接收。初始化程序設計對于CAN總線(xiàn)節點(diǎn)的正常工作相當重要。它主要包括工作方式的設置、接收屏蔽寄存器和接收代碼寄存器的設置、總線(xiàn)定時(shí)器的設置和中斷允許寄存器的設置。MICROCHIP公司提為開(kāi)發(fā)者提供了豐富的開(kāi)發(fā)工具和應用程序庫,使得開(kāi)發(fā)代碼效率大大提高。由于CAN 協(xié)議沒(méi)有規定信息標識符的分配,因此可以根據不同應用使用不同的方法,所以在設計一個(gè)基于CAN 的通訊系統時(shí)確定CAN 標識符的分配非常重要。標識符的分配和定位也是較高層解決手段的其中一個(gè)主要的項目。當前較流行的CAN應用層協(xié)議有 CANOpen協(xié)議DeviceNet協(xié)議。DeviceNet協(xié)議適合于工廠(chǎng)自動(dòng)化控制,CANOpen協(xié)議適合于所有機械的嵌入式網(wǎng)絡(luò )。對于小型網(wǎng)絡(luò )(圖2所示)Modbus 協(xié)議是一個(gè)不錯的解決發(fā)案。Modbus 協(xié)議是應用于電子控制器上的一種通用語(yǔ)言,通過(guò)此協(xié)議,控制器相互之間、控制器經(jīng)由網(wǎng)絡(luò )(例如以太網(wǎng))和其它設備之間可以通信。它已經(jīng)成為一個(gè)通用工業(yè)標準。有了它不同廠(chǎng)商生產(chǎn)的控制設備可以連成工業(yè)網(wǎng)絡(luò )進(jìn)行集中監控。 Modbus 協(xié)議支持主/從通訊方式同時(shí)也支持使用對等技術(shù)通訊。因此Modbus協(xié)議不僅能夠支持RS232、RS485 網(wǎng)絡(luò )也能夠充分發(fā)揮CAN-bus 網(wǎng)絡(luò )的性能與通訊效率。

3 系統應用中應注意的問(wèn)題

在實(shí)際運行中, 經(jīng)常會(huì )遇到CAN總線(xiàn)不通和數據傳輸過(guò)程中丟幀現象,糾其原因主要有以下幾方面:

(1)為了進(jìn)一步提高抗干擾措施, 在CAN控制器和收發(fā)器之間應使用由高速隔離器件如6N137 構成的隔離電路,同時(shí)采用DC-DC模塊將電源隔離,增強抗電磁干擾能力,保護系統電路不受網(wǎng)絡(luò )影響。

(2) 總線(xiàn)兩端的2個(gè)120歐姆的電阻, 對于匹配總線(xiàn)阻抗, 起著(zhù)相當重要的作用。若忽略掉它們,會(huì )使數據通信的抗干擾性及可靠性大大降低, 甚至無(wú)法通訊。

(3) 在軟件設計時(shí), CAN 總線(xiàn)定時(shí)器的設置非常關(guān)鍵, CAN 總線(xiàn)上的所有控制器必須有相同的波特率和位長(cháng)度。然而,不同的控制器并不要求使用相同的主振蕩器時(shí)鐘。如果各個(gè)控制器的時(shí)鐘頻率不同,必須通過(guò)調節各個(gè)段的時(shí)間份額數調節波特率。下面是時(shí)間段編程的一些要求:

? 傳播段+ 相位緩沖段1> = 相位緩沖段2

? 相位緩沖段2 > 同步跳轉寬度

通常,位的采樣應當發(fā)生在位時(shí)間的60-70% 左右,取決于系統參數。

結語(yǔ)

本文的創(chuàng )新觀(guān)點(diǎn)在于:詳細介紹了dsPIC30F6014數字信號控制器CAN節點(diǎn)實(shí)現方案。研究和試驗結果表明利用dsPIC30F6014數字信號控制器構成的CAN節點(diǎn)具有許多優(yōu)良的性能,并能充分發(fā)揮節點(diǎn)的功能,為嵌入式系統CAN節點(diǎn)設計提供了一種新型實(shí)用方案。



評論


技術(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>