PIC18單片機(jī)的RS-485/CAN智能轉(zhuǎn)換器的設(shè)計(jì)
RS-485是一個(gè)電氣接口規(guī)范,它定義了一個(gè)基于單對平衡線的多點(diǎn)、雙向(半雙工)通信鏈路,只對接口的電氣特性做出規(guī)定,而不涉及接插件、電纜或協(xié)議,在此基礎(chǔ)上用戶可以建立自己的高層通信協(xié)議,在當(dāng)時(shí)看來是一種相對經(jīng)濟(jì)具有相當(dāng)高噪聲抑制相對高的傳輸速率傳輸距離遠(yuǎn)和寬共模范圍的通信平臺(tái),因此基于RS-485總線的通訊方法得到了廣泛的應(yīng)用。
由于RS-485總線本身存在的許多局限性,隨著科技的發(fā)展RS-485的總線效率低,系統(tǒng)的實(shí)時(shí)性差、通訊的可靠性低、后期維護(hù)成本高、網(wǎng)絡(luò)工程調(diào)試復(fù)雜、傳輸距離不理想、單總線可掛接的節(jié)點(diǎn)少、應(yīng)用不靈活等缺點(diǎn)慢慢的暴露出來。雖歷經(jīng)多次改進(jìn)但均是治標(biāo)不治本。
CAN-bus是一種多主方式的串行通訊總線。具有較高的位速率,高抗電磁干擾性,而且能夠檢測出通信過程中發(fā)生的任何錯(cuò)誤。當(dāng)信號(hào)傳輸距離達(dá)到10 km 時(shí)CAN-bus仍可提供高達(dá)5 kb/s的數(shù)據(jù)傳輸速率。他在通信能力、可靠性、實(shí)時(shí)性、靈活性、易用性、傳輸距離、成本等方面有著明顯的優(yōu)勢,從而成為了業(yè)界最有前途的現(xiàn)場總線之一。
基于RS-485網(wǎng)絡(luò)在現(xiàn)場的廣泛應(yīng)用,完全放棄RS-485網(wǎng)絡(luò)系統(tǒng)是不現(xiàn)實(shí)的。但可以考慮一種折衷的辦法,就是在保留現(xiàn)有RS-485系統(tǒng)硬件結(jié)構(gòu)的基礎(chǔ)上給系統(tǒng)添加一個(gè)CAN-bus接口,RS-485/CAN智能轉(zhuǎn)換器的設(shè)計(jì)就具有了現(xiàn)實(shí)的意義。他可以實(shí)現(xiàn)RS-485網(wǎng)絡(luò)與CAN網(wǎng)絡(luò)的互聯(lián)。系統(tǒng)原理框圖如圖1所示。
2 轉(zhuǎn)換器設(shè)計(jì)
轉(zhuǎn)換器設(shè)計(jì)的原理框圖如圖2所示:
在該設(shè)計(jì)中采用了帶CAN控制器的PIC18F258芯片,其特點(diǎn)如表1所示。與傳統(tǒng)的MCU再加上獨(dú)立的CAN控制器的設(shè)計(jì)方法相比,可以使設(shè)計(jì)大大簡化,同時(shí)也增加了系統(tǒng)的可靠性。
表1 PIC18F258單片機(jī)的性能參數(shù) 名稱 特性
高性能RISC CPU 2MB的程序存儲(chǔ)器。4kB的數(shù)據(jù)RAM。16位寬指令,
高達(dá)10 MIPS的執(zhí)行速度。8×8單周期硬件乘法器
豐富的外圍功能模塊 4個(gè)內(nèi)部定時(shí)器,PWM/CCP模塊,USART模塊,
10位8通道A/D。CAN 總線模塊,異步串行通信SPI方式,I2C模式
特殊的單片機(jī)特性 SLEEP方式,帶有片內(nèi)RC振蕩器的監(jiān)視定時(shí)器(WDT),
可編程代碼保護(hù)功能,通過兩個(gè)引腳可進(jìn)行在線串行編程(ICSP)
FLASH 技術(shù) 低功耗,高速增強(qiáng)型FLASH 技術(shù)
2.1 硬件電路設(shè)計(jì)
硬件電路原理圖如圖3所示,包括MCU,總線驅(qū)動(dòng)模塊,光電隔離,DC-DC隔離電源模塊等。
RS485總線驅(qū)動(dòng)模塊采用MAX487,MAX487工作于半雙工模式,內(nèi)部包含一個(gè)發(fā)送器和一個(gè)接收器,在工作時(shí)需要通過使能端來控制“收”和“發(fā)”,將其使能端RE和DE連接到一起,然后接到PIC單片機(jī)的RC4,在軟件中通過對RC4的置位和復(fù)位來控制MAX487的收和發(fā)。
RS-485標(biāo)準(zhǔn)采用差分傳輸,本身已具有一定的抗干擾能力,在其傳輸通道的兩端分別加上一個(gè)6N137芯片,可以進(jìn)一步增強(qiáng)轉(zhuǎn)換器的抗干擾能力??梢员苊庥蓚鬏攩栴}而引起的死機(jī)現(xiàn)象。
CAN總線驅(qū)動(dòng)模塊采用PCA82C250,接口電路比較簡單。同樣也在其傳輸通道加上兩個(gè)高速光耦6N137,實(shí)現(xiàn)總線和轉(zhuǎn)換器的電氣隔離。
在硬件設(shè)計(jì)中需要特別注意電源部分的設(shè)計(jì),因?yàn)楣怦罡綦x兩側(cè)必須采用獨(dú)立的電源供電,否則將不能起到隔離的作用。轉(zhuǎn)換器在現(xiàn)場應(yīng)用的時(shí)候不是采用電池供電,而是采用現(xiàn)場CAN總線的電源來供電,而這個(gè)電源是不穩(wěn)定的電源,而且存在很多干擾量,不能直接應(yīng)用到轉(zhuǎn)換器當(dāng)中,必須經(jīng)過隔離,濾波以及穩(wěn)壓處理。
評論