基于dsPIC30F6014數(shù)字信號(hào)控制器的CAN節(jié)點(diǎn)設(shè)計(jì)
引言
CAN,全稱為“Controller Area Network”,即控制器局域網(wǎng),是國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一。作為一種技術(shù)先進(jìn)、可靠性高、功能完善、成本合理的遠(yuǎn)程網(wǎng)絡(luò)通訊控制方式,CAN-bus已被廣泛應(yīng)用到各個(gè)自動(dòng)化控制系統(tǒng)中,具有不可比擬的優(yōu)越性。
新型16位dsPIC30F6014數(shù)字信號(hào)控制器結(jié)合單片機(jī)的控制優(yōu)點(diǎn)及數(shù)字信號(hào)處理器(DSP)的高速運(yùn)算特性,為嵌入式系統(tǒng)提供了單一芯片解決方案。
本篇論文以CAN協(xié)議為基礎(chǔ),結(jié)合dsPIC30F6014的突出性能,在設(shè)計(jì)通訊接口過程中,提出了基于dsPIC30F6014數(shù)字信號(hào)控制器的CAN節(jié)點(diǎn)設(shè)計(jì)方法。
1 dsPIC30F6014數(shù)字信號(hào)控制器與CAN總線
1.1 dsPIC30F6014數(shù)字信號(hào)控制器特點(diǎn)
dsPIC30F6014數(shù)字信號(hào)控制器(DSC)是單片嵌入式控制器,它集成了單片機(jī)(MCU)的控制功能以及數(shù)字信號(hào)處理器(DSP)的計(jì)算能力和數(shù)據(jù)吞吐能力,運(yùn)算速度可達(dá)20和30 MIPS,配備自編程閃存,并能在工業(yè)級(jí)溫度和擴(kuò)展級(jí)溫度范圍內(nèi)工作。以16位單片機(jī)為核心的 dsPIC30F6014數(shù)字信號(hào)控制器不僅具有功能強(qiáng)大的外圍設(shè)備和快速中斷處理能力,又融合了可管理高速計(jì)算活動(dòng)的數(shù)字信號(hào)處理器功能。dsPIC30F CPU 模塊采用16 位(數(shù)據(jù))改良的哈佛架構(gòu),并帶有增強(qiáng)型指令集包含對(duì)DSP 的有力支持。CPU 擁有24 位指令字,指令字帶有長(zhǎng)度可變的操作碼字段。 程序計(jì)數(shù)器(PC)為24位寬,可以尋址高達(dá)4M × 24 位的用戶程序存儲(chǔ)器空間。 單周期指令預(yù)取機(jī)制用來幫助維持吞吐量并提供可預(yù)測(cè)的執(zhí)行。配備144K字節(jié)增強(qiáng)型閃存及8K字節(jié)靜態(tài)RAM,8K字節(jié)EEPROM,能支持大型的復(fù)雜應(yīng)用。dsPIC系列產(chǎn)品與現(xiàn)有嵌入式系統(tǒng)不同,系統(tǒng)集成了振蕩器,低電壓檢測(cè),看門狗定時(shí)器,產(chǎn)品無需使用額外的元件,可降低主板面積和系統(tǒng)成本,為嵌入式系統(tǒng)提供了單一芯片解決方案。此外還具備一系列片上功能,包括I/O端口、定時(shí)器、輸入捕捉、輸出比較、UART、12位A/D轉(zhuǎn)換器、SPI接口、I2C接口及CAN通信等模塊。結(jié)構(gòu)圖如圖1所示:
這些特性使之成為需要更高精確度、更快轉(zhuǎn)速或無傳感器控制的電機(jī)控制應(yīng)用領(lǐng)域如非傳感無刷直流電機(jī)、磁阻轉(zhuǎn)換和感應(yīng)電機(jī)的理想解決方案,另外還可以應(yīng)用于因特網(wǎng)接入設(shè)備和汽車產(chǎn)品;生物特徵檢測(cè)保護(hù)--如指紋識(shí)別;不間斷電源、電源管理和話音開關(guān)(話音識(shí)別系統(tǒng))等領(lǐng)域。
1.2 CAN總線技術(shù)特點(diǎn)
CAN是主要用于各種過程(設(shè)備)監(jiān)測(cè)及控制的一種網(wǎng)絡(luò)。最初是德國(guó)BOSCH公司為汽車的監(jiān)測(cè)、控制系統(tǒng)而設(shè)計(jì)的。由于CAN具有卓越的特性和極高的可靠性,特別適合于工業(yè)過程中監(jiān)控設(shè)備的互連,因此,越來越受到工業(yè)界的重視。具體來說,CAN具有如下特性:
(1) CAN可以多主方式工作,網(wǎng)絡(luò)上任意一個(gè)節(jié)點(diǎn)均可以在任意時(shí)刻主動(dòng)地向網(wǎng)絡(luò)上的其他節(jié)點(diǎn)發(fā)送信息,而不分主從,通信方式靈活;
(2) CAN可以點(diǎn)對(duì)點(diǎn)、點(diǎn)對(duì)多點(diǎn)(成組)及全局廣播方式傳送接收數(shù)據(jù);
(3) CAN網(wǎng)絡(luò)上的節(jié)點(diǎn)信息可分成不同的優(yōu)先級(jí),可以滿足不同的實(shí)時(shí)要求;
(4) CAN采用非破壞性總線仲載技術(shù)。當(dāng)兩個(gè)節(jié)點(diǎn)同時(shí)向網(wǎng)絡(luò)上發(fā)送數(shù)據(jù)時(shí),優(yōu)先級(jí)低的點(diǎn)主動(dòng)停止數(shù)據(jù)發(fā)送,而優(yōu)先級(jí)高的節(jié)點(diǎn)可不受影響地繼續(xù)傳輸數(shù)據(jù),大大地節(jié)省了總線仲載沖突時(shí)間,在網(wǎng)絡(luò)負(fù)載很重的情況下也不會(huì)出現(xiàn)網(wǎng)絡(luò)癱瘓;
(5) CAN的直接通信距離最大可達(dá)10km(速率小于5kbps),最高通信速率可達(dá)1Mkbps(此時(shí)距離最長(zhǎng)為40m)。
評(píng)論