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