關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于GMS87C1404的干洗機(jī)自動(dòng)控制系統(tǒng)設(shè)計(jì)

基于GMS87C1404的干洗機(jī)自動(dòng)控制系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2007-06-20 來(lái)源:網(wǎng)絡(luò) 收藏
摘要是韓國(guó)HYNIX半導(dǎo)體公司采用CMOS技術(shù)生產(chǎn)的8位單片機(jī),具有功耗低、運(yùn)行速度高等特點(diǎn),而且片內(nèi)資源豐富,可廣泛用于各類中。文中介紹了 MCU的性能特點(diǎn),給出了單片機(jī)在機(jī)中的應(yīng)用方案,同時(shí)給出了該系統(tǒng)中的數(shù)據(jù)備份程序BACKUP和數(shù)據(jù)恢復(fù)復(fù)程序 RESTORE的程序清單。
關(guān)鍵詞:?jiǎn)纹瑱C(jī);MCU;干冼機(jī);VFD;GMS87C1404

1 概述

  GMS87C1404是韓國(guó)HYNIX半導(dǎo)體公司(前身是韓國(guó)現(xiàn)代半導(dǎo)體公司)采用CMOS技術(shù)生產(chǎn)的8位單片機(jī),它具有功耗低、速度高等特點(diǎn),并具有豐富的片內(nèi)資源。GMS87C1404采用28腳封裝,有23個(gè)I/O口。由于該單片機(jī)的性價(jià)比高,因此,近兩年來(lái)在國(guó)內(nèi)家電行業(yè)中獲得了越來(lái)越多的應(yīng)用。

筆者依據(jù)GMS87C1404的特點(diǎn)和機(jī)中的要求了一個(gè)GMS87C1404的機(jī)控制系統(tǒng)。該系統(tǒng)在使用了一段時(shí)間后獲得了滿意的效果。

2 GMS87C1404的特點(diǎn)

  圖1是GMS87C1404的引腳圖。它的主要特點(diǎn)如下:
●內(nèi)帶4kROM和192字節(jié)在片RAM(包括堆棧);
●8MHz時(shí)的指令周期為0.25μs;
●工作電壓范圍為2.5~5.5V;
●具有8位雙向多功能I/O口,可直接驅(qū)動(dòng)LED顯示;
●內(nèi)含8位A/D轉(zhuǎn)換器;
●內(nèi)含1個(gè)8位時(shí)間間隔定時(shí)器;
●內(nèi)含4個(gè)8位定時(shí)/計(jì)數(shù)器;
●內(nèi)含2個(gè)10位高速PWM模式;
●內(nèi)含WATCHDOG定時(shí)器;
●帶有1個(gè)8位SPI串行接口;
●具有12個(gè)中斷源;
●具有1個(gè)可編程蜂鳴器驅(qū)動(dòng)口;
●可支持省電模式STOP;
●可選用RC振蕩。

  GMS87C1404中的四個(gè)定時(shí)器/計(jì)數(shù)器不僅可以作為四個(gè)8位定時(shí)器/計(jì)數(shù)器使用,同時(shí)通過(guò)對(duì)定時(shí)方式寄存器TM0、TM1和TM2、TM3中有關(guān)位的設(shè)置還可以使它們工作在如下7種定時(shí)方式:
(1)8位計(jì)數(shù)器和8位捕捉方式;
(2)8位捕捉方式和8位比較輸出方式;
( 3)8位定時(shí)/計(jì)數(shù)10位PWM方式;
( 4)16位定時(shí)器方式;

( 5)16位計(jì)數(shù)器發(fā)生;
(6)16位捕捉方式;
(7)16位比較輸出方式。

另外,除了T0、T1、T2、T3四個(gè)定時(shí)器以外,GMS87C1404還有一個(gè)時(shí)間間隔定時(shí)器BITR,該時(shí)間間隔定時(shí)器只要一上電就一直運(yùn)行而不能停止。它的時(shí)鐘源可以是RC振蕩器也可以是主振經(jīng)分頻后的信
號(hào)。只要對(duì)CKCTLR寄存器中的BTCL位進(jìn)行置1操作,就可以使BITR清零并重新向上計(jì)數(shù),當(dāng)計(jì)數(shù)計(jì)到FF并溢出后,芯片中的計(jì)數(shù)器/定時(shí)器便產(chǎn)生 BIT中斷。因此,它可以作為在STOP方式下的片內(nèi)喚醒定時(shí)器使用,同時(shí)也可以作為WATCHDOG定時(shí)器使用或其它定時(shí)器使用。

  GMS87C1404中共有12個(gè)中斷,分別為4個(gè)外部中斷、4個(gè)定時(shí)中斷、ADC中斷、WDT中斷、BIT中斷和SPI中斷。這些中斷中的每一個(gè)都具有各自的優(yōu)先級(jí),并且中斷可以嵌套。

  GMS87C1404的蜂鳴器輸出功能使得用戶可以方便地選用無(wú)源蜂鳴器,該器件通過(guò)RBFUN和BUR寄存器的設(shè)置可以使RB1腳輸出交替變化的方波以用于驅(qū)動(dòng)蜂鳴器。其方波的頻率為:

