基于EPA與IEEE802.15.4兩用手抄器的設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
現(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é)的解決方案。