一種工業(yè)顯示屏的設(shè)計(jì)
在煉焦生產(chǎn)過程中,多臺作業(yè)機(jī)車按照給定的生產(chǎn)計(jì)劃,相互配合進(jìn)行工作,筆者設(shè)計(jì)了煉焦生產(chǎn)作業(yè)機(jī)車自動化控制系統(tǒng)。
為了幫助車上操作人員正確、準(zhǔn)時(shí)進(jìn)行操作,防止誤操作或各機(jī)車相互配合不當(dāng)造成事故,煉焦控制系統(tǒng)中設(shè)計(jì)了一種工業(yè)顯示屏。顯示屏用數(shù)碼管和指示燈顯示:當(dāng)前本車的生產(chǎn)任務(wù),執(zhí)行任務(wù)的時(shí)間以及實(shí)際時(shí)間,當(dāng)前其它相關(guān)作業(yè)機(jī)車的位置、工作狀態(tài)以及允許工作條件;顯示屏用語音進(jìn)行作業(yè)提示、工作狀態(tài)通報(bào)、報(bào)警。圖1為工作中的顯示屏,數(shù)碼管用L表示,指示燈用D表示。
1 總體電路結(jié)構(gòu)
顯示屏總體電路框圖如圖2。單片機(jī)AT89C51作為電路核心,AT89C51串行口接收中央控制室主控計(jì)算機(jī)發(fā)來串行數(shù)據(jù),由此控制顯示的內(nèi)容和發(fā)出相應(yīng)的語音。AT89C51內(nèi)部定時(shí)器Tl作為波特率發(fā)生器,TO用作定時(shí)。為了和車上PLC通信接口一致,顯示屏采用RS一485串行通信標(biāo)準(zhǔn),用MAX485作為通信接口。
為了防止系統(tǒng)出現(xiàn)死機(jī)現(xiàn)象,采用MAX813芯片實(shí)現(xiàn)“看門狗”功能。MAX813第6腳WDI接至AT89C51的P2.4,程序中每隔一定的時(shí)間執(zhí)行一條CPL,P2.4指令,即不斷地向MAX8l3的WDI腳發(fā)出脈沖信號進(jìn)行“喂食”,一旦AT89C51出現(xiàn)“死鎖”時(shí),不可能再執(zhí)行CPL P2.4,MAX813的計(jì)數(shù)器溢出,控制RESET引腳向AT89C51輸出一個(gè)復(fù)位信號,使AT89C51復(fù)位。
2 顯示電路設(shè)計(jì)
顯示電路設(shè)計(jì)采用SPI接口的顯示驅(qū)動電路芯片MCl4489。SPI總線是一個(gè)同步串行外設(shè)接口,只需3~4根數(shù)據(jù)線和控制線即可實(shí)現(xiàn)與具有SPI總線接口功能的I/O器件進(jìn)行接口,因此,可以簡化電路設(shè)計(jì),節(jié)省器件。
2.1 MCl4489介紹
MCl4489是Motorola公司生產(chǎn)的一種高集成度的顯示驅(qū)動器,集鎖存、譯碼、驅(qū)動、掃描、時(shí)鐘于一體,采用動態(tài)掃描方式驅(qū)動共陰極LED數(shù)碼管或獨(dú)立的LED指示燈,且亮度可程控為全亮或半亮。一片MCl4489可直接驅(qū)動5個(gè)顯示單元,1個(gè)顯示單元可以是1個(gè)數(shù)碼管或4個(gè)獨(dú)立的LED指示燈。
(1)MCl4489引腳功能
MCl4489其引腳排列如圖3,引腳功能如下。
Bl~B5(BANKl~5):顯示位驅(qū)動端,低電平有效。MCl4489采用B1~B5依次有效的動態(tài)掃描方式驅(qū)動5個(gè)顯示單元,B5為最高位驅(qū)動端。
a~h:數(shù)碼管顯示段驅(qū)動端。驅(qū)動數(shù)碼管時(shí),a~g分別驅(qū)動數(shù)碼管的a~g字段,h驅(qū)動小數(shù)點(diǎn)。驅(qū)動指示燈時(shí),a、b、c、d直接控制4個(gè)指示燈,e、f、g處于低電平。一片MCl4489最多可控制5個(gè)數(shù)碼管或20個(gè)獨(dú)立的指示燈。
EN:串行輸入使能端,為低電平有效。
DI(DATA IN):串行數(shù)據(jù)輸入端。EN有效期間,串行數(shù)據(jù)在CLOCX上升沿由DI端移入內(nèi)部移位寄存器,高位在前。
D0(DATA OUT):串行數(shù)據(jù)輸出端。在時(shí)鐘脈沖CLOCK下降沿移出數(shù)據(jù),可用于芯片間級聯(lián),前級D0接后級DI。
CLOCK:串行數(shù)據(jù)時(shí)鐘輸入端。
Rx:外部電流設(shè)置電阻,要求Rx≥700Ω,其值決定驅(qū)動電流大小,選擇Rx阻值調(diào)節(jié)顯示亮度。
VDD、VSS:電源端、地線。
(2)MCl4489顯示控制[!--empirenews.page--]
①顯示譯碼方式
MCl4489有3種顯示譯碼方式,如表1。
②“配置字”和“顯示字”
輸入到MCl4489的數(shù)據(jù)分為兩類:“配置字”和“顯示字”,一片MCl4489需要1字節(jié)的“配置字”,3字節(jié)的“顯示字”。MCl4489的“配置字”、“顯示字”分別在不同的有效期間輸入。
“配置字”確定顯示代碼的譯碼方式,見表2。
“顯示字”是各顯示單元的顯示代碼,并控制小數(shù)點(diǎn)位置和顯示亮度。3字節(jié)共有24位D23~DO。D23~D20是控制用高半字節(jié),D23是控制顯示亮度,D23=0,控制顯示為半亮狀態(tài),D23=1,控制顯示為全亮狀態(tài);D22~D20是控制小數(shù)點(diǎn)的位置,見表3。D19~D16、D15~D12、D11~D8、D7~D4、D3~DO分別是B5、B4、B3、B2、B1的顯示代碼。
[!--empirenews.page--]
圖l下面的數(shù)碼管、指示燈L13~L24、D11~D35顯示由4片MCl4489驅(qū)動,級聯(lián)構(gòu)成第二串顯示電路。第二串顯示電路每一片MCl4489的B1~B3驅(qū)動3個(gè)數(shù)碼管,B4驅(qū)動驅(qū)動4個(gè)LED指示燈,B5驅(qū)動2個(gè)LED指示燈。4片MCl4489的配置字都是00110001B,即Bl~B3采取16進(jìn)制譯碼,B4、B5不譯碼。根據(jù)MCl4489輸入規(guī)定,4片級聯(lián)需要輸入12字節(jié)的配置字,輸入14字節(jié)的顯示字,輸入格式見表4。
AT89C5l采用軟件模擬MCl4489串行接口時(shí)序進(jìn)行接口,P2.0、P2.1、P2.2作為第一串顯示電路的EN、CLOCK、DI,P2.5、P2.6、P2.7作為第二串顯示電路的麗、CLOCK、DI。
[!--empirenews.page--]
第一串顯示電路輸入程序如下。
3 語音電路設(shè)計(jì)
顯示屏中需要講的話在VP880系統(tǒng)下進(jìn)行錄音、并分割成語音段存放在存儲器中。語音的采樣頻率較高能產(chǎn)生更好的音質(zhì),但造成容量增大,一般采樣頻率取32kps速率。顯示屏應(yīng)用VPl606語音處理芯片設(shè)計(jì)語音電路。
3.1 語音處理芯片V1606
VPl606是可用于多段語音再生的語音處理芯片。當(dāng)與外圍語音存儲器相連后,可根據(jù)相應(yīng)的控制信號再生多達(dá)64段的語音信息。64段語音數(shù)字信號分別存儲在存儲器中4個(gè)堆,在每個(gè)堆能存放16段語音。在外部控制信號作用下,VPl606從存儲器中取出相應(yīng)的語音信號,經(jīng)解調(diào)譯碼后,輸出模擬語音信號。
VPl606為48腳DIP封裝,其各引腳的有關(guān)功能及說明如下。
AO~A19:地址總線,輸出。
DO~D7:數(shù)據(jù)總線,輸入。
ANG、ANG:模擬語音信號差分輸出端,與放大器連接。
ANGD:模擬語音信號反饋輸入端。
EVN:包絡(luò)信號輸入端。此引腳連接一個(gè)反饋電阻到INT引腳。
INT:綜合輸出端,連接一個(gè)外部RC電路。
INA~I(xiàn)ND:二進(jìn)制段代碼輸入端,INA為低位。
INE、INF:二進(jìn)制堆代碼輸入端,INE為低位。
SE、SF:二進(jìn)制堆代碼輸出端,與EPROMi奎接,將
INE、INF輸入的堆代碼輸出到存儲器,選擇相應(yīng)的堆。
I/O:控制輸入/忙輸出端,低電平有效,作為輸入是控制信號,當(dāng)段代碼、堆代碼輸入到INA~I(xiàn)NF后,在此引腳輸入一個(gè)低電平脈沖才能觸發(fā)相應(yīng)語音段;作為輸出是“忙”信號,在語音播放時(shí),此引腳變?yōu)榈碗娖捷敵?,表示正在播放?br /> OSC1、OSC2:內(nèi)部振蕩器連接外部RC元件引腳,如果采用外部時(shí)鐘脈沖,則外部時(shí)鐘脈沖從OSC2引腳輸入。
RESET:復(fù)位輸入端,低電平有效。
VDD、VDS、VAS:電源端、數(shù)字地、模擬地。
3.2 語音電路及工作原理
設(shè)計(jì)的語音電路如圖6所示。電路中,R1、R2、R3分別為3KΩ、630KΩ、240Ω;VRl為200KΩ;Cl、C2均為1uF。VPl606的A18~A19懸空未用。從LM324輸出的模擬語音信號,還要經(jīng)過低通濾波電路進(jìn)行濾波,再經(jīng)功率放大電路后送揚(yáng)聲器輸出。調(diào)節(jié)VRl,可以調(diào)節(jié)語速。
[!--empirenews.page--]
電路中采用14Mbit E2PROM一29C040作為存儲器件。需要講的24句話分割成24個(gè)語音段,按2個(gè)堆存放在29C020中。AT89C5l的P1用于控制語音,當(dāng)需要控制講話時(shí),先從P1.7偵測是否有“忙”信號,正在播放時(shí),試圖控制發(fā)出另一段語音是徒勞的;當(dāng)無“忙”信號時(shí),P1.0~P1.3輸出段代碼,P1.4輸出堆代碼,P1.6輸出低電平脈沖控制講話開始。如果存儲器件改為8Mbit的29F080,則VP606的SF連接29F080的A19,可控制4個(gè)堆64段語音。
4 顯示屏相關(guān)軟件設(shè)計(jì)思想
4.1 自檢程序
為了檢查顯示屏硬件電路是否正常,設(shè)計(jì)了自檢程序。每次上電復(fù)位后先運(yùn)行自檢程序,各位數(shù)碼管按順序顯示全O、全1、……全9各1秒鐘;各指示燈在數(shù)碼管顯示奇數(shù)時(shí)滅,顯示偶數(shù)時(shí)亮。并按語音編號順序發(fā)出所有的語音。
4.2 顯示、語音處理
顯示屏是根據(jù)接收的串行數(shù)據(jù),控制顯示的內(nèi)容和發(fā)出相應(yīng)的語音。中央控制室主控計(jì)算機(jī)在通信報(bào)文中給出了:①數(shù)碼管顯示的二進(jìn)制數(shù)據(jù);②28位“l(fā)”/“0”表示28個(gè)LED指示燈亮滅,D5~D10的亮滅不由通信報(bào)文給出;③語音編號。
顯示屏接收到正確報(bào)文后,根據(jù)接收報(bào)文更新顯示數(shù)據(jù)區(qū),并設(shè)置某段語音標(biāo)志。軟件中每一次循環(huán)顯示,將顯示數(shù)據(jù)區(qū)數(shù)碼管顯示數(shù)據(jù)化為BCD碼,連同指示燈數(shù)據(jù),按MCl4489顯示字格式更新第一串、第二串顯示緩沖區(qū)。
作業(yè)機(jī)車在檢修期間常開出工作區(qū)域,顯示屏與主控計(jì)算機(jī)通信中斷。利用AT89C51內(nèi)部定時(shí)器,可以解決實(shí)際時(shí)間保持不變的問題。在顯示數(shù)據(jù)區(qū)的實(shí)際時(shí)間的時(shí)字節(jié)、分字節(jié)基礎(chǔ)上,增設(shè)秒字節(jié)、0.1秒字節(jié),AT89C51內(nèi)部定時(shí)器T0每隔100mS中斷一次,在中斷程序中,0.1秒字節(jié)數(shù)據(jù)+1,根據(jù)0.1秒字節(jié)數(shù)據(jù)更新秒字節(jié)數(shù)據(jù),并依次更新分字節(jié)數(shù)據(jù)、時(shí)字節(jié)數(shù)據(jù),保證通信中斷時(shí)仍顯示正確的實(shí)際時(shí)間。正常通信時(shí),每正確接收一次通信報(bào)文,改寫時(shí)字節(jié)、分字節(jié)數(shù)據(jù)的同時(shí),對秒字節(jié)清0。根據(jù)0.1秒字節(jié)數(shù)據(jù),AT89C51控制D5~D10每隔一秒鐘閃爍一次。
約定語音編號為0表示不講話,若接收通信報(bào)文中語音編號發(fā)生了變化,且不為0,則設(shè)置該編號語音標(biāo)志,顯然,重復(fù)相同的語音,必須中間插入0編號。軟件中,按照優(yōu)先級別查詢語音標(biāo)志,在出現(xiàn)多個(gè)語音標(biāo)志時(shí),優(yōu)先發(fā)出重要的語音。
包括工業(yè)顯示屏的煉焦生產(chǎn)機(jī)車自動化控制系統(tǒng)已經(jīng)多個(gè)工業(yè)現(xiàn)場使用,實(shí)現(xiàn)了計(jì)算機(jī)對煉焦生產(chǎn)過程作業(yè)機(jī)車集中管理控制,達(dá)到了作業(yè)機(jī)車全程自動定位。