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