現(xiàn)場(chǎng)總線和工業(yè)無(wú)線通信是兩大處于國(guó)際前沿的研究方向,,兩個(gè)系統(tǒng)如果分別做手抄器,成本相對(duì)較高,,而且不方便管理,。這款兩用手抄器集成了EPA(Ethernet for Plant Automation)和IEEE802.15.4(低數(shù)據(jù)率的WPAN標(biāo)準(zhǔn))兩個(gè)協(xié)議,能夠通過(guò)有線或者無(wú)線的方式在不同的工業(yè)現(xiàn)場(chǎng)得到應(yīng)用,,在不影響上位機(jī)通訊的情況下對(duì)現(xiàn)場(chǎng)設(shè)備進(jìn)行數(shù)據(jù)采集,、監(jiān)測(cè)和控制。
該手抄器使用的是ARM7控制芯片,。它包含了微處理器(AT91R40008),、存儲(chǔ)器、通信模塊,、網(wǎng)絡(luò)通信接口,、顯示終端、無(wú)線通信模塊等重要組成部分,。在該設(shè)計(jì)中,,使用了兩種供電方式,一種電源使用了以太網(wǎng)供電設(shè)備,,該設(shè)備除了用于網(wǎng)口通信,,還提供設(shè)計(jì)中所需要的電源。該電源經(jīng)過(guò)電平轉(zhuǎn)換,,為微處理器,、存儲(chǔ)器、無(wú)線通信模塊等提供所需的+3.3V和+1.8V電源;另一種電源使用了電池供電,。32位的微處理器AT91R40008通過(guò)串口0和串口1與無(wú)線通信模塊和液晶終端進(jìn)行數(shù)據(jù)交換,。圖1為ARM7手抄器的硬件框圖。
圖1 手抄器硬件系統(tǒng)框圖
微處理器
選用AT91R40008做CPU。AT91R40008包括一個(gè)高性能32位精簡(jiǎn)指令系統(tǒng)和一個(gè)高密度16位的指令系統(tǒng),。AT91R40008具有片上的SRAM或ROM,、完全可編成的外部總線接口(EBI)、32個(gè)可編程的I/O口,、8個(gè)優(yōu)先級(jí),、4個(gè)外部中斷、2個(gè)USART及16位的定時(shí)器/計(jì)數(shù)器等特點(diǎn),。
AT91R40008具有與外部存儲(chǔ)器的直聯(lián)的特色,通過(guò)外設(shè)的FLASH,經(jīng)過(guò)完全可編程外部總線接口(EBI),、 一個(gè)八位優(yōu)先向量中斷控制器,,,及外部數(shù)據(jù)控制器,能大大提高處理器的即時(shí)性能,。
微處理器部分的設(shè)計(jì)包含系統(tǒng)硬件的啟動(dòng)與復(fù)位,,地址總線、數(shù)據(jù)總線的分配和定義,,通過(guò)串行線對(duì)無(wú)線通信模塊和液晶終端的讀寫(xiě)等,。
系統(tǒng)由外部的50MHz鐘振作為時(shí)鐘源向CPU輸入時(shí)鐘信號(hào)。復(fù)位電路由10μF的電容,、10K的電阻及按鍵組成低電平復(fù)位電路,。AT91R40008內(nèi)部ROM為128K,外部最大可擴(kuò)64M的存儲(chǔ)器,,根據(jù)實(shí)際的設(shè)計(jì)需要,,在設(shè)計(jì)中擴(kuò)展了一片2M字節(jié)的SST36VF160對(duì)軟件程序進(jìn)行存儲(chǔ)。網(wǎng)卡芯片AX88796通過(guò)片選線,、中斷線,、讀寫(xiě)信號(hào)控制線和地址數(shù)據(jù)總線與CPU相連,實(shí)現(xiàn)現(xiàn)場(chǎng)設(shè)備和上位機(jī)的網(wǎng)絡(luò)通信,。AT91R40008分別通過(guò)串口0和串口1實(shí)現(xiàn)與無(wú)線通信模塊和顯示終端的數(shù)據(jù)交換,。
FLASH存儲(chǔ)器
由于該手抄器是應(yīng)用于工業(yè)現(xiàn)場(chǎng)中,所以在軟件中必須加入相應(yīng)的規(guī)范標(biāo)準(zhǔn),。在手抄器的系統(tǒng)設(shè)計(jì)中,,在CPU的外部拓展了2M字節(jié)的FLASH。SST39VF160是一個(gè)1M×16的CMOS多功能FLASH器件,,由SST特有的高性能的Super Flash技術(shù)制造而成,。SST39VF160具有功耗較低的優(yōu)點(diǎn),它的工作電壓為3.3V,,具有高性能的編程功能,,字編程時(shí)間為14μs。考慮到SST39F160的這些優(yōu)點(diǎn)選用這款FLASH,,在目前測(cè)試環(huán)境中證明這款FLASH能夠更方便和更低成本的滿足程序配置和數(shù)據(jù)存儲(chǔ)的要求,。
網(wǎng)絡(luò)通信接口
在設(shè)計(jì)中采用網(wǎng)絡(luò)通信接口接入工業(yè)以太網(wǎng),數(shù)據(jù)由以太網(wǎng)傳遞到上位機(jī)中,,實(shí)現(xiàn)工業(yè)現(xiàn)場(chǎng)的無(wú)線設(shè)備和上位機(jī)的通信,。在實(shí)際的設(shè)計(jì)過(guò)程中,我們采用HR61H50L作為網(wǎng)絡(luò)隔離器,,采用AX88796作為網(wǎng)卡芯片,。
AX88796是臺(tái)灣Asix公司的NE2000兼容快速以太網(wǎng)控制器。其內(nèi)部集成有10/100 Mb/s自適應(yīng)的物理層收發(fā)器和8K×16位的SRAM,,支持MCS-51系列,、80186系列以及MC68K系列等多種CPU總線類型。AX88796執(zhí)行的是基于IEEE802.3/IEEE802.3u 局域網(wǎng)標(biāo)準(zhǔn)的10Mb/s和100Mb/s以太網(wǎng)控制功能,,并提供IEEE802.3u兼容的媒質(zhì)無(wú)關(guān)接口MII,,用以支持在其它媒質(zhì)上的應(yīng)用。AX88796的地址總線SA[9:0]與數(shù)據(jù)總線SD[15:0]分別與CPU的地址/數(shù)據(jù)總線相連,。CPU通過(guò)I/O讀寫(xiě)NE2000寄存器來(lái)控制AX88796的工作狀態(tài),,通過(guò)遠(yuǎn)程DMA FIFOs與AX88796的內(nèi)部緩存SRAM進(jìn)行數(shù)據(jù)交換。SRAM與MAC核之間進(jìn)行Local DMA將數(shù)據(jù)發(fā)送至MAC層,,再經(jīng)由內(nèi)部的PHY層發(fā)送至RJ45接口,,或者經(jīng)過(guò)MII接口送至外部的物理層芯片。SEEPROM接口可以用來(lái)連接串行EEPROM,。EEPROM可用于存儲(chǔ)MAC地址,,供AX88796每次初始化時(shí)讀取。
電源
由于此手抄器用于兩種不同的協(xié)議,,實(shí)際設(shè)計(jì)中使用了兩套電源管理系統(tǒng),,并進(jìn)行了特殊處理,避免了其中一套供電時(shí)對(duì)另一套電源造成影響,。
當(dāng)手抄器用于工業(yè)以太網(wǎng)的一致性測(cè)試時(shí),,電源采用的是以太網(wǎng)供電設(shè)備,該設(shè)備采用符合802.3受電設(shè)備標(biāo)準(zhǔn),,輸出標(biāo)準(zhǔn)的+24V,,經(jīng)過(guò)LM2576-5、AS1117-1.8和AS1117-3.3電源芯片,,電平轉(zhuǎn)換后,,輸出手抄器上的CPU、存儲(chǔ)器,、網(wǎng)卡芯片,、智能顯示終端上所需的1.8V和3.3V電源,。
當(dāng)手抄器用于工業(yè)無(wú)線系統(tǒng)中,電源采用的是電池供電,,普通的手機(jī)電池即可,。電池輸出電壓經(jīng)過(guò)TPS60110、TPS60100電源芯片,,電平轉(zhuǎn)換后,,輸出手抄器上的CPU、存儲(chǔ)器,、網(wǎng)卡芯片,、智能顯示終端終端和無(wú)線通信模塊上所需的工作電壓。
JTAG調(diào)試接口
這里使用JTAG調(diào)試接口主要是為了調(diào)試顯示終端,、無(wú)線通信模塊,、CPU和上位機(jī)之間的通信,及測(cè)試其通信性能,。
鍵盤(pán)接口
自主設(shè)計(jì)了一個(gè)6×4矩陣鍵盤(pán),。如圖2所示,。鍵盤(pán)的行連接在CPU的6個(gè)PIO引腳上,,配置為輸出;列連接在4個(gè)能夠產(chǎn)生終端的引腳上,配置為輸入,。由于上拉電阻的作用,,在空閑模式下,這些引腳為高電平狀態(tài),。當(dāng)有按鍵按下時(shí),,列引腳為低電平狀態(tài),列引腳的下降沿引起中斷,。處理器進(jìn)入PIO中斷子程序,,并打開(kāi)定時(shí)器。定時(shí)器溢出后,,進(jìn)入定時(shí)器中斷子程序,,以判斷是否確實(shí)有鍵按下,是哪個(gè)鍵按下,。定時(shí)器設(shè)置為波形模式,,RC比較中斷,中間溢出由RC比較寄存器的直和所選擇的時(shí)鐘沿決定,??捎熊浖?fù)位和定時(shí)器啟動(dòng)。
初始化:列PIO配置為輸入,,行PIO配置為輸出,,且輸出為0; 列PIO打開(kāi)中斷,,初始化該中斷;使能PIO時(shí)鐘;初始化定時(shí)器中斷。
PIO中斷子程序:鍵盤(pán)掃描前,,所有的行輸出為0,,當(dāng)有鍵按下,與其對(duì)應(yīng)的列電平為0,,引起PIO中斷,。為了避免毛刺噪聲的影響,需要啟動(dòng)定時(shí)器延時(shí)判斷,。設(shè)延時(shí)時(shí)間為20ms(31250個(gè)tick) ,。
圖2 AR91M40008與鍵盤(pán)連接圖
定時(shí)器中斷子程序:定時(shí)器溢出后,開(kāi)始第二次掃描,,判斷是否有鍵按下,,如確實(shí)有鍵按下,PIO引腳為低電平的列即為按鍵按下的列,。然后再將PIO設(shè)置為輸入狀態(tài),,所按下的鍵的行輸入狀態(tài)該為高電平,因此判斷具體是哪個(gè)鍵按下,。
智能顯示終端
根據(jù)實(shí)際應(yīng)用的要求,,選用了一款臺(tái)灣奇美的3.5寸的TFT彩色顯示屏。為了便于管理,,所設(shè)計(jì)手抄器采用了AT91R40008,,但是這款CPU不帶有LCD驅(qū)動(dòng),沒(méi)法直接驅(qū)動(dòng)顯示屏,,因此選用了一款工業(yè)標(biāo)準(zhǔn)的M600系列模組來(lái)驅(qū)動(dòng)TFT顯示屏,。
M600能夠?qū)崿F(xiàn) “TFT顯示驅(qū)動(dòng)”和“文本和圖像處理接口函數(shù)”以及一部分“用戶應(yīng)用程序”。它集成了顯示驅(qū)動(dòng),、1MB顯存,、128MB Flash,其中最大32MB 用戶數(shù)據(jù)庫(kù),,方便了實(shí)際測(cè)控系統(tǒng)的數(shù)據(jù)存儲(chǔ)應(yīng)用,。采用的是串口的方式和用戶系統(tǒng)連接,使用過(guò)程中只要3根線(+3.3V,、GND,、RXD)就可以把M600接起來(lái)點(diǎn)亮一個(gè)TFT屏,方便了本手抄器的以后的改進(jìn)設(shè)計(jì),。M600采用的是統(tǒng)一的指令集,,我們可以通過(guò)軟件設(shè)置來(lái)適應(yīng)不同分辨率的顯示屏,在工業(yè)現(xiàn)場(chǎng)中如果需要更換顯示屏,,只需修改極少量的代碼,,就可以完成手抄器的更新?lián)Q代,。無(wú)線通信模塊
基于IEEE 802.15.4工業(yè)無(wú)線通信模塊采用的是CC2430,整個(gè)模塊的結(jié)構(gòu)簡(jiǎn)單,,采用單芯片進(jìn)行數(shù)據(jù)的處理,在CC2430只要用很少的一些外圍元件就可以進(jìn)行正常的工作,。它外圍電路主要是由天線、晶振電路,、復(fù)位電路以及用于調(diào)試的JATG口組成,。
在功能上,主要用于完成無(wú)線通信模塊之間的數(shù)據(jù)收發(fā),,同時(shí)將數(shù)據(jù)發(fā)送給手抄器的處理器,。它們之間的數(shù)據(jù)傳送是通過(guò)串口進(jìn)行數(shù)據(jù)的傳送。晶振電路分別為32.768KHz和32MHz兩個(gè)晶振,32.768KHz提供模塊在休眠狀態(tài)的工作時(shí)鐘,。32MHz提供模塊在工作狀態(tài)下的工作時(shí)鐘,。JATG用于在線的程序設(shè)計(jì),如圖3所示,。
圖3 無(wú)線通信模塊結(jié)構(gòu)圖
手抄器在工業(yè)現(xiàn)場(chǎng)中的應(yīng)用
在現(xiàn)有的研發(fā)系統(tǒng)中,,將工業(yè)以太網(wǎng)的有線網(wǎng)絡(luò)與工業(yè)現(xiàn)場(chǎng)的無(wú)線設(shè)備之間建立連接,將手抄器作為無(wú)線手持為例,。工業(yè)現(xiàn)場(chǎng)的無(wú)線設(shè)備通過(guò)專用的傳輸協(xié)議將數(shù)據(jù)傳輸?shù)睫D(zhuǎn)換設(shè)備,。數(shù)據(jù)經(jīng)過(guò)轉(zhuǎn)換,成為工業(yè)現(xiàn)場(chǎng)能夠識(shí)別和支持的格式,,并傳輸?shù)焦I(yè)現(xiàn)場(chǎng)中的一個(gè)發(fā)出指令請(qǐng)求的設(shè)備中,。實(shí)現(xiàn)上位機(jī)對(duì)現(xiàn)場(chǎng)數(shù)據(jù)進(jìn)行監(jiān)控,。工業(yè)現(xiàn)場(chǎng)中,,主站即上位機(jī)不方便對(duì)現(xiàn)場(chǎng)設(shè)備進(jìn)行實(shí)時(shí)操控,可以使用一個(gè)手抄器和轉(zhuǎn)化設(shè)備進(jìn)行連接,,對(duì)數(shù)據(jù)進(jìn)行訪問(wèn)和采集,,根據(jù)反饋的數(shù)據(jù),對(duì)現(xiàn)場(chǎng)的數(shù)據(jù)進(jìn)行修正,,保證設(shè)備正常運(yùn)行,,如圖4所示。
圖4 工業(yè)現(xiàn)場(chǎng)中手抄器的應(yīng)用
結(jié)語(yǔ)
本文給出了以AT91R40008為CPU的兩用手抄器的解決方案,,介紹了手抄器的硬件實(shí)現(xiàn),,重點(diǎn)突出了在工業(yè)以太網(wǎng)中用到的網(wǎng)口通信接口,及在工業(yè)無(wú)線系統(tǒng)中應(yīng)用的基于IEEE802.15.4的工業(yè)無(wú)線通信模塊,。具體設(shè)計(jì)過(guò)程中成功的引入了以往研究成果中關(guān)于EMC測(cè)試環(huán)節(jié)的解決方案,。