f(Hz)=fxin/[2分頻系數(shù)(BUR+1)]

  其中的分頻系數(shù)和BUR的值均可以由BUR寄存器來(lái)確定。
除了片內(nèi)所具有的WATCHDOG電路外,電源跌落檢測(cè)(PFD)電路是GMS87C1404的又一個(gè)獨(dú)特之處。對(duì)PFDR寄存器進(jìn)行適當(dāng)?shù)脑O(shè)置可以使其在Vdd上的電壓下降到2.5~3.5V的范圍內(nèi),或使用2.0~3.0V電壓范圍內(nèi)的保持時(shí)間超過(guò)50ns。通過(guò)該電源跌落檢測(cè)電路還可以使MCU復(fù)位。跌落的電壓是在OTP編程時(shí)由CONFIG寄存器的PFD位決定的。正是這一特點(diǎn)提高了GMS87C1404的抗干擾和抗死機(jī)的能力。

  GMS87C1404的指令系統(tǒng)共有202條指令,其功能極為豐富。它不但包括了乘法和除法指令,同時(shí)還具有7條16位運(yùn)算操作比較指令,這七條比較指令分別為ADDWdp、CMPWdp、DECWdp、INCWdp、LDYAdp、STYAdp和SUBWdp。通過(guò)這些指令可大大簡(jiǎn)化復(fù)雜和多字節(jié)的運(yùn)算編程操作,提高編程的效率。

3 干洗機(jī)自動(dòng)控制系統(tǒng)的

  干洗機(jī)是通過(guò)液泵將洗滌劑加入到內(nèi)桶中的衣物里并通過(guò)內(nèi)桶或外桶之間低速交替的正反轉(zhuǎn)動(dòng)使洗滌劑與衣物上的油漬污漬充分作用、分解后再經(jīng)過(guò)高速旋轉(zhuǎn)甩掉被分解和多余的洗滌劑,然后通過(guò)蒸餾烘干來(lái)完成衣物的干洗過(guò)程。其中低速轉(zhuǎn)換的時(shí)間、高速甩干的時(shí)間和烘干的時(shí)間及烘干的溫度對(duì)被洗衣物的干洗效果至關(guān)重要,因此,這些環(huán)節(jié)不但要給予控制,而且要能預(yù)置、調(diào)節(jié)和存儲(chǔ)記憶。圖2是干洗機(jī)自動(dòng)控制系統(tǒng)的電原理框圖。

  該干洗機(jī)自動(dòng)控制系統(tǒng)以GMS87C1404為核心元件,通過(guò)鍵盤和VFD(熒光數(shù)碼顯示)屏來(lái)實(shí)現(xiàn)人機(jī)交互。其外部輸入信號(hào)包括溫度、門控和過(guò)載信號(hào)。其中溫度信號(hào)直接經(jīng)GMS87C1404中的A/D轉(zhuǎn)換處理后可在VFD屏上顯示出來(lái);而門控和過(guò)載信號(hào)實(shí)際上是開(kāi)關(guān)量信號(hào),這些信號(hào)經(jīng)兩路光耦隔離后進(jìn)入GMS87C1404。GMS87C1404根據(jù)用戶設(shè)定的參數(shù)和外部輸入的信號(hào)再經(jīng)程序處理后由驅(qū)動(dòng)電路驅(qū)動(dòng)9只繼電器,進(jìn)而實(shí)現(xiàn)對(duì)干洗機(jī)低速電機(jī)的正反轉(zhuǎn)動(dòng)、液泵電機(jī)、高速電機(jī)(高速1、高速2)、加熱烘干電熱器、風(fēng)機(jī)電機(jī)、蒸餾閥門以及冷卻水閥門的控制,并對(duì)各執(zhí)行部件之間復(fù)雜的邏輯關(guān)系和相互制約關(guān)系進(jìn)行協(xié)調(diào)控制。同時(shí),在運(yùn)行過(guò)程中,還需要對(duì)低速轉(zhuǎn)動(dòng)時(shí)間、高速甩干時(shí)間和烘干時(shí)間采用倒計(jì)時(shí)方式進(jìn)行顯示,當(dāng)烘干的溫度超過(guò)35度時(shí)自動(dòng)打開(kāi)冷卻水,以減緩烘干溫度的上升速度,當(dāng)烘干溫度超過(guò)設(shè)定溫度時(shí)則關(guān)閉電加熱器。電路中的 EEPROM選用24C01并通過(guò)二線I2C協(xié)議和GMS87C1404進(jìn)行通信,以實(shí)現(xiàn)對(duì)設(shè)置參數(shù)的存儲(chǔ)記憶。本干洗機(jī)自動(dòng)控制系統(tǒng)設(shè)有全自動(dòng)和半自動(dòng)兩種工作方式。

