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