W77E58在RTU遙信單元中的應(yīng)用
因W77E58的外部中斷INT2~I(xiàn)NT5只有邊沿觸發(fā)方式,為簡(jiǎn)化程序設(shè)計(jì),外部中斷INT0~I(xiàn)NT5全部設(shè)置成沿觸發(fā)方式,并且由軟件來(lái)清除外部中斷標(biāo)志位。
W77E58的P2口作輸出用,控制8片SN74245的G端(19腳),完成8個(gè)8路開(kāi)關(guān)狀態(tài)信號(hào)通道選擇工作。
串行口0、1經(jīng)光電隔離后通過(guò)MAX487E芯片與RTU系統(tǒng)進(jìn)行雙RS485網(wǎng)通道。在任一網(wǎng)絡(luò)發(fā)生通信故障時(shí),將其工作由另一通信網(wǎng)絡(luò)來(lái)兼任,完成監(jiān)測(cè)狀態(tài)、電能脈沖累積計(jì)數(shù)、SOE的數(shù)據(jù)上傳和定值以及GPS時(shí)鐘校對(duì)等數(shù)據(jù)下傳。
2個(gè)串行通信速率都為19.2kbps。制定通信協(xié)議時(shí)很好地考慮了W77E58硬件的多機(jī)通信自動(dòng)地址識(shí)別功能。
協(xié)議第1字節(jié)是接收單元地址幀,為9位數(shù)據(jù)格式,最后1位(數(shù)據(jù)/地址識(shí)別位)為1。通信初始化時(shí),將串行口設(shè)置成通信方式3,且SM2位置1, SADDR=單元地址號(hào),SADEN=0XFFH。這樣,遙信單元只有在接收到與本單元地址號(hào)相同的地址幀時(shí),才產(chǎn)生中斷。中斷程序再將通信設(shè)置成通信方式1,中斷接收隨后的8位格式數(shù)據(jù)。本次通信完成后,再將通信設(shè)置成通信方式3。
經(jīng)過(guò)以上處理,遙信單元不再被眾多無(wú)關(guān)通信打擾,大大減少了系統(tǒng)的時(shí)間開(kāi)銷(xiāo)。
擴(kuò)展1片24C32 EEPROM芯片,用于遙信單元定值和掉電狀態(tài)數(shù)據(jù)以及單元地址號(hào)等需要保存的數(shù)據(jù)的存放。
因RTU系統(tǒng)對(duì)各遙信單元時(shí)鐘的準(zhǔn)確性要求嚴(yán)格,單元機(jī)晶振選用穩(wěn)定性較高的4腳方形MHz晶體振蕩器,并每隔1分鐘進(jìn)行1次GPS廣播對(duì)時(shí),以統(tǒng)一RTU系統(tǒng)中各遙信單元的軟件時(shí)鐘。
經(jīng)過(guò)以上幾個(gè)方面的處理,系統(tǒng)設(shè)計(jì)達(dá)到了產(chǎn)品整體性能要求,很好地滿足了成本控制的需要,批量應(yīng)用效果良好。
3 W77E58使用注意事項(xiàng)
①在使用MOVX指令訪問(wèn)W77E58內(nèi)含的1KB SRAM前,須用MOV PMR,#01H指令給PMR寄存器賦值01H,以選擇使用內(nèi)部1KB SRAM區(qū)。
②串行口1只能使用定時(shí)器1作為其波特率發(fā)生器;而串行口0既可以使用定時(shí)器0,也可以使用定時(shí)器1。若使用時(shí)2串口通信波特率相同,則可以同時(shí)使用定時(shí)器1,從而減少占用1個(gè)定時(shí)器0。
③W77E58的外部中斷INT2~I(xiàn)NT5只有邊沿觸發(fā)方式,但可分別設(shè)置成硬件或軟件清除外部中斷標(biāo)志位。
④使用時(shí),數(shù)據(jù)指針DPTR到底是DPTR0還是DPTR1由DPS.0位來(lái)決定。
當(dāng)DPS.0=0時(shí),選擇DPTR0;
當(dāng)DPS.0=1時(shí),選擇DPTR1。
DPS.0位不能用位指令來(lái)操作。如:SETB DPS.0指令不能達(dá)到將DPS.0位置1選擇DPTR1的目的,而必須使用MOV DPS,#01H指令。
雙數(shù)據(jù)指針在對(duì)內(nèi)含的1KB SRAM中(對(duì)片外擴(kuò)展的RAM也是一樣)進(jìn)行數(shù)據(jù)塊的移動(dòng)時(shí)顯得非常靈活方便。請(qǐng)看下面1段程序使可知較雙數(shù)據(jù)指針的優(yōu)越性。
MOV PMR,#01H ;使用內(nèi)部1KB
MOV R2,#CNT ;移動(dòng)塊的長(zhǎng)度
MOV DPS,#00H ;選擇DPTR0
MOV DPTR,#DHDL ;移入地址
MOV DPS,#01H ;選擇DPTR1
MOV DPTR,#SHSL ;移出地址
LOOP;
MOVX A,@DPTR ;移出地址數(shù)據(jù)到A
INC DPTR ;DPTR1+1
MOV DPS 。#00H ;選擇DPTR0
MOVX @DPTR,A ;A數(shù)據(jù)到移入地址
INC DPTR ;DPTR0+1
MOV DPS 。#01H ;選擇DPTR1
DJNZ R2,LOOP ;R2-1≠0,繼續(xù)
⑤W77E58在工作時(shí)易產(chǎn)生較大開(kāi)關(guān)噪聲,影響系統(tǒng)工作電源。建立使用時(shí)在VDD腳就近并聯(lián)1個(gè)0.1μF瓷介電容和1個(gè)47μF鉭電容后再串聯(lián)1個(gè)JSZ-S62多孔EMI吸收磁珠到系統(tǒng)工作電源,以使系統(tǒng)具有更好地電磁兼容性。
評(píng)論