The Datasheet Archive - 100 Million Datasheets from 7500 Manufacturers.    


Datasheet Search Engine   
 
Part # or Description: • 5V RS232 Driver • 2SC5066* • "Real Time Clock" • "USB connector" • "blue led" 5mm • 10 watt zener diode • 2N3055* motorola
 
Search Tip: Try entering the part number only. Include a wildcard (eg. lm317* or 1n4148*)

 

 

XE88LC06 Ultra Low-Power Low-Voltage Microcontroller XE88LC0


Datasheet Thumbnail

  

Download PDF



Top Searches for this datasheet



Data Sheet XE88LC06
XE88LC06
Ultra Low-Power Low-Voltage Microcontroller
XE88LC06 ultra low-power low-voltage microcontroller unit (MCU) with extremely high efficiency, allowing MIPS 300uA bits multiplying clock cycle XE88LC06 available with chip Multiple-TimeProgrammable (MTP) program memory.
Applications
companion chip system supervisor Portable, battery operated instruments Metering Remote control HVAC control
product Features
Ultra low-power MCU, MIPS MIPS operation operation time keeping Low-voltage operation (1.2 supply voltage) ROM/MTP, counters PWM, UART Analog matrix switching low-power analog comparators independant crystal oscillators reset, interrupt, event sources
Ordering Information
Product
XE88LC06MI000 XE88LC06MI014 XE88LC06MI015 XE88LC06MI026 XE88LC06RI000 XE88LC06RI014 XE88LC06RI015 XE88LC06RI026
Temperature range
-40°C -40°C -40°C -40°C -40°C 125°C -40°C 125°C -40°C 125°C -40°C 125°C
Memory type
Package
SO24 SO28 TQFP32 SO24 SO28 TQFP32
years Flash retention 55°C
Cool Solutions Wireless Connectivity
XEMICS e-mail: info@xemics.com web: www.xemics.com
Datasheet XE88LC06
TABLE CONTENTS Chapter Title General overview XE88LC06 performance Memory mapping power modes Reset generator Clock generation Interrupt handler Event handler power Port Port Port Universal Asynchronous Receiver/Transmitter (UART) Universal Synchronous Receiver/Transmitter (URST) Counters/PWM Voltage Level Detector power comparators Dimensions
D0207-136
Datasheet XE88LC06
General overview
CONTENTS
1.2.1 1.2.2 1.2.3 schematic TQFP-32 SO-28 XE88LC06 SO-24 assignment
LC06 octobre 2001
D0207-136
Datasheet XE88LC06
schematic
level block schematic circuit shown Figure 1-1. heart circuit consists Coolrisc816 (central processing unit) core. This core includes multiplier internal registers. controller generates control signals access data registers other than internal registers. reset block generates adequate reset signals rest circuit function setup contained control registers. Possible reset sources power-on-reset (POR), external NRESET, watchdog (WD), error detected controller programmable pattern Port clock generation power management block sets clock signals generates internal supplies different blocks. clock generated from oscillator (this start-up condition), crystal oscillator (XTAL) external clock source (given pin). test controller generates set-up signals different test modes. normal operation, used power RAM. power consumption important application, variables that need accessed very often should stored these registers rather than RAM. handler routes interrupt signals different peripherals inputs core. allows masking interrupt sources flags which interrupt source active. Events generally used restart processor after HALT period without jumping specified address, i.e. program execution resumes with instruction following HALT instruction. handler routes event signals different peripherals inputs core. allows masking interrupt sources flags which interrupt source active. Port parallel port with analog capabilities. URST, UART, CMPD blocks also make this port. instruction memory 22-bit wide flash memory depending circuit version. case version, used. maximal number instructions this product 8192. data memory this product byte SRAM. port parallel input port. also generate interrupts, events reset. used input external clocks timer/counter/PWM block. Port general purpose parallel port. URST (universal synchronous receiver/transmitter) contains some simple hardware functions order simplify software implementation synchronous serial link. UART (universal asynchronous receiver/transmitter) contains full hardware implementation asynchronous serial link. counters/timers/PWM take clocks from internal external sources Port generate interrupts events. output Port (voltage level detector) detects battery life with respect programmable threshold.
D0207-136
Datasheet XE88LC06 CMPD contains channel comparator. intended monitor analog digital signals with very power consumption.
INSTRUCTION MEMORY
DATA MEMORY
COOLRISC816
VBAT
MULTIPLIER
address control datain
PORT
PA(7:0)
dataout
PORT
PD(7:0)
REGISTERS
NRESET
RESET BLOCK
reset control
USRT
XOUT VREG
XTAL
VREG
CLOCK GENERATION/ MANAGEMENT
clocks
UART
test control
TEST CONTROLLER
TEST
DATA REGISTERS
HANDLING
PB(1:0) PA(3:0) PB(7:4)
COUNTERS TIMERS
HANDLING
PORT
PB(7:0)
CMPD
Figure 1-1. Block schematic XE88LC06 circuit.
PB(7:6)
PB(5:4)
D0207-136
Datasheet XE88LC06
LC06 delivered different packages. maps different packages given below. 1.2.1 TQFP-32
NRESET
PD(2)
PA(2)
PA(1)
PD(1)
PB(1)
PB(0)
PB(2) PB(3) PD(3) PA(3) PA(4) PD(4) PB(4) PB(5)
PD(0) PA(0) VBAT XOUT PA(7) PD(7)
Figure 1-2. TQFP-32 1.2.2 SO-28
PD(2)/PA(2) PB(0) PB(1) PB(2) PB(3) PD(3) PA(3) PA(4) PD(4) PB(4) PB(5) PB(6) PB(7) PD(5)/PA(5)
VREG
PD(5)
PA(5)
PA(6)
PD(6)
PB(6)
PB(7)
TEST
PA(1)/PD(1) NRESET PD(0) PA(0) VBAT XOUT PA(7) PD(7) VREG TEST
PA(6)/PD(6)
Figure 1-3. SO28 SO-28 package, pins Port Port connected together. user choose between functionality Port Port these pins. Note: pins PD(1), PD(2), PD(5), PD(6) used output, pull corresponding Port should disabled order have power consumption.
D0207-136
Datasheet XE88LC06 1.2.3 XE88LC06 SO-24
PD(2)/PA(2) PB(0) PB(1) PB(2) PB(3) PD(3)/PA(3) PD(4)/PA(4) PB(4) PB(5) PB(6) PB(7) PD(5)/PA(5)
PA(1)/PD(1) NRESET PA(0)/PD(0) VBAT XOUT PA(7)/PD(7) VREG TEST
PA(6)/PD(6)
Figure 1-4. SO24 SO-24 package, pins Port Port connected together. user choose between functionality Port Port Note: pins Port used output, pull corresponding Port should disabled order have power consumption.
assignment
table below gives short description different assignments. VBAT VREG NRESET TEST XIN/XOUT PA(7:0) PB(7:0) PD(7:0) Assignment Positive power supply Negative power supply Connection mandatory external capacitor voltage regulator High voltage supply flash memory programming versions) Resets circuit when voltage Sets flash programming mode Quartz crystal connections, also used flash memory programming Parallel input port pins Parallel port pins Parallel port pins
Table 1-1. assignment
D0207-136
Datasheet XE88LC06
XE88LC06 performance
CONTENTS
2.4.1 2.4.2 Absolute maximum ratings Operating range Current consumption Operating speed Flash circuit version circuit version
LC06 octobre 2001
D0207-136
Datasheet XE88LC06
Absolute maximum ratings
Table 2-1. Absolute maximal ratings Min. Voltage applied VBAT with respect Voltage applied with respect Voltage applied pins except VBAT Storage temperature (ROM device unprogrammed flash device) Storage temperature (programmed flash device) -0.3 VBAT-0.3 VSS-0.3 Max. VBAT+0.3 Note
Stresses beyond absolute maximal ratings cause permanent damage device. Functional operation absolute maximal ratings implied. Exposure conditions beyond absolute maximal ratings affect reliability device.
Operating range
Table 2-2. Operating range flash device Min. Max. Note Voltage applied VBAT with respect Voltage applied VBAT with respect during flash programming Voltage applied with respect VBAT 11.5 Voltage applied pins except VBAT VBAT Operating temperature range Capacitor VREG During programming device, supply voltage should least equal supply voltage used during normal operation, temperature between 10°C 40°C. Table 2-3. Operating range device Min. Max. Note Voltage applied VBAT VREG by-passed with respect VREG Voltage applied pins except VBAT VBAT Operating temperature range Capacitor VREG capacitor omitted when VREG connected VBAT.
specifications this document valid complete operating range unless otherwise specified. Table 2-4. Operating range Flash memory Min. Max. Note Retention time 85°C years Retention time 55°C years Number programming cycles Valid only programmed using programming tool that qualified Circuits programmed more than times that case, retention time longer guaranteed.
D0207-136
Datasheet XE88LC06
Current consumption
tables below give current consumption circuit different configurations. figures indicative only change function actual software implemented circuit. Table gives current consumption flash version circuit. peripherals (USRT, UART, CNT, VLD, CMPD) disabled. parallel ports configured input with pull Their pins connected externally. Table 2-5. Typical current consumption XE88LC06M version instructions flash memory) Operation mode High speed MIPS Xtal Consumption 11.0 14.5 comments 2.4V<>5.5V, 27°C Note
speed
MIPS
2.4V <>5.5V, 27°C
power
kIPS
2.4V <>5.5V, 27°C
power time keeping Fast wake-up time keeping Immediate wakeup time keeping static current CMPD static current
HALT HALT HALT
Ready
32kHz
2.4V <>5.5V, 27°C 2.4V <>5.5V, 27°C 2.4V <>5.5V, 27°C 2.4V <>5.5V, 27°C 2.4V <>5.5V, 27°C
Software without data access 100% power access 100% access typical software
Table 2-6. Current consumption XE88LC06R version instructions memory) Operation mode High speed Max. Speed speed power voltage power time keeping MIPS MIPS MIPS kIPS kIPS HALT Xtal Consumption comments 2.4V<>5.5V, 27°C 2.4V<>5.5V, 27°C 2.4V <>5.5V, 27°C 2.4V <>5.5V, 27°C 1.2V, 27°C 2.4V <>5.5V, 27°C Note
Software using MOVE instruction using internal registers peripheral registers
D0207-136
Datasheet XE88LC06 Hints power operation: power instead parameters that accessed frequently. average current consumption power about times lower than RAM. Rather than using circuit speed, better circuit higher speed switch blocks when needed. power consumption program memory important part overall power consumption. case intend version power consumption high, please provide with circuit version with smaller size.
2.4.1
Operating speed
Flash circuit version
speed flash devices highly dependent upon supply voltage. However, limiting temperature range, speed increased. minimal guaranteed speed function supply voltage maximal temperature operating temperature given Figure 2-2.
VBAT VREG
Figure 2-1. Supply configuration flash circuit operation.
speed (MIPS)
85°C
45°C
supply voltage VBAT
Figure 2-2. Guaranteed speed function supply voltage maximal temperature.
D0207-136
Datasheet XE88LC06
2.4.2
circuit version, regulator
version, possible operating modes exist: with without voltage regulator. Using voltage regulator, power consumption will obtained even with supply voltages above 2.4V. Without voltage regulator (i.e. VREG short-circuited VBAT) higher speed obtained.
VBAT VREG 100nF
Figure 2-3. Supply configuration circuit operation using internal regulator.
85°C speed (MIPS) supply voltage VBAT 45°C 125°C
Figure 2-4. Guaranteed speed function supply voltage different maximal temperatures using voltage regulator.
D0207-136
Datasheet XE88LC06
2.4.3
circuit version, regulator by-passed
VBAT VREG
Figure 2-5. Supply configuration circuit operation by-passing internal regulator.
85°C speed (MIPS)
45°C
125°C
supply voltage VBAT
Figure 2-6. Guaranteed speed function supply voltage temperature ranges when VREG=VBAT.
D0207-136
Datasheet XE88LC06
CONTENTS
description internal registers instruction short reference
D0207-136
Datasheet XE88LC06
description
XE8000 series power RISC core. internal registers efficient implementation compiler. instruction made generic instructions, coded bits, with addressing modes. instructions executed clock cycle, including conditional jumps multiplication. circuit therefore runs MIPS 1MHz clock. hardware software description given document "Coolrisc816 Hardware Software Reference Manual". short summary given following paragraphs. good code efficiency core makes possible compute polynomial like less than clock cycles (software code generated XEMICS C-compiler, numbers signed integers bits).
internal registers
shown Figure 3-1, internal 8-bit registers. Some these registers concatenated 16-bit word some instructions. function these registers defined Table 3-1. status register stat (Table 3-2) used manage different interrupt event levels. interrupt event both used wake after HALT instruction. difference that interrupt jumps special interrupt function whereas event continues software execution with instruction following HALT instruction. program counter (PC) register that indicates address instruction that executed. stack (STn) used memorise return address when executing subroutines interrupt routines.
program counter stack instruction
stat data internal registers
Instruction memory 22bit
Data memory
Figure 3-1. internal registers
D0207-136
Datasheet XE88LC06
Register name stat
Register function general purpose general purpose general purpose data memory offset data memory index data memory index data memory index data memory index data memory index data memory index data memory index data memory index program memory index program memory index status register accumulator
Table 3-1. internal register definition name function enables (when interrupt request level enables (when interrupt request level enables (when interrupt request levels interrupt request level interrupts labelled "low" interrupt handler routed this interrupt level. This cleared when interrupt served. interrupt request level interrupts labelled "mid" interrupt handler routed this interrupt level. This cleared when interrupt served. interrupt request level interrupts labelled "hig" interrupt handler routed this interrupt level. This cleared when interrupt served. event request level events labelled "low" event handler routed this event level. This cleared when event served. event request level events labelled "hig" event handler routed this event level. This cleared when event served.
Table 3-2. Status register description also number flags that used conditional jumps. These flags defined Table 3-3. symbol name zero carry function when accumulator content zero This flag used shift arithmetic operations. shift operation, value that shifted (LSB shift right, shift left). arithmetic operation with unsigned numbers: occurrence overflow during addition equivalent). occurrence underflow during subtraction equivalent). This flag used shift arithmetic operations. arithmetic shift operations with signed numbers, overflow underflow occurs.
overflow
Table 3-3. Flag description
D0207-136
Datasheet XE88LC06
instruction short reference
Table shows short description different instructions available Coolrisc816. notation conditional jump instruction refers condition description given Table 3-6. notation reg, reg1, reg2, reg3 refers internal registers Table 3-1. notation eaddr DM(eaddr) refer extended address modes defined Table 3-5. notation DM(xxx) refers data memory location with address xxx.
Instruction
Jump addr[15:0] Jump addr[15:0] Call addr[15:0] Call Calls addr[15:0] Calls Rets Reti Push Move reg,#data[7:0] Move reg1, reg2 Move reg, eaddr Move eaddr, Move addr[7:0],#data[7:0] Cmvd reg1, reg2 Cmvd reg, eaddr Cmvs reg1, reg2 Cmvs reg, eaddr reg1, reg2 reg, eaddr Shlc reg1, reg2 Shlc Shlc reg, eaddr reg1, reg2 reg, eaddr Shrc reg1, reg2 Shrc Shrc reg, eaddr Shra reg1, reg2 Shra Shra reg, eaddr Cpl1 reg1, reg2 Cpl1 Cpl1 reg, eaddr Cpl2 reg1, reg2 Cpl2 Cpl2 reg, eaddr Cpl2c reg1, reg2 Cpl2c Cpl2c reg, eaddr reg1, reg2 reg, eaddr Incc reg1, reg2 Incc Incc reg, eaddr reg1, reg2
Modification
-,-,-, -,-,-, -,-,-, -,-,-, -,-,-, -,-,-, -,-,-, -,-,-, -,-,-, -,-,-, -,-,-, -,-,-, -,-,-, -,-, -,-, -,-, -,-,-, -,-,-, -,-, -,-, -,-, -,-, -,-, -,-, -,-,
Operation
addr[15:0] true then addr[15:0] true then STn+1 (n>1); PC+1; addr[15:0] STn+1 (n>1); PC+1; PC+1; addr[15:0] PC+1; ST1; STn+1 (n>1) ST1; STn+1 (n>1); PC+1; STn+1 (n>1); PC+1; ST1; STn+1 (n>1) data[7:0]; data[7:0] reg2; reg1 reg2 DM(eaddr); DM(eaddr) DM(eaddr) DM(addr[7:0]) data[7:0] reg2; then reg1 DM(eaddr); then reg2; then reg1 DM(eaddr); then reg2<<1; a[0] reg2[7]; reg1 reg<<1; a[0] reg[7]; DM(eaddr)<<1; a[0] :=0; DM(eaddr)[7]; reg2<<1; a[0] reg2[7]; reg1 reg<<1; a[0] reg[7]; DM(eaddr)<<1; a[0] DM(eaddr)[7]; reg2>>1; a[7] reg2[0]; reg1 reg>>1; a[7] reg[0]; DM(eaddr)>>1; a[7] DM(eaddr)[0]; reg2>>1; a[7] reg2[0]; reg1 reg>>1; a[7] reg[0]; DM(eaddr)>>1; a[7] DM(eaddr)[0]; reg2>>1; a[7] reg2[7]; reg2[0]; reg1 reg>>1; a[7] reg[7]; reg[0]; DM(eaddr)>>1; a[7] DM(eaddr)[7]; DM(eaddr)[0]; NOT(reg2); reg1 NOT(reg); NOT(DM(eaddr)); NOT(reg2)+1; then C:=1 else reg1 NOT(reg)+1; then C:=1 else NOT(DM(eaddr))+1; then C:=1 else NOT(reg2)+C; then C:=1 else reg1 NOT(reg)+C; then C:=1 else NOT(DM(eaddr))+C; then C:=1 else reg2+1; then else reg1 reg+1; then else DM(eaadr)+1; then else reg2+C; then else reg1 reg+C; then else DM(eaadr)+C; then else reg2-1; a=hFF then else reg1
D0207-136
Datasheet XE88LC06
reg, eaddr Decc reg1, reg2 Decc Decc reg, eaddr reg,#data[7:0] reg1, reg2, reg3 reg1, reg2 reg, eaddr reg,#data[7:0] reg1, reg2, reg3 reg1, reg2 reg, eaddr reg,#data[7:0] reg1, reg2, reg3 reg1, reg2 reg, eaddr reg,#data[7:0] reg1, reg2, reg3 reg1, reg2 reg, eaddr Addc reg,#data[7:0] Addc reg1, reg2, reg3 Addc reg1, reg2 Addc reg, eaddr Subd reg,#data[7:0] Subd reg1, reg2, reg3 Subd reg1, reg2 Subd reg, eaddr Subdc reg,#data[7:0] Subdc reg1, reg2, reg3 Subdc reg1, reg2 Subdc reg, eaddr Subs reg,#data[7:0] Subs reg1, reg2, reg3 Subs reg1, reg2 Subs reg, eaddr Subsc reg,#data[7:0] Subsc reg1, reg2, reg3 Subsc reg1, reg2 Subsc reg, eaddr reg,#data[7:0] reg1, reg2, reg3 reg1, reg2 reg, eaddr Mula reg,#data[7:0] Mula reg1, reg2, reg3 Mula reg1, reg2 Mula reg, eaddr Mshl reg,#shift[2:0] Mshr reg,#shift[2:0] Mshra reg,#shift[2:0] reg,#data[7:0] reg1, reg2 reg, eaddr Cmpa reg,#data[7:0] Cmpa reg1, reg2 Cmpa reg, eaddr Tstb reg,#bit[2:0] Setb reg,#bit[2:0] Clrb reg,#bit[2:0] Invb reg,#bit[2:0]
-,-, -,-, -,-, -,-, -,-, -,-, -,-, -,-, -,-, -,-, -,-, -,-,
reg-1; a=hFF then else DM(eaddr)-1; a=hFF then else reg2-(1-C); a=hFF then else reg1 reg-(1-C); a=hFF then else DM(eaddr)-(1-C); a=hFF then else data[7:0]; reg2 reg3; reg1 reg1 reg2; reg1 DM(eaddr); data[7:0]; reg2 reg3; reg1 reg1 reg2; reg1 DM(eaddr); data[7:0]; reg2 reg3; reg1 reg1 reg2; reg1 DM(eaddr); reg+data[7:0]; overflow then C:=1 else reg2+reg3; overflow then C:=1 else reg1 reg1+reg2; overflow then C:=1 else reg1 reg+DM(eaddr); overflow then C:=1 else reg+data[7:0]+C; overflow then C:=1 else reg2+reg3+C; overflow then C:=1 else reg1 reg1+reg2+C; overflow then C:=1 else reg1 reg+DM(eaddr)+C; overflow then C:=1 else data[7:0]-reg; underflow then else reg2-reg3; underflow then else reg1 reg2-reg1; underflow then else reg1 DM(eaddr)-reg; underflow then else data[7:0]-reg-(1-C); underflow then else reg2-reg3-(1-C); underflow then else reg1 reg2-reg1-(1-C); underflow then else reg1 DM(eaddr)-reg-(1-C); underflow then else reg-data[7:0]; underflow then else reg3-reg2; underflow then else reg1 reg1-reg2; underflow then else reg1 reg-DM(eaddr); underflow then else reg-data[7:0]-(1-C); underflow then else reg3-reg2-(1-C); underflow then else reg1 reg1-reg2-(1-C); underflow then else reg1 reg-DM(eaddr)-(1-C); underflow then else (data[7:0]*reg)[7:0]; (data[7:0]*reg)[15:8] (reg2*reg3)[7:0]; reg1 (reg2*reg3)[15:8] (reg2*reg1)[7:0]; reg1 (reg2*reg1)[15:8] (DM(eaddr)*reg)[7:0]; (DM(eaddr)*reg)[15:8] (data[7:0]*reg)[7:0]; (data[7:0]*reg)[15:8] (reg2*reg3)[7:0]; reg1 (reg2*reg3)[15:8] (reg2*reg1)[7:0]; reg1 (reg2*reg1)[15:8] (DM(eaddr)*reg)[7:0]; (DM(eaddr)*reg)[15:8] (reg*2 )[7:0]; (reg*2 )[15:8] (8-shift (8-shift (reg*2 )[7:0]; (reg*2 )[15:8] (8-shift (8-shift (reg*2 )[7:0]; (reg*2 )[15:8] data[7:0]-reg; underflow then else C:=1; (not reg2-reg1; underflow then else C:=1; (not DM(eaddr)-reg; underflow then else C:=1; (not data[7:0]-reg; underflow then else C:=1; (not reg2-reg1; underflow then else C:=1; (not DM(eaddr)-reg; underflow then else C:=1; (not a[bit] reg[bit]; other bits reg[bit] other bits unchanged; reg[bit] other bits unchanged; reg[bit] reg[bit]; other bits unchanged;
shift shift
D0207-136
Datasheet XE88LC06
Sflag Rflag Rflag eaddr Freq divn Halt
-,-,-, -,-,-, -,-,-, -,-,-,
a[7] a[6] a[5] full; a[4] empty a[0] reg[7] DM(eaddr)<<1; a[0] :=0; DM(eaddr)[7] reduces frequency (divn=nodiv, div2, div4, div8, div16) halts operation
unchanged, undefined, *MSHR reg,# doesn't shift
Table 3-4. Instruction short reference Coolrisc816 different addressing modes. These modes described Table 3-5. this table, notation refers data memory index registers Using eaddr instruction Table will access data memory address DM(eaddr) will simultaneously execute index operation.
extended address eaddr addr[7:0] (ix) (ix, offset[7:0]) (ix,r3) (ix)+ (ix,offset[7:0])+ -(ix) -(ix,offset[7:0]) accessed data memory location DM(eaddr) DM(h00&addr[7:0]) DM(ix) DM(ix+offset) DM(ix+r3) DM(ix) DM(ix+offset) DM(ix-1) DM(ix-offset) index operation ix+1 ix+offset ix-1 -offset direct addressing indexed addressing indexed addressing with immediate offset indexed addressing with register offset indexed addressing with index post-increment indexed addressing with index post-increment offset indexed addressing with index pre-decrement indexed addressing with index pre-decrement offset
Table 3-5. Extended address mode description Eleven different jump conditions implemented shown Table 3-6. contents column this table should replace notation instruction description Table 3-4.
condition
(EV1 EV0)=1
After op1,op2
op1=op2 op1op2 op1>op2 op1op2 op1<op2 op1op2
Table 3-6. Jump condition description
D0207-136
Datasheet XE88LC06
Memory mapping
CONTENTS
4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.8 4.2.9 4.2.10 4.2.11 4.2.12 4.2.13 4.2.14 Memory organisation Quick reference data memory register power data registers (h0000-h0007) System, clock configuration reset configuration (h0010-h001F) Port (h0020-h0027) Port (h0028-h002F) Port (h0030-h0033) Flash programming (h0038-003B) Event handler (h003C-h003F) Interrupt handler (h0040-h0047) USRT (h0048-h004F) UART (h0050-h0057) Counter/Timer/PWM registers (h0058-h005F) Comparator registers (h0072-h0073) Voltage Level Detector registers (h007E-h007F) (h0080-h027F)
LC06 octobre 2001
D0207-136
Datasheet XE88LC06
Memory organisation
XE88LC06 build with Harvard architecture. Harvard architecture uses separate instruction data memories. instruction data also separated. advantage such structure that fetch instruction read/write data simultaneously. circuit configuration shown Figure 4-1. internal registers. instruction memory capacity 8192 22-bit instructions. data memory space power registers, peripheral register space bytes RAM.
0h1FFF
0h027F
instruction
capacity: bytes
stat data internal registers
capacity: 22bit
0h0080 0h007F Peripheral registers 0h0008 power 0h0000
0h0000
Figure 4-1. Memory mapping internal registers described chapter. short reference power registers peripheral registers given 4.2.
Quick reference data memory register
data register given tables below. more detailed description different registers given detailed description different peripherals. tables give following information: register name register address different bits register access mode different bits (see Table code description) reset source reset value different bits
D0207-136
Data memory
Instruction memory
Datasheet XE88LC06 reset source coding given Table 4-2. full description reset sources, please refer reset block chapter. code access mode read written always reads always reads cleared writing value cleared writing cleared after reading special function, verify detailed description respective peripherals Table 4-1. Access mode codes used register definitions code glob cold pconf sleep reset source nresetglobal nresetcold nresetpconf nresetsleep
Table 4-2. Reset source coding used register definitions 4.2.1
Address Reg00 h0000 Reg01 h0001 Reg02 h0002 Reg03 h0003 Reg04 h0004 Reg05 h0005 Reg06 h0006 Reg07 h0007
power data registers (h0000-h0007)
Name Reg00[7:0] 00000000, glob Reg01[7:0] rw,00000000,glob Reg02[7:0] rw,00000000,glob Reg03[7:0] rw,00000000,glob Reg04[7:0] rw,00000000,glob Reg05[7:0] rw,00000000,glob Reg06[7:0] rw,00000000,glob Reg07[/:0] rw,0000000,glob
Table 4-3. power data registers
D0207-136
Datasheet XE88LC06
4.2.2
System, clock configuration reset configuration (h0010-h001F)
EnResetPConf
Name Address RegSysCtrl SleepEn h0010 rw,0,cold RegSysReset Sleep h0011 rw,0,glob RegSysClock CpuSel h0012 rw,0,sleep RegSysMisc h0013 RegSysWD h0014 RegSysPre0 h0015 RegSysRCTrim1 h001B RegSysTrim2 h001C
rw,0,cold SleepFlag rc,0,cold
EnBusError rw,0,cold
ResetBusError
cold EnExtClock rw,0,cold
EnResetWD rw,0,cold ResetWD cold BiasRC rw,1,cold RcFreqRange rw,0,cold
ResetfromportA
cold ColdXtal r,1,sleep
EnableXtal EnableRC rw,0,sleep rw,1,sleep Output16k OutputCpuCk rw,0,sleep rw,0,sleep WatchDog[3:0] s,0000,glob
ClearLowPresca
c1r0,0,-
RcFreqCoarse[3:0] rw,0001,cold RcFreqFine[5:0] rw,00000,cold
Table 4-4. Reset block clock block registers 4.2.3
Address RegPAIn h0020 RegPADebounce h0021 RegPAEdge h0022 RegPAPullup h0023 RegPARes0 h0024 RegPARes1 h0025 RegPACtrl h0026 RegPASnapToRail h0027
Port (h0020-h0027)
Name PAIn[7:0] PADebounce[7:0] rw,00000000,pconf PAEdge[7:0] rw,00000000,glob PAPullup[7:0] rw,11111111,pconf PARes0[7:0] 00000000, glob PARes1[7:0] rw,00000000,glob PASnapToRail[7:0] rw,00000000,pconf
DebFast rw,0,pconf
Table 4-5. Port registers 4.2.4
Address RegPBOut h0028 RegPBIn h0029 RegPBDir h002A RegPBOpen h002B RegPullup h002C RegPBAna h002D
Port (h0028-h002F)
Name PBOut[7:0] rw,00000000,pconf PBIn[7:0] PBDir[7:0] rw,00000000,pconf PBOpen[7:0] rw,00000000,pconf PBPullup[7:0] rw,11111111,pconf PBAna[7:0] rw,00000000,pconf
Table 4-6. Port registers
D0207-136
Datasheet XE88LC06 4.2.5
Address RegPDOut h0030 RegPDIn h0031 RegPDDir h0032 RegPDPullup h0033 PDSnapToRail[3:0] rw,0000,pconf
Port (h0030-h0033)
Name PDOut[7:0] rw,00000000,pconf PDIn[7:0] PDDir[7:0] rw,00000000,pconf
PDPullup[3:0] rw,1111,pconf
Table 4-7. Port registers 4.2.6 Flash programming (h0038-003B)
These four registers used during flash programming only. Refer flash programming algorithm documentation more details. 4.2.7
Address RegEvn h003C RegEvnEn h003D RegEvnPriority h003E RegEvnEvn h003F
Event handler (h003C-h003F)
Name CntIrqA rc1,0,glob CntIrqC rc1,0,glob 128Hz rc1,0,glob PAEvn[1] CntIrqB rc1,0,glob rc1,0,glob EvnEn[7:0] rw,00000000,glob EvnPriority[7:0] r,11111111,glob CntIrqD rc1,0,glob rc1,0,glob PAEvn[0] rc1,0,glob
EvnHigh r,0,glob
EvnLow r,0,glob
Table 4-8. Event handler registers origin different events summarised table below. Event CntIrqA CntIrqB CntIrqC CntIrqD 128Hz PAEvn[1:0] Event source Counter/Timer (counter block) Counter/Timer (counter block) Counter/Timer (counter block) Counter/Timer (counter block) prescaler (clock block) prescaler (clock block) Port
Table 4-9. Event source description
D0207-136
Datasheet XE88LC06
4.2.8
Address
Interrupt handler (h0040-h0047)
Name RegIrqHig 128Hz rc1,0,glob UrstCond1 rc1,0,glob PAIrq[6] rc1,0,glob PAIrq[5] rc1,0,glob CntIrqB rc1,0,glob CntIrqA CntIrqC rc1,0,glob rc1,0,glob PAIrq[4] rc1,0,glob rc1,0,glob CntIrqD PAIrq[3] rc1,0,glob rc1,0,glob IrqEnHig[7:0] rw,0000000,glob IrqEnMid[7:0] rw,0000000,glob IrqEnLow[7:0] rw,0000000,glob IrqPriority[7:0] r,11111111,glob CmpdIrq rc1,0,glob VldIrq rc1,0,glob PAIrq[2] rc1,0,glob UartIrqTx rc1,0,glob PAIrq[1] rc1,0,glob UartIrqRx rc1,0,glob PAIrq[0] rc1,0,glob
h0040
RegIrqMid UsrtCond2 h0041 rc1,0,glob RegIrqLow PAIrq[7] h0042 rc1,0,glob RegIrqEnHig h0043 RegIrqEnMid h0044 RegIrqEnLow h0045 RegIrqPriority h0046 RegIrqIrq h0047
IrqHig r,0,glob
IrqMid r,0,glob
IrqLow r,0,glob
Table 4-10. Interrupt handler registers origin different interrupts summarised table below. Event CmpdIrq CntIrqA CntIrqB CntIrqC CntIrqD 128Hz PAIrq[7:0] UartIrqRx UartIrqTx UrstCond1 UsrtCond2 VldIrq Event source power comparators Counter/Timer (counter block) Counter/Timer (counter block) Counter/Timer (counter block) Counter/Timer (counter block) prescaler (clock block) prescaler (clock block) Port UART reception UART transmission USRT condition USRT condition Voltage level detector
Table 4-11. Event source description
D0207-136
Datasheet XE88LC06
4.2.9
Address
USRT (h0048-h004F)
Name RegUsrtS1 RegUsrtS0 RegUsrtCtrl UsrtWaitS0 r,0,glob
UsrtEnWaitCond1
h0048 h0049 h004A RegUsrtCond1 h004B RegUsrtCond2 h004C RegUsrtBufferS1 h004D RegUsrtEdgeS0 h004E
rw,0,glob
UsrtS1 s,1,glob UsrtS0 s,1,glob UsrtEnWaitS0 UsrtEnable rw,0,glob rw,0,glob UsrtCond1 rc,0,glob UsrtCond2 rc,0,glob UsrtBufferS1 r,0,glob UsrtEdgeS0 r,0,glob
Table 4-12. USRT register description 4.2.10 UART (h0050-h0057)
UartEcho rw,0,glob SelXtal rw,0,glob UartEnRx rw,0,glob UartEnTx rw,0,glob UartXRx UartXTx rw,0,glob rw,0,glob UartRcSel[2:0] rw,000,glob UartTx[7:0] rw,0000000,glob UartPM rw,0,glob UartBR[2:0] rw,101,glob UartPE rw,0,glob UartWL rw,1,glob
Name Address RegUartCtrl h0050 RegUartCmd h0051 RegUartTx h0052 RegUartTxSta h0053 RegUartRx h0054 RegUartRxSta h0055
UartTxBusy UartTxFull r,0,glob r,0,glob UartRx[7:0] r,00000000,glob UartRxSErr UartRxPErr UartRxFErr UartRxOerr UartRxBusy UartRxFull r,0,glob r,0,glob r,0,glob rc,0,glob r,0,glob r,0,glob
Table 4-13. UART register description
4.2.11
Address
Counter/Timer/PWM registers (h0058-h005F)
Name RegCntA CounterA[7:0] s,00000000,glob CounterB[7:0] s,00000000,glob CounterC[7:0] s,00000000,glob CounterD[7:0] s,00000000,glob CntDCkSel[1:0] CntCCkSel[1:0] CntBCkSel[1:0] CntACkSel[1:0] rw,00,glob rw,00,glob rw,00,glob rw,00,glob CntDDownUp CntCDownUp CntBDownUp CntADownUp CascadeCD CascadeAB CntPWM1 CntPWM0 rw,0,glob rw,0,glob rw,0,glob rw,0,glob rw,0,glob rw,0,glob rw,0,glob rw,0,glob CapSel[1:0] CapFunc[1:0] Pwm1Size[1:0] Pwm0Size[1:0] rw,00,glob rw,00,glob rw,00,glob rw,00,glob CntDExtDiv CntCExtDiv CntBExtDiv CntAExtDiv CntDEnable CntCEnable CntBEnable CntAEnable rw,0,glob rw,0,glob rw,0,glob rw,0,glob rw,0,glob rw,0,glob rw,0,glob rw,0,glob
h0058 RegCntB h0059 RegCntC h005A RegCntD h005B RegCntCtrlCk h005C RegCntConfig1 h005D RegCntConfig2 h005E RegCntOn h005F
Table 4-14. Counter/timer/PWM register description.
D0207-136
Datasheet XE88LC06 4.2.12 Comparator registers (h0072-h0073)
CmpdStat[3:0] rca,0000,glob IrqOnRising[2:0] rw,000,glob CmpdOut[3:0] r,0000,glob EnIrqCh[3:0] rw,0000,glob Enable rw,0,glob
Name Address RegCmpdStat h0072 RegCmpdCtrl h0073
Table 4-15. power comparator registers 4.2.13
Address RegVldCtrl h007E RegVldStat h007F
Voltage Level Detector registers (h007E-h007F)
Name VldRange rw,0,glob VldTune[2:0] rw,000,glob VldResult VldValid r,0,glob r,0,glob VldEn rw,0,glob
Table 4-16. Voltage level detector register description 4.2.14 (h0080-h027F)
bytes accessed read write operations. reset function. Variables stored should initialised before since they have value circuit start
D0207-136
Datasheet XE88LC06
power modes
5.1.1
POWER MODES. FEATURES Overview OPERATING MODE
power modes 1.2- janvier 2001 D0207-136
Datasheet XE88LC06
5.1.1
Features
Overview
XE8000 chips have three operating modes. These normal, current very current modes (see Figure 5-1). different modes controlled reset clock blocks (see documentation respective blocks).
Operating mode
Start-up bits reset design when padnreset active. enabled, Xtal disabled reset (pmaddr 0000). port used return from sleep mode, bits with nresetcold change (see sleep mode) Start-up bits with nresetglobal nresetpconf(if enabled) reset. Clock configuration doesn't change except cpuck (freqdiv reset, clock block). reset Active mode This mode where peripherals work execute embedded software. Standby mode Executing HALT instruction moves XE8000 into Standby mode. stopped, clocks remain active. Therefore, enabled peripherals remain active e.g. time keeping. reset interrupt/event request enabled) cancels standby mode. Sleep mode This very low-power mode because circuit clocks peripherals stopped. Only some service blocks remain active. time-keeping possible. instructions necessary move into sleep mode. First, SleepEn (sleep enable) RegSysCtrl sleep mode then activated setting Sleep RegSysReset There three possibe ways wake-up from sleep mode: (power-on-reset caused power-down followed power-on). information lost. padnreset Port reset combination Port present product). Port documentation more details. Note: Port used return from sleep mode, bits with nresetcold change (RegSysCtrl, RegSysReset (except sleep), Enextclock Biasrc RegSysClock, RegSysRcTrim1 RegSysRcTrim2). SleepFlag RegSysReset, reads back circuit sleep mode since flag last cleared (see reset block more details). recommended insert instruction after instruction that sets circuit sleep mode because this instruction executed when sleep mode left using resetfromportA.
Note:
D0207-136
Datasheet XE88LC06
START-UP
without condition
padnreset
RESET
padnreset without condition portA reset watchdog reset buserror reset
padnreset padnreset portA reset
portA reset watchdog reset
Halt instruction
ACTIVE
Interrupt/event
STAND-BY
SLEEP
sleep
normal mode
current
very current
Figure 5-1. XE8000 operating modes.
D0207-136
Datasheet XE88LC06
Reset generator
6.5.1 6.5.2 6.5.3 6.5.4 6.5.5
RESET GENERATOR FEATURES OVERVIEW REGISTER RESET HANDLING CAPABILITIES RESET SOURCE DESCRIPTION Power Reset NRESET Programmable Port input combination Watchdog reset BusError reset SLEEP MODE CONTROL REGISTER DESCRIPTION OPERATION WATCHDOG START-UP WATCHDOG SPECIFICATIONS
Reset generator novembre 2000
D0207-136
Datasheet XE88LC06
Features
Power Reset (POR) External reset from NRESET Programmable Watchdog timer reset Programmable BusError reset Sleep mode management
Product dependant: Programmable Port input combination reset
Overview
reset block reset manager. handles different reset sources distributes them through system. also controls sleep mode circuit.
Register
register name RegSysCtrl RegSysReset RegSysWD Table 6-1. Reset registers their default address Table gives different registers used this block. addresses product dependent default addresses used most them.
D0207-136
Datasheet XE88LC06
Pos.
RegSysCtrl SleepEn EnResetPConf
Reset nresetcold nresetcold
EnBusError EnResetWD
nresetcold nresetcold
0000
Function enables Sleep mode sleep mode disabled sleep mode enabled enables nresetpconf signal when nresetglobal active nresetpconf disabled nresetpconf enabled enables reset from BusError BusError reset source disabled BusError reset source enabled enables reset from Watchdog Watchdog reset source disabled Watchdog reset source enabled this unused
Table 6-2. RegSysCtrl register.
Pos.
RegSysReset Sleep SleepFlag ResetBusError ResetWD ResetfromportA
Reset nresetglobal nresetcold nresetcold nresetcold nresetcold
Function Sleep mode control (reads always Sleep mode active before reset source BusError reset source Watchdog reset source Port combination unused
Table 6-3. RegSysReset register
Pos.
RegSysWD WDKey[3] WDCounter[3] WDKey[2] WDCounter[2] WDKey[1] WDCounter[1] WDKey[0] WDCounter[0]
Reset 0000 nresetglobal nresetglobal nresetglobal nresetglobal
Function unused
Watchdog Watchdog counter Watchdog Watchdog counter Watchdog Watchdog counter Watchdog Watchdog counter
Table 6-4. RegSysWD register
Reset handling capabilities
There reset sources: Power Reset (POR) External reset from NRESET Programmable port input combination Programmable watchdog timer reset Programmable BusError reset processor access outside allocated memory
D0207-136
Datasheet XE88LC06 Another reset source Sleep RegSysReset register. This source fully controlled software only used during sleep mode. Four internal reset signals generated from these sources distributed through system: nresetcold: asserted NRESET nresetglobal: asserted when nresetcold other enabled reset source active nresetsleep: asserted when circuit sleep mode nresetpconf: asserted when nresetglobal active EnResetPConf RegSysCtrl register set. This reset generally used different ports. allows maintain port configuration unchanged while rest circuit reset. Table shows summary dependency internal reset signals various reset sources. tables describing different registers, reset source indicated. Internal reset signals Asserted reset source NRESET PortA input Watchdog BusError Sleep nresetglobal Asserted Asserted Asserted Asserted Asserted nresetpconf when when EnResetPConf EnRestPConf Asserted Asserted Asserted Asserted Asserted Asserted Asserted nresetsleep Asserted Asserted Asserted nresetcold Asserted Asserted
Table 6-5. Internal reset assertion function reset source.
6.5.1
Reset source description
Power Reset
power reset (POR) monitors external supply voltage. activates reset rising edge this supply voltage. reset inactivated only internal voltage regulator started block performs precise voltage level detection. 6.5.2 NRESET
Applying input state NRESET activate reset. 6.5.3 Programmable Port input combination
Port present product) generate reset signal. description Port further information. 6.5.4 Watchdog reset
Watchdog will generate reset EnResetWD RegSysCtrl register been watchdog cleared time processor. chapter describing watchdog further information.
D0207-136
Datasheet XE88LC06 6.5.5 BusError reset
address space assigned shown register product. EnBusError RegSysCtrl register software accesses unused address, reset generated.
Sleep mode
Entering sleep mode will reset part circuit. reset used configure circuit correct wake-up after sleep mode. SleepEn RegSysCtrl register been set, sleep mode entered setting Sleep RegSysReset. During sleep mode, nresetsleep signal active. detailed information sleep mode, system documentation.
Control register description operation
registers dedicated reset status control, RegSysReset RegSysCtrl. bits Sleep, SleepFlag SleepEn also located those registers described chapter dedicated different operating modes circuit (system block). RegSysReset register gives information source that generated last reset. read beginning application program detect circuit recovering from error exception condition, circuit starting normally. when ResetBusError forbidden address access generated reset. when ResetWD watchdog generated reset. when ResetfromPortA PortA combination generated reset. Note: reset source either NRESET internal POR. Note: Several bits might not, register cleared between reset occurrences. other bits concern sleep mode control information (see system documentation sleep mode description). When SleepFlag sleep mode active before reset occurred. This will always appear together with ResetfromPortA since other possibilities leave sleep mode (POR NRESET pin) will clear SleepFlag. When Sleep SleepEn sleep mode entered. always reads back RegSysCtrl register enables different available reset sources sleep mode. EnBusError enables reset error condition. EnResetWD enables reset watchdog (can disabled once enabled). EnResetPConf enables reset port configurations when reset Port Error watchdog. SleepEn unlocks Sleep bit. long SleepEn Sleep effect.
Watchdog
watchdog timer, which cleared least every seconds software prevent reset generated timeout condition. watchdog enabled software setting EnResetWD RegSysCtrl register then only disabled power reset setting NRESET state.
D0207-136
Datasheet XE88LC06 watchdog timer cleared writing consecutively values Hx0A Hx03 RegSysWD register. sequence must strictly respected clear watchdog. assembler code, sequence clear watchdog move AddrRegSysWD, #0x0A move AddrRegSysWD, #0x03 Only writing Hx0A followed Hx03 resets some other write instruction done RegSysWD between writing Hx0A Hx03 values, watchdog timer will cleared. possible read status watchdog RegSysWD register. watchdog counter with count range between system reset generated when counter reaching value
Start-up watchdog specifications
start-up circuit, block generates reset signal during tPOR. circuit starts software execution after this period (see system chapter). intended force circuit into correct state start-up. precise monitoring supply voltage, voltage level detector (VLD) used. Symbol TPOR Vbat_sl WDtime Parameter reset duration Supply ramp Watchdog timeout period Unit V/ms Comments
Table Electrical timing specifications Note: Vbat_sl defines minimum slope required VBAT. Correct start-up circuit guaranteed this slope slow. such case, delay built using NRESET pin. Note: minimal watchdog timeout period guaranteed when internal oscillators used. case external clock source used, watchdog timeout period will correct contents RegSysRCTrim1 RegSysRCTrim2 registers correct (see clock block documentation more details).
D0207-136
Datasheet XE88LC06
nresetcold ckmstr ckslv prenresetorsynch
buserror resetfromwd
bitbuserror bitresetfromwd resetporta
flagnresetcold bitresetfromporta
reset writing regsysreset.
RegSysReset clear software before reset signal, register RegSysReset will false. databitresetfromporta enableregsysreset (bistresetfromporta not(bitresetfromwd bitresetbuserror prenresetorsynch flagnresetcold))
D0207-136
Datasheet XE88LC02 Sensing Machine Data Acquisition with Zooming driver
Clock generation
7.6.1 7.6.2 7.6.3 7.7.1 7.7.2 7.8.1 7.8.2 7.10 7.11
CLOCK GENERATION FEATURES OVERVIEW REGISTER INTERRUPTS EVENTS CLOCK SOURCES OSCILLATOR Configuration oscillator frequency tuning. oscillator specifications. XTAL OSCILLATOR Xtal configuration. Xtal oscillator specifications. EXTERNAL CLOCK External clock configuration. External clock specification CLOCK SOURCE SELECTION PRESCALERS FREQUENCY SELECTOR 7-10
Clock generation janvier 2001 D0207-134
Datasheet XE88LC02 Sensing Machine Data Acquisition with Zooming driver
Features
available clock sources oscillator, quartz oscillator external clock). divider chains: high-prescaler bits) low-prescaler bits). clock disabling halt mode.
Overview
XE88LCxx chips work different clock sources oscillator, quartz oscillator external clock). clock generator block charge distributing necessary clock frequencies circuit. Figure represents functionality clock block. internal oscillator external clock source selected drive high prescaler. This prescaler generates frequency divisions down 1/256 input frequency. 32kHz clock generated enabling quartz oscillator present product) selecting appropriate high prescaler. prescaler generates clock signals from 32kHz down 1Hz. clock source selected from oscillator, external clock 32kHz clock.
Register
pos. RegSysClock CpuSel EnExtClock BiasRc ColdXtal EnableXtal EnableRc reset nresetsleep nresetcold nresetcold nresetsleep nresetsleep nresetsleep function Select speed cpuck Unused Enable external clock Enable Rcbias (reduces start-up time RC). Xtal start phase Unused Enable Xtal oscillator Enable oscillator
Table 7-1: RegSysClock register pos. RegSysMisc -Output16k OutputCpuCk reset 000000 nresetsleep nresetsleep function Unused Output signal PB[3] Output clock PB[2]
Table 7-2: RegSysMisc register pos. RegSysPre0 -ClearLowPrescal reset 0000000 function Unused Write reset prescaler, always reads
Table 7-3: RegSysPre0 register
D0207-134
Datasheet XE88LC02 Sensing Machine Data Acquisition with Zooming driver
pos.
RegSysRcTrim1 -RcFreqRange RcFreqCoarse[3] RcFreqCoarse[2] RcFreqCoarse[1] RcFreqCoarse[0]
reset nresetcold nresetcold nresetcold nresetcold nresetcold
function Unused Low/high freq. range (low=0) coarse trim coarse trim coarse trim coarse trim
Table 7-4: RegSysRCTrim1 register pos. RegSysRcTrim2 -RcFreqFine[5] RcFreqFine[4] RcFreqFine[3] RcFreqFine[2] RcFreqFine[1] RcFreqFine[0] reset nresetcold nresetcold nresetcold nresetcold nresetcold nresetcold function Unused fine trim fine trim fine trim fine trim fine trim fine trim
Table 7-5: RegSysRCTrim2 register pos. RegSysPtckmode -Reserved reset 0000000 nresetglobal function Unused Reserved
Table 7-6: RegSysPtckmode register
Interrupts events
interrupt source ck128Hz ck1Hz Default mapping interrupt manager RegIrqHig(6) RegIrqMid(3) Table 7-7: Interrupts events Default mapping event manager RegEvn(5) RegEvn(1)
D0207-134
Clock
ckRCExt
high prescaler
ckRCExt ckRCExt/256
RegSysRcTrim1&2
div.
EnableXtal not(En Clock)
ck32kHz
prescaler
ck32kHz ck1Hz cpuck
Xtal
Figure 7-1. Clock block structure
system clock
EnableRc Clock
Datasheet XE88LC02 Sensing Machine Data Acquisition with Zooming driver
D0207-134
Datasheet XE88LC02 Sensing Machine Data Acquisition with Zooming driver
7.6.1
Clock sources oscillator
Configuration
oscillator always turned selected system operation power-on reset, NRESET, when exiting sleep mode. turned after Xtal (quartz oscillator) been started, after selection external clock entering sleep mode. oscillator frequency ranges: sub-MHz MHz) above-MHz (0.5 MHz). Inside range, frequency tuned software coarse fine adjustment. registers RegSysRcTrim1 RegSysRcTrim2. EnableRc register RegSysClock controls propagation clock signal operation oscillator. user stop oscillator resetting EnableRc. Entering sleep mode disables oscillator. Note: oscillator bias maintained while oscillator disabled setting BiasRc RegSysClock. This allows faster restart oscillator cost increased power consumption (see section 7.6.3). 7.6.2 oscillator frequency tuning
oscillator frequency using bits RegSysRcTrim1 RegSysRcTrim2 registers. Figure shows nominal frequency oscillator function these bits. absolute value frequency given register content change ±35% from chip chip tolerances integrated capacitors resistors. However, modification frequency function modification register content fairly precise. This means that curves Figure shift down that slope remains unchanged. RcFreqRange modifies oscillator frequency factor upper curve figure corresponds RcFreqRange=1. RcFreqCoarse modifies frequency oscillator factor (RcFreqCoarse+1). figure represents frequency different values bits RcFreqCoarse: each value frequency multiplied Incrementing RcFreqFine code, increases frequency about 1.4%. frequency oscillator therefor given with fRcmin oscillator frequency registers
D0207-134
Datasheet XE88LC02 Sensing Machine Data Acquisition with Zooming driver
1E+07
RcFreqRange='1' RcFreqRange='0'
Nominal oscillator frequency [Hz]
1E+06
RcFreqFine(5:0)
1E+05
1E+04 0000 0001 0011 0111 1111
Figure 7-2. oscillator nominal frequency tuning. 7.6.3 oscillator specifications description Lowest frequency fine tuning step startup time Supply voltage dependence Temperature dependence unit %/°C Comments Note BiasRc=0 BiasRc=1 Note Note
fRCmin RcFreqFine RC_su PSRR
Table 7-8. oscillator specifications Note this frequency tolerance when trimming codes frequency start-up about twice high. Note frequency shift function VBAT with normal regulator function. Note frequency shift function VBAT while regulator short-circuited VBAT. tolerances minimal frequency drift with supply temperature cancelled using software hardware DFLL (digital frequency locked loop) which uses crystal oscillator reference frequency.
RcFreqFine(5:0)
RcFreqCoarse(3:0)
D0207-134
Datasheet XE88LC02 Sensing Machine Data Acquisition with Zooming driver
7.7.1
Xtal oscillator
Xtal configuration
Xtal operates with external crystal 32'768 During Xtal oscillator start-up, first 32768 cycles masked. bits EnableXtal ColdXtal register RegSysClock control oscillator. power-on reset, NRESET pulse during sleep mode, EnableXtal reset ColdXtal (Xtal oscillator selected start-up). user start Xtal oscillator setting EnableXtal. When Xtal oscillator starts, ColdXtal reset after 32768 cycles. Before ColdXtal reset system, Xtal frequency precision guaranteed. Xtal oscillator stopped user resetting EnableXtal. When user enters into sleep mode, Xtal stopped. 7.7.2 Xtal oscillator specifications
crystal oscillator been designed crystal with specifications given Table 7-9. oscillator precision only guaranteed this crystal. Symbol Description Resonance frequency nominal frequency Motional resistance Motional capacitance Shunt capacitance Motional resistance overtone (parasitic) Quality factor 32768 400k Unit Comments
Table 7-9. Crystal specifications. safe operation, power consumption meet specified precision, careful board layout required: Keep lines XOUT short insert line between them. Connect crystal package VSS. noisy digital lines near XOUT. Insert guards where needed. Respect board specifications Table 7-10. Symbol Rh_xin Rh_xout Rh_xin_xout Cp_xin Cp_xout Cp_xin_xout Description Resistance XIN-VSS Resistance XOUTVSS Resistance XINXOUT Capacitance XINVSS Capacitance XOUTVSS Capacitance XINXOUT Unit Comments
Table 7-10. Board layout specifications.
D0207-134
Datasheet XE88LC02 Sensing Machine Data Acquisition with Zooming driver
oscillator characteristics given Table 7-11. characteristics valid only crystal board layout meet specifications above. Symbol fXtal St_xtal Fstab Description Nominal frequency Start-up time Frequency deviation 32768 Unit Comments
-100
Note
Table 7-11. Crystal oscillator characteristics. Note This gives relative frequency deviation from nominal crystal with CL=8.2pF within temperature range -40°C 85°C. crystal tolerance, crystal aging crystal temperature drift included this figure.
7.8.1
External clock
External clock configuration
user provide external clock instead internal oscillators. external provided frequency internally divided two. external clock input XIN. system configured external clock EnExtClock register RegSysClock. Using bits registers RegSysRcTrim1 RegSysRcTrim2, ck32kHz clock frequency controlled (see section 7.11). Note: when using external clock, Xtal available. 7.8.2 External clock specification
external clock satisfy specifications table below. Correct behavior circuit guaranteed external clock signal does respect specifications below. Symbol FEXT PW_1 PW_0 FEXT_LV PW_1_LV PW_0_LV Description External clock frequency Pulse width Pulse width External clock frequency Pulse width Pulse width 0.06 0.03 Unit Comments Note Note Note Note Note Note
Table 7-12. External clock specifications. Note VBAT2.4V Note VBAT=VREG=1.2V
Clock source selection
There three possible clock sources available clock. clock always selected after power-up, negative pulse NRESET after Sleep mode. clock selection done with CpuSel RegSysClock fastest clock, from Xtal EnableXtal EnExtClock else from high prescaler output). Switching from clock source another glitch free. D0207-134
Datasheet XE88LC02 Sensing Machine Data Acquisition with Zooming driver
next table summarizes different clock configurations circuit: Clock Sources EnExtClock EnableXtal EnableRc Mode name Cpuck High Prescaler Clock input RCNOTE External Prescaler Clock input Xtal High presc. Xtal High presc. Clock targets
CpuSel=0 Xtal RCNOTE RCNOTE External NOTE
CpuSel=1 Xtal High presc. Xtal High presc.
Sleep Xtal Xtal External
Table 7-13: Table clocking modes. Note frequency must higher than when Xtal enabled order ensure proper operation. Note clock divided value freq instruction (see coolrisc instruction information) freq instruction nodiv div2 div4 div8 div16 cpuck external RC/2 external/2 RC/4 external/4 RC/8 external/8 RC/16 external/16
Note Switching from clock source another stopping unused clock source must performed using MOVE instructions RegSysClock. First select clock source then stop unused one.
7.10 Prescalers
clock generator block embeds divider chains: high prescaler one. high prescaler made stage dividing chain prescaler stage dividing chain. Features: High prescaler only driven with clock external clock (bits EnableRc EnExtClock have set, Table 7-13). prescaler driven from high prescaler directly with Xtal clock when EnableXtal EnExtClock ClearLowPrescal RegSysPre0 register allows reset synchronously prescaler, prescaler also automatically cleared when EnableXtal set. Both dividing chains reset asynchronously nresetglobal signal. ColdXtal=1 indicates Xtal start phase. active 37268 Xtal cycles after setting EnableXtal.
D0207-134
Datasheet XE88LC02 Sensing Machine Data Acquisition with Zooming driver
7.11 frequency selector
decoder used select from high prescaler, frequency that closest operate prescaler when Xtal running. this case, oscillator frequency ±35% will also valid prescaler frequency outputs. next table shows trimming values RegSysRcTrim1 RegSysRcTrim2 registers select frequency. least significant bits RcFreqFine word used. order ensure correct frequency selection prescaler when having external clock, proper value must trim registers. code selected from table below function frequency ratio between half frequency external clock 32kHz. frequency correctly, timings derived from prescaler will shifted accordingly (e.g. watchdog frequencies) some peripherals longer function correctly deviation from 32kHz large (e.g. voltage level detector).
7-10
D0207-134
Datasheet XE88LC02 Sensing Machine Data Acquisition with Zooming driver
Default case (0'0001'000) From 0'0000'000 0'0000'100 From 0'0000'101 0'0001'100 From 0'0001'101 0'0001'111 0'0010'000 From 0'0010'001 0'0010'110 0'0010'111 From 0'0011'000 0'0011'100 From 0'0011'101 0'0011'111 From 0'0100'000 0'1000'010 From 0'0100'011 0'0100'111 0'0101'000 From 0'0101'001 0'0101'110 0'0101'111 From 0'0110'000 0'0110'101 From 0'0110'110 0'0110'111 From 0'0111'000 0'0111'100 From 0'0111'101 0'0111'111 From 0'1000'000 0'1000'011 From 0'1000'100 0'1000'111 From 0'1001'000 0'1001'010 From 0'1001'011 0'1001'111 From 0'1010'000 0'1010'001 From 0'1010'010 0'1010'111 0'1011'000 From 0'1011'001 0'1011'110 0'1011'111 From 0'1100'000 0'1100'110 0'1100'111 From 0'1101'000 0'1101'101 From 0'1101'110 0'1101'111 From 0'1110'000 0'1110'100 From 0'1110'101 0'1110'111 From 0'1111'000 0'1111'100 From 0'1111'101 0'1111'111 From 1'0000'000 1'0000'010 From 1'0000'011 1'0001'010 From 1'0001'011 1'0010'100 From 1'0010'101 1'0010'111 From 1'0011'000 1'0011'010 From 1'0011'011 1'0011'111 1'0100'000 From 1'0100'001 1'0100'110 1'0100'111 From 1'0101'000 1'0101'100 From 1'0101'101 1'0101'111 From 10110'000 1'0110'011 From 1'0110'100 1'0110'111 From 1'0111'000 1'0111'010 From 1'0111'011 1'0111'111 From 1'1000'000 1'1000'001 From 1'1000'010 1'1000'111 1'1001'000 From 1'1001'001 1'1111'111
Selected high prescaler
Ckrcext/2 Ckrcext Ckrcext/2 Ckrcext/4 Ckrcext/2 Ckrcext/4 Ckrcext/8 Ckrcext/4 Ckrcext/8 Ckrcext/4 Ckrcext/8 Ckrcext/4 Ckrcext/8 Ckrcext/16 Ckrcext/8 Ckrcext/16 Ckrcext/8 Ckrcext/16 Ckrcext/8 Ckrcext/16 Ckrcext/8 Ckrcext/16 Ckrcext/8 Ckrcext/16 Ckrcext/8 Ckrcext/16 Ckrcext/32 Ckrcext/16 Ckrcext/32 Ckrcext/16 Ckrcext/32 Ckrcext/16 Ckrcext/32 Ckrcext/16 Ckrcext/32 Ckrcext/8 Ckrcext/16 Ckrcext/32 Ckrcext/64 Ckrcext/32 Ckrcext/64 Ckrcext/32 Ckrcext/64 Ckrcext/128 Ckrcext/64 Ckrcext/128 Ckrcext/64 Ckrcext/128 Ckrcext/64 Ckrcext/128 Ckrcext/64 Ckrcext/128 Ckrcext/64 Ckrcext/128
Table 7-14: Table 32kHz high prescaler decoder.
7-11
D0207-134
Datasheet XE88LC06
Interrupt handler
INTERRUPT HANDLER FEATURES OVERVIEW REGISTER
Interrupt handler 2001 D0207-136
Datasheet XE88LC06
Features
XE8000 chips support interrupt sources, divided into levels priority.
Overview
interrupt sources sampled highest frequency system. interruption generated memorized when interrupt becomes high. interrupt sources divided into levels priority: High interrupt sources), interrupt sources), interrupt sources). Those levels priority directly mapped those supported CoolRisc (IN0, IN2; CoolRisc documentation more information). RegIrqHig, RegIrqMid, RegIrqLow 8-bit registers containing flags interrupt sources. Those flags when interrupt enabled (i.e. corresponding registers RegIrqEnHig, RegIrqEnMid RegIrqEnLow set) rising edge detected corresponding interrupt source. Once memorized, interrupt flag cleared writing corresponding RegIrqHig, RegIrqMid RegIrqLow. Writing does modify flag. definitively clear interrupt, clear CoolRisc interrupt CoolRisc status register. interrupts automatically cleared after reset. registers provided facilitate writing interrupt service software. RegIrqPriority contains number highest priority (its value 0xFF when interrupt memorized). RegIrqIrq indicates priority level current interrupts.
Register
Register name RegIrqHig RegIrqMid RegIrqLow RegIrqEnHig RegIrqEnMid RegIrqEnLow RegIrqPriority RegIrqIrq Table 8-1: Address mapping
D0207-136
Datasheet XE88LC06
pos.
RegIrqHig RegIrqHig[7] RegIrqHig[6] RegIrqHig[5] RegIrqHig[4] RegIrqHig[3] RegIrqHig[2] RegIrqHig[1] RegIrqHig[0]
reset nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal
function interrupt (high priority) clear interrupt when written interrupt (high priority) clear interrupt when written interrupt (high priority) clear interrupt when written interrupt (high priority) clear interrupt when written interrupt (high priority) clear interrupt when written interrupt (high priority) clear interrupt when written interrupt (high priority) clear interrupt when written interrupt (high priority) clear interrupt when written
Table 8-2: RegIrqHig pos. RegIrqMid RegIrqMid[7] RegIrqMid[6] RegIrqMid[5] RegIrqMid[4] RegIrqMid[3] RegIrqMid[2] RegIrqMid[1] RegIrqMid[0] reset nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal function interrupt (mid priority) clear interrupt when written interrupt (mid priority) clear interrupt when written interrupt (mid priority) clear interrupt when written interrupt (mid priority) clear interrupt when written interrupt (mid priority) clear interrupt when written interrupt (mid priority) clear interrupt when written interrupt (mid priority) clear interrupt when written interrupt (mid priority) clear interrupt when written
Table 8-3: RegIrqMid
D0207-136
Datasheet XE88LC06
pos.
RegIrqLow RegIrqLow[7] RegIrqLow[6] RegIrqLow[5] RegIrqLow[4] RegIrqLow[3] RegIrqLow[2] RegIrqLow[1] RegIrqLow[0]
reset nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal
function interrupt (low priority) clear interrupt when written interrupt (low priority) clear interrupt when written interrupt (low priority) clear interrupt when written interrupt (low priority) clear interrupt when written interrupt (low priority) clear interrupt when written interrupt (low priority) clear interrupt when written interrupt (low priority) clear interrupt when written interrupt (low priority) clear interrupt when written
Table 8-4: RegIrqLow pos. RegIrqEnHig RegIrqEnHig[7] RegIrqEnHig[6] RegIrqEnHig[5] RegIrqEnHig[4] RegIrqEnHig[3] RegIrqEnHig[2] RegIrqEnHig[1] RegIrqEnHig[0] reset function enable interrupt enable interrupt enable interrupt enable interrupt enable interrupt enable interrupt enable interrupt enable interrupt
Table 8-5: RegIrqEnHig pos. RegIrqEnMid RegIrqEnMid[7] RegIrqEnMid[6] RegIrqEnMid[5] RegIrqEnMid[4] RegIrqEnMid[3] RegIrqEnMid[2] RegIrqEnMid[1] RegIrqEnMid[0] reset function enable interrupt enable interrupt enable interrupt enable interrupt enable interrupt enable interrupt enable interrupt enable interrupt
Table 8-6: RegIrqEnMid
D0207-136
Datasheet XE88LC06
pos.
RegIrqEnLow RegIrqEnLow[7] RegIrqEnLow[6] RegIrqEnLow[5] RegIrqEnLow[4] RegIrqEnLow[3] RegIrqEnLow[2] RegIrqEnLow[1] RegIrqEnLow[0]
reset
function enable interrupt enable interrupt enable interrupt enable interrupt enable interrupt enable interrupt enable interrupt enable interrupt
Table 8-7: RegIrqEnLow pos. RegIrqPriority RegIrqPriority reset 11111111 function code highest priority
Table 8-8: RegIrqPriority pos. RegIrqIrq IrqHig IrqMid IrqLow reset 00000 function unused more high priority interrupt more priority interrupt more priority interrupt
Table 8-9: RegIrqIrq
D0207-136
Datasheet XE88LC06
Event handler
EVENT HANDLER FEATURES OVERVIEW REGISTER
Event handler avril 2000 D0207-136
Datasheet XE88LC06
Features
XE8000 chips support event sources, divided into levels priority.
Overview
event sources sampled highest frequency system. event generated memorized when event becomes high. event sources divided into levels priority: High event sources) event sources). Those levels priority directly mapped those supported CoolRisc (EV0 EV1; CoolRisc documentation more information). RegEvn 8-bit register containing flags event sources. Those flags when event enabled (i.e. corresponding registers RegEvnEn set) rising edge detected corresponding event source. Once memorized, writing corresponding RegEvn clears event flag. Writing does modify flag. interrupts automatically cleared after reset. registers provided facilitate writing interrupt service software. RegEvnPriority contains number highest event (its value 0xFF when event memorized). RegEvnEvn indicates priority level current interrupts.
Register
addresses given Table default values different some products. Register name RegEvn RegEvnEn RegEvnPriority RegEvnEvn Table 9-1: Default Address mapping
D0207-136
Datasheet XE88LC06
pos.
RegEvn RegEvn[7] RegEvn[6] RegEvn[5] RegEvn[4] RegEvn[3] RegEvn[2] RegEvn[1] RegEvn[0]
reset nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal
function event (high priority) clear event when written event (high priority) clear event when written event (high priority) clear event when written event (high priority) clear event when written event (low priority) clear event when written event (low priority) clear event when written event (low priority) clear event when written event (low priority) clear event when written
Table 9-2: RegEvn pos. RegEvnEn RegEvnEn[7] RegEvnEn[6] RegEvnEn[5] RegEvnEn[4] RegEvnEn[3] RegEvnEn[2] RegEvnEn[1] RegEvnEn[0] reset nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal function enable event enable event enable event enable event enable event enable event enable event enable event
Table 9-3: RegEvnEn pos. RegEvnPriority RegEvnPriority reset 11111111 nresetglobal function code highest event
Table 9-4: RegEvnPriority pos. RegEvnEvn EvnHig EvnLow reset 00000 nresetglobal nresetglobal function unused more high priority event more priority event
Table 9-5: RegEvnEvn
D0207-136
Datasheet XE88LC06
power
POWER 10-1
10.1 FEATURES 10-2 10.1.1 Overview 10-2 10.2 REGISTER 10-2
10-1
power data register avril 2000
D0207-136
Datasheet XE88LC06
10.1 Features
10.1.1
Overview
order save power consumption, 8-bit registers provided page These memory locations should reserved often-updated variables. they real registers RAM, power consumption greatly reduced.
10.2 Register
pos. Reg00 Reg00 Reg01 Reg02 Reg03 Reg04 Reg05 Reg06 Reg07 reset function low-power data memory low-power data memory low-power data memory low-power data memory low-power data memory low-power data memory low-power data memory low-power data memory
Table 10-1: Power
10-2
D0207-136
Datasheet XE88LC06
Port
11.1 11.2 11.3 11.4 11.5
PORT 11-1 FEATURES 11-2 OVERVIEW 11-2 REGISTER 11-3 INTERRUPTS EVENTS 11-4 PORT (PA) OPERATION 11-4
11-1
Port 2001
D0207-136
Datasheet XE88LC06
11.1 Features
input port, bits wide each individually debounced direct input each individually pullup snap-to-rail option each input each interrupt request source rising falling edge system reset generated input pattern PA[0] PA[1] generate events CPU, individually maskable PA[0] PA[3] used clock inputs counters/timers/PWM (product dependent)
11.2 Overview
PortA general purpose wide digital input port, with interrupt capability. Figure 11-1 shows structure.
VBat
Port
logic debounce RegPASnapToRail RegPAPullup RegPADebounce DebFast (RegPACtrl(0)) RegPACtrl RegPAIn RegPAEdge interrupts events cntclocks 1kHz 32kHz RegPARes1 RegPARes0
resetfromporta
Figure 11-1: structure Port
11-2
D0207-136
Datasheet XE88LC06
11.3 Register
There eight registers Port (PA), namely RegPAIn, RegPADebounce, RegPAPullup, RegPAEdge, RegPARes0, RegPARes1, RegPACtrl RegPASnapToRail. Table 11-2 Table 11-9 show mapping control bits functionality these registers while Table 11-1 gives default address these eight. register name RegPAIn RegPADebounce RegPAEdge RegPAPullup RegPARes0 RegPARes1 RegPACtrl RegPASnapToRail Table 11-1: registers
pos. RegPAIn PAIn[7:0] reset description PA[7] PA[0] input value
Table 11-2: RegPAIn
pos. RegPADebounce PADebounce[7:0] reset nresetpconf description PA[7] PA[0] debounce enabled debounce disabled
Table 11-3: RegPADebounce
pos. RegPAEdge PAEdge[7:0] reset nresetglobal description PA[7] PA[0] edge configuration positive edge negative edge
Table 11-4: RegPAEdge
pos. RegPAPullup PAPullup[7:0] reset nresetpconf description PA[7] PA[0] pullup enable pullup disabled pullup enabled
Table 11-5: RegPAPullup
pos. RegPARes0 PARes0[7:0] reset nresetglobal description PA[7] PA[0] reset configuration
Table 11-6: RegPARes0
pos. RegPARes1 PARes1[7:0] reset nresetglobal description PA[7] PA[0] reset configuration
Table 11-7: RegPARes
11-3
D0207-136
Datasheet XE88LC06
pos.
RegPACtrl [7:1] DebFast
reset 0000000 nresetpconf
description Unused slow debounce, fastdebounce
Table 11-8: RegPACtrl
pos. RegPASnapToRail PASnapToRail[7:0] reset nresetpconf description snap-to-rail input
Table 11-9: RegPASnapToRail Note: Depending status EnResetPConf RegSysCtrl, RegPAEdge, RegPADebounce RegPACtrl reset possible system resets only with power-on reset NRESET pad.
11.4 Interrupts events
Interrupt source pa_irqbus[5] pa_irqbus[4] pa_irqbus[1] pa_irqbus[0] pa_irqbus[7] pa_irqbus[6] pa_irqbus[3] pa_irqbus[2] Default mapping interrupt manager RegIrqMid[5] RegIrqMid[4] RegIrqMid[1] RegIrqMid[0] RegIrqLow[7] RegIrqLow[6] RegIrqLow[3] RegIrqLow[2] Default mapping event manager
RegEvn[4] RegEvn[0]
11.5 Port (PA) Operation
Port input status (debounced not) read from RegPAin. Debounce mode: Each Port individually debounced setting corresponding RegPADebounce. After reset, debounce function disabled. After enabling debouncer, change input value accepted only height consecutive samples identical. Selection clock done DebFast Register RegPACtrl.
DebFast Clock filter 1kHz 32kHz
Table debounce frequency selection Note: tolerance debounce frequency depends selected clock source. When external clock used, pulse width will correct input prescaler frequency close 32kHz (see clock block documentation). Pullups/Snap-to-rail: Different functions possible depending value registers RegPAPullup RegPASnapToRail. When corresponding RegPAPullup inputs floating (pullup pulldown resistors disconnected). When corresponding RegPAPullup RegPASnapToRail pullup resistor connected input pin. Finally, when
11-4
D0207-136
Datasheet XE88LC06
corresponding RegPAPullup RegPASnapToRail snap-to-rail function active. snap-to-rail function connects pullup pulldown resistor input depending value forced input pin. This function used instance when input port connected tristate bus. When floating, pullup pulldown maintains last impedance state before became floating until another impedance output drives bus. also reduces power consumption with respect classic pullup since selects pullup pulldown resistor that confirms detected input state. state input summarized table below.
PAPullup[x] PASnapToRail[x] (last) externally forced PA[x] value PA[x] pull floating pullup pulldown pullup
Table Snap-to-rail Port starts with pullup resistor connected snap-to-rail function disabled. Port interrupt source: Each Port input interrupt request source rising falling edge with corresponding RegPAEdge. After reset, rising edge selected interrupt generation default. interrupt source debounced setting register RegPADebounce. interrupt signals sampled fastest clock circuit. order guarantee that circuit detects interrupt, minimal pulse length should cycle this clock. Note: care must taken when modifying RegPAEdge because this register performs edge selection. change this register result transition, which interpreted valid interruption. Port event source: interrupt signals pins PA[0] PA[1] also available events event controller. Port clock source (product dependent): Images PA[0] PA[3] input ports (debounced not) available clock sources counter/timer/PWM peripheral. Port reset source: Port used generate system reset placing predetermined word Port externally. reset built using logical PARes[x] signals: resetfromportA PAReset[7] PAReset[6] PAReset[5] PAReset[0] PAReset[x] itself logical function corresponding PA[x]. four logical functions selected each writing into registers RegPARes0 RegPARes1 shown Table 11-12.
PARes1[x] PARes0[x] PAReset[x] PA[x] not(PA[x])
Table 11-12: Selection bits reset signal
11-5
D0207-136
Datasheet XE88LC06
reset from Port inhibited placing both PARes1[x] PARes0[x] least pin. Setting both PARes1[x] PARes0[x] makes reset independent value corresponding pin. Setting both registers hFF, will reset circuit independent from Port input value. This makes possible reset software. Note: depending value PA[0] PA[7], changes RegPARes0 RegPARes1 cause reset. Therefore safe have always (RegPARes0[x], RegPARes1[x]) equal `00' during setting operations.
11-6
D0207-136
Datasheet XE88LC06
Port
12.1 12.2 12.3 12.4 12.5 12.5.1 12.5.2 12.6 12.7 12.7.1 12.7.2 12.8
PORT 12-1 FEATURES 12-2 OVERVIEW 12-2 REGISTER 12-2 PORT CAPABILITIES 12-3 PORT ANALOG CAPABILITY 12-4 Port analog configuration 12-4 Port analog function specification. 12-5 PORT FUNCTION CAPABILITY 12-5 PORT DIGITAL CAPABILITIES 12-6 Port digital configuration 12-6 Port digital function specification 12-7 POWER COMPARATORS 12-7
12-1 Port 2001
D0207-136
Datasheet XE88LC06
12.1 Features
Input output analog port, bits wide Each individually input output Each individually open-drain push-pull Each individually pull-up (for input open-drain mode) open-drain mode, pull-up active when corresponding zero pads connected individually four internal analog lines line analog bus) internal freq. cpuck) output PB[2] PB[3] Product dependant: signal output pads PB[0] PB[1] synchronous serial interface (USRT) uses pads PB[5], PB[4] UART interface uses pads PB[6] PB[7]
12.2 Overview
Port multi-purpose Input/output port. addition digital behavior, pins used analog signals. Each port terminal individually selected digital input output analog sharing four possible analog lines.
12.3 Register
Table 12-1 shows default address Port registers. addresses change some products. register name RegPBOut RegPBIn RegPBDir RegPBOpen RegPBPullup RegPBAna Table 12-1: Default Port register addresses
12-2
D0207-136
Datasheet XE88LC06
pos.
RegPBOut
PBOut[7-0]
reset
nresetpconf
description digital mode
PB[7-0] output value
description analog mode
Analog selection PB[7-0]
Table 12-2: RegPBOut
pos.
RegPBIn
PBIn[7-0]
reset
description digital mode
PB[7-0] input status
description analog mode
Unused
Table 12-3: RegPBIn
pos.
RegPBDir
PBDir [7-0]
reset
nresetpconf
description digital mode
PB[7-0] direction (0=input)
description analog mode
Analog selection PB[7-0]
Table 12-4: RegPBDir
pos.
RegPBOpen
PBOpen[7-0]
reset
nresetpconf
description digital mode
PB[7-0] open drain open drain)
description analog mode
Unused
Table 12-5: RegPBOpen
pos.
RegPBPullup
PBPullup[7]
reset
nresetpconf
description digital mode
Pull-up PB[7-0] (1=active)
description analog mode
Connect PB[7-0] selected
Table 12-6: RegPBPullup
pos.
RegPBAna
PBAna [7-0]
reset
nresetpconf
description digital mode
PB[7-0] analog mode
description analog mode
PB[7-0] analog mode
Table 12-7: RegPBAna
Note: Depending status EnResPConf RegSysCtrl, reset conditions registers different. reset block documentation more details nresetpconf signal.
12.4 Port capabilities
Port name PB[7] PB[6] PB[5] PB[4] PB[3] PB[2] PB[1] PB[0] high (analog) analog analog analog analog analog analog analog analog utilization (priority) medium (functions) uart uart usrt usrt clock PWM1 Counter (C+D) PWM0 Counter (A+B) (digital) (default) (with pull-up) (with pull-up) (with pull-up) (with pull-up) (with pull-up) (with pull-up) (with pull-up) (with pull-up)
Table 12-8: Different Port functions
12-3
D0207-136
Datasheet XE88LC06
Table 12-8 shows different usages that made port with order priority. selected analog, overwrites function digital set-up. selected analog, function enabled, overwrites digital set-up. neither analog function selected pin, used ordinary digital I/O. This default configuration start-up. Note: presence functions product dependent.
12.5 Port analog capability
12.5.1 Port analog configuration
Port terminals attached line analog setting PBAna[x] bits RegPBAna register. other registers then define connection these analog lines different pads Port These used implement simple driver converter. Analog switching available only when circuit powered with sufficient voltage (see specification below). Below specified supply voltage, only voltages that close VBAT switched. When PBAna[x] Port terminals changed from digital mode analog. usage registers RegPBPullup, RegPBOut RegPBDir define analog configuration (see Table 12-9). When PBAna[x] then PBPullup[x] connects analog bus. PBDir[x] PBPOut[x] select which analog lines used. analog selection PBDir[x] PBout[x] PBPullup[x] PB[x] selection analog line analog line analog line analog line High impedance
Table 12-9: Selection analog lines with RegPBDir, RegPBout RegPBPullup when PBAna[x] Example: pads PB[2] PB[5] analog line (the values depend configuration others pads) apply high impedance analog mode (move RegPBPullup,#0bXX0XX0XX) analog mode (move RegPBAna,#0bXX1XX1XX) select analog line3 (move RegPBDir,#0bXX1XX1XX move RegPBOut,#0bXX1XX1XX) apply analog line output (move RegPBPullup,#0bXX1XX1XX)
12-4
D0207-136
Datasheet XE88LC06
12.5.2
Port analog function specification
table below defines on-resistance switches between analog different conditions. series resistance between pins Port connected same analog line twice resistance given table. description switch resistance switch resistance input capacitance (off) input capacitance (on) unit Comments Note Note Note Note
Table 12-10. Analog input specifications. Note This series resistance between analog line cases VBAT 2.4V VMULT peripheral present circuit enabled. VBAT 3.0V VMULT peripheral present circuit. Note This series resistance case VBAT 2.8V peripheral VMULT present circuit. Note This input capacitance seen when connected analog line. This value indicative only since product package dependent. Note This input capacitance seen when connected analog line other connected same analog line. This value indicative only since product package dependent.
12.6 Port function capability
Port used different functions implemented other peripherals. description below applicable only circuit contains these peripherals. When counters used implement function (see documentation counters), PB[0] PB[1] terminals used outputs (PB[0] used CntPWM0 RegCntConfig1 PB[1] used CntPWM1 RegCntConfig1 generated values override values written RegPBout. However, PBDir(0) PBDir(1) automatically overwritten have Output16k RegSysMisc, frequency output PB[3]. This overrides value contained PBOut(3). However, PBDir(3) must frequency duty cycle clock signal given Figure 12-1. fmax frequency fastest clock present circuit.
1/fmax 1/16k
Figure 12-1. output clock timing
Similarly, OutputCkCpu RegSysMisc, frequency output PB[2]. This overrides value contained PBOut(2). However, PBDir(2) must
12-5
D0207-136
Datasheet XE88LC06
1/f1 1/f2
Figure 12-2. output clock timing. timing clock (Figure 12-2) depends selection CpuSel RegSysClock register given Table 12-11. fmax frequency fastest clock present circuit. Note that tolerance depends selected clock source (see clock block documentation). CpuSel fmax/4 fmax fmax
Table 12-11. clock timing parameters.
Pins PB[5] PB[4] used USRT (see USRT documentation) when UsrtEnable RegUsrtCtrl. PB[5] PB[4] then become open-drain. This overrides values contained PBOpen(5:4), PBOut(5:4) PBDir(5:4). there external pull-up resistor these pins, internal pull-ups should selected setting PBPullup(5:4). When output, PB[4] takes value UsrtS0 RegUrstS0. When output, PB[5] takes value UsrtS1 RegUrstS1. Pins PB[6] PB[7] used UART (see UART documentation). When UartEnTx RegUartCtrl PB[6] used output signal When UartEnRx RegUartCtrl PB[7] used input signal This overrides values contained PBOut(7:6) PBDir(7:6).
12.7 Port digital capabilities
12.7.1 Port digital configuration
direction each within Port (input only input/output) individually using RegPBDir register. PBDir[x] both input output buffer active corresponding Port PBDir[x] corresponding Port input only output buffer high impedance. After reset (nresetpconf) Port input only mode (PBDir[x] reset input values Port available RegPBIn (read only). Reading always direct there debounce function Port case possible noise input signals, software debouncer with polling external hardware filter have realized. input buffer also active when port defined output effective value read back. Data stored RegPBOut outputted Port PBDir[x] default values after reset (0). When output mode (PBDir[x] output conventional CMOS (PushPull) N-channel Open-drain, driving output only low. default, after reset (nresetpconf) PBOpen[x] RegPBOpen cleared (push-pull). PBOpen[x] RegPBOpen then internal transistor output buffer electrically removed output only driven (PBOut[x]=0). When PBOut[x]=1, high Impedance. internal pull-up external pull-up resistor used drive high. Note: Because transistor actually exists (this real Open-drain output) pull-up range limited 0.2V (avoid forward bias transistor diode).
12-6
D0207-136
Datasheet XE88LC06
Each individually pull-up using register RegPBPullup. Input pulled when corresponding this register Default status after (nresetpconf) which means with pull limit power consumption, pull-up resistors only enabled when associated either digital input N-channel open-drain output with other cases (pushpull output open-drain output driven low), pull resistors disabled independent value RegPBPullup. After power-on reset, Port configured input port with pull-up. During power-on reset (see reset block documentation) however, PB[1] pulled down stead pulled Once power-on reset completed, PB[1] pulled exactly other Port pins. input buffer always active, except analog mode. This means that Port input should valid digital value times unless analog mode. Violating this rule lead high power consumption. 12.7.2 VINH VINL Port digital function specification description Input high voltage Input voltage Output high voltage Output voltage 0.7*VBAT VBAT-0.4 VBAT 0.3*VBAT VBAT VSS+0.4 unit Comments VBAT2.4V VBAT2.4V VBAT=1.2V, =0.3mA VBAT=2.4V, =5.0mA VBAT=4.5V, =8.0mA VBAT=1.2V, =0.3mA VBAT=2.4V, =12.0mA VBAT=4.5V, =15.0mA Note
Pull-up resistance Input capacitance
Note this value indicative only since depends package.
12.8 power comparators
power comparator (CMPD) peripheral present circuit, signals pins PB[7:4] used inputs these power comparators. Although comparators functional independent Port configuration, recommended pins that used CMPD analog mode without selecting analog lines. This avoid high power consumption digital input buffer when analog slowly varying digital signals applied.
12-7
D0207-136
Datasheet XE88LC06
Port
13.1 13.2 13.3 13.4
PORT Features Overview Register Port (PD) Operation
13-1 13-2 13-2 13-2 13-4
13-1
Port 2001
D0207-136
Datasheet XE88LC06
13.1 Features
input output port, bits wide each individually input output pull-ups available input mode snap-to-rail option input mode
13.2 Overview
Port (PD) general purpose input/output digital port. Figure 13-1 shows structure.
VBat
RegPDPullup[7:4]
logic
RegPDPullup[3:0]
RegPDIn
RegPDOut
RegPDDir
Figure 13-1 structure PortD
13.3 Register
There four registers Port (PD), namely RegPDIn, RegPDOut, RegPDDir RegPDPullup. Table 13-3 Table 13-6 show mapping control bits functionality these registers while Table 13-2 gives default address these four registers. register name RegPDIn RegPDOut RegPDDir RegPDPullup Table 13-1 registers default addresses
13-2
D0207-136
Datasheet XE88LC06
Pos.
RegPDIn PDIn[7:0]
Reset
Description PD[7:0] input value
Table 13-2 RegPDIn
Pos. RegPDOut PDOut[7:0] Reset nresetpconf Description PD[7:0] output value
Table 13-3 RegPDOut
Pos. RegPDDir PDDir[7:0] Reset nresetpconf Description PD[7:0] direction (0=input)
Table 13-4 RegPDDir
Pos. RegPDPullup PDSnapToRail[3] PDSnapToRail[2] PDSnapToRail[1] PDSnapToRail[0] PDPullup[3] PDPullup[2] PDPullup[1] PDPullup[0] Reset nresetpconf nresetpconf nresetpconf nresetpconf nresetpconf nresetpconf nresetpconf nresetpconf Description snap-to-rail PD[7] PD[6] (1=active) snap-to-rail PD[5] PD[4] (1=active) snap-to-rail PD[3] PD[2] (1=active) snap-to-rail PD[1] PD[0] (1=active) pullup PD[7] PD[6] (1=active) pullup PD[5] PD[4] (1=active) pullup PD[3] PD[2] (1=active) pullup PD[1] PD[0] (1=active)
Table 13-5 RegPDPullup
13-3
D0207-136
Datasheet XE88LC06
13.4 Port (PD) Operation
direction each Port (input input/output) individually using RegPDDir register. PDDir[x] output buffer corresponding Port enabled. After reset, Port input only mode (PDDir[x] reset input buffer always enabled independently from RegPDDir contents. Output data: Data stored RegPDOut prior output Port Input data: status Port available RegPDIn (read only). Reading always direct there digital debounce function associated with Port case possible noise input signals, software debouncer external filter must realised. Pull-up/Snap Rail: When configured input (PDDir[x]=0), pull-ups available every pin. pull-up function pins controlled PDPullup PDSnapToRail bits register RegPDPullup. When PDPullup[x] pull-ups pins PD[2x] PD[2x+1] disabled. When PDPullup[x] PDSnapToRail[x] pull-up resistor connected pins PD[2x] PD[2x+1]. When both PDPullup[x] PDSnapToRail[x] snap-to-rail function active pins PD[2x] PD[2x+1]. snap-to-rail function connects pullup pulldown resistor input depending value forced input pin. This function used instance when input port connected tristate bus. When floating, pullup pulldown maintains last impedance state before became floating until another impedance output driving bus. also reduces power consumption with respect classic pullup since selects pullup pulldown resistor that confirms detected input state. function summarised table below function different register settings.
PDDir[2x(+1)] PDPullup[x] PDSnapToRail[x] (last) externally forced PD[2x(+1)] value PD[2x(+1)] pull resistor connected connected pullup pulldown pullup
Table 13-6: Snap-to-rail pullup function power-on reset, Port configured input port with pull-ups active.
13-4
D0207-136
Datasheet XE88LC06
Universal Asynchronous Receiver/Transmitter (UART)
14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.8.1 14.8.2 14.8.3 14.8.4 14.9
UNIVERSAL ASYNCHRONOUS RECEIVER/TRANSMITTER (UART). 14-1 FEATURES 14-2 OVERVIEW. 14-2 REGISTERS 14-2 INTERRUPTS 14-3 UART BAUD RATE SELECTION 14-3 UART OSCILLATOR EXTERNAL CLOCK SOURCE 14-4 UART CRYSTAL OSCILLATOR 14-4 FUNCTION DESCRIPTION 14-5 Configuration bits. 14-5 Transmission 14-5 Reception 14-6 Interrupt polling. 14-7 SOFTWARE HINTS 14-7
14-1 Universal Asynchronous Receiver/Transmitter novembre 2000
D0207-136
Datasheet XE88LC06
14.1 Features
Full duplex operation with buffered receiver transmitter. Internal baudrate generator with programmable baudrates (300 153600). bits word length. Even, odd, no-parity generation detection stop Error receive detection: Start, Parity, Frame Overrun Receiver echo mode interrupts (receive full transmit empty) Enable receive and/or transmit Invert and/or
14.2 Overview
Uart pins PB[7], which used receive PB[6] transmit.
14.3 Registers
register name RegUartCtrl RegUartCmd RegUartTx RegUartTxSta RegUartRx RegUartRxSta Table 14-1: Uart register default addresses pos. RegUartCmd SelXtal UartRcSel(2:0) UartPM UartPE UartWL reset nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal description Select input clock: RC/external, xtal Unused prescaler selection Select parity mode: odd, even Enable parity: with parity, parity Select word length: bits, bits
Table 14-2: RegUartCmd pos. RegUartCtrl UartEcho UartEnRx UartEnTx UartXRx UartXTx UartBR(2:0) reset nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal description Enable echo mode: echo Rx->Tx, echo Enable uart reception Enable uart transmission Invert Invert Select baud rate
Table 14-3: RegUartCtrl
14-2
D0207-136
Datasheet XE88LC06
pos.
RegUartTx UartTx
reset 00000000 nresetglobal Table 14-4: RegUartTx
description Data send
pos.
RegUartTxSta UartTxBusy UartTxFull
reset 000000 nresetglobal nresetglobal
description Unused Uart busy transmitting RegUartTx full writing RegUartTx Cleared when transferring RegUartTx into internal shift register
Table 14-5: RegUartTxSta pos. RegUartRx UartRx reset 00000000 nresetglobal Table 14-6: RegUartRx pos. RegUartRxSta UartRxSErr UartRxPErr UartRxFErr UartRxOErr UartRxBusy UartRxFull reset nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal description Unused Start error Parity error Frame error Overrun error Cleared writing RegUartRxSta Uart busy receiving RegUartRx full Cleared reading RegUartRx description Received data
Table 14-7: RegUartRxSta
14.4 Interrupts
interrupt source Irq_uart_Tx Irq_uart_Rx default mapping interrupt manager IrqHig(1) IrqHig(0) Table 14-8: Interrupts
14.5 Uart baud rate selection
order have correct baud rates, Uart interface with stable trimmed clock source. clock source external clock source, oscillator crystal oscillator. precision baud rate will depend precision selected clock source.
14-3
D0207-136
Datasheet XE88LC06
14.6 Uart oscillator external clock source
select external clock oscillator Uart, SelXtal RegUartCmd choice between oscillator external clock source made with EnExtClock RegSysClock. order obtain correct baud rate, oscillator external clock frequency have frequencies given table below. precision obtained baud rate directly proportional frequency deviation used clock source with respect values table below. Frequency selection correct Uart baud rates oscillator (Hz) External clock (Hz) 2'457'600 4'915'200 1'228'800 2'457'600 614'400 1'228'800 307'200 614'400 153'600 307'200 76'800 153'600 Table 14-9a each these frequencies, baud rate selected with bits UartBR(2:0) RegUartCtrl UartRcSel(2:0) RegUartCmd shown Table 14-9. frequency (Hz) External clock freq. (Hz) UartRcSel UartBR 2457600 4915200 153600 76800 38400 19200 9600 4800 2400 1200 1228800 2457600 76800 38400 19200 9600 4800 2400 1200 614400 1228800 38400 19200 9600 4800 2400 1200 307200 614400 19200 9600 4800 2400 1200 153600 307200 9600 4800 2400 1200 76800 153600 4800 2400 1200
Table 14-9: Uart baud rate with clock external clock Note Although documented here, coding baud rate used circuits XE88LC01, XE88LC03 XE88LC05 also used. Note precision baud rate directly proportional frequency deviation used clock from ideal frequency given table. order increase precision stability oscillator, DFLL (digital frequency locked loop) used with crystal oscillator reference.
14.7 Uart crystal oscillator
order crystal oscillator clock source Uart, SelXtal RegUartCmd set. crystal oscillator enabled setting EnableXtal RegSysClock. baud rate selection done using UartBR bits shown Table 14-10.
14-4
D0207-136
Datasheet XE88LC06
Xtal freq. (Hz) UartBR
32768 2400 1200
Table 14-10: Uart baud rate with Xtal clock ratio between crystal oscillator frequency baud rate, generated baud rate systematic error -2.48%.
14.8 Function description
14.8.1 Configuration bits
configuration bits Uart serial interface found registers RegUartCmd RegUartCtrl. SelXtal used select clock source (see chapter 14.5). bits UartSelRc UartBR select baud rate (see chapter 14.5). bits UartEnRx UartEnTx used enable disable reception transmission. word length data bits) chosen with UartWL. parity added during transmission checked during reception UartPE set. parity mode (odd even) chosen with UartPM. Setting bits UartXRx UartXTx inverts respectively signals. UartEcho used send received data automatically back. transmission function becomes then: UartXRx UartXTx. 14.8.2 Transmission
order send data, transmitter enabled setting UartEnTx. Data sent have written register RegUartTx. UartTxFull RegUartTxSta then goes indicating transmitter that word available. soon transmitter finished sending previous word, then loads contents register RegUartTx internal shift register clears UartTxFull bit. interrupt generated Irq_uart_Tx falling edge UartTxFull bit. UartTxBusy RegUartTxSta shows that transmitter busy transmitting word. timing diagram shown Figure 14-1. Data sent first. data should written register RegUartTx only while UartTxBusy otherwise data will lost.
14-5
D0207-136
Datasheet XE88LC06
Asynchronous Transmission
write RegUartTx RegUartTx reguarttx_shift shift clock UartTxBusy UartTxFull Irq_uart_Tx start b6/7 parity stop word word
Asynchronous Transmission (back back)
word write RegUartTx RegUartTx reguarttx_shift shift clock UartTxBusy UartTxFull Irq_uart_Tx start b6/7 stop start word word word word word
Figure 14-1. Uart transmission timing diagram.
14.8.3
Reception
detection start bit, UartRxBusy set. detection stop bit, received data transferred from internal shift register register RegUartRx. same time, UartRxFull interrupt generated Irq_uart_Rx. This indicates that data available RegUartRx. timing diagram shown Figure 14-2. UartRxFull cleared when RegUartRx read. register read before receiver transfers word UartRxOErr (overflow error) previous contents register lost. UartRxOErr cleared writing data RegUartRxSta. UartRxSErr start error been detected. updated data transfer RegUartRx. UartRxPErr parity error been detected, i.e. received parity equal calculated parity received data. updated data transfer RegUartRx. UartRxFErr RegUartRxSta shows that frame error been detected. stop been detected.
14-6
D0207-136
Datasheet XE88LC06
Asynchronous Reception
read RegUartRx (software) reguartrx_shift RegUartRx shift clock UartRxBusy UartRxFull Irq_uart_Rx start b6/7 parity stop word word
Figure 14-2. Uart reception timing diagram.
14.8.4
Interrupt polling
transmission reception software driven interruption polling status bits. Interrupt driven reception: each time Irq_uart_Rx interrupt generated, word available RegUartRx. register read before word received. Interrupt driven transmission: each time contents RegUartTx transferred transmission shift register, Irq_uart_Tx interrupt generated. word then written RegUartTx. Reception driven polling: UartRxFull read checked. When RegUartRx register contains data read before word received. Transmission driven polling: UartTxFull read checked. When RegUartTx register empty word written
14.9 Software hints
Example program transmission with polling: RegUartCmd register RegUartCtrl register initialized (for example: word length, parity, 9600 baud, enable Uart transmission). Write byte RegUartTx. Wait untill UartTxFull RegUartTxSta register equals Jump writing next byte message finished. transmission. Example program transmission with interrupt: RegUartCmd register RegUartCtrl register initialized (for example: word length, parity, 9600 baud, enable Uart transmission). Write byte RegUartTx. After interrupt message finished, jump transmission.
14-7
D0207-136
Datasheet XE88LC06
Example program reception with polling: RegUartCmd register RegUartCtrl register initialized (for example: word length, parity, 9600 baud, enable Uart reception). Wait until UartRxFull RegUartRxSta register equals Read RegUartRxSta check there error. Read data RegUartRx. data equal End-Of-Line, then jump reception. Example program reception with interrupt: RegUartCmd register RegUartCtrl register initialized (for example: word length, parity, 9600 baud, enable Uart reception). When there interrupt, jump Read RegUartRxSta check there error. Read data RegUartRx. data equal End-Of-Line, then jump reception.
14-8
D0207-136
Datasheet XE88LC06
Universal Synchronous Receiver/Transmitter (URST)
15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8
UNIVERSAL SYNCHRONOUS RECEIVER/TRANSMITTER (URST). 15-1 FEATURES 15-2 OVERVIEW 15-2 REGISTER 15-2 INTERRUPTS 15-4 CONDITIONAL EDGE DETECTION 15-4 CONDITIONAL EDGE DETECTION 15-4 INTERRUPTS POLLING. 15-5 FUNCTION DESCRIPTION 15-5
15-1 Universal Synchronous Receiver/Transmitter 2000
D0207-136
Datasheet XE88LC06
15.1 Features
USRT implements hardware support software implemented serial protocols: Control external lines (read/write). Conditional edge detection generates interrupts. rising edge detection. value stored rising edge. signal forced after falling edge clock stretching state. signal stretched state after falling edge after conditional detection.
15.2 Overview
USRT block supports software universal synchronous receiver transmitter mode interfaces. External lines respectively correspond clock line data line. mapped PB[4] PB[5] when USRT block enabled. independent RegPBdir (Port input output). When USRT enabled, configurations port PB[4] PB[5] overwritten USRT configuration. Internal pull-ups used setting PBPullup[5:4] bits. Conditional edge detections provided. RegUsrtS1 used read data line from PB[5] receive mode drive output line PB[5] writing when transmit mode. advised read data when receive mode from RegUsrtBufferS1 register, which value sampled rising edge
15.3 Register
Register name RegUsrtS1 RegUsrtS0 RegUsrtCtrl RegUsrtCond1 RegUsrtCond2 RegUsrtBufferS1 RegUsrtEdgeS0 Table 15-1: Default address mapping USRT
Block configuration registers: pos. RegUsrtS1 "0000000" UsrtS1 reset nresetglobal function Unused Write: data written PB[5]), Read: value PB[5] (not UsrtS1 value).
Table 15-2: RegUsrtS1
15-2
D0207-136
Datasheet XE88LC06
pos.
RegUsrtS0 "0000000" UsrtS0
reset nresetglobal
function Unused Write: clock written PB[4], Read: value PB[4] (not UsrtS0 value).
Table 15-3: RegUsrtS0
values that read registers RegUsrtS1 RegUsrtS0 necessarily same values that were written register. read value read back circuit pins registers themselves. Since outputs open drain, external circuit circuit pins force value different from register value. pos. RegUsrtCtrl "0000" UsrtWaitS0 UsrtEnWaitCond1 UsrtEnWaitS0 UsrtEnable reset nresetglobal nresetglobal nresetglobal nresetglobal function Unused Clock stretching flag (0=no stretching), cleared writing RegUsrtBufferS1 Enable stretching UsrtCond1 detection (0=disable) Enable stretching operation (0=disable) Enable USRT operation (0=disable)
Table 15-4: RegUsrtCtrl
pos.
RegUsrtCond1 "0000000" UsrtCond1
reset nresetglobal
function Unused State condition detection =detected), cleared when written.
Table 15-5: RegUsrtCond1
pos.
RegUsrtCond2 "0000000" UsrtCond2
reset nresetglobal
function Unused State condition detection =detected), cleared when written.
Table 15-6: RegUsrtCond2
pos.
RegUsrtBufferS1 "0000000" UsrtBufferS1
reset nresetglobal
function Unused Value last rising edge.
Table 15-7: RegUsrtBufferS1
pos.
RegUsrtEdgeS0 "0000000" UsrtEdgeS0
reset nresetglobal
function Unused State rising edge detection (1=detected). Cleared reading RegUsrtBufferS1
Table 15-8: RegUsrtEdgeS0 15-3 D0207-136
Datasheet XE88LC06
15.4 Interrupts
interrupt source Irq_cond2 Irq_cond1 default mapping interrupt manager RegIrqMid(7) RegIrqMid(6) Table 15-9: Interrupts
15.5 Conditional edge detection
Figure 15-1: Condition Condition satisfied when S0=1 falling edge UsrtCond1 RegUsrtCond1 when condition detected USRT interface enabled (UsrtEnable=1). Condition asserted both modes (receiver transmitter). UsrtCond1 read only cleared reset conditions writing data address. Condition occurrence also generates interrupt Irq_cond1.
15.6 Conditional edge detection
Figure 15-2: Condition Condition satisfied when S0=1 rising edge UsrtCond2 RegUsrtCond2 when condition detected USRT interface enabled. Condition asserted both modes (receiver transmitter). UsrtCond2 read only cleared reset conditions writing data address. Condition occurrence also generates interrupt Irq_cond2.
15-4
D0207-136
Datasheet XE88LC06
15.7 Interrupts polling
receive mode, there possibilities detect condition detection condition generate interrupt registers polled (reading checking RegUsrtCond1 RegUsrtCond2 registers status USRT communication).
15.8 Function description
UsrtEnable RegUsrtCtrl used enable USRT interface controls PB[4] PB[5] pins. This puts these port lines open drain configuration requested USRT interface. external pull-ups added PB[4] PB[5], user activate internal pull-ups setting PBPullup[4] PBPullup[5] RegPBPullup. bits UsrtEnWaitS0, UsrtEnWaitCond1, UsrtWaitS0 RegUsrtCtrl used transmitter/receiver control USRT interface. Figure 15-3 shows unconditional clock stretching function which enabled setting UsrtEnWaitS0.
UsrtWaitS0
write UsrtBufferS1
Figure 15-3: Stretching (UsrtEnWaitS0=1) When UsrtEnWaitS0 line will maintained after falling edge (clock stretching). UsrtWaitS0 then indicating that line forced low. release writing RegUsrtBufferS1 register. same done combination with condition detection setting UsrtEnWaitCond1 bit. Figure 15-4 shows conditional clock stretching function, which enabled setting UsrtEnWaitCond1.
15-5
D0207-136
Datasheet XE88LC06
UsrtWaitS0
write UsrtBufferS1
Figure 15-4: Conditional stretching (UsrtEnWaitCond1=1) When UsrtEnWaitCond1 signal will stretched state after falling edge condition been detected before (UsrtCond1=1). UsrtWaitS0 then indicating that line forced low. release writing RegUsrtBufferS1 register. Figure 15-5 shows sampling function implemented UsrtBufferS1 bit. UsrtBufferS1 RegUsrtBufferS1 value sampled PB[4] last rising edge UsrtEdgeS0 RegUsrtEdgeS0 same rising edge cleared read operation RegUsrtBufferS1 register. therefor indicates that value present RegUsrtBufferS1 which read.
UsrtBufferS1
read UsrtBufferS1
UsrtEdgeS0
Figure 15-5: sampling
15-6
D0207-136
Datasheet XE88LC06
Counters/PWM
16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 16.10 16.11 16.12
COUNTERS/PWM. 16-1 FEATURES 16-2 OVERVIEW. 16-2 REGISTER 16-2 INTERRUPTS EVENTS 16-4 BLOCK SCHEMATIC. 16-4 GENERAL COUNTER REGISTERS OPERATION 16-5 CLOCK SELECTION 16-5 COUNTER MODE SELECTION 16-6 COUNTER TIMER MODE 16-7 MODE 16-8 CAPTURE FUNCTION 16-9 SPECIFICATIONS 16-11
16-1 Counters/PWM juillet 2000
D0207-136
Datasheet XE88LC06
16.1 Features
8-bits timer/counter modules 16-bits timers/counter modules Each with possible clock sources Up/down counter modes Interrupt event generation Capture function (internal external source) Rising, falling both edge capture signal (except xtal kHz, only rising edge) PA[3:0] used clock inputs (debounced direct, frequency divided not) bits bits resolution bits Complex mode combinations possible
16.2 Overview
Counter Counter 8-bits counters combined form 16-bit counter. Counter Counter exhibit same feature. counters also used generate outputs PB[0] PB[1]. mode generate functions with bits wide counters. counters captured events internal external signal. capture performed both 8-bit counters running individually different clock sources both counters chained form 16-bit counter. case, same capture signal used both counters. When counters chained, they used several configurations: counters, captured counters, counter, captured counter. When counters chained, they used either both counters counter counter counter.
16.3 Register
register name RegCntA RegCntB RegCntC RegCntD RegCntCtrlCk RegCntConfig1 RegCntConfig2 RegCntOn Table 16-1. Register default address
RegCntA
CounterA CounterA
reset 00000000 nresetglobal 00000000 nresetglobal Table 16-2. RegCntA
function 8-bits counter value 8-bits comparison value
16-2
D0207-136
Datasheet XE88LC06
RegCntB
CounterB CounterB
reset 00000000 nresetglobal 00000000 nresetglobal Table 16-3. RegCntB
function 8-bits counter value 8-bits comparison value
Note: When writing RegCntA RegCntB, processor writes counter comparison values. When reading these locations, processor reads back either actual counter value last captured value capture mode active.
RegCntC
CounterC CounterC
reset 00000000 nresetglobal 00000000 nresetglobal Table 16-4. RegCntC
function 8-bits counter value 8-bits comparison value
RegCntD
CounterD CounterD
reset 00000000 nresetglobal 00000000 nresetglobal Table 16-5. RegCntD
function 8-bits counter value 8-bits comparison value
Note: When writing RegCntC RegCntD, processor writes counter comparison values. When reading these locations, processor reads back actual counter value.
RegCntCtrlCk
CntDCkSel(1:0) CntCCkSel(1:0) CntBCkSel(1:0) CntACkSel(1:0)
reset nresetglobal nresetglobal nresetglobal nresetglobal Table 16-6. RegCntCtrlCk
function Counter clock selection Counter clock selection Counter clock selection Counter clock selection
RegCntConfig1
CntDDownUp CntCDownUp CntBDownUp CntADownUp CascadeCD CascadeAB CntPWM1 CntPWM0
reset nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal
function Counter down counting (0=down) Counter down counting (0=down) Counter down counting (0=down) Counter down counting (0=down) Cascade counter (1=cascade) Cascade counter (1=cascade) Activate pwm1 counter (PB(1)) Activate pwm0 counter (PB(0))
Table 16-7. RegCntConfig1
RegCntConfig2
CapSel(1:0) CapFunc(1:0) Pwm1Size(1:0) Pwm0Size(1:0)
reset nresetglobal nresetglobal nresetglobal nresetglobal Table 16-8. RegCntConfig2
function Capture source selection Capture function Pwm1 size selection Pwm0 size selection
16-3
D0207-136
Datasheet XE88LC06
RegCntOn
CntDExtDiv CntCExtDiv CntBExtDiv CntAExtDiv CntDEnable CntCEnable CntBEnable CntAEnable
reset nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal
function Divide PA(3) frequency (1=divide) Divide PA(2) frequency (1=divide) Divide PA(1) frequency (1=divide) Divide PA(0) frequency (1=divide) Enable counter Enable counter Enable counter Enable counter
Table 16-9. RegCntOn
16.4 Interrupts events
Interrupt source IrqA IrqB IrqC IrqD Default mapping interrupt manager RegIrqHigh(4) RegIrqLow(5) RegIrqHigh(3) RegIrqLow(4) Default mapping event manager RegEvn(7) RegEvn(3) RegEvn(6) RegEvn(2)
Table 16-10. Default interrupt event mapping.
16.5 Block schematic
ck1k ck16k
ck128 ckrcext/4 ckrcext PA(0)
RegCntA (write) Counter RegCntA (read)
Capture RegCntB (write) Counter PA(1) RegCntC (write) ck1k ck32k PA(2) Counter RegCntC (read) RegCntB (read)
RegCntD (write) Counter PA(3) PB(1) RegCntD (read)
PB(0)
Figure 16-1: Counters/timers block schematic
16-4
D0207-136
Datasheet XE88LC06
16.6
General counter registers operation
Counters enabled CntAEnable, CntBEnable, CntCEnable, CntDEnable RegCntOn. stop counter CntXEnable must reset. start counter CntXEnable must set. When counters cascaded, CntAEnable CntCEnable also control respectively counters counters have corresponding 8-bit read/write register: RegCntA, RegCntB, RegCntC, RegCntD. When read, these registers contain counter value captured counter value). When written, they modify counter comparison values. possible read counter time, even when counter running. value guaranteed correct when counter running internal clock source. correct acquisition counter value when running external clock source, three following methods: slow operating counters (typically least times slower than clock), oversample counter content perform majority operation consecutive read results select correct actual content counter. Stop concerned counter, perform read operation restart counter. While stopped, counter content frozen counter does take into account clock edges delivered external pin. capture mechanism. When value written into counter register while counter counter mode, both comparison value updated counter value modified. upcount mode, register value reset zero. downcount mode, comparison value loaded into counter. synchronization mechanism between processor clock domain external clock source domain, this modification counter value postponed until counter enabled that receives it's first valid clock edge. mode capture mode, counter value modified write operation counter register. Changing counter mode, does update counter value reset upcount, load downcount mode).
16.7 Clock selection
clock source each counter individually selected writing appropriate value register RegCntCtrlCk. Table 16-11 gives correspondence between binary codes used configuration bits CntACkSel(1:0), CntBCkSel(1:0), CntCCkSel(1:0) CntDCkSel(1:0) clock source selected respectively counters Clock source CntXCkSel(1:0) CounterA CounterB CounterC CounterD Ck128 CkRcExt/4 CkRcExt PA(0) PA(1) Ck1k Ck32k PA(2) PA(3)
Table 16-11: Clock sources counters
16-5
D0207-136
Datasheet XE88LC06
CkRcExt clock oscillator external clock. clocks below 32kHz derived from oscillator, external clock source crystal oscillator (see documentation clock block). separate external clock source delivered PortA each individula counter. external clock sources debounced properly setting PortA configuration registers. Additionally, external clock sources divided counter block, thus enabling higher external clock frequencies, setting CntXExtDiv bits RegCntOn register. Switching between internal external clock source only performed while counter stopped. enabling disabling external clock frequency division only performed while counter using this

Other recent searches


TPD1044F - TPD1044F   TPD1044F Datasheet
SST25LF040A - SST25LF040A   SST25LF040A Datasheet
SST25LF020A - SST25LF020A   SST25LF020A Datasheet
PHP110NQ06LT - PHP110NQ06LT   PHP110NQ06LT Datasheet
OM183-5 - OM183-5   OM183-5 Datasheet
OM185-5 - OM185-5   OM185-5 Datasheet
OM184-5 - OM184-5   OM184-5 Datasheet
OM186-5 - OM186-5   OM186-5 Datasheet
IDT7208 - IDT7208   IDT7208 Datasheet
DS2004SF - DS2004SF   DS2004SF Datasheet
DS4188-5 - DS4188-5   DS4188-5 Datasheet
C2560 - C2560   C2560 Datasheet
BTA733A3 - BTA733A3   BTA733A3 Datasheet
BAP51-02 - BAP51-02   BAP51-02 Datasheet

 

Privacy Policy | Disclaimer
© 2012 Datasheet Archive