XE8000
  1. What is the XE8000 series ? >>>
  2. What is the "CoolRISC" 8-22 bit processor core? >>>
  3. What is the value for the capacitor on the Vreg pin? >>>
  4. What is the function of the RC oscillator? >>>
  5. A brief one liner in the documentation mentions 'the real time clock'. I have an application that would make use of a real time clock function. Can you explain the XE8000 series real time clock? >>>
    Sensing Machine
  1. What is the Sensing Machine ? >>>
  2. What is the ZoomingADC™ ? >>>
  3. Is it possible to start an AD conversion and then put the CPU in halt mode until the IRQ from the ADC arrives? >>>
  4. What about the frequency response of the ADC? >>>
  5. What is the input impedance of the acquisition chain multiplexer when the channels are off? >>>
  6. If the input analog signal has changed during measurement what result will the ADC give? >>>
  7. How fast can you do a 16 bit conversion? >>>
  8. How do I set the ZoomingADC™ for my sensor? >>>
  9. What is the speed of the ADC and what is the impact on the resolution? >>>
  10. I believe that that the sampling rate depends upon the resolution that you are getting from the converter. For a sampling frequency of 4K, we can achieve 16 bits, and for 512K can we achieve 16 bits? >>>
  11. Are the examples you provided the max speed that can be achieved for 12-bit (4kS/s) and 16-bit (1kS/s) resolutions? >>>
  12. Can you detail accuracy for the ZoomingADC™? Also how do we do voice directly with the XE8000? >>>
    Controller and compiler
  1. I have an application using the XE88LC01, in which I will need to store a few bytes of calibration data that will need to be field updateable. The system will have an RS 232 interface to the outside world. What type of approach should I take for this? >>>
  2. I do not know how to place tabulated data in the program ROM and whether it is generally possible to place data in the ROM? >>>
  3. Support on C functions printf, puts, gets, and memory manipulation commands for uC. >>>




1. What is the XE8000 series ?
The XE8000 series is a series of system-on-chips characterized by an efficient 8 bit controller core, CoolRISC, numerous advanced peripherals (fast UART, 16+10 bits ZoomingADC, prescaler) and MTP Flash memory. It provides excellent solutions for sensing devices (industrial or consumer) and radio systems. In particular it can directly connect to most Wheatstone bridge sensors and it works perfectly with XEMICS XE1200 transceivers.



2. What is the "CoolRISC" 8-22 bit processor core?
The processor core of the XE8000 series is a CoolRISC 8-22 bit. Also called CR816, it has separate data and instruction bus (so called Harvard architecture). The data bus is 8 bits wide, the instruction bus is 22 bits wide. Data and instruction are loaded in parallel during each clock cycle, this is one of the reasons for its excellent computing efficiency: 30 bits of information are loaded inside the processor at each clock cycle. This CoolRISC core also has a one clock cycle 8x8->16 bit multiplication instruction. This is of course of importance for computing, and this is also an advantage for coding tasks as one can operate a multiple positions shift in one clock cycle. This instruction is also used in the compiler. Another strong point of this CoolRISC core is its ability to always execute one instruction per clock cycle, even when a conditional jump occurs.


3. What is the value for the capacitor on the Vreg pin?
The capacitor value is 1uF. This value is needed to ensure the accurate programming of the MTP flash. A value of 100nF is sufficient for ROM versions.


4. What is the function of the RC oscillator?
RC is there to provide a high frequency clock. Its exact frequency can be set by software to enable reliable communication. A software (or hardware on certain circuits) DFLL is available that automatically adjusts the RC oscillator frequency with respect to the crystal oscillator. The software can be downloaded from our web site:
http://www.xemics.com/support/


5. A brief one liner in the documentation mentions 'the real time clock'. I have an application that would make use of a real time clock function. Can you explain the XE8000 series real time clock?
Real Time Clock means that you always have a precise clock base running and an interrupt that can be generated for a precise frequency. For the XE88LC03 and other microcontrollers in the XE8000 family. This means that the CPU can be in HALT mode and most peripherals OFF, and the prescaler can be running and generating an interrupt either at 128 Hz or 1 Hz for a power consumption less than 2 uA. When the interrupt is generated the CPU is woken up, executes the interrupt code and goes into HALT mode again.

 


 Sensing Machine


