基于ARM9S3C2440處理器的測控系統(tǒng)通信接口設(shè)計
控制終端是測控裝置中不可缺少的主要組成部分,目前應(yīng)用的許多測控系統(tǒng)都具有規(guī)模大、控制點(diǎn)分散、大多控制點(diǎn)計算密度較低、受控體及接口種類繁多等特點(diǎn)。文章設(shè)計了ARM9S3C2440處理器下的RS485、RS232、CAN、IO輸入/輸出、IIC等通信控制接口,本文重點(diǎn)介紹其設(shè)計方法和過程。
控制終端是測控裝置中不可缺少的主要組成部分,是測控系統(tǒng)存在的基礎(chǔ),目前應(yīng)用的許多測控系統(tǒng)都具有規(guī)模大、控制點(diǎn)分散、大多控制點(diǎn)計算密度較低、受控體及接口種類繁多等特點(diǎn)。
近年來嵌入式系統(tǒng)以體積小、功耗低、控制功能較強(qiáng)、能夠嵌入操作系統(tǒng)、易于擴(kuò)展外圍接口(包括各種現(xiàn)場總線和百兆網(wǎng)等)等優(yōu)點(diǎn),很適合計算密度較低的分布式控制終端的應(yīng)用。本設(shè)計采用ARM9 3C2440來開發(fā)測控終端,完成了測控裝置中的RS485、RS232、CAN、IO輸入/輸出、IIC通信控制接口設(shè)計。下面重點(diǎn)介紹其設(shè)計方法和過程。
1 系統(tǒng)設(shè)計
圖1系統(tǒng)總體結(jié)構(gòu)是采取核心板跟底板的結(jié)構(gòu)。核心板的資源包括S3C2440A的基于ARM920T核的處理器,其內(nèi)部集成了許多外設(shè),可以很容易地對處理器進(jìn)行擴(kuò)展,形成各種不同的控制/通信接口。存儲系統(tǒng)方面核心板上擴(kuò)展了64M的SDRAM,256M的NAND FLASH,以及2M的NOR FLASH,能夠滿足一般的工業(yè)控制需求。另外核心板上還集成著DM9000以太網(wǎng)控制芯片。在底板上利用S3C2440處理器上的功能模塊,再加上外圍電路,形成各種接口的擴(kuò)展,其中包括有半雙工的RS485、RS232、CAN通信模塊、IO數(shù)字量口輸入、IO口數(shù)字量輸出。
2 模塊硬件配置
2.1 RS-485總線接口的設(shè)計
S3C2440片內(nèi)集成的三路UART接口,UART接口通過電平轉(zhuǎn)換芯片可以很方便地轉(zhuǎn)換為485接口。UARTO作為嵌入式LINUX的控制臺(conso le)接口,UART1用作RS485擴(kuò)展,UART2作為RS232擴(kuò)展。我們用到的是UART1。由于ARM處理器的引腳電平和EIA規(guī)定的電氣標(biāo)準(zhǔn)不一樣,所以必須要外接電平轉(zhuǎn)換芯片,利用片內(nèi)UART外接不同的轉(zhuǎn)換芯片可以輕松地實(shí)現(xiàn)RS485或者RS232串行協(xié)議標(biāo)準(zhǔn)。RS485采用差分信號負(fù)邏輯,為了達(dá)到RS485總線的電氣特性標(biāo)準(zhǔn),設(shè)計中用到的是Analog Devices公司的半雙工RS-485隔離收發(fā)器。
ADM2483是帶隔離的增強(qiáng)型RS485收發(fā)器,它包括一個三通道隔離器,一個帶三態(tài)輸出的差分驅(qū)動器和一個帶三態(tài)輸入的差分接收器,允許多達(dá)256個收發(fā)器接入總線,最高傳輸速率為500kb/s,邏輯端兼容3V/5V工作電源。總線端5V供電。
圖2為系統(tǒng)中利用S3C2440中的ART1實(shí)現(xiàn)半雙工的RS-485總線的原理圖,其中的引腳RE’與DE分別為接收使能和發(fā)送使能端,現(xiàn)在將其并聯(lián)起來接到S3C2440的nCTS0引腳,由該引腳的電平控制芯片數(shù)據(jù)的方向。要發(fā)送數(shù)據(jù)時要叫其置1,接收數(shù)據(jù)時要將其清0。
2.2CAN總線接口的設(shè)計MICroChip
公司推出的MCP2515是一款獨(dú)立控制器局域網(wǎng)絡(luò)協(xié)議控制器,完全支持CAN V2.0B技術(shù)規(guī)范。該器件能發(fā)送和接收標(biāo)準(zhǔn)和擴(kuò)展數(shù)據(jù)幀以及遠(yuǎn)程幀。MCP2515自帶的兩個驗(yàn)收屏蔽寄存器和六個驗(yàn)收濾波寄存器可以過濾掉不想要的報文,因此減少了主單片機(jī)的開銷。MCP2515與MCU的連接是通過業(yè)界標(biāo)準(zhǔn)串行外設(shè)接口(SPI)來實(shí)現(xiàn)的。在S3C2440處理器上片內(nèi)集成了兩個SPI控制器,可以通過SPI總線與MCP2515的控制線連接,進(jìn)而對MCP2515進(jìn)行控制和配置等各項操作。此外要組成CAN網(wǎng)絡(luò),仍需要一個與具體物理線路連接的CAN收發(fā)器,本設(shè)計中采用了Microc hip公司的MCP2551。MCP2551是一個可容錯的高速CAN器件,可作為CAN協(xié)議控制器與物理線路之間的接口,為CAN控制器起差分收發(fā)能力,能夠把CAN控制器生成的數(shù)字信號轉(zhuǎn)化成為適合總線上傳輸?shù)男盘枴?/p>
2.3 RS232接口的設(shè)計
RS232適于本地的設(shè)備之間的通信。利用S3C2440片內(nèi)的UART可以輕松地實(shí)現(xiàn)串行數(shù)據(jù)的傳輸,MAX232采用單電壓5V供電,可以輕松地實(shí)現(xiàn)電平轉(zhuǎn)換,特別是在沒有12V電源的情況下。該芯片采用DIP封裝,集成了2個電壓轉(zhuǎn)換器,連線簡單而方便使用。
2.4 數(shù)字量輸入/輸出接口的設(shè)計
數(shù)字量的輸入輸出可以直接控制ARM的引腳為GPIO功能而實(shí)現(xiàn),輸入和輸出具有相同的原理。一般控制系統(tǒng)需要工作在惡劣的環(huán)境中,電壓值會產(chǎn)生突變,而且一般都高于ARM處理器可接受的范圍,所以必須采取一定隔離措施,需要外接隔離芯片。隔離芯片在電路中起到三方面的作用:1)隔離了破壞電壓,防止處理器受到破壞性損壞;2)完成邏輯電平的轉(zhuǎn)換,將工業(yè)控制中的信號邏輯電平轉(zhuǎn)換為嵌入式處理器所允許的邏輯電平;3)隔離噪聲,抑制共模信號。在本設(shè)計中采用的是ADI公司的ADuM1200數(shù)字隔離器。這款數(shù)字隔離器采用的是iCoupler磁隔離技術(shù),無論在性能、工號體積等各方面都有傳統(tǒng)的光電隔離器無法比擬的優(yōu)勢,具有比光電耦合器更高的數(shù)據(jù)傳輸速率,時序精度和瞬態(tài)共模抑制能力。在一個芯片上集成了兩個獨(dú)立的隔離通道,兩端工作電壓為2.7V~5.5V,每個隔離通道具有很低的脈寬失真,而且還具有直流校正功能。綜合上述各優(yōu)勢,是本設(shè)計中采取該隔離芯片的原因。
3 結(jié)束語
本設(shè)計成功應(yīng)用在中微子實(shí)驗(yàn)室的環(huán)境測量系統(tǒng)中,實(shí)現(xiàn)了工業(yè)現(xiàn)場的嵌入操作系統(tǒng)、網(wǎng)絡(luò)互聯(lián)功能、微型化、高可靠性設(shè)計,運(yùn)行穩(wěn)定可靠、效果良好。但存在遠(yuǎn)距離通信時速度不高的缺陷,具體解決方法有待進(jìn)一步研究。