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