0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心
发布
  • 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
XE8807AMI026TLF

XE8807AMI026TLF

  • 厂商:

    GENNUM(升特)

  • 封装:

    TQFP32

  • 描述:

    IC MCU LOW PWR MTP FLASH 32-TQFP

  • 数据手册
  • 价格&库存
XE8807AMI026TLF 数据手册
XE8806A/XE8807A XE8806A Radio Machine XE8806A and XE8807A Ultra Low-Power Low-Voltage Radio Machines General Description The XE8806A and XE8807A are ultra low-power lowvoltage microcontroller based Radio Machines. They include the revolutionary BitJockey™, UART type of peripheral specialized for radio communication. The XE8806A and XE8807A are available with on chip ROM or Multiple-Time-Programmable (MTP) program memory. Key product Features • • • • • • Ultra low-power MCU, up to 7 MIPS 300 uA at 1 MIPS operation 6 uA at 32 kHz operation 1 uA time keeping Low-voltage operation (1.2 - 5.5 V supply voltage) 22 kB (8 kW) ROM/MTP (XE8806A) 11 kB (4kW) MTP (XE8807A) • • • • • • Applications • RF companion chip • RF system supervisor • Portable, battery operated instruments • Metering • Remote control • HVAC control Ordering Information Product XE8806AMI000 XE8806AMI026LF XE8806ARI000 XE8806ARI026LF XE8807AMI000 XE8807AMI026LF Temperature range -40°C to 85 °C -40°C to 85 °C -40°C to 125°C -40°C to 125°C -40°C to 85 °C -40°C to 85 °C Memory type MTP MTP ROM ROM MTP MTP Package die TQFP32 die TQFP32 die TQFP32 520 B RAM 4 counters PWM, UART, BitJockey™ Analog matrix switching 4 low-power analog comparators independant RC and crystal oscillators • 5 reset, 15 interrupt, 8 event sources • 100 years MTP Flash retention at 55°C Rev 1 January 2006 www.semtech.com XE8806A/XE8807A TABLE OF CONTENTS Chapter Title 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. General overview XE8806A and XE8807A performance CPU Memory mapping Low power modes Reset generator Clock generation Interrupt handler Event handler Low power RAM Port A Port B Port D Radio Asynchronous Receiver/Transmitter (BitJockey™) Universal Asynchronous Receiver/Transmitter (UART) Universal Synchronous Receiver/Transmitter (USRT) Counters/PWM The Voltage Level Detector Low power comparators Dimensions © Semtech 2006 www.semtech.com XE8806A/XE8807A 1. General overview 1.1 Top schematic 1-2 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 Pin map TQFP-32 SO-28 SO-24 Bare die XE8806A Bare die XE8807A 1-4 1-4 1-4 1-5 1-6 1-7 1.3 Pin assignment 1-7 © Semtech 2006 www.semtech.com 1-1 XE8806A/XE8807A 1.1 Top schematic The top level block schematic of the circuit is shown in Figure 1-1. The heart of the circuit consists of the Coolrisc816 CPU (central processing unit) core. This core includes an 8x8 multiplier and 16 internal registers. The bus controller generates all control signals for access to all data registers other than the CPU internal registers. The reset block generates the adequate reset signals for the rest of the circuit as a function of the set-up contained in its control registers. Possible reset sources are the power-on-reset (POR), the external pin NRESET, the watchdog (WD), a bus error detected by the bus controller or a programmable pattern on Port A. The clock generation and power management block sets up the clock signals and generates internal supplies for different blocks. The clock can be generated from the RC oscillator (this is the start-up condition), the crystal oscillator (XTAL) or an external clock source (given on the XIN pin). The test controller generates all set-up signals for different test modes. In normal operation, it is used as a set of 8 low power RAM. If power consumption is important for the application, the variables that need to be accessed frequently should be stored in these registers rather than in the RAM. The IRQ handler routes the interrupt signals of the different peripherals to the IRQ inputs of the CPU core. It allows masking of the interrupt sources and it flags which interrupt source is active. Events are generally used to restart the processor after a HALT period without jumping to a specified address, i.e. the program execution resumes with the instruction following the HALT instruction. The EVN handler routes the event signals of the different peripherals to the EVN inputs of the CPU core. It allows masking of the event sources and it flags which event source is active. The Port B is an 8 bit parallel IO port with analog capabilities. The USRT, UART, PWM and CMPD blocks also make use of this port. The instruction memory is a 22-bit wide flash or ROM memory depending on the circuit version. In case of the ROM version, the VPP pin is not used. The maximal number of instructions in the XE8806A is 8192. The maximal number of instructions in the XE8807A is 4096. The data memory on this product is a 512 byte SRAM. The port A is an 8 bit parallel input port. It can also generate interrupts, events or a reset. It can be used to input external clocks for the timer/counter/PWM block. The Port D is a general purpose 8 bit parallel IO port. The USRT (universal synchronous receiver/transmitter) contains some simple hardware functions in order to simplify the software implementation of a synchronous serial link. The UART (universal asynchronous receiver/transmitter) contains a full hardware implementation of the asynchronous serial link. The RFIF interface is a serial interface dedicated to communication with RF circuits. From the CPU side, it very much looks like an ordinary UART but it also implements low level coding/decoding and frame synchronisation. The input/output pins are multiplexed on port D. The counters/timers/PWM can take its clocks from internal or external sources (on Port A) and can generate interrupts or events. The PWM is output on Port B. The VLD (voltage level detector) detects the battery end of life with respect to a programmable threshold. The CMPD contains a 4 channel comparator. It is intended to monitor analog or digital signals whilst having a very low power consumption. © Semtech 2006 www.semtech.com 1-2 XE8806A/XE8807A DATA MEMORY INSTRUCTION MEMORY VPP CPU COOLRISC816 VBAT VSS 8 X8 MULTIPLIER B U S C O N T R O L L E R address control PORT A PA(7:0) datain dataout PORT D PD(7:0) 16 CPU REGISTERS RESET BLOCK POR CLOCK GENERATION/ POW ER MANAGEMENT RC XTAL VREG USRT clocks UART test control TEST CONTROLLER TEST 8 DATA REGISTERS IRQ HANDLING EVN HANDLING COUNTERS TIMERS PW M irq evn PB(1:0) PA(3:0) XIN XOUT VREG reset control PB(7:6) WD PB(5:4) NRESET VLD PB(7:0) CMPD PB(7:4) PORT B PD(3:0) RFIF BitJockey Figure 1-1. Block schematic of the XE8806A and XE8807A circuits. © Semtech 2006 www.semtech.com 1-3 XE8806A/XE8807A 1.2 Pin map The XE8806A and XE8807A can be delivered in different packages. The pin maps for the different packages are given below. VPP NRESET 9 PD(1) PA(1) PA(2) PD(2) PB(0) PB(1) 1.2.1 TQFP-32 PB(2) PD(0) 17 PB(3) PA(0) PD(3) VBAT PA(3) XOUT PA(4) XIN PD(4) VSS PB(4) PA(7) PD(7) VREG TEST PD(6) PA(6) PA(5) PD(5) 25 1 PB(7) PB(6) PB(5) Figure 1-2. TQFP-32 pin map 1.2.2 SO-28 PD(2)/PA(2) 15 14 PA(1)/PD(1) PB(0) NRESET PB(1) VPP PB(2) PD(0) PB(3) PA(0) PD(3) VBAT PA(3) XOUT PA(4) XIN PD(4) VSS PB(4) PA(7) PB(5) PD(7) PB(6) VREG PB(7) PD(5)/PA(5) TEST 28 1 PA(6)/PD(6) Figure 1-3. SO28 pin map In the SO-28 package, 4 pins of Port A and Port D are connected together. It is up to the user to choose between the functionality of Port A or Port D for these pins. Note: if one of the pins PD(1), PD(2), PD(5), PD(6) is used as output, the pull up of the corresponding pin of Port A should be disabled in order to have low power consumption. © Semtech 2006 www.semtech.com 1-4 XE8806A/XE8807A 1.2.3 SO-24 PD(2)/PA(2) 13 12 PA(1)/PD(1) PB(0) NRESET PB(1) VPP PB(2) PA(0)/PD(0) PB(3) VBAT PD(3)/PA(3) XOUT PD(4)/PA(4) XIN PB(4) VSS PB(5) PA(7)/PD(7) PB(6) VREG TEST PB(7) PD(5)/PA(5) 24 1 PA(6)/PD(6) Figure 1-4. SO24 pin map In the SO-24 package, all pins of Port A and Port D are connected together. It is up to the user to choose between the functionality of Port A or Port D. Note: if one of the pins of Port D is used as output, the pull up of the corresponding pin of Port A should be disabled in order to have low power consumption. © Semtech 2006 www.semtech.com 1-5 XE8806A/XE8807A 1.2.4 Bare die XE8806A The circuit is also available in bare die for chip on board assembly. All VBAT pins and all VSS pins should be connected together. The substrate of the circuit is connected to VSS. ( 792,3580) (1065,3580) (1369,3580) (1584,3580) (2478,3580) (2780,3580) (3287,3580) (3584,3580) PB(4) VSS PD(4) PA(4) PA(3) PD(3) PB(3) PB(2) (123, 2658) PB(5) PB(6) VBAT ( 477,3580) (123, 3236) (123,2970) PB(1) (3787,3078) PB(7) PB(0) (3787,2714) (123,2345) PD(5) PD(2) (3787,2354) (123,2113) PA(5) PA(2) (3787,2082) PA(1) (3787,1530) PD(1) (3787,1178) XEMICS 4050µm PA(6) (123,1072) PD(6) (123, 835) TEST (123, 545) VSS VSS (3787, 588) VREG VPP (3787, 340) (123, 310) 3850µm (123,1386) NRESET (3787, 913) PA(0) PD(0) VSS (2572,118) (2808,118) (3022,118) (3324,118) (3589,118) (1906,118) (2141,118) VBAT XIN XOUT VSS ( 992,118) ( 707,118) (1212,118) ( 472,118) VBAT PA(7) VBAT PD(7) Figure 1-5. Die dimension and pin location of the XE8806A © Semtech 2006 www.semtech.com 1-6 XE8806A/XE8807A 1.2.5 Bare die XE8807A The circuit is also available in bare die for chip on board assembly. All VBAT pins and all VSS pins should be connected together. The substrate of the circuit is connected to VSS. ( 792,3580) (1065,3580) (1369,3580) (1584,3580) (2478,3580) (2780,3580) (3287,3580) (3584,3580) PB(4) VSS PD(4) PA(4) PA(3) PD(3) PB(3) PB(2) (123, 2658) PB(5) PB(6) VBAT ( 477,3580) (123, 3236) (123,2970) PB(1) (3787,3078) PB(7) PB(0) (3787,2714) (123,2345) PD(5) PD(2) (3787,2354) (123,2113) PA(5) PA(2) (3787,2082) PA(1) (3787,1530) PD(1) (3787,1178) XEMICS 4050µm PA(6) (123,1072) PD(6) (123, 835) TEST (123, 545) VSS VSS (3787, 588) VREG VPP (3787, 340) (123, 310) 3850µm (123,1386) NRESET (3787, 913) PA(0) PD(0) VSS (2572,118) (2808,118) (3022,118) (3324,118) (3589,118) (1906,118) (2141,118) VBAT XIN XOUT VSS ( 992,118) ( 707,118) (1212,118) ( 472,118) VSS PA(7) VBAT PD(7) Figure 1-6. Die dimension and pin location of the XE8807A 1.3 Pin assignment The table below gives a short description of the different pin assignments. Pin Assignment VBAT Positive power supply VSS Negative power supply VREG Connection for the mandatory external capacitor of the voltage regulator VPP High voltage supply for flash memory programming (NC in ROM versions) NRESET Resets the circuit when the voltage is low TEST Sets the pin to flash programming mode XIN/XOUT Quartz crystal connections, also used for flash memory programming PA(7:0) Parallel input port A pins PB(7:0) Parallel I/O port B pins PD(7:0) Parallel I/O port D pins Table 1-1. Pin assignment © Semtech 2006 www.semtech.com 1-7 XE8806A/XE8807A Table 1-2 gives a more detailed pin map for the different pins in the different packages. It also indicates the possible I/O configuration of these pins. The indications in blue bold are the configuration at start-up. Please note that in the SO-28 and SO-24 package several functions are routed to the same package pins. These pins are indicated in red italic. The pins RFIF(3:0) are the I/O pins of the RF interface, the CNTx pins are possible counter inputs, PWMx are possible PWM outputs, the CMPD pins are comparator inputs. POWER SNAP PD X PU DO X X OD DI PD(7) PA(7) VSS XIN XOUT VBAT PA(0) PD(0) VPP NRESET PD(1) PA(1) PA(2) PD(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) PA(6) PD(6) TEST VREG AO 4 4 5 6 7 8 9 9 10 11 12 12 13 13 14 15 16 17 18 18 19 19 20 21 22 23 24 24 1 1 2 3 AI first 4 5 6 7 8 9 10 11 12 13 14 14 15 15 16 17 18 19 20 21 22 23 24 25 26 27 28 28 1 1 2 3 third SO-24 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 I/O configuration second SO-28 function tqfp-32 pin number X X X X X X X X CNTA RFIF(0) X X X X X X X X RFIF(1) CNTB CNTC RFIF(2) PWM0 PWM1 X X X X X X X X RFIF(3) CNTD USRT_S0 USRT_S1 UART_Tx UART_Rx CMPD(0) CMPD(1) CMPD(2) CMPD(3) X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X Table 1-2. Pin description table Pin map table legend: red italic: pin shared with another peripheral in a specific package blue bold: configuration at start up AI: analog input AO: analog output DI: digital input DO: digital output OD: nMOS open drain output PU: pull-up resistor PD: pull-down resistor SNAP: snap-to-rail function (see peripheral description for detailed description) POWER: power supply © Semtech 2006 www.semtech.com 1-8 XE8806A/XE8807A 2 XE8806A and XE8807A Performance 2.1 Absolute maximum ratings 2-2 2.2 Operating range 2-2 2.3 Current consumption 2-3 2.4 2.4.1 2.4.2 2.4.3 2.4.4 Operating speed Flash circuit version XE8806AM Flash circuit version XE8807AM ROM circuit version, regulator on ROM circuit version, regulator by-passed 2-4 2-4 2-5 2-5 2-6 © Semtech 2006 www.semtech.com 2-1 XE8806A/XE8807A 2.1 Absolute maximum ratings Voltage applied to VBAT with respect to VSS Voltage applied to VPP with respect to VSS Voltage applied to all pins except VPP and VBAT Storage temperature (ROM device or unprogrammed flash device) Storage temperature (programmed flash device) Min. Max. -0.3 VBAT-0.3 VSS-0.3 -55 6.0 12 VBAT+0.3 150 V V V °C Note -40 85 °C Table 2-1. Absolute maximal ratings Stresses beyond the absolute maximal ratings may cause permanent damage to the device. Functional operation at the absolute maximal ratings is not implied. Exposure to conditions beyond the absolute maximal ratings may affect the reliability of the device. 2.2 Operating range Voltage applied to VBAT with respect to VSS Voltage applied to VBAT with respect to VSS during the flash programming Voltage applied to VPP with respect to VSS Voltage applied to all pins except VPP and VBAT Operating temperature range Capacitor on VREG Min. Max. Note 2.4 4.5 5.5 5.5 V V VBAT VSS -40 0.8 11.5 VBAT 85 1.2 V V °C µF 1 Table 2-2. Operating range for the flash device Note 1. During the programming of the device, the supply voltage should at least be equal to the supply voltage used during normal operation, and temperature between 10°C and 40°C. Min. Voltage applied to VBAT VREG by-passed with respect to VSS VREG on Voltage applied to all pins except VPP and VBAT Operating temperature range Capacitor on VREG 1.2 1.5 VSS -40 0.1 Max. Note 5.5 3.6 VBAT 125 1.2 V V V °C µF 1 Table 2-3. Operating range for the ROM device Note 1. The capacitor may be omitted when VREG is connected to VBAT. All specifications in this document are valid for the complete operating range unless otherwise specified. Min. Retention time at 85°C Retention time at 55°C Number of programming cycles 10 100 10 Max. Note years years 1 1 2 Table 2-4. Operating range of the Flash memory Note 1. Valid only if programmed using a programming tool that is qualified Note 2. Circuits can be programmed more than 10 times but in that case, the retention time is no longer guaranteed. © Semtech 2006 www.semtech.com 2-2 XE8806A/XE8807A 2.3 Current consumption The tables below give the current consumption for the circuit in different configurations. The figures are indicative only and may change as a function of the actual software implemented in the circuit. Table 2-5 gives the current consumption for the flash version of the circuit. The peripherals (USRT, UART, CNT, VLD, CMPD) are disabled. The parallel ports are configured in input with pull up. Their pins are not connected externally. Operation mode CPU RC Xtal Consumption comments Note 32 kHz 200 µA 320 µA 410 µA 310 µA 21 µA 33 µA 42 µA 7.5 µA 11.0 µA 14.5 µA 1.9 µA 2.4V 5.5V, 27°C Ready 32kHz 2.3 µA 2.4V 5.5V, 27°C 1 MHz Off 35 µA 2.4V 5.5V, 27°C 15 µA 2 µA 2.4V 5.5V, 27°C 2.4V 5.5V, 27°C High speed CPU 1 MIPS 1 MHz Off Low speed CPU .1 MIPS 100 kHz Off Low power CPU 32 kIPS Off 32 kHz HALT Off HALT HALT Low power time keeping Fast wake-up time keeping Immediate wakeup time keeping VLD static current CMPD static current 2.4V5.5V, 27°C 2.4V 5.5V, 27°C 2.4V 5.5V, 27°C 1 2 3 4 1 2 3 1 2 3 Table 2-5. Typical current consumption of the XE8806AM version (8k instructions flash memory) and XE8807AM version (4k instructions flash memory) 1. 2. 3. 4. Software without data access 100% low power RAM access 100% RAM access typical software Table 2-6 shows the typical current consumption for the ROM version with 8k instructions. Two possible modes are possible: a 2.4V-5.5V operating range using the internal regulator and a 1.2V-3.3V operating range short circuiting the voltage regulator (i.e. connect VREG to VBAT). Operation mode CPU RC Xtal Consumption comments Note High speed CPU Max. Speed CPU Low speed CPU Low power CPU Low voltage CPU Low power time keeping 1 MIPS 4 MIPS .1 MIPS 32 kIPS 32 kIPS HALT 1 MHz 4 MHz 100 kHz Off Off Off Off Off Off 32 kHz 32 kHz 32 kHz 200 800 21 7 1 1.3 2.4V5.5V, 27°C 2.4V5.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 1,2 1,2 1,2 1,2 1,3 2 Table 2-6. Current consumption of the XE8806AR version (8k instructions ROM memory) 1. Software using MOVE instruction using internal CPU registers and peripheral registers. 2. Using the internal voltage regulator (see Figure 2-5). 3. With the internal regulator short circuited (i.e. by connecting VREG to VBAT, see Figure 2-7). In this case, the current consumption will increase with VBAT. © Semtech 2006 www.semtech.com 2-3 XE8806A/XE8807A Hints for low power operation: 1. Use the low power RAM instead of the RAM for all parameters that are accessed frequently. The average current consumption for the low power RAM is about 40 times lower than for the RAM. 2. Rather than using the circuit at low speed, it is better to use the circuit at higher speed and switch off the blocks when not needed. 3. The power consumption of the program memory is an important part of the overall power consumption. In case you intend to use a ROM version and power consumption is too high, please ask us to provide you with a circuit version with smaller ROM size. 2.4 2.4.1 Operating speed Flash circuit version XE8806AM The speed of the flash devices is not highly dependent upon the supply voltage. However, by limiting the temperature range, the speed can be increased. The minimal guaranteed speed as a function of the supply voltage and maximal temperature operating temperature is given in Figure 2-2. VBAT 2.4 - 5.5 V VREG 1uF VSS speed (MIPS) Figure 2-1. Supply configuration for flash circuit operation. 3.5 3 2.5 2 1.5 1 0.5 0 85°C 2 2.5 3 3.5 4 4.5 45°C 5 5.5 supply voltage VBAT (V) Figure 2-2. Guaranteed speed as a function of the supply voltage and maximal temperature. Note that the speed of the flash circuit version is limited by the flash memory. All other peripherals of the device can run at the same speed as the ROM version (see Figure 2-6). The maximal speed of the peripherals can be exploited by reducing the CPU frequency by a factor of 2 with respect to the clock source by executing the instruction “FREQ div2”. Take care to execute this instruction before increasing the clock speed above the figures given in Figure 2-2. © Semtech 2006 www.semtech.com 2-4 XE8806A/XE8807A 2.4.2 Flash circuit version XE8807AM The speed of the flash devices is not highly dependent upon the supply voltage. However, by limiting the temperature range, the speed can be increased. The minimal guaranteed speed as a function of the supply voltage and maximal temperature operating temperature is given in Figure 2-4. VBAT 2.4 - 5.5 V VREG 1uF VSS speed (MIPS) Figure 2-3. Supply configuration for flash circuit operation. 7 6 5 4 3 2 1 0 85°C 2 2.5 3 3.5 4 45°C 4.5 5 5.5 supply voltage VBAT (V) Figure 2-4. Guaranteed speed as a function of the supply voltage and maximal temperature. 2.4.3 ROM circuit version, regulator on For the ROM version, two possible operating modes exist: with and without voltage regulator. Using the voltage regulator, a low power consumption will be obtained even with supply voltages above 2.4V. Without the voltage regulator (i.e. VREG short-circuited to VBAT) , a higher speed can be obtained. VBAT 2.4 - 5.5 V VREG 100nF VSS Figure 2-5. Supply configuration for ROM circuit operation using the internal regulator. © Semtech 2006 www.semtech.com 2-5 XE8806A/XE8807A 85°C 45°C 125°C speed (MIPS) 8 6 4 2 0 2 2.5 3 3.5 4 4.5 5 5.5 supply voltage VBAT (V) Figure 2-6. Guaranteed speed as a function of supply voltage and for different maximal temperatures using the voltage regulator. 2.4.4 ROM circuit version, regulator by-passed VBAT VREG 1.2 – 3.3 V VSS Figure 2-7. Supply configuration for ROM circuit operation by-passing the internal regulator. 85°C 45°C 1.5 2 125°C speed (MIPS) 8 6 4 2 0 1 2.5 3 3.5 supply voltage VBAT (V) Figure 2-8. Guaranteed speed as a function of supply voltage and for two temperature ranges when VREG=VBAT. © Semtech 2006 www.semtech.com 2-6 XE8806A/XE88L7A 3. CPU CONTENTS 3.1 CPU description 3-2 3.2 CPU internal registers 3-2 3.3 CPU instruction short reference 3-4 © Semtech 2006 www.semtech.com 3-1 XE8806A/XE8807A 3.1 CPU description The CPU of the XE8000 series is a low power RISC core. It has 16 internal registers for efficient implementation of the C compiler. Its instruction set is made up of 35 generic instructions, all coded on 22 bits, with 8 addressing modes. All instructions are executed in one clock cycle, including conditional jumps and 8x8 multiplication. The circuit therefore runs on 1 MIPS on a 1MHz clock. The CPU hardware and software description is given in the document “Coolrisc816 Hardware and Software Reference Manual”. A short summary is given in the following paragraphs. The good code efficiency of the CPU core makes it possible to compute a polynomial like Z = ( A0 + A1 ⋅ Y ) ⋅ X + B0 + B1 ⋅ Y in less than 300 clock cycles (software code generated by the XEMICS Ccompiler, all numbers are signed integers on 16 bits). 3.2 CPU internal registers As shown in Figure 3-1, the CPU has 16 internal 8-bit registers. Some of these registers can be concatenated to a 16-bit word for use in some instructions. The function of these registers is defined in Table 3-1. The status register stat (Table 3-2) is used to manage the different interrupt and event levels. An interrupt or an event can both be used to wake up after a HALT instruction. The difference is that an interrupt jumps to a special interrupt function whereas an event continues the software execution with the instruction following the HALT instruction. The program counter (PC) is a 16 bit register that indicates the address of the instruction that has to be executed. The stack (STn) is used to memorise the return address when executing subroutines or interrupt routines. ST4 ST3 ST1 ST2 r0 r1 Data memory r2 data bus 22bit CPU CPU internal registers Instruction memory instruction bus PC program counter stack r3 i0h i0l i1h i1l i2h i2l i3h i3l iph ipl stat a Figure 3-1. CPU internal registers © Semtech 2006 www.semtech.com 3-2 XE8806A/XE8807A Register name r0 r1 r2 r3 i0h i0l i1h i1l i2h i2l i3h i3l iph ipl stat a Register function general purpose general purpose general purpose data memory offset MSB of the data memory index i0 LBS of the data memory index i0 MSB of the data memory index i1 LBS of the data memory index i1 MSB of the data memory index i2 LBS of the data memory index i2 MSB of the data memory index i3 LBS of the data memory index i3 MSB of the program memory index ip LBS of the program memory index ip status register accumulator Table 3-1. CPU internal register definition bit 7 6 5 4 name IE2 IE1 GIE IN2 3 IN1 2 IN0 1 EV1 0 EV0 function enables (when 1) the interrupt request of level 2 enables (when 1) the interrupt request of level 1 enables (when 1) all interrupt request levels interrupt request of level 2. The interrupts labelled “low” in the interrupt handler are routed to this interrupt level. This bit has to be cleared when the interrupt is served. interrupt request of level 1. The interrupts labelled “mid” in the interrupt handler are routed to this interrupt level. This bit has to be cleared when the interrupt is served. interrupt request of level 0. The interrupts labelled “hig” in the interrupt handler are routed to this interrupt level. This bit has to be cleared when the interrupt is served. event request of level 1. The events labelled “low” in the event handler are routed to this event level. This bit has to be cleared when the event is served. event request of level 1. The events labelled “hig” in the event handler are routed to this event level. This bit has to be cleared when the event is served. Table 3-2. Status register description The CPU also has a number of flags that can be used for conditional jumps. These flags are defined in Table 3-3. symbol Z C V name zero carry overflow function Z=1 when the accumulator a content is zero This flag is used in shift or arithmetic operations. For a shift operation, it has the value of the bit that was shifted out (LSB for shift right, MSB for shift left). For an arithmetic operation with unsigned numbers: it is 1 at occurrence of an overflow during an addition (or equivalent). it is 0 at occurrence of an underflow during a subtraction (or equivalent). This flag is used in shift or arithmetic operations. For arithmetic or shift operations with signed numbers, it is 1 if an overflow or underflow occurs. Table 3-3. Flag description © Semtech 2006 www.semtech.com 3-3 XE8806A/XE8807A 3.3 CPU instruction short reference Table 3-4 shows a short description of the different instructions available on the Coolrisc816. The notation cc in the conditional jump instruction refers to the condition description as given in Table 3-6. The notation reg, reg1, reg2, reg3 refers to one of the CPU internal registers of Table 3-1. The notation eaddr and DM(eaddr) refer to one of the extended address modes as defined in Table 3-5. The notation DM(xxx) refers to the data memory location with address xxx. Instruction Modification Operation Jump addr[15:0] Jump ip Jcc addr[15:0] Jcc ip Call addr[15:0] Call ip Calls addr[15:0] Calls ip -,-,-, -,-,-, -,-,-, -,-,-, -,-,-, -,-,-, -,-,-, -,-,-, - PC := addr[15:0] PC := ip if cc is true then PC := addr[15:0] if cc is true then PC := ip STn+1 := STn (n>1); ST1 := PC+1; PC := addr[15:0] STn+1 := STn (n>1); ST1 := PC+1; PC := ip ip := PC+1; PC := addr[15:0] ip := PC+1; PC := ip Ret Rets Reti Push Pop -,-,-, -,-,-, -,-,-, -,-,-, -,-,-, - PC := ST1; STn := STn+1 (n>1) PC := ip PC := ST1; STn := STn+1 (n>1); GIE :=1 PC := PC+1; STn+1 := STn (n>1); ST1 := ip PC := PC+1; ip := ST1; STn := STn+1 (n>1) Move reg,#data[7:0] Move reg1, reg2 Move reg, eaddr Move eaddr, reg Move addr[7:0],#data[7:0] -,-, Z, a -,-, Z, a -,-, Z, a -,-,-, -,-,-, - a := data[7:0]; reg := data[7:0] a := reg2; reg1 := reg2 a := DM(eaddr); reg := DM(eaddr) DM(eaddr) := reg DM(addr[7:0]) := data[7:0] Cmvd reg1, reg2 Cmvd reg, eaddr Cmvs reg1, reg2 Cmvs reg, eaddr -,-, Z, a -,-, Z, a -,-, Z, a -,-, Z, a a := reg2; if C=0 then reg1 := a; a := DM(eaddr); if C=0 then reg := a a := reg2; if C=1 then reg1 := a; a := DM(eaddr); if C=1 then reg := a Shl reg1, reg2 Shl reg Shl reg, eaddr Shlc reg1, reg2 Shlc reg Shlc reg, eaddr Shr reg1, reg2 Shr reg Shr reg, eaddr Shrc reg1, reg2 Shrc reg Shrc reg, eaddr Shra reg1, reg2 Shra reg Shra reg, eaddr C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a a := reg21; a[7] := C; C := DM(eaddr)[0]; reg := a a := reg2>>1; a[7] := reg2[7]; C := reg2[0]; reg1 := a a := reg>>1; a[7] := reg[7]; C := reg[0]; reg := a a := DM(eaddr)>>1; a[7] := DM(eaddr)[7]; C := DM(eaddr)[0]; reg := a Cpl1 reg1, reg2 Cpl1 reg Cpl1 reg, eaddr Cpl2 reg1, reg2 Cpl2 reg Cpl2 reg, eaddr Cpl2c reg1, reg2 Cpl2c reg Cpl2c reg, eaddr -,-, Z, a -,-, Z, a -,-, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a a := NOT(reg2); reg1 := a a := NOT(reg); reg := a a := NOT(DM(eaddr)); reg := a a := NOT(reg2)+1; if a=0 then C:=1 else C := 0; reg1 := a a := NOT(reg)+1; if a=0 then C:=1 else C := 0; reg := a a := NOT(DM(eaddr))+1; if a=0 then C:=1 else C := 0; reg := a a := NOT(reg2)+C; if a=0 and C=1 then C:=1 else C := 0; reg1 := a a := NOT(reg)+C; if a=0 and C=1 then C:=1 else C := 0; reg := a a := NOT(DM(eaddr))+C; if a=0 and C=1 then C:=1 else C := 0; reg := a Inc reg1, reg2 Inc reg Inc reg, eaddr Incc reg1, reg2 Incc reg Incc reg, eaddr Dec reg1, reg2 C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a a := reg2+1; if a=0 then C := 1 else C := 0; reg1 := a a := reg+1; if a=0 then C := 1 else C := 0; reg := a a := DM(eaadr)+1; if a=0 then C := 1 else C := 0; reg := a a := reg2+C; if a=0 and C=1 then C := 1 else C := 0; reg1 := a a := reg+C; if a=0 and C=1 then C := 1 else C := 0; reg := a a := DM(eaadr)+C; if a=0 and C=1 then C := 1 else C := 0; reg := a a := reg2-1; if a=hFF then C := 0 else C := 1; reg1 := a © Semtech 2006 www.semtech.com 3-4 XE8806A/XE8807A Dec reg Dec reg, eaddr Decc reg1, reg2 Decc reg Decc reg, eaddr C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a a := reg-1; if a=hFF then C := 0 else C := 1; reg := a a := DM(eaddr)-1; if a=hFF then C := 0 else C := 1; reg := a a := reg2-(1-C); if a=hFF and C=0 then C := 0 else C := 1; reg1 := a a := reg-(1-C); if a=hFF and C=0 then C := 0 else C := 1; reg := a a := DM(eaddr)-(1-C); if a=hFF and C=0 then C := 0 else C := 1; reg := a And reg,#data[7:0] And reg1, reg2, reg3 And reg1, reg2 And reg, eaddr Or reg,#data[7:0] Or reg1, reg2, reg3 Or reg1, reg2 Or reg, eaddr Xor reg,#data[7:0] Xor reg1, reg2, reg3 Xor reg1, reg2 Xor reg, eaddr -,-, Z, a -,-, Z, a -,-, Z, a -,-, Z, a -,-, Z, a -,-, Z, a -,-, Z, a -,-, Z, a -,-, Z, a -,-, Z, a -,-, Z, a -,-, Z, a a := reg and data[7:0]; reg := a a := reg2 and reg3; reg1 := a a := reg1 and reg2; reg1 := a a := reg and DM(eaddr); reg := a a := reg or data[7:0]; reg := a a := reg2 or reg3; reg1 := a a := reg1 or reg2; reg1 := a a := reg or DM(eaddr); reg := a a := reg xor data[7:0]; reg := a a := reg2 xor reg3; reg1 := a a := reg1 xor reg2; reg1 := a a := reg or DM(eaddr); reg := a Add reg,#data[7:0] Add reg1, reg2, reg3 Add reg1, reg2 Add 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 C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a a := reg+data[7:0]; if overflow then C:=1 else C := 0; reg := a a := reg2+reg3; if overflow then C:=1 else C := 0; reg1 := a a := reg1+reg2; if overflow then C:=1 else C := 0; reg1 := a a := reg+DM(eaddr); if overflow then C:=1 else C := 0; reg := a a := reg+data[7:0]+C; if overflow then C:=1 else C := 0; reg := a a := reg2+reg3+C; if overflow then C:=1 else C := 0; reg1 := a a := reg1+reg2+C; if overflow then C:=1 else C := 0; reg1 := a a := reg+DM(eaddr)+C; if overflow then C:=1 else C := 0; reg := a a := data[7:0]-reg; if underflow then C := 0 else C := 1; reg := a a := reg2-reg3; if underflow then C := 0 else C := 1; reg1 := a a := reg2-reg1; if underflow then C := 0 else C := 1; reg1 := a a := DM(eaddr)-reg; if underflow then C := 0 else C := 1; reg := a a := data[7:0]-reg-(1-C); if underflow then C := 0 else C := 1; reg := a a := reg2-reg3-(1-C); if underflow then C := 0 else C := 1; reg1 := a a := reg2-reg1-(1-C); if underflow then C := 0 else C := 1; reg1 := a a := DM(eaddr)-reg-(1-C); if underflow then C := 0 else C := 1; reg := a a := reg-data[7:0]; if underflow then C := 0 else C := 1; reg := a a := reg3-reg2; if underflow then C := 0 else C := 1; reg1 := a a := reg1-reg2; if underflow then C := 0 else C := 1; reg1 := a a := reg-DM(eaddr); if underflow then C := 0 else C := 1; reg := a a := reg-data[7:0]-(1-C); if underflow then C := 0 else C := 1; reg := a a := reg3-reg2-(1-C); if underflow then C := 0 else C := 1; reg1 := a a := reg1-reg2-(1-C); if underflow then C := 0 else C := 1; reg1 := a a := reg-DM(eaddr)-(1-C); if underflow then C := 0 else C := 1; reg := a Mul reg,#data[7:0] Mul reg1, reg2, reg3 Mul reg1, reg2 Mul reg, eaddr Mula reg,#data[7:0] Mula reg1, reg2, reg3 Mula reg1, reg2 Mula reg, eaddr u, u, u, a u, u, u, a u, u, u, a u, u, u, a u, u, u, a u, u, u, a u, u, u, a u, u, u, a a := (data[7:0]*reg)[7:0]; reg := (data[7:0]*reg)[15:8] a := (reg2*reg3)[7:0]; reg1 := (reg2*reg3)[15:8] a := (reg2*reg1)[7:0]; reg1 := (reg2*reg1)[15:8] a := (DM(eaddr)*reg)[7:0]; reg := (DM(eaddr)*reg)[15:8] a := (data[7:0]*reg)[7:0]; reg := (data[7:0]*reg)[15:8] a := (reg2*reg3)[7:0]; reg1 := (reg2*reg3)[15:8] a := (reg2*reg1)[7:0]; reg1 := (reg2*reg1)[15:8] a := (DM(eaddr)*reg)[7:0]; reg := (DM(eaddr)*reg)[15:8] Mshl reg,#shift[2:0] Mshr reg,#shift[2:0] Mshra reg,#shift[2:0] u, u, u, a u, u, u, a u, u, u, a* a := (reg*2 )[7:0]; reg := (reg*2 )[15:8] (8-shift (8-shift a := (reg*2 )[7:0]; reg := (reg*2 )[15:8] (8-shift (8-shift a := (reg*2 )[7:0]; reg := (reg*2 )[15:8] Cmp reg,#data[7:0] Cmp reg1, reg2 Cmp reg, eaddr Cmpa reg,#data[7:0] Cmpa reg1, reg2 Cmpa reg, eaddr C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a C, V, Z, a a := data[7:0]-reg; if underflow then C :=0 else C:=1; V := C and (not Z) a := reg2-reg1; if underflow then C :=0 else C:=1; V := C and (not Z) a := DM(eaddr)-reg; if underflow then C :=0 else C:=1; V := C and (not Z) a := data[7:0]-reg; if underflow then C :=0 else C:=1; V := C and (not Z) a := reg2-reg1; if underflow then C :=0 else C:=1; V := C and (not Z) a := DM(eaddr)-reg; if underflow then C :=0 else C:=1; V := C and (not Z) Tstb reg,#bit[2:0] Setb reg,#bit[2:0] Clrb reg,#bit[2:0] Invb reg,#bit[2:0] -, -, Z, a -, -, Z, a -, -, Z, a -, -, Z, a a[bit] := reg[bit]; other bits in a are 0 reg[bit] := 1; other bits unchanged; a := reg reg[bit] := 0; other bits unchanged; a := reg reg[bit] := not reg[bit]; other bits unchanged; a := reg shift shift © Semtech 2006 www.semtech.com 3-5 XE8806A/XE8807A Sflag -,-,-, a a[7] := C; a[6] := C xor V; a[5] := ST full; a[4] := ST empty Rflag reg Rflag eaddr C, V, Z, a C, V, Z, a a := reg
XE8807AMI026TLF 价格&库存

很抱歉,暂时无法提供与“XE8807AMI026TLF”相匹配的价格&库存,您可以联系我们找货

免费人工找货