1. What is the Sensing Machine ?
The Sensing Machine is a smart single chip solution for interfacing Wheatstone bridge sensors (or any other sensor generating a voltage between a few uV to a few V). It is based on the award winning ZoomingADC™ and has the CoolRISC 8 bit processor core with MTP Flash memory to manage the sensor and the data.


2. What is the ZoomingADC™ ?
The ZoomingADC™ is the combination of 3 programmable preamplifiers and an oversampled analog-to-digital converter. The converter itself has a resolution of 16 bits, and each preamplifer has a programmable gain that can be as high as 10. Therefore total gain can be up to 1000. This makes possible to detect signal variations that are lower than 1uV. The preamplifier can not only be programmed in gain, but also in offset, making it possible to amplify a signal that has a large offset. Its name comes from the analogy with a regular optical camera. The film sets the resolution of the camera, and in order to have a higher resolution for one part of the scene, one uses an optical zoom to zoom-in on the subject of interest. The ZoomingADC™ does exactly the same. The ZoomingADC™ received the Grand Prize for 'best of Sensor' during SensorsExpo in Anaheim (CA), May 2000.


3. Is it possible to start an AD conversion and then put the CPU in halt mode until the IRQ from the ADC arrives?
I would like to do this to save power.
The HALT instruction only stops the CPU. So all peripherals can execute their functions even when the CPU is in HALT. Yes, it is possible to set the CPU in HALT and wait for the IRQ from the ADC. In addition you are right about this requiring less power.


4. What about the frequency response of the ADC?
You can find the frequency response information in the XE88LC05 data sheet. The data sheet is available on our web site under the product page. In the Data sheet, there is a chapter about the frequency response on page 22.


5. What is the input impedance of the acquisition chain multiplexer when the channels are off?
The input impedance of the multiplexer when not used, is going towards infinity. That means you should measure a few hundred MO


6. If the input analog signal has changed during measurement what result will the ADC give?
The ADC has no sample and hold at the input. The result will be an intermediate value of the different input samples used to generate the output sample by the digital decimation filter of the ADC.


7. How fast can you do a 16 bit conversion?
The fastest 16 bits conversion is 1 kHz, or 2 kHz without offset cancellation (NELCONV=1). It is a sigma-delta conversion, modified to start with a reset of all integrators and filters (this makes channel changes faster).



8. How do I set the ZoomingADC™ for my sensor?
The easiest way is to consider the min-max voltage that your sensor can issue under extreme operating conditions. Then apply the highest gain that does not saturate these extreme values and cancel the mean offset. The fine calibration of each sensor is then made in software using the good computing efficiency of the CoolRIDE processor core.

 


9. What is the speed of the ADC and what is the impact on the resolution?
This answer must be given in several steps:
1) We use an over-sampled converter (like the "1-bit" converter of your CD player).
2) This means that we have 2 different sampling rates:
a. input sampling and output sampling.
b. input sampling is much faster than output sampling.
3) For bandwidth computation, one must use the output sampling rate.
4) The output sampling rate depends on:
a. input sampling rate
b. resolution
c. way to reach this resolution
d. rejection of offset (yes or no)
5) Some settings that we often see in the field are:
a. Output sampling rate of 4kS/s for 12 bits resolution, offset rejection on
b. Output sampling rate of 1kS/s for 16 bits resolution, offset rejection on
6) All these output sampling rates are for a 500 kS/s input sampling rate
The information is given as a formula. The reason is that several parameters influence the data rate and the resolution. This information is in chapter 14 of the XE88LC01/03/05 databook, under points 14.6.3 to 14.6.6. You will find examples in the TN8000.05.


10. I believe that that the sampling rate depends upon the resolution that you are getting from the converter. For a sampling frequency of 4K, we can achieve 16 bits, and for 512K can we achieve 16 bits?
The digital resolution gets to 16 bits at 1 kHz output sampling rate for 512 kHz input sampling rate (RC clock at 2 MHz). Noise level may be higher than the resolution depending on the gain put in the amplifiers. See the amplifier specification in the databook for complete information.