由于GMS87C1404的I/O口數(shù)量有限,因此要實(shí)現(xiàn)5個(gè)端口對(duì)11個(gè)鍵信號(hào)的采集,就需采用鍵盤來(lái)完成。本系統(tǒng)采用雙向鍵盤方案。圖3所示是該方案的鍵盤電路原理圖。在該電路的5個(gè)口中,先將RC4、RC3作為輸出,RC5、RC6、RD2作為輸入,通過(guò)RC3、RC4進(jìn)行掃描來(lái)讀入RC5、 RC6、RD2口的值,從而獲得K1、K2、K3、K5、K7、K9、K11的鍵值;然后再反過(guò)來(lái)將RC3、RC4作為輸入,RC5、RC6、RD2口設(shè)為輸出,并對(duì)RC5、RC6、RD2進(jìn)行掃描以讀入RC3、RC4口的值,從而得到K2、K4、K6、K8、K10的健值。這樣就可有效地利用較少的 I/O口來(lái)實(shí)現(xiàn)對(duì)較多的鍵信號(hào)的采集。

  因?yàn)閂FD屏具有高亮度,可設(shè)置簡(jiǎn)單圖形和動(dòng)態(tài)顯示的特點(diǎn),因而很適合用在干洗機(jī)中。本系統(tǒng)采用靜態(tài)VFD屏,該屏具有6位數(shù)碼和19個(gè)圖形文字符號(hào)共61個(gè)筆段。驅(qū)動(dòng)電路采用四片CS6210串聯(lián)來(lái)完成,每片CS6210可驅(qū)動(dòng)16個(gè)筆段。 GMS87C1404可通過(guò)3線串行接口將要顯示的數(shù)據(jù)送往CS6210。然后由CS6210根據(jù)所輸入的數(shù)據(jù)在相應(yīng)的引腳輸出對(duì)應(yīng)的VFD屏所需的- 24V電壓以點(diǎn)亮相應(yīng)的筆劃。

干洗機(jī)自動(dòng)控制系統(tǒng)的主程序圖如圖4所示,其中的安全備份程序用于提高該系統(tǒng)的可靠性。雖然GMS87C1404已經(jīng)提供了性能良好的WATCHDOG電路和PFD功能,但二者僅能在干擾信號(hào)達(dá)到一定程度時(shí)給出復(fù)位信號(hào)以保證不死機(jī)。而斷點(diǎn)的現(xiàn)場(chǎng)恢復(fù)以及機(jī)器的不間斷運(yùn)行還需要通過(guò)軟件來(lái)加以實(shí)現(xiàn)。因此,設(shè)計(jì)時(shí)可通過(guò)軟件將數(shù)據(jù)備份程序運(yùn)行過(guò)程中那些關(guān)鍵的數(shù)據(jù)拷貝在RAM區(qū)域中一些未使用的區(qū)域。下面是數(shù)據(jù)備份程序BACKUP和數(shù)據(jù)恢復(fù)程序 RESTORE的程序清單。
BACKUP: LDX#01H;備份數(shù)據(jù)的起始地址


  在初始化程序中,系統(tǒng)首先通過(guò)CHECK(自定義)寄存器與某一個(gè)定值(如 01010101B)進(jìn)行比較來(lái)判斷本次復(fù)位是上電復(fù)位還是因干擾后的WATCH-DOG或PFD復(fù)位,如果是上電復(fù)位,系統(tǒng)則正常初始化,并置 CHECK為設(shè)定值,否則系統(tǒng)將通過(guò)RE-STORE程序?qū)⒃鹊腂ACKUP數(shù)據(jù)進(jìn)行恢復(fù),然后再部分初始化并進(jìn)入主程序直接運(yùn)行,從而實(shí)現(xiàn)程序斷點(diǎn)的現(xiàn)場(chǎng)恢復(fù)和整機(jī)無(wú)異常感覺(jué)的連續(xù)運(yùn)行,另外,也可以在程序中的一些關(guān)鍵處設(shè)置軟件陷阱,這樣,一旦程序因干擾而沒(méi)有按正常的運(yùn)行途徑運(yùn)行而進(jìn)入陷阱時(shí),系統(tǒng)就會(huì)跳到RESTORE進(jìn)行數(shù)據(jù)恢復(fù)并使運(yùn)行程序恢復(fù)到正常的運(yùn)行次序,從而確保系統(tǒng)的可靠運(yùn)行。

參考文獻(xiàn)

1.GMS87C1404 User's Manual.HYUNDAI MicroElectronics



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