摘要:隨著科學(xué)技術(shù)的日新月異,人類對(duì)文明生活需求的進(jìn)步,帶來對(duì)電能的需求越來越高,也帶來了對(duì)電力系統(tǒng)的設(shè)備有更高的要求,由此電力系統(tǒng)配電變壓器的功能及檢測(cè)設(shè)備受到各方面的密切關(guān)注。在市場(chǎng)上各種各樣的電力檢測(cè)設(shè)備不斷翻新,其功能也向?qū)嵱眯?、高科技性方向發(fā)展,但配電變壓器具有觸摸方式的人機(jī)友好界面功能及檢測(cè)的設(shè)備很少有報(bào)道,為此,在經(jīng)過多方面的調(diào)研,我們提出研制使用觸摸方式、具有GPRS無線通信功能的配電變壓器智能檢測(cè)設(shè)備的任務(wù)。該設(shè)備在滿足配電功能要求的前提下,采用觸摸顯示方式提高檢測(cè)設(shè)備的可操作性,使用GPRS無線通信提高設(shè)備的*性、滿足現(xiàn)代信息社會(huì)的管理需求,使其具有一定*優(yōu)勢(shì),能夠占領(lǐng)一定的市場(chǎng)領(lǐng)域。
1、系統(tǒng)設(shè)計(jì)
系統(tǒng)的核心是采用*的IN96系列16位單片機(jī)80196,配以液晶顯示
觸摸屏、大規(guī)模門陣列邏輯集成電路xilinx95144,通過串口驅(qū)動(dòng)電路MAX232外接GPRS模塊等,組成結(jié)構(gòu)簡(jiǎn)單、功能完整、擴(kuò)充性強(qiáng)、布局合理,使用芯片少,體積小,具有高可靠性和保密特性的設(shè)備系統(tǒng),原理圖如圖1所示。
圖1系統(tǒng)原理圖
1.1各功能模塊主要作用
?。?)CPU80196在系統(tǒng)中主要承擔(dān)著控制中心及16位數(shù)據(jù)的算術(shù)、邏輯運(yùn)算的任務(wù),該單片機(jī)具有豐富的軟硬件資源及運(yùn)行速度快的指令系統(tǒng),非常適合于電力系統(tǒng)的儀表設(shè)計(jì)。
?。?)大規(guī)模邏輯電路芯片Xilinx95144主要完成:地址鎖存、數(shù)據(jù)總線驅(qū)動(dòng)、控制信號(hào)總線驅(qū)動(dòng)及邏輯電平轉(zhuǎn)換、片選信號(hào)發(fā)生等,它有144個(gè)宏單元3200個(gè)邏輯門,100個(gè)管腳,81數(shù)據(jù)輸入輸出腳,4個(gè)在線編程腳,可以完成10000次的在線編程。
(3)MAX232串口驅(qū)動(dòng):完成串口電平TTL至RS232轉(zhuǎn)換功能。
(4)GPRS模塊:是一種新型的移動(dòng)數(shù)據(jù)通信業(yè)務(wù),在移動(dòng)用戶和數(shù)據(jù)網(wǎng)絡(luò)之間提供一種連接,給移動(dòng)用戶提供高速無線IP服務(wù)。它采用*透明數(shù)據(jù)傳輸,永遠(yuǎn)在線,按流量計(jì)費(fèi),克服了通訊距離短,性能不穩(wěn)定的缺點(diǎn),真正實(shí)現(xiàn)全國(guó)無縫覆蓋,特別適用于無人看守的區(qū)域。
?。?)27512EPROM程序存儲(chǔ)器,提供64KByte的程序存儲(chǔ)空間,主要是存放系統(tǒng)程序。
?。?)62256靜態(tài)RAM數(shù)據(jù)存儲(chǔ)器,提供64KByte的數(shù)據(jù)存儲(chǔ)空間,主要是存放采集的數(shù)據(jù),自帶電池,可以保證數(shù)據(jù)在掉電的情況下不丟失。
(7)DS1302日歷芯片可以根據(jù)設(shè)置自動(dòng)完成年\月\日\時(shí)\份\秒的計(jì)算,并可以實(shí)現(xiàn)鬧鐘,它主要使系統(tǒng)能夠定時(shí)采集數(shù)據(jù)。
?。?)CAN屬于總線式串行通訊網(wǎng)絡(luò),具有很強(qiáng)的糾錯(cuò)能力,支持差分收發(fā),因而適合高噪聲環(huán)境,而且傳輸距離比較遠(yuǎn)。在系統(tǒng)中我們采用了SJA1000芯片,通過正確連接和設(shè)置的,達(dá)到CAN總線物理層和數(shù)據(jù)鏈路層的所有功能的自動(dòng)完成。
?。?)開關(guān)驅(qū)動(dòng)電路:主要是提供給各種開關(guān)電源、交直流電機(jī)調(diào)速系統(tǒng)的電壓與電流。在系統(tǒng)中我們采用數(shù)字電路與模擬電路的結(jié)合完成。
?。?0)液晶顯示與觸摸屏:提供人機(jī)交互友好界面,我們選擇了中國(guó)臺(tái)灣AMPIRE公司產(chǎn)DG-32240-27-SNCW-HCDTC液晶顯示觸摸屏,具有320??240顯示象素點(diǎn),160×110mm觸摸大小,其顯示部分控制芯片是SED1335,觸摸部分控制芯片是ADS7843。
1.2系統(tǒng)調(diào)試
在系統(tǒng)的調(diào)試中,一切功能與電氣指標(biāo)都能達(dá)到預(yù)先設(shè)計(jì)的要求,但幾次出現(xiàn)觸摸屏與單片機(jī)之間指令不執(zhí)行,甚至燒壞了觸摸屏中的芯片ADS7843的問題。
2、硬件設(shè)計(jì)分析
根據(jù)硬件連接,使用的單片機(jī)P3、P4口通過Xilinx95144與液晶顯示相連,觸摸屏與單片機(jī)P1口直接連接,三者工作電壓均為廠商推薦典型值5V。
2.180196KB單片機(jī)結(jié)構(gòu)
80196KB是IN公司繼8位單片機(jī)以后推出的16位單片機(jī)MCS_96系列的產(chǎn)品之一,它與8位單片機(jī)相比提高了控制系統(tǒng)的實(shí)時(shí)性,與現(xiàn)在的32位相比是真正意義上的單片機(jī),特別適用于各類自動(dòng)控制系統(tǒng)。它的內(nèi)部結(jié)構(gòu)采用普林斯頓(Princeton)體系結(jié)構(gòu),又稱馮。諾曼(VonNeumann)結(jié)構(gòu)。具有程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器合二為一的特點(diǎn)。它的P0口只能用于輸入,P1口是一個(gè)準(zhǔn)雙向口,P2口是一個(gè)多功能口,P3、P4口是雙向口可作為系統(tǒng)總線。
在本系統(tǒng)的電路中,采用P1口與觸摸屏接口打交道,P1口內(nèi)部管腳結(jié)構(gòu)如圖2所示。P1口是一個(gè)準(zhǔn)雙向I/O口,它由輸出緩沖器、內(nèi)部口鎖存器、內(nèi)部口寄存器和輸出緩沖器構(gòu)成,與MCS51的準(zhǔn)雙向口相同,內(nèi)部具有上拉電阻結(jié)構(gòu)。如圖2所示,上拉作用由三個(gè)FET管產(chǎn)生,其中p1是強(qiáng)上拉,p3由于高阻存在為弱上拉,p2為更弱上拉,n是低阻下拉FET.
圖2準(zhǔn)雙向口P1內(nèi)部結(jié)構(gòu)
當(dāng)復(fù)位時(shí),P1口呈現(xiàn)微弱上拉。當(dāng)用作輸入輸出功能,其原理是:“輸入”:P1口輸入數(shù)據(jù)時(shí)實(shí)際上是輸入到P1口寄存器中,由寄存器去驅(qū)動(dòng)管腳,圖二上/Q即為寄存器的輸出,CPU讀數(shù)據(jù)時(shí)是直接讀管腳。因此在讀數(shù)據(jù)時(shí)要保證P1口為輸入狀態(tài),應(yīng)先對(duì)P1口寄存器SFR置位,此時(shí)n截止。切記當(dāng)端口用作輸入口時(shí),決不能向該口寫數(shù)據(jù)“0”。“輸出”:在此狀態(tài)下,當(dāng)指令對(duì)P1.x口的I/O口寄存器輸入數(shù)據(jù)是“0”時(shí),內(nèi)部寄存器的/Q輸出會(huì)打開下拉FET即n,而關(guān)閉全部上拉FET即p1、p2、p3,這時(shí)對(duì)應(yīng)輸出腳電平PORTPIN為“0”;當(dāng)指令對(duì)P1口的某一個(gè)I/O口寄存器輸入數(shù)據(jù)是“1”時(shí),內(nèi)部寄存器的/Q輸出會(huì)關(guān)閉n,打開p1、p2、p3,這時(shí)對(duì)應(yīng)輸出腳電平PORTPIN為“1”,即輸出是一個(gè)編程直接“寫”的過程。
2.2Xilinx95144
是一款高品質(zhì)的ComplexProgrammableLogicDevice復(fù)雜的可編程邏輯器件(CPLD),典型工作電壓為3.3-5V,支持ISP即在線編程功能,編程次數(shù)可達(dá)上萬次,管腳到管腳信號(hào)延遲7.5ns,工作頻率可達(dá)111MHz,內(nèi)部有144個(gè)宏單元均是ROM結(jié)構(gòu),掉電后內(nèi)部的邏輯數(shù)據(jù)不會(huì)丟失。每個(gè)I/O管腳在輸出狀態(tài)下:高電平時(shí)典型值-4mA,低電平典型值24mA;每個(gè)I/O管腳在輸入狀態(tài)下:高、低電平時(shí)均為u*。因此輸出電氣特性:在通常的TTL電平芯片電路中、外接驅(qū)動(dòng)不多的情況下,可以不使用上拉電阻;輸入電氣特性:
一般的集成芯片都可以直接與其相連,不會(huì)出現(xiàn)驅(qū)動(dòng)力不夠現(xiàn)象,更不會(huì)出現(xiàn)損壞。
2.3觸摸顯示屏
顯示部分的控制芯片是SED1335,是日本EPSON公司生產(chǎn)的一款液晶顯示屏控制器,與同類產(chǎn)品相比功能zui強(qiáng)。其特點(diǎn)主要是:有較強(qiáng)功能的I/O緩沖器;指令功能豐富;4位數(shù)據(jù)并行發(fā)送;圖形和文本方式混合顯示。觸摸部分的控制芯片是模擬數(shù)據(jù)轉(zhuǎn)換器ADS7843,是美國(guó)Ti公司生產(chǎn)的具有同步串行接口的8位、12位數(shù)據(jù)輸出,四線電阻觸摸屏模數(shù)轉(zhuǎn)換接口芯片。它通過標(biāo)準(zhǔn)SPI協(xié)議和CPU通信;精度高,當(dāng)使用12位時(shí)精度達(dá)到0.04mm,可以達(dá)到X,Y方向上的1/256,1/4096精度;zui大可接受電流?50mA,典型值為數(shù)uA;工作電壓為-0.3-+6V;工作時(shí)鐘典型值2MHz即數(shù)量級(jí)是uS;當(dāng)觸摸屏被按下時(shí)(即有觸摸事件發(fā)生),ADS7843會(huì)發(fā)出中斷請(qǐng)求。
在出現(xiàn)數(shù)次問題后,我們都發(fā)現(xiàn)顯示部分正常,而觸摸部分不正常,也就是ADS7843的使用有問題,其內(nèi)部結(jié)構(gòu)原理圖如圖3所示。從圖上我們可以看見主要有四通道信號(hào)轉(zhuǎn)換器、逐次逼近寄存器(SAR)、電容型數(shù)據(jù)/轉(zhuǎn)換器(CDAC)、比較器、串行接口與控制器功能模塊組成。其中與編程有關(guān)的信號(hào)是DCLK、/CS、DIN、DOUT、BUSY、/PENIRQ,數(shù)據(jù)
流向見圖4所示。
圖3AD7843內(nèi)部原理結(jié)構(gòu)
圖4ADS7843接口圖
對(duì)于ADS7843來說,除了電源與地線,輸入模擬信號(hào)X+、X-、Y+、Y-、IN3、IN4,輸入數(shù)字信號(hào)DCLK、/CS、DIN;輸出數(shù)字信號(hào)BUSY、DOUT、/PENIRQ.與編程有關(guān)的均是數(shù)字信號(hào),數(shù)據(jù)輸入、輸出、時(shí)鐘輸入均為串行方式,zui高轉(zhuǎn)換速率為1/125KHz,線路設(shè)計(jì)結(jié)構(gòu)上比較方便只需要6根端口線單片機(jī)就可以建立*的數(shù)據(jù)交互。
2.4現(xiàn)象分析
采用80196的P1口的6個(gè)端口專門與其打交道,從硬件上講是*可以的。然而由于在編程中P1口有些端口是作輸入、有些端口需要作為輸出,80196又沒有對(duì)位直接進(jìn)行操作的指令,對(duì)P1某一個(gè)端口作輸出操作,通常196會(huì)先讀P1口的8個(gè)管腳,然后再進(jìn)行寫!的操作,根據(jù)P1口結(jié)構(gòu),必然會(huì)帶來若作為輸入端口的管腳在其外部輸入信號(hào)為低時(shí),執(zhí)行寫!指令后出現(xiàn)了將其輸入狀態(tài)改為了輸出狀態(tài)。此時(shí)在80196與ADS7843的DOUT與/PENIRQ這兩根線上都將出現(xiàn)了同一根線上出現(xiàn)兩個(gè)輸出信號(hào)、爭(zhēng)搶信號(hào)的問題,這是數(shù)字電路中不允許的,它的出現(xiàn)就有可能損壞芯片。
根據(jù)資料介紹,在編程操作中,當(dāng)P1口中有些管腳作為輸入,有些管腳作為輸出時(shí)要特別注意對(duì)P1口寫指令操作,它是一個(gè)讀、寫過程,借助于一些單元。
3、軟件設(shè)計(jì)分析
對(duì)于按鍵的處理,系統(tǒng)采用中斷方式,流程如圖5所示。
圖5按鍵流程圖
主要相關(guān)程序如下:
/*觸摸屏寫控制指令、讀數(shù)據(jù)子程序*/
LDBR6,#08H;寫8位控制指令代碼
CLRC;LDBAL,COM;指令代碼準(zhǔn)備發(fā)送
ADS7843_W:SHLBAL,#1;數(shù)據(jù)串行發(fā)送
JCS_DI_1;JMPS_DI_0
S_DI_1:LDBBL,IOPORT1;將P1口狀態(tài)保存在BL寄存器中
ORBBL,#03H;將數(shù)據(jù)出DOUT置高,數(shù)據(jù)入DIN為信號(hào)輸入狀態(tài)
LDBIOPORT1,BL;將修改后的狀態(tài)送至P1口
JMPSKCLK
S_DI_0:LDBBL,IOPORT1;將P1口狀態(tài)保存在BL寄存器中
ANDBBL,#0FEH;將數(shù)據(jù)出DOUT置低
ORBBL,#02H;數(shù)據(jù)入DIN為信號(hào)輸入狀態(tài)
LDBIOPORT1,BL;將修改后的狀態(tài)送至P1口
SKCLK:LDBBL,IOPORT1;將P1口狀態(tài)保存在BL寄存器中
ANDBBL,#0F7H;時(shí)鐘信號(hào)DCLK為低
ORBBL,#01H;將數(shù)據(jù)出DOUT置高
LDBIOPORT1,BL;將修改后的狀態(tài)送至P1口
LDBBL,IOPORT1;將P1口狀態(tài)保存在BL寄存器中
ORBBL,#09H;時(shí)鐘信號(hào)DCLK為高,將數(shù)據(jù)出DOUT置高
LDBIOPORT1,BL;將修改后的狀態(tài)送至P1口
DJNZR6,ADS7843_W;8位指令送完
LDBBL,IOPORT1;將P1口狀態(tài)保存在BL寄存器中
ANDBBL,#0F7H;時(shí)鐘信號(hào)DCLK為低
ORBBL,#01H;將數(shù)據(jù)出DOUT置高
LDBIOPORT1,BL;將修改后的狀態(tài)送至P1口
/*準(zhǔn)備接受觸摸屏按鍵讀14位數(shù)據(jù)數(shù)據(jù),先接受低8位數(shù)據(jù)*/
LDBR6,#08H;鍵值設(shè)定方向讀低8位數(shù)據(jù)程序
DATA_OUT:LDBBL,IOPORT1;將P1口狀態(tài)保存在BL寄存器中
ORBBL,#09H;時(shí)鐘信號(hào)DCLK為高,將數(shù)據(jù)出DOUT置高
LDBIOPORT1,BL;將修改后的狀態(tài)送至P1口
LDBBL,IOPORT1;將P1口狀態(tài)保存在BL寄存器中
ANDBBL,#0F7H;時(shí)鐘信號(hào)DCLK為低
ORBBL,#01H;將數(shù)據(jù)出DOUT置高
LDBIOPORT1,BL;將修改后的狀態(tài)送至P1口
SHLBAL,#1;數(shù)據(jù)左移一位
JBSIOPORT1,0,DI_O_1;判數(shù)據(jù)入DIN高?
ANDBAL,#0FEH;數(shù)據(jù)入DIN低,輸入0
JMPDATA_OUT1
DI_O_1:ORBAL,#01H;數(shù)據(jù)入DIN高,輸入1
DATA_OUT1:DJNZR6,DATA_OUT;8位數(shù)據(jù)讀完
STBAL,F(xiàn)IRST;低8位數(shù)據(jù)保存至FIRST單元同樣處理接受數(shù)據(jù)高4位數(shù)據(jù)
…………;4位數(shù)據(jù)讀完,數(shù)據(jù)保存。讀14位數(shù)據(jù)程序完成后返回
程序上機(jī)調(diào)試后再?zèng)]有出現(xiàn)觸摸屏與單片機(jī)之間指令不執(zhí)行,燒壞觸摸芯片的問題。也許你會(huì)發(fā)現(xiàn),在程序編程中,我們使用了BL寄存器作P1口的過渡保護(hù)單元,對(duì)輸出信號(hào)采用了對(duì)位的或、與方式達(dá)到輸出“1”、“0”電平。保證P1的輸入端口不會(huì)因其他P1端口的操作而改變其狀態(tài),在信號(hào)線上出現(xiàn)兩個(gè)輸出、爭(zhēng)搶信號(hào)的現(xiàn)象。這就是觸摸屏出問題的主要原因。
4、結(jié)語
在項(xiàng)目鑒定時(shí),專家們給出了系統(tǒng)設(shè)計(jì)新穎、結(jié)構(gòu)合理、功能比較完善,擴(kuò)展性強(qiáng),有一定的市場(chǎng)空間。特別提到了每個(gè)觸摸鍵設(shè)計(jì)合理、反映正確的結(jié)論。
在本項(xiàng)目結(jié)束時(shí)還有一個(gè)關(guān)于按鍵的問題:由于是使用單端模式工作,且CPU接到請(qǐng)求后,為了消除抖動(dòng)、防止誤觸發(fā),延時(shí)后再響應(yīng)其請(qǐng)求,造成了按鍵反映遲緩,這是一個(gè)硬件、軟件都需改進(jìn)的問題,硬件需換模擬數(shù)據(jù)轉(zhuǎn)換芯片,軟件上延時(shí)可以短一些。