11. Are the examples you provided the max speed that can be achieved for 12-bit (4kS/s) and 16-bit (1kS/s) resolutions?
You can go 2x faster if you don't use offset rejection (Nelconv=0, Numconv=1). It is ok if you have an AC signal, or if you have another algorithm to suppress DC. Otherwise it is the maximum speed.


12. Can you detail accuracy for the ZoomingADC™? Also how do we do voice directly with the XE8000?
The accuracy has to be defined before you can give a value to it. Accuracy has several components: noise, reproducibility (or fidelity), linearity, temperature drift and digital resolution.
- Noise is directly related to the resolution, and as we do not have low frequency noise (offset is suppressed by an algorithm), it can be as low as the final resolution of the ADC if you filter the output signal. It can be 16 bits for a signal that is amplified (therefore the 16+10 bits resolution)
- Reproducibility can be down to the noise level of the ADC
- Linearity is around 16 bits
- Temperature drift is a given in the databook (+/- 5 ppm/C for each amplifier stage and for the ADC
- Digital resolution depends on the way you program the ADC. It is 12 bits for an acquisition at 512 kHz, with offset compensation, and with 4 kHz output sampling. It can be as high as 16 bits.
For toys, you can make telephone quality audio directly with the XE8000 using the internal ADC and DAC. For example, if you don't need the offset cancellation algorithm.

 


 Controller and compiler


1. I have an application using the XE88LC01, in which I will need to store a few bytes of calibration data that will need to be field updateable. The system will have an RS 232 interface to the outside world. What type of approach should I take for this?
The CoolRISC has Harvard architecture. That means that the instruction bus (connected to the MTP) and the DATA bus (connected to the RAM) are separated. There are 2 solutions:
1. Store the values in the low power RAM, and external to the micro have a backup battery source to maintain the RAM. When in power down, put the micro in sleep mode (no clock running). When the chip is in sleep mode the RAM, the MTP and Low Power RAM are powered. If you do a reset all values in the RAM, low power RAM and MTP are kept. The software developer needs to be careful when writing his software because he needs to handle it as if it is a Power On Reset or another reset source. At the POR the customer needs to initialize all his software but, when another reset is issued, he doesn't need to initialize his software anymore because has already done at the POR.
2. Use an external EEPROM that is accessed by I2C or SPI. This memory would contain the calibration values. When one of these values is needed in the software, the customer just needs to read the value from the EEPROM. This solution requires the addition of another chip to the design. The I2C and SPI EEPROMS are quite small.


2. I do not know how to place tabulated data in the program ROM and whether it is generally possible to place data in the ROM?
Here is an example of how to place something in the MTP or in the ROM:

#define TAILLE_TABLEAU 10
long alpha[TAILLE_TABLEAU];
char string[11];

int main (void){
// Initialisation du tableau
alpha[0] = 87;
alpha[1] = 268;
alpha[2] = 466;
alpha[3] = 700;
alpha[4] = 1000;
alpha[5] = 1428;
alpha[6] = 2145;
alpha[7] = 3732;
alpha[8] = 11430;
alpha[9] = 62235;

string[0] = 'h';
string[1] = 'e';
string[2] = 'l';
string[3] = 'l';
string[4] = 'o';
string[5] = ' ';
string[6] = 'w';
string[7] = 'o';
string[8] = 'r';
string[9] = 'l';
string[10] = 'd';
string[11] = '\0';

// Votre programme
...
}
main(void){
InitializeArray();
}


3. Support on C functions printf, puts, gets, and memory manipulation commands for uC.
Under CoolRIDE you have a document called "C Library". This document describes the different standard C functions and explains the restrictions for the CoolRISC. The use of almost all of these functions assumes that sufficient memory space is available. This means that when you are using the microcontroller, it is possible that some functions won't work because they need some RAM space that is being used by the customer program. Functions that use the standard input/output like printf, puts and gets have restrictions. These restrictions are mentioned in the "C Library" document. printf and puts for example will work only if you use the CoolRIDE debugger because we have implemented a standard output inside the debugger. fscanf or gets for example will not work because there is no standard input implemented. The microcontroller has no standard output/input. In the samples directory under the CoolRIDE installation directory you have some examples that use the printf function.

 


 © 2002 XEMICS All Rights Reserved

.continental hotel odessa ukraine: odessa ukraine: apartments odessa.