單片機(jī)監(jiān)控芯片X25043的功能介紹
1. 序言
X25043是XICOR公司出產(chǎn)的單片機(jī)監(jiān)控芯片。它把四種常用的功能:上電復(fù)位、看門(mén)狗定時(shí)器、電壓監(jiān)控和串行EEPROM功能組合在單個(gè)封裝之內(nèi)。這種組合降低了系統(tǒng)成本并減少了對(duì)電路板空間的要求。下面分別介紹它們的功能。
2. X25043的原理
X25043將多種功能集成在一起,圖1是其原理框圖:
圖1 X25043原理框圖
其中/WP是X25043寫(xiě)保護(hù),低電平有效。
SI是串行數(shù)據(jù)輸入口,串行時(shí)鐘上升沿有效。
SO是串行數(shù)據(jù)輸出口,串行時(shí)鐘下降沿有效。
SCK是串行時(shí)鐘,用于控制串行數(shù)據(jù)的I/O。
/CS是芯片片選信號(hào),低電平有效。
VCC是供電電源。
/RESET是輸出的復(fù)位信號(hào),低電平有效。
2.1 上電復(fù)位和電壓監(jiān)控功能
在單片機(jī)系統(tǒng)應(yīng)用中,復(fù)位電路需要在供電電源VCC和振蕩器穩(wěn)定后能夠提供至少2個(gè)狀態(tài)的有效復(fù)位信號(hào),對(duì)X25043來(lái)說(shuō)是低電平信號(hào)。X25043可在電源和振蕩器穩(wěn)定后提供200ms的有效低電平信號(hào),然后恢復(fù)為高電平信號(hào)。在運(yùn)行過(guò)程中,X25043會(huì)時(shí)時(shí)監(jiān)控供電電源VCC。當(dāng)VCC下降到小于一個(gè)預(yù)先設(shè)定的電壓VTRIP時(shí),/RESET輸出信號(hào)將為低電平,使單片機(jī)系統(tǒng)復(fù)位,/RESET信號(hào)一直在VCC下降到1V仍有效。在電源回升時(shí)的動(dòng)作和供電復(fù)位時(shí)的動(dòng)作一致。其中,VTRIP是可以通過(guò)編程進(jìn)行重新設(shè)定。
2.2 看門(mén)狗定時(shí)器功能
看門(mén)狗定時(shí)器對(duì)微控制器提供了獨(dú)立的保護(hù)系統(tǒng)。當(dāng)系統(tǒng)故障時(shí),在可選的超時(shí)周期(timeout interval)之后,X25043/45看門(mén)狗將以 /RESET信號(hào)作出響應(yīng)。用戶可從三個(gè)預(yù)置的值中選擇此周期。一旦選定,即使在電源周期變化之后,此周期也不改變。在正常的微機(jī)控制系統(tǒng)中,在每次控制任務(wù)完成后,必須對(duì)看門(mén)狗定時(shí)器進(jìn)行復(fù)位,重新開(kāi)始計(jì)數(shù)。對(duì)X25043芯片,只需把/CS端口電平置一個(gè)下降沿,即可將看門(mén)狗復(fù)位。X25043的看門(mén)狗定時(shí)器有三種初始定時(shí)值可以選定,其選定可以通過(guò)設(shè)置狀態(tài)寄存器的2、3位即可。
2.3 串行EEPROM功能
電可擦除可編程只讀存儲(chǔ)器EEPROM可像EPROM一樣在線讀出數(shù)據(jù)。因?yàn)镋EPROM內(nèi)部有擦除和改寫(xiě)的專(zhuān)用電路,因此可在線方便地寫(xiě)入和讀取。X25043/45的存貯器部分是CMOS的4096位串行EEPROM,它在內(nèi)部按512×8來(lái)組織,而且可以進(jìn)行塊鎖存(BLOCk Lock)。塊鎖存可以保護(hù)1/4,1/2或所有EEPROM陣列,鎖存后只可讀不可寫(xiě)。X25043/45的特點(diǎn)是具有允許簡(jiǎn)單的三線總線工作的串行外設(shè)接口(Serial Perpheral Interface,SPI)和軟件協(xié)議。X25043/45利用了Xicor公司專(zhuān)有的Direct WriteTM晶片,提供最小為100,000周期/字節(jié)的使用期限(endurance)和最小為100年的數(shù)據(jù)保存期。
X25043的讀寫(xiě)操作
X25043有一個(gè)8位的命令寄存器來(lái)控制其讀出和寫(xiě)入的操作。操作命令通過(guò)SI端口寫(xiě)入,有兩種寫(xiě)操作格式需要命令寄存器,即寫(xiě)入EEPROM數(shù)據(jù)和寫(xiě)入狀態(tài)寄存器。讀出操作是通過(guò)SO端口的,X25043也有兩種讀出格式需要命令寄存器,即讀出EEPROM數(shù)據(jù)和讀出狀態(tài)寄存器。如圖2所示。對(duì)于狀態(tài)寄存器的讀寫(xiě),先要完成命令寄存器的操作,然后再進(jìn)行數(shù)據(jù)的讀出或?qū)懭搿?duì)EEPROM的操作,需要先寫(xiě)命令寄存器,然后進(jìn)行目的地址的I/O,最后是數(shù)據(jù)的操作。所有的操作在SCK時(shí)鐘下按照SPI協(xié)議進(jìn)行。數(shù)據(jù)的I/O是從最高位字節(jié)開(kāi)始的。
圖2 命令寄存器格式
X25043的狀態(tài)寄存器的格式如圖3所示。其中WIP是狀態(tài)指示位,只可讀,表示目前X25043是否正在忙著內(nèi)部寫(xiě)工作,這在判斷EEPROM寫(xiě)入完成是十分重要的。WEL位表示目前X25043是否可寫(xiě),當(dāng)WEL=0時(shí),則X25043無(wú)法執(zhí)行寫(xiě)操作。BL0和BL1的邏輯組合來(lái)控制EEPROM區(qū)域的塊鎖定(BLOCk Lock)大小。WD0和WD1的邏輯組合則決定了看門(mén)狗計(jì)數(shù)器定時(shí)值的大小。
圖3 狀態(tài)寄存器格式
3. X25043在單片機(jī)系統(tǒng)中的應(yīng)用
針對(duì)X25043的功能,我們可以在單片機(jī)系統(tǒng)中利用它擴(kuò)展存儲(chǔ)空間、上電復(fù)位、看門(mén)狗定時(shí)以及電源監(jiān)控功能。圖4是X25043與單片機(jī)8051的接口電路。施密特觸發(fā)器74LS14用于時(shí)鐘脈沖整形,提高對(duì)噪聲干擾的能力。
圖4 X25043與8051接口電路
在這里我們可以對(duì)看門(mén)狗定時(shí)器設(shè)定值為200ms,可以通過(guò)對(duì)狀態(tài)寄存器的WD0和WD1進(jìn)行設(shè)定即可。我們必須先寫(xiě)入命令寄存器,然后才可以寫(xiě)入狀態(tài)寄存器設(shè)定看門(mén)狗計(jì)數(shù)器值。下面是具體匯編程序(8051):
寫(xiě)入8位數(shù)據(jù)子程序:(A放入寫(xiě)入的8位串行數(shù)據(jù))
INSB: MOV R4, #8
IN1: RLC A
CLR P1.0 ;SCK時(shí)鐘置低
NOP
NOP
MOV P1.1, C
SETB P1.0 ;SCK時(shí)鐘置高,移入數(shù)據(jù)
NOP
NOP
DJNZ R4, IN1
RET
設(shè)定看門(mén)狗的程序如下:
· · ·
SETB P1.3 ;片選有效
MOV A, #6 ;寫(xiě)入命令WREN
LCALL INSB
MOV A, #1 ;寫(xiě)入命令WRSR
LCALL INSB
MOV A, #20H ;寫(xiě)入狀態(tài)寄存器,設(shè)置看門(mén)狗
LCALL INSB
CLR P1.3 ;片選無(wú)效
· · ·
4. 總結(jié)
作者在開(kāi)發(fā)一個(gè)機(jī)器人控制系統(tǒng)時(shí),采用了X25043芯片,充分利用了其上電復(fù)位、電壓監(jiān)控、看門(mén)狗定時(shí)器和外擴(kuò)EEPROM。這樣,不僅可以簡(jiǎn)化硬件電路和掉電數(shù)據(jù)保護(hù),而且提高了可靠性能和抗干擾性能,具有非??尚械氖褂眯?。