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*)

 

 

XE88LC06A Ultra Low-Power Low-Voltage Radio Machine Applicat


Datasheet Thumbnail

  

Download PDF



Top Searches for this datasheet



Data Sheet XE88LC06A
XE88LC06A
Ultra Low-Power Low-Voltage Radio Machine
Applications
companion chip system supervisor Portable, battery operated instruments Metering Remote control HVAC control XE88LC06A ultra low-power low-voltage microcontroller based Radio Machine. includes revolutionary BitJockey, UART type peripheral specialized radio communication. XE88LC06A available with chip MultipleTime-Programmable (MTP) program memory.
product Features
Ultra low-power MCU, MIPS MIPS operation operation time keeping Low-voltage operation (1.2 supply voltage) ROM/MTP, counters PWM, UART, BitJockey Analog matrix switching low-power analog comparators independant crystal oscillators reset, interrupt, event sources
Ordering Information
Product
XE88LC06AMI000 XE88LC06AMI014 XE88LC06AMI015 XE88LC06AMI026 XE88LC06ARI000 XE88LC06ARI014 XE88LC06ARI015 XE88LC06ARI026
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 XE88LC06A performance Memory mapping power modes Reset generator Clock generation Interrupt handler Event handler power Port Port Port Radio Asynchronous Receiver/Transmitter (BitJockey) Universal Asynchronous Receiver/Transmitter (UART) Universal Synchronous Receiver/Transmitter (USRT) Counters/PWM Voltage Level Detector power comparators Dimensions
D0209-136
Datasheet XE88LC06A
General overview
CONTENTS
1.2.1 1.2.2 1.2.3 schematic TQFP-32 SO-28 XE88LC06A SO-24 assignment
LC06A 20.8.2002
D0209-136
Datasheet XE88LC06A
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 frequently 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 event sources flags which event source active. Port parallel port with analog capabilities. USRT, 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. USRT (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. RFIF interface serial interface dedicated communication with circuits. From side, very much looks like ordinary UART also implements level coding/decoding frame synchronisation. input/output pins multiplexed port counters/timers/PWM take clocks from internal external sources Port generate interrupts events. output Port
D0209-136
Datasheet XE88LC06A (voltage level detector) detects battery life with respect programmable threshold. CMPD contains channel comparator. intended monitor analog digital signals whilst having 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
CLOCK GENERATION/ MANAGEMENT
clocks
UART
test control
VREG
TEST CONTROLLER
TEST
DATA REGISTERS
HANDLING
PB(1:0) PA(3:0)
COUNTERS TIMERS
HANDLING
PORT
PB(7:0)
CMPD
RFIF BitJockey
PD(3:0)
Figure 1-1. Block schematic XE88LC06A circuit.
PB(7:4)
PB(7:6)
PB(5:4)
D0209-136
Datasheet XE88LC06A
XE88LC06A 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
PB(6)
PB(7)
PD(5)
PA(5)
PA(6)
PD(6)
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.
D0209-136
Datasheet XE88LC06A 1.2.3 XE88LC06A 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
D0209-136
Datasheet XE88LC06A
XE88LC06A performance
CONTENTS
2.4.1 2.4.2 Absolute maximum ratings Operating range Current consumption Operating speed Flash circuit version circuit version
LC06A 20.8.2002
D0209-136
Datasheet XE88LC06A
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.
D0209-136
Datasheet XE88LC06A
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 XE88LC06AM 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 shows typical current consumption version with instructions. possible modes possible: 2.4V-5.5V operating range using internal regulator 1.2V3.3V operating range short circuiting voltage regulator (i.e. connect VREG VBAT). Table 2-6. Current consumption XE88LC06AR 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. Using internal voltage regulator (see Figure 2-3). With internal regulator short circuited (i.e. connecting VREG VBAT, Figure 2-5). this case, current consumption will increase with VBAT.
D0209-136
Datasheet XE88LC06A 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.
D0209-136
Datasheet XE88LC06A
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.
D0209-136
Datasheet XE88LC06A
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.
D0209-136
Datasheet XE88LC06A
CONTENTS
description internal registers instruction short reference
D0209-136
Datasheet XE88LC06A
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
D0209-136
Datasheet XE88LC06A
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
D0209-136
Datasheet XE88LC06A
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
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
D0209-136
Datasheet XE88LC06A
reg1, reg2 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]
-,-, -,-, -,-, -,-, -,-, -,-, -,-, -,-, -,-, -,-, -,-, -,-,
reg2-1; a=hFF then else reg1 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
D0209-136
Datasheet XE88LC06A
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
D0209-136
Datasheet XE88LC06A
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 4.2.15 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) interface (h0060-h0067) Comparator registers (h0072-h0073) Voltage Level Detector registers (h007E-h007F) (h0080-h027F)
LC06A fev. 2002
D0209-136
Datasheet XE88LC06A
Memory organisation
XE88LC06A build 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 data registers 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 reset source coding given Table 4-2. full description reset sources, please refer reset block chapter. D0209-136
Data memory
Instruction memory
Datasheet XE88LC06A 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] rw,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[7:0] rw,0000000,glob
Table 4-3. power data registers 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,r0 RcFreqCoarse[3:0] rw,0001,cold RcFreqFine[5:0] rw,00000,cold
D0209-136
Datasheet XE88LC06A 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 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.
D0209-136
Datasheet XE88LC06A
4.2.7
Address
Event handler (h003C-h003F)
Name RegEvn 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
h003C RegEvnEn h003D RegEvnPriority h003E RegEvnEvn h003F
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 4.2.8
Address
Interrupt handler (h0040-h0047)
Name 128Hz rc1,0,glob UrstCond1 rc1,0,glob PAIrq[6] rc1,0,glob RfifTx 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
RfifRx h0040 rc1,0,glob RegIrqMid UsrtCond2 h0041 rc1,0,glob RegIrqLow PAIrq[7] h0042 rc1,0,glob RegIrqEnHig h0043 RegIrqEnMid h0044 RegIrqEnLow h0045 RegIrqPriority h0046 RegIrqIrq h0047 RegIrqHig
IrqHig r,0,glob
IrqMid r,0,glob
IrqLow r,0,glob
Table 4-10. Interrupt handler registers origin different interrupts summarised table below.
D0209-136
Datasheet XE88LC06A
Interrupt CmpdIrq CntIrqA CntIrqB CntIrqC CntIrqD 128Hz PAIrq[7:0] RfifRx RfifTx UartIrqRx UartIrqTx UsrtCond1 UsrtCond2 VldIrq
Interrupt 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 interface reception interface transmission UART reception UART transmission USRT condition USRT condition Voltage level detector
Table 4-11. Interrupt source description 4.2.9
Address RegUsrtS1 h0048 RegUsrtS0 h0049 RegUsrtCtrl h004A RegUsrtCond1 h004B RegUsrtCond2 h004C RegUsrtBufferS1 h004D RegUsrtEdgeS0 h004E UsrtWaitS0 r,0,glob
UsrtEnWaitCond1
USRT (h0048-h004F)
Name 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
rw,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
D0209-136
Datasheet XE88LC06A
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. 4.2.12 interface BitJockey (h0060-h0067)
RfifBRCoarse[1:0] RfifBRFine[3:0] rw,00,glob rw,0000,glob RfifEnStart[1:0] RfifEnCod RfifRxClock RfifTxClock RfifPCM[2:0] rw,00,glob rw,0,glob rw,0,glob rw,0,glob rw,000,glob RfifRxIrqEn[2:0] RfifRxIrqMem[2:0] RfifEnTx RfifEnRx rw,000,glob rc1,000,glob rw,0,conf rw,0,conf RfifTx wr0,00000000,glob RfifTxFifoOverrun RfifTxFifoFull RfifTxFifoEmpty RfifTxStopped rc1,0,glob r,1,glob r,0,glob r,0,glob RfifRx r,00000000,glob RfifRxFifoOverrun RfifRxFifoFull RfifRxStartDet RfifRxBusy RfifRxReady rc1,0,glob r,0,glob r,0,glob rc1,0,glob r,0,glob RfifSPat[7:0] rw,0000000,glob
Name Address RegRfifCmd1 h0060 RegRfifCmd2 h0061 RegRfifCmd3 h0062 RegRfifTx h0063 RegRfifTxSta h0064 RegRfifRx h0065 RegRfifRxSta h0066 RegRfifSPat h0067
Table 4-15. interface (Rfif) register description. 4.2.13 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-16. power comparator registers
D0209-136
Datasheet XE88LC06A
4.2.14
Address
Voltage Level Detector registers (h007E-h007F)
Name RegVldCtrl RegVldStat VldRange rw,0,glob VldTune[2:0] rw,000,glob VldResult VldValid r,0,glob r,0,glob VldEn rw,0,glob
h007E h007F
Table 4-17. Voltage level detector register description 4.2.15 (h0080-h027F)
bytes accessed read write operations. reset function. Variables stored should initialised before since they have value circuit start
D0209-136
Datasheet XE88LC06A
power modes
5.1.1
power modes. Features Overview Operating mode
power modes 1.2- janvier 2001 D0209-136
Datasheet XE88LC06A
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:
D0209-136
Datasheet XE88LC06A
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.
D0209-136
Datasheet XE88LC06A
Reset generator
6.5.1 6.5.2 6.5.3 6.5.4 6.5.5
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
D0209-136
Datasheet XE88LC06A
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 Table gives different registers used this block.
D0209-136
Datasheet XE88LC06A
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
D0209-136
Datasheet XE88LC06A 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.
D0209-136
Datasheet XE88LC06A 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.
D0209-136
Datasheet XE88LC06A 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).
D0209-136
Datasheet XE88LC06A
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))
D0209-136
Datasheet XE88LC06A
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 map. 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 D0209-136
Datasheet XE88LC06A
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
D0209-136
Datasheet XE88LC06A
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)
D0209-136
Clock
ckRCExt
high prescaler
ckRCExt ckRCExt/256
RegSysRcTrim1&2 EnableXtal not(En Clock) ck32kHz
div.
prescaler
ck32kHz ck1Hz cpuck
Xtal
EnableRc Clock system clock
Figure 7-1. Clock block structure
Datasheet XE88LC06A
D0209-136
Datasheet XE88LC06A
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
D0209-136
Datasheet XE88LC06A
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)
D0209-136
Datasheet XE88LC06A
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.
D0209-136
Datasheet XE88LC06A
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. D0209-136
Datasheet XE88LC06A 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 32768 Xtal cycles after setting EnableXtal.
D0209-136
Datasheet XE88LC06A
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
D0209-136
Datasheet XE88LC06A
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
D0209-136
Datasheet XE88LC06A
Interrupt handler
Interrupt handler Features. Overview. Register
Interrupt handler 2001 D0209-136
Datasheet XE88LC06A
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: Handler Registers
D0209-136
Datasheet XE88LC06A
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
D0209-136
Datasheet XE88LC06A
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
D0209-136
Datasheet XE88LC06A
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
D0209-136
Datasheet XE88LC06A
Event handler
Event handler Features. Overview. Register
Event handler avril 2000 D0209-136
Datasheet XE88LC06A
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: Handler Registers
D0209-136
Datasheet XE88LC06A
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
D0209-136
Datasheet XE88LC06A
power
power 10-1
10.1 Features 10-2 10.1.1 Overview 10-2 10.2 Register map. 10-2
10-1
power data register avril 2000
D0209-136
Datasheet XE88LC06A
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
D0209-136
Datasheet XE88LC06A
Port
11.1 11.2 11.3 11.4 11.5
Port 11-1 Features 11-2 Overview 11-2 Register map. 11-3 Interrupts events 11-4 Port (PA) Operation 11-4
11-1
Port 2001
D0209-136
Datasheet XE88LC06A
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
D0209-136
Datasheet XE88LC06A
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. 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
D0209-136
Datasheet XE88LC06A
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
D0209-136
Datasheet XE88LC06A
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
D0209-136
Datasheet XE88LC06A
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
D0209-136
Datasheet XE88LC06A
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 map. 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
D0209-136
Datasheet XE88LC06A
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 Port registers. register name RegPBOut RegPBIn RegPBDir RegPBOpen RegPBPullup RegPBAna Table 12-1: Default Port registers
12-2
D0209-136
Datasheet XE88LC06A
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
D0209-136
Datasheet XE88LC06A
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
D0209-136
Datasheet XE88LC06A
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
D0209-136
Datasheet XE88LC06A
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 RegUsrtS0. When output, PB[5] takes value UsrtS1 RegUsrtS1. 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
D0209-136
Datasheet XE88LC06A
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.2*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
D0209-136
Datasheet XE88LC06A
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
D0209-136
Datasheet XE88LC06A
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. register name RegPDIn RegPDOut RegPDDir RegPDPullup Table 13-1 registers
13-2
D0209-136
Datasheet XE88LC06A
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
D0209-136
Datasheet XE88LC06A
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
D0209-136
Datasheet XE88LC06A
Interface (BitJockey)
CONTENTS
14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.8.1 14.8.1.1 14.8.1.2 14.8.2 14.8.2.1 14.8.2.2 14.8.2.3 14.8.2.4 14.8.3 14.8.4 14.8.5 14.9 14.9.1 14.9.2 14.9.3 14.9.4 14.10 14.11 14.12 14.12.1 14.12.1.1 14.12.1.2 14.12.1.3 14.12.1.4 14.12.1.5 14.12.2 14.12.2.1 14.12.2.2 14.12.2.3 14.12.2.4 14.12.2.5 14.12.2.6 Introduction Features General overview Register Interrupts External connections Supported codes Reception mode: detailed description Input data filter synchronization code Bi-phase Miller code Start Sequence Detection message synchronization start sequence detection "Protocol" start detection "External" start detection "Pattern" start detection decoding Reception FIFO Reception interrupts Transmission mode Transmission FIFO Transmission interrupts Transmission encoding Transmission synchronization clock Baud rate selection Specifications Application hints Using interface with XE1201A Microcontroller transceiver connections Reception mode using coding XE1201A synchronizer Reception mode using Manchester coding Transmission mode using coding Transmission mode using Miller code Using interface with XE1202 Microcontroller transceiver connections Microcontroller clock source derived from XE1202 crystal oscillator Reception mode using coding XE1202 message synchronizer Reception mode using Manchester coding Transmission mode using coding Transmission mode using Manchester code 14-2 14-2 14-2 14-3 14-5 14-5 14-5 14-6 14-7 14-7 14-7 14-7 14-8 14-8 14-8 14-9 14-10 14-10 14-11 14-11 14-11 14-11 14-12 14-12 14-13 14-14 14-14 14-14 14-14 14-15 14-17 14-18 14-19 14-20 14-20 14-21 14-22 14-23 14-25 14-26
14-1
Rfif_dl 1.10 August 2002
D0209-136
Datasheet XE88LC06A
14.1 Introduction
This block Stream Encoder Decoder Receiver Transmitter Interface. normal microcontroller, bits level coding protocol done software. This very tedious time consuming task since processor handle they received they have transmitted. This block simplifies handling level data handling wireless data transmission systems very much similar UART interface does wired transmission systems.
14.2 Features
functions Receiver Transmitter (half duplex) Internal baud rate generator standard baud rates Decode encode main codes (NRZ, Bi-Phase Miller), bypassed Buffered input output data (FIFO) interrupt sources Internal external synchronization Internal external start sequence detection
14.3 General overview
Interface block stream receiver transmitter wireless transmission. used with XEMICS' third party transceiver circuits.
Encoder Decoder Reception
RFIF0 Input Stream RFIF1 External clock
Control
Decoder
Enable/Bypass
Filter
Start Detection
Enable/Bypass
Shift Register
Type
FIFO
Ctrl Sig.
Match clock Clock Status.
data
Prescaler
clock RFIF2
Baudrate /PCM Type
Interrupts data
Clock
Transmission
FIFO
Ctrl Sig. Status.
RFIF3 Output Stream
Encoder
Enable/Bypass
Shift Register
Figure 14-1 Encoder Decoder Structure
14-2
D0209-136
Datasheet XE88LC06A
Reception block consists "Filter". input data filtered depending selected baud rate. block extracts synchronization clock. When external synchronization clock used, filter bypassed. "Start Detection" block. This block detects programmable start sequence therefor synchronizes message start. interface ignores incoming messages until start sequence detected. This block bypassed external message synchronization signal used (match Figure 14-1). "PCM Decoder" which decodes main types waveforms i.e. NRZ, Bi-Phase, Miller). This block bypassed. "Shift Register" FIFO, that serial parallel conversion memorize input data. Transmission block consists FIFO "Shift Register" which store data parallel serial conversion. "Encoder" which encodes serial data into chosen type. This block bypassed. Prescaler generates clock signals needed reception transmission depending selected baud rate code type.
14.4 Register
register name RegRfifCmd1 RegRfifCmd2 RegRfifCmd3 RegRfifTx RegRfifTxSta RegRfifRx RegRfifRxSta RegRfifRxSPat Table 14-1: Rfif registers pos. RegRfifCmd1 unused RfifBRCoarse(1:0) RfifBRFine(3:0) reset nresetglobal 0000 nresetglobal description Select baud rate (coarse selection) Select baud rate (fine selection)
Table 14-2: RegRfifCmd1 pos. RegRfifCmd2 RfifEnStart(1:0) RfifEnCod RfifRxClock RfifTxClock RfifPCM(2:0) reset nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal description Start Detection mode mode (see page 14-8) enables decoder (Rx) encoder (Tx) enables external clock input (Rx) enables external clock output (Tx) Select type (see page 14-6)
Table 14-3: RegRfifCmd2
14-3
D0209-136
Datasheet XE88LC06A
pos.
RegRfifCmd3 RfifRxIrqEn RfifRxIrqMem RfifEnRx RfifEnTx
r/wc
reset nresetglobal nresetglobal nresetpconf nresetpconf
description enable sources (see page 14-11) Status (see page 14-11) enable Rfif reception mode enable Rfif transmission mode
Table 14-4: RegRfifCmd3 pos. RegRfifTx RfifTx reset 00000000 nresetglobal Table 14-5: RegRfifTx pos. RegRfifTxSta RfifTxFifoOverrun RfifTxFifoFull RfifTxFifoEmpty RfifTxStopped r/wc reset nresetglobal nresetglobal nresetglobal nresetglobal description Fifo overrun error. Write: clear FIFO Fifo full Fifo empty [IRQ] Fifo shift register empty: stopped description Data sent FIFO, depth
Table 14-6: RegRfifTxSta pos. RegRfifRx RfifRx reset 00000000 nresetglobal Table 14-7: RegRfifRx pos. RegRfifRxSta RfifRxFifoOverrun RfifRxFifoFull RfifRxStartDet RfifRxBusy RfifRxReady RfifRxNotEmpty r/wc r/wc reset nresetglobal nresetglobal nresetglobal nresetglobal nresetglobal description Fifo overrun error. Write: clear FIFO Fifo full [IRQ] Start Stream Detected [IRQ] Rfif busy receiving RegRfifRx contains least byte read. Cleared when reading RegRfifRx.[IRQ] description Received data FIFO, depth
Table 14-8: RegRfifRxSta pos. RegRfifRxSPat RfifRxSPat reset 00000000 nresetglobal Table 14-9: RegRfifRxSPat description Programmable start pattern
14-4
D0209-136
Datasheet XE88LC06A
14.5 Interrupts
interrupt lines exist: transmitter receiver. interrupt source Irq_Rfif_Rx Irq_Rfif_Tx Table 14-10: Interrupts
14.6 External connections
interface uses pins. these pins depends interface. Table 14-11 shows possible these pins. receive mode, RFIF0 receiver data stream input. external synchronization clock mode selected, RFIF1 should connected synchronizer clock receiver. receiver message synchronization signal, connected RFIF2. transmitter mode, transmitter data connected RFIF3. synchronization clock generated RFIF2. RFIF0 Receive mode Transmit mode data RFIF1 clock Table 14-11 management case RFIF pins multiplexed parallel digital port, interface overwrites four digital pins soon receive mode transmitter mode interface enabled (bit RfifEnRx RfifEnTx register RegRfifCmd3 Unused pins configured inputs with weak pull-up pull-down. These pins remain floating driven externally. external pull-ups pull-downs required. RFIF2 match clock RFIF3 data
14.7 Supported codes
Seven different codes supported interface. They illustrated figure below. Code: this format message represented chip (i.e. distance between dotted lines Figure 14-2). coding does include clock information. sampling clock information extracted from message preamble. Bi-Phase Code Manchester code: this format message represented chips. This code contains clock information. Delay Modulation Miller code: this format message represented chips. This code contains clock information. interface receive transmit coded uncoded messages. coding/decoding function enabled/disabled using RfifEnCod enable) register RegRfifCmd2.
14-5
D0209-136
Datasheet XE88LC06A
Types Codes
mark mark space mark space space mark
Level
Mark sampling baudrate Space
Bi-Phase Level sampling baudrate Bi-Phase Mark
Bi-Phase Space
Delay Modulation Miller
Figure 14-2 Supported Codes
code type selected using RfifPCM[2:0] control word register RegRfifCmd2. selection control bits given Table 14-12. Codes RfifPCM[2:0] Level Mark Space Level Bi-Phase Mark Space Miller
Table 14-12: code selection
14.8 Reception mode: detailed description
interface configured reception mode setting RfifEnRx enable) clearing RfifEnTx disable transmission) register RegRfifCmd3. input data stream coming from receiver connected RFIF0 pin.
14-6
D0209-136
Datasheet XE88LC06A 14.8.1 14.8.1.1 Input data filter synchronization code
When codes used, synchronization clock should extracted from preamble since coding itself contain clock information. this case, external synchronization clock preferable. This clock delivered RFIF1. stream RFIF0 then sampled detection rising edge clock RFIF1 pin. This function enabled setting RfifRxClock register RegRfifCmd2 Selecting this function bypasses input filter. external synchronization clock available, input data filter used (see description below section 14.8.1.2) extract synchronization clock. RfifRxClock register RegRfifCmd2 cleared input data stream contains long periods without transitions, internally generated synchronization clock could slip with respect rate resulting transmission errors (see also specification chapter 14.11). 14.8.1.2 Bi-phase Miller code
bi-phase Miller code include clock information external synchronization clock needed. input data filter used filter noise input data. filter samples input data times selected baud rate performs following majority function successive samples: (number last samples data (number last samples data else data former data filter some hysteresis since output does change when number between input filter always selected bi-phase Miller coding independent from value RfifRxClock register RegRfifCmd2. 14.8.2 Start Sequence Detection message synchronization
full message mainly composed three parts: preamble start sequence data itself optional stop sequence. start sequence necessary indicate start message. interface supports detection several types start sequences. user chose between these start sequence detection modes using bits RfifEnStart[1:0] RegRfifCmd2 shown Table 14-13. actual implementation detection mode differs depending selected coding described below. start sequence detection will RfifRxStartDet register RegRfifRxSta generate interrupt Irq_Rfif_Rx line. contents reception FIFO reset. data preceding message that were read occurrence start sequence lost. first FIFO first valid decoded after detected start sequence. RfifRxStartDet cleared software writing bit.
14-7
D0209-136
Datasheet XE88LC06A
start detection mode name "None" "protocol" "external" "pattern 8bits" RfifEnStart[1:0]
Table 14-13. Start detection mode selection
14.8.2.1
start sequence detection
this case, interface will look start sequence. incoming data stream will decoded according selected code will stored reception FIFO soon reception mode enabled. message start detected software. 14.8.2.2 "Protocol" start detection
coding defined start sequence. Selecting "protocol" start sequence same effect start detection. bi-phase Manchester code, protocol violation considered start sequence i.e. 1level 0-level which longer than duration chip. example shown Figure 14-3. delay modulation Miller coding, protocol violation considered start sequence i.e. 1-level 0-level which longer than duration chips.
sequence
other start first valid first valid sequence start sequence
Bi-Phase Level
codes
Figure 14-3 Start sequence type Bi-Phase-Level encoding
14.8.2.3
"External" start detection
external start detection signal used. This signal should connected RFIF2. falling edge RFIF2 (also called "match", Figure 14-1) indicates first valid message.
14-8
D0209-136
Datasheet XE88LC06A This edge occur during first half first shown Figure 14-4. minimal width pulse half bit.
RFIF2 (match)
Level
decoded data
first FIFO
Figure 14-4. Timing external word synchronization signal
14.8.2.4
"Pattern" start detection
start sequence defined pattern RfifRxSPat[7:0] written register RegFifRxSPat. This pattern compared incoming stream before decoding. This shown Figure 14-5 Figure 14-6 where identical input data stream identical pattern give same start sequence detection independent from decoded data.
RfifRxSPat=10011111 start sequence
first FIFO
Level
decoded data
Figure 14-5. Pattern start detection NRZ-Level RfifRxSPat[7:0]=10011111
14-9
D0209-136
Datasheet XE88LC06A
RfifRxSPat=10011111 start sequence
first FIFO
Mark
decoded data
Figure 14-6. Pattern start detection NRZ-Mark RfifRxSPat[7:0]=10011111 start pattern less than bits since bits "don't care". 14.8.3 decoding
interface receive coded uncoded messages. coding/decoding function enabled/disabled using RfifEnCod enable) register RegRfifCmd2. code type selected using RfifPCM[2:0] control word register RegRfifCmd2. selection control bits given Table 14-12. Codes RfifPCM[2:0] Level Mark Space Level Bi-Phase Mark Space Miller
Table 14-14: code selection decoder detects invalid code sequences selected start detection mode "protocol mode (RfifEnStart[1:0] Table 14-13), decoder output generates equivalent number random data bits. decoder disabled (RfifEnCod meaning RfifPCM[2:0] changes: coding selected, input stream sampled selected rate. Manchester Miller coding selected, input stream sampled twice data rate. This allows decoding stream software. 14.8.4 Reception FIFO
decoder output data serially shifted shift register (see Figure 14-1). RfifRxBusy RegRfifRxSta indicates that data shifted When bits present shift register, byte loaded FIFO. FIFO depth RfifRxReady RegRfifRxSta indicates that least byte present FIFO. software read data FIFO RegRfifRx. When RfifRxFifoFull FIFO full data should read software before next byte received. not, data will lost RfifRxFifoOverrun Writing this will clear FIFO contents. detection start sequence will also clear RfifRxFifoOverrun FIFO contents.
14-10
D0209-136
Datasheet XE88LC06A
first that received found position RfifRx[0], second position RfifRx[1] 14.8.5 Reception interrupts
Only interrupt line dedicated receiver interface. interrupt generated three different sources however. bits RfifRxIrqEn[2:0] RegRfifCmd3 allow selection interrupt source(s) shown Table 14-15. Possible interrupt sources detection message start, shift first byte FIFO after FIFO cleared finally when FIFO full. bits RfifRxIrqMem[2:0] RegRfifCmd3 flag which interrupt source active since these bits were last cleared. interrupt flags cleared writing More than interrupt source enabled same time. RfifRxIrqEn[2:0] RfifRxIrqMem[2:0] Interrupt source Start sequence detection byte written FIFO FIFO full
Table 14-15. Reception interrupt source selection first interrupt allows easy synchronization message start. second interrupt used wants download message byte time. third interrupt used wants download message bytes time.
14.9 Transmission mode
interface configured reception mode setting RfifEnTx enable) clearing RfifEnRx disable reception) register RegRfifCmd3. When transmission mode switched again, transmission will stop when transmission byte shift register completed. output data stream will generated RFIF3 pin. 14.9.1 Transmission FIFO
Data transmitted written FIFO writing register RegRfifTx. These data then loaded shift register which sends data encoder (Figure 14-1). transmission FIFO full, RfifTxFifoFull RegRfifTxSta software continues write data FIFO while full, flag RfifTxFifoOverrun will data will lost. RfifTxFifoOverrun flag cleared writing This clears contents transmission FIFO same time. When last data byte present FIFO loaded shift register, flag RfifTxFifoEmpty software does write data FIFO shift register finished shifting last encoder, RfifTxStopped RFIF3 remains last encoded state. first sent RfifTx[0], second RfifTx[1] 14.9.2 Transmission interrupts
Only interrupt source exists during transmission: interrupt generated moment last byte FIFO transferred transmission shift register. means that FIFO empty refilled with data. interrupt enabled interrupt manager block.
14-11
D0209-136
Datasheet XE88LC06A 14.9.3 Transmission encoding
transmission encoder bypassed clearing RfifEnCod register RegRfifCmd2. stream RFIF3 then directly connected output shift register. RfifEnCod register RegRfifCmd2 stream coming from shift register encoded first before sending RFIF3 pin. type protocol selected using RfifPCM[2:0] control word register RegRfifCmd2. selection control bits given Table 14-14. Codes RfifPCM[2:0] Level Mark Space Bi-Phase/Manchester Level Mark Space Miller
Table 14-16: code selection When RfifEnCod modified while transmission active, modification will take effect only when byte loaded from FIFO into shift register. While encoder enabled, possible send protocol violation start pattern. protocol violation used start sequence Manchester Miller protocol, following sequence should used: wait until transmission FIFO empty (which means last byte preceding message being coded sent), clear RfifEnCod, write uncoded start pattern transmission FIFO wait until transmission FIFO empty (which means last byte uncoded start pattern being sent) RfifEnCod write message bytes FIFO back Beware that case protocol violation used start sequence Manchester-level Miller coding, used violation will depend value first message. example: Manchester level coding used first message (encoded 01), start sequence needs series 1's. series would used, receiver would unable distinguish leading message from start sequence. When encoder bypassed (RfifEnCod bits RfifPCM[2:0] still have influence output stream when coding chosen, bits shifted selected rate. Manchester Miller codes selected however, bits shifted twice data rate. This allows bits FIFO encode bits software. 14.9.4 Transmission synchronization clock
required, synchronization clock generated RFIF2 data uncoded coding used (bits RfifEnCod RfifPCM[2:0] RegRfifCmd2). generate this clock, RfifTxClock RegRfifCmd2 set. timing generated clock shown Figure 14-7.
14-12
D0209-136
Datasheet XE88LC06A
Level
output bitstream
output clock
Bi-Phase Level
output bitstream
Figure 14-7 Output clock Transmission mode
14.10 Baud rate selection
order have correct baud rates, interface with stable trimmed clock source. clock source external clock source oscillator. precision baud rate will depend precision selected clock source. choice between oscillator external clock source made with EnExtClock RegSysClock. precision obtained baud rate directly proportional frequency deviation used clock source. bits RfifBRCoarse[1:0] RfifBRFine[3:0] RegRfifCmd1 used select appropriate baud rate. Several division factors available. expression baud rate following:
baudrate
with:
fRCExt fine coarse
RCExt frequency half external clock frequency.
fine coarse: division factors selected RfifBRCoarse RfifBRFine.
Note that baud rate rate which chips transmitted twice rate Manchester Miller coding since these codes chips (see chapter 14.7). RfifBRFine[3:0] 0000 0001 0010 0011 1101 1110 1111 fine
Table 14-17 Effect RfifBRFine[3:0]
14-13
D0209-136
Datasheet XE88LC06A
RfifBRCoarse[1:0]
coarse
Table 14-18 Effect RfifBRCoarse[1:0] Even external synchronizer used, baud rate should correctly.
14.11 Specifications
frequency difference exists between transmitter receiver, receiver unable decode received messages correctly. This especially case protocol protocol used without external synchronization clock since these signals contain clock information. Manchester Miller coding more robust since decoder resynchronize code itself. estimated maximal tolerated frequency difference between transmitter interface following (theoretical values): Mode NRZ, external clock NRZ, with external clock Manchester Miller Maximal tolerated f=fRX-fTX receive identical consecutive bits: -50%/+100% -17%/+11% -9%/+8%
Table 14-19 Frequency difference tolerance without external synchronizer, should noted that tolerated frequency deviation larger number consecutive identical bits lower than
14.12 Application hints
14.12.1 Using interface with XE1201A
This chapter gives some examples interface used with XE1201A circuit. does describe possibilities selects some representative cases. 14.12.1.1 Microcontroller transceiver connections external components required operate XE1201A, please refer XE1201A datasheet. connections between XE8000 microcontroller XE1201A shown Figure 14-8. transmission data pins connected between interface microcontroller transceiver. configuration lines XE1201A driven pins parallel port. 3wire configuration data XE1201A used set-up circuit writing registers interface driven hardware software parallel port. Pins interface RFIF0 RFIF3 that used remain floating.
14-14
D0209-136
Datasheet XE88LC06A XE1201A used transmitter only, connections RFIF0 RFIF1 CLKD required. RXTX XE1201A permanently connected ground. RFIF0 RFIF1 remain floating. XE1201A used receiver only, connection RFIF3 required. TXRX permanently connected VDD. synchronizer XE1201A used, connection RFIF1 CLKD required. XE1201A transmitter permanently enabled, permanently connected VDD. This documentation shows set-up data transmission between microcontroller XE1201A. detailed information XE1201A functionality, external components, serial interface protocol register set-up, please refer XE1201A datasheet.
XE8000
RegRfifCmd1 RegRfifCmd2
RFIF0 RFIF1 RFIF2 RFIF3
data [clock] CLKD
interface
RegRfifCmd3 RegRfifTx RegRfifTxSta RegRfifRx RegRfifRxSta RegRfifRxSPat
XE1201
data
parallel port
hardware software
RXTX
register register register
MOSI MISO
Figure 14-8 Configuration connections between microcontroller XE1201A
14.12.1.2 Reception mode using coding XE1201A synchronizer protocol messages received level. start sequence message 11010111 pattern message length after start sequence bytes. messages sent data rate kbit/s. following paragraphs will show set-up XE1201A, setup interface handle received data. 14.12.1.2.1 XE1201A set-up
XE1201A reception mode, RXTX data rate XE1201A default 16kbit/s synchronizer enabled default. This means that
14-15
D0209-136
Datasheet XE88LC06A dat

Other recent searches


XZFAMDK10C2 - XZFAMDK10C2   XZFAMDK10C2 Datasheet
SA571 - SA571   SA571 Datasheet
IRGBC20KD2 - IRGBC20KD2   IRGBC20KD2 Datasheet
IRGBC20KD2-S - IRGBC20KD2-S   IRGBC20KD2-S Datasheet
IRGPC20KD2 - IRGPC20KD2   IRGPC20KD2 Datasheet
IRGBC20MD2 - IRGBC20MD2   IRGBC20MD2 Datasheet
IRGBC20MD2-S - IRGBC20MD2-S   IRGBC20MD2-S Datasheet
IRGPC20MD2 - IRGPC20MD2   IRGPC20MD2 Datasheet
IRGBC20UD2 - IRGBC20UD2   IRGBC20UD2 Datasheet
IRGBC20FD2 - IRGBC20FD2   IRGBC20FD2 Datasheet
DMX512 - DMX512   DMX512 Datasheet
AD-8702S - AD-8702S   AD-8702S Datasheet
33R3763 - 33R3763   33R3763 Datasheet

 

Privacy Policy | Disclaimer
© 2012 Datasheet Archive