- •CONTENTS
- •FIGURES
- •TABLES
- •1.1 Manual Contents
- •1.2 Notational Conventions and Terminology
- •1.3 Related Documents
- •1.4 Application Support Services
- •2.1 Typical Applications
- •2.2 Microcontroller Features
- •2.3 Functional Overview
- •2.3.1 Core
- •2.3.1.3 Register File
- •2.3.2 Memory Controller
- •2.4 Internal Timing
- •2.4.1 Clock and Power Management Logic
- •2.4.2 Internal Timing
- •2.4.2.1 Clock Failure Detection Logic
- •2.4.2.2 External Timing
- •2.4.2.3 Power Management Options
- •2.4.3 Internal Memory
- •2.4.4 Serial Debug Unit
- •2.4.5 Interrupt Service
- •2.5 Internal Peripherals
- •2.5.1 I/O Ports
- •2.5.2 Serial I/O (SIO) Port
- •2.5.3 Synchronous Serial I/O (SSIO) Port
- •2.5.4 Event Processor Array (EPA) and Timer/Counters
- •2.5.7 Stack Overflow Module
- •2.5.8 Watchdog Timer
- •2.6 Special Operating Modes
- •2.7 Chip Configuration Registers
- •3.1 Overview of the Instruction Set
- •3.1.1 BIT Operands
- •3.1.2 BYTE Operands
- •3.1.4 WORD Operands
- •3.1.5 INTEGER Operands
- •3.1.9 Converting Operands
- •3.1.10 Conditional Jumps
- •3.1.11 Floating-Point Operations
- •3.1.12 Extended Instructions
- •3.2 Addressing Modes
- •3.2.1 Direct Addressing
- •3.2.2 Immediate Addressing
- •3.2.3 Indirect Addressing
- •3.2.3.1 Extended Indirect Addressing
- •3.2.3.2 Indirect Addressing with Autoincrement
- •3.2.3.3 Extended Indirect Addressing with Autoincrement
- •3.2.3.4 Indirect Addressing with the Stack Pointer
- •3.2.4 Indexed Addressing
- •3.2.4.3 Extended Indexed Addressing
- •3.2.4.4 Zero-indexed Addressing
- •3.3 Considerations for Crossing Page Boundaries
- •3.4 Software Protection Features and Guidelines
- •4.1 Memory Map Overview
- •4.2 Memory Partitions
- •4.2.1 External Memory
- •4.2.2 Internal ROM
- •4.2.2.1 Program Memory in Page FFH
- •4.2.2.3 Reserved Memory Locations
- •4.2.2.4 Interrupt, PIH, and PTS Vectors
- •4.2.2.5 Chip Configuration Bytes
- •4.2.3 Internal RAM (Code RAM)
- •4.2.4.2 Peripheral SFRs
- •4.2.5 Register File
- •4.2.5.2 Stack Pointer (SP)
- •4.3 Windowing
- •4.3.1 Selecting a Window
- •4.3.2 Addressing a Location Through a Window
- •4.3.2.4 Unsupported Locations Windowing Example
- •4.3.2.5 Using the Linker Locator to Set Up a Window
- •4.3.3 Windowing and Addressing Modes
- •4.4 Controlling Read Access to the Internal ROM
- •4.5 Remapping Internal ROM
- •5.1 Functional Overview
- •5.2 Stack Operations
- •5.3 Stack Overflow Module Registers
- •5.4 Programming the Stack Overflow Module
- •5.4.1 Initializing the Stack Pointer
- •5.4.2 Enabling the Stack Overflow Module and Specifying Stack Boundaries
- •6.1 Overview of the Interrupt Control Circuitry
- •6.2 Interrupt Signals and Registers
- •6.3 Interrupt Sources, Priorities, and Vector Addresses
- •6.3.1 PIH Interrupt Sources, Priorities, and Vector Addresses
- •6.3.1.1 Using Software to Provide the Vector Address
- •6.3.1.2 Providing the Vector Address in Response to a CPU Request
- •6.3.2 Special Interrupts
- •6.3.2.1 Unimplemented Opcode
- •6.3.2.2 Software Trap
- •6.3.2.4 Stack Overflow
- •6.3.3 External Interrupt Signal
- •6.3.4 Shared Interrupt Requests
- •6.4 Interrupt Latency
- •6.4.1 Situations that Increase Interrupt Latency
- •6.4.2 Calculating Latency
- •6.4.2.2 PTS Interrupt Latency
- •6.5 Programming the Interrupts
- •6.5.1 Modifying Interrupt Priorities
- •6.5.2 Determining the Source of an Interrupt
- •6.6 Initializing the PTS Control Blocks
- •6.6.1 Specifying the PTS Count
- •6.6.2 Selecting the PTS Mode
- •6.6.3 Single Transfer Mode
- •6.6.4 Block Transfer Mode
- •6.6.5 Dummy Mode
- •7.1 I/O Ports Overview
- •7.2 Configuring the Port Pins
- •7.2.2 Configuring Ports 3 and 4 (Address/Data Bus)
- •7.2.3 Port Configuration Example
- •7.3.1 Address and Data Signals (Ports 3, 4, and EPORT)
- •7.3.1.1 EPORT Status During Reset, CCB Fetch, Idle, Powerdown, and Hold
- •7.3.5 External Interrupt Signal (Port 2)
- •7.3.6 PWM Signals (Port 11)
- •7.3.7 Serial I/O Port Signals (Ports 2 and 7)
- •7.3.8 Special Operating Mode Signal (Port 5 Pin 7)
- •7.3.9 Synchronous Serial I/O Port Signals (Port 10)
- •7.4 I/O Port Internal Structures
- •7.4.3 Internal Structure for Ports 3 and 4 (Address/Data Bus)
- •8.1 Serial I/O (SIO) Port Functional Overview
- •8.2 Serial I/O Port Signals and Registers
- •8.3 Serial Port Modes
- •8.3.1 Synchronous Mode (Mode 0)
- •8.3.2 Asynchronous Modes (Modes 1, 2, and 3)
- •8.3.2.1 Mode 1
- •8.3.2.2 Mode 2
- •8.3.2.3 Mode 3
- •8.3.2.4 Multiprocessor Communications
- •8.4 Programming the Serial Port
- •8.4.1 Configuring the Serial Port Pins
- •8.4.2 Programming the Control Register
- •8.4.3 Programming the Baud Rate and Clock Source
- •8.4.4 Enabling the Serial Port Interrupts
- •8.4.5 Determining Serial Port Status
- •CHAPTER 9 Synchronous Serial I/O (SSIO) Port
- •9.1 SSIO Port Overview
- •9.1.1 Standard Mode
- •9.1.2 Duplex Mode
- •9.2 SSIO pORT sIGNALS AND rEGISTERS
- •9.3 ssio Port Operation
- •9.3.1 Transmitting and Receiving Data
- •9.3.1.1 Normal Transfers (All Modes)
- •9.3.1.2 Handshaking Transfers (Standard Mode Only)
- •9.4 Programming the SSIO Port
- •9.4.1 Configuring the SSIO Port Pins
- •9.4.2 Configuring the SSIO Registers
- •9.4.2.1 The SSIO Baud (SSIO_BAUD) Register
- •9.4.2.3 The SSIO 0 Clock (SSIO0_CLK) Register
- •9.4.2.4 The SSIO 1 Clock (SSIO1_CLK) Register
- •9.4.3 Enabling the SSIO Interrupts
- •9.5 Programming Considerations
- •9.5.2 Standard Mode Considerations
- •9.5.3 Duplex Mode Considerations
- •10.1 PWM FUNCTIONAL OVERVIEW
- •10.2 PWM Signals and Registers
- •10.3 pwm operation
- •10.4 Programming the Frequency and Period
- •10.5 Programming the Duty Cycle
- •10.5.1 Sample Calculations
- •10.5.2 Reading the Current Value of the Down-counter
- •10.5.3 Enabling the PWM Outputs
- •10.5.4 Generating Analog Outputs
- •11.1 EPA Functional Overview
- •11.2 EPA and Timer/Counter Signals and Registers
- •11.3 Timer/Counter Functional Overview
- •11.3.1 Timer Multiplexing on the Time Bus
- •11.4 EPA Channel Functional Overview
- •11.4.1 Operating in Input Capture Mode
- •11.4.2 Operating in Output Compare Mode
- •11.4.3 Operating in Compare Mode with the Output/Simulcapture Channels
- •11.4.4 Generating a 32-bit Time Value
- •11.4.5 Controlling a Pair of Adjacent Pins
- •11.5 Programming the EPA and Timer/Counters
- •11.5.1 Configuring the EPA and Timer/Counter Signals
- •11.5.2 Programming the Timers
- •11.5.3 Programming the Capture/Compare Channels
- •11.5.4 Programming the Compare-only (Output/Simulcapture) Channels
- •11.6 Enabling the EPA Interrupts
- •11.7 Determining Event Status
- •CHAPTER 12 Analog-to-digital (A/D) Converter
- •12.1 A/D Converter Functional Overview
- •12.2 A/D Converter Signals and Registers
- •12.3 A/D Converter Operation
- •12.4 Programming the A/D Converter
- •12.4.1 Programming the A/D Test Register
- •12.4.2 Programming the A/D Result Register (for Threshold Detection Only)
- •12.4.3 Programming the A/D Time Register
- •12.4.4 Programming the A/D Command Register
- •12.4.5 Programming the A/D Scan Register
- •12.4.6 Enabling the A/D Interrupt
- •12.5 Determining A/D Status and Conversion Results
- •12.6 Design Considerations
- •12.6.1 Designing External Interface Circuitry
- •12.6.1.1 Minimizing the Effect of High Input Source Resistance
- •12.6.1.2 Suggested A/D Input Circuit
- •12.6.1.3 Analog Ground and Reference Voltages
- •12.6.2 Understanding A/D Conversion Errors
- •CHAPTER 13 Minimum Hardware Considerations
- •13.1 Minimum Connections
- •13.1.1 Unused Inputs
- •13.1.2 I/O Port Pin Connections
- •13.2 Applying and Removing Power
- •13.3 Noise Protection Tips
- •13.4 The On-chip Oscillator Circuitry
- •13.5 Using an External Clock Source
- •13.6 Resetting the Microcontroller
- •13.6.1 Generating an External Reset
- •13.6.2 Issuing the Reset (RST) Instruction
- •13.6.3 Issuing an Illegal IDLPD Key Operand
- •13.6.4 Enabling the Watchdog Timer
- •13.6.5 Detecting Clock Failure
- •13.7 Identifying the Reset Source
- •14.1 Special Operating Mode Signals and Registers
- •14.2 Reducing Power Consumption
- •14.3 Idle Mode
- •14.3.1 Enabling and Disabling Idle Mode
- •14.3.2 Entering and Exiting Idle Mode
- •14.4 Powerdown Mode
- •14.4.1 Enabling and Disabling Powerdown Mode
- •14.4.2 Entering Powerdown Mode
- •14.4.3 Exiting Powerdown Mode
- •14.4.3.1 Generating a Hardware Reset
- •14.4.3.2 Asserting the External Interrupt Signal
- •14.4.3.3 Selecting an External Capacitor
- •14.5 ONCE Mode
- •CHAPTER 15 Interfacing with External Memory
- •15.1 Internal and External Addresses
- •15.2 External Memory Interface Signals and Registers
- •15.3 The Chip-select Unit
- •15.3.1 Defining Chip-select Address Ranges
- •15.3.2 Controlling Bus Parameters
- •15.3.3 Chip-select Unit Initial Conditions
- •15.3.4 Programming the Chip-select Registers
- •15.3.5 Example of a Chip-select Setup
- •15.4 Chip Configuration Registers and Chip Configuration Bytes
- •15.5 Bus Width and Multiplexing
- •15.5.1 A 16-bit Example System
- •15.5.2 16-bit Bus Timings
- •15.5.3 8-bit Bus Timings
- •15.5.4 Comparison of Multiplexed and Demultiplexed Buses
- •15.6 Wait States (Ready Control)
- •15.7 Bus-hold Protocol
- •15.7.1 Enabling the Bus-hold Protocol
- •15.7.2 Disabling the Bus-hold Protocol
- •15.7.3 Hold Latency
- •15.7.4 Regaining Bus Control
- •15.8 Write-control Modes
- •15.9 System Bus AC Timing Specifications
- •15.9.1 Deferred Bus-cycle Mode
- •15.9.2 Explanation of AC Symbols
- •15.9.3 AC Timing Definitions
- •16.1 Serial Debug Unit (SDU) Functional Overview
- •16.2 SDU Signals and Registers
- •16.3 SDU Operation
- •16.3.1 SDU State Machine
- •16.3.2 Code RAM Access State Machine
- •16.3.3 Minimizing Latency
- •16.4 Code RAM Access
- •16.4.1 Code RAM Data Transfer
- •16.4.2 Code RAM Access Instructions
- •16.4.3 Code RAM Data Transfer Example
- •16.5 SDU Interface Connector
- •17.1 Signals and Registers
- •17.2 Memory Protection Options
- •17.3 Entering Test-ROM Routines
- •17.3.1 Power-up and Power-down Sequences
- •17.4 ROM-dump Routine and Circuit
- •17.5 Serial Port Mode Routine
- •17.5.1 Serial Port RISM
- •17.5.2 Serial Port Mode Circuit
- •17.6 SDU RISM Execution Routine
- •17.6.1 SDU RISM Data Transfer
- •17.6.1.1 SDU RISM Data Transfer Before
- •17.6.1.2 SDU RISM Data Transfer After
- •17.6.2 SDU RISM Execution Circuit
- •17.7 RISM Command Descriptions
- •17.8 Executing Programs from Register RAM
- •17.9 RISM Command Examples
- •17.9.1 Serial Port Mode RISM Read Command Example
- •17.9.2 Serial Port Mode RISM Write Command Example
- •17.9.3 SDU RISM Execution Write Command Example
- •17.9.4 SDU RISM Execution Go Command Example
- •B.1 Functional Groupings of Signals
- •B.2 Signal Descriptions
- •B.3 Default Conditions
8XC196EA USER’S MANUAL
Once the A/D converter receives the command to start a conversion, a delay time elapses before sampling begins. (EPA-initiated conversions begin after the capture/compare event. Immediate conversions, those initiated directly by a write to AD_COMMAND, begin within three state times after the instruction is completed.) During this sample delay, the hardware clears the successive approximation register and selects the designated multiplexer channel. After the sample delay, the device connects the multiplexer output to the sample capacitor for the specified sample time. After this sample window closes, the microcontroller disconnects the multiplexer output from the sample capacitor so that changes on the input pin will not alter the stored charge while the conversion is in progress. The device then zeros the comparator and begins the conversion.
The A/D converter uses a successive approximation algorithm to perform the analog-to-digital conversion. The converter hardware consists of a 256-resistor ladder, a comparator, coupling capacitors, and a 10-bit successive approximation register (SAR) with logic that guides the process. The resistive ladder provides 20 mV steps (VREF = 5.12 volts), while capacitive coupling creates 5 mV steps within the 20 mV ladder voltages. Therefore, 1024 internal reference voltage levels are available for comparison against the analog input to generate a 10-bit conversion result. In 8- bit conversion mode, only the resistive ladder is used, providing 256 internal reference voltage levels.
The successive approximation conversion compares a sequence of reference voltages to the analog input, performing a binary search for the reference voltage that most closely matches the input. The ½ full scale reference voltage is the first tested. This corresponds to a 10-bit result where the most-significant bit is zero and all other bits are ones (0111111111B). If the analog input was less than the test voltage, bit 9 of the SAR is left at zero, and a new test voltage of ¼ full scale (0011111111B) is tried. If the analog input was greater than the test voltage, bit 8 of SAR is set. Bit 7 is then cleared for the next test (0101111111B). This binary search continues until 10 (or 8) tests have occurred, at which time the valid conversion result resides in the AD_RESULT and AD_RESULTx registers, where it can be read by software. The result is equal to the ratio of the input voltage divided by the analog supply voltage. If the ratio is 1.00, the result will be all ones.
12.4 PROGRAMMING THE A/D CONVERTER
The following A/D converter parameters are programmable:
•conversion input — input channel
•conversion times — sample window time and conversion time for each bit
•operating mode — 8- or 10-bit conversion or 8-bit high or low threshold detection
•conversion trigger — immediate or EPA starts
This section describes the A/D converter’s registers and explains how to program them.
12-4
ANALOG-TO-DIGITAL (A/D) CONVERTER
12.4.1 Programming the A/D Test Register
The AD_TEST register (Figure 12-2) selects either the analog input specified in AD_COMMAND or a test voltage (ANGND or VREF) for conversion and specifies an offset voltage to be applied to the resistor ladder. To use the zero-offset adjustment, first perform two conversions, one on ANGND and one on VREF. With the results of these conversions, use a software routine to calculate the zero-offset error. Specify the zero-offset adjustment by writing the appropriate value to AD_TEST. This offset voltage is added to the resistor ladder and applies to all input channels. “Understanding A/D Conversion Errors” on page 12-17 describes zero-offset and other errors inherent in A/D conversions.
AD_TEST |
Address: |
1E76H |
|
Reset State: |
00H |
The A/D test (AD_TEST) register enables conversions on ANGND and VREF and specifies adjustments for DC offset errors. Its functions allow you to perform two conversions, one on ANGND and one on VREF. With these results, a software routine can calculate the offset and gain errors.
7 |
|
|
|
|
|
|
|
|
|
|
0 |
— |
— |
|
— |
|
OFF2 |
|
OFF1 |
|
OFF0 |
TV |
TE |
|
|
|
|
|
|
|
|
|
|
|
|
Bit |
Bit |
|
|
|
|
Function |
|
|
|||
Number |
Mnemonic |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|||
|
|
|
|||||||||
7:5 |
— |
Reserved; for compatibility with future devices, write zeros to these bits. |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
4:2 |
OFF2:0 |
Offset |
|
|
|
|
|
|
|
|
|
|
|
|
These bits allow you to set the zero-offset point. |
|
|
||||||
|
|
|
OFF2 OFF1 OFF0 |
|
|
|
|
|
|
||
|
|
|
0 |
0 |
0 |
|
no adjustment |
|
|
|
|
|
|
|
0 |
0 |
1 |
|
add 2.5 mV |
|
|
|
|
|
|
|
0 |
1 |
0 |
|
subtract 2.5 mV |
|
|
||
|
|
|
0 |
1 |
1 |
|
subtract 5.0 mV |
|
|
||
|
|
|
1 |
0 |
0 |
|
no adjustment |
|
|
|
|
|
|
|
1 |
0 |
1 |
|
add 5.0 mV |
|
|
|
|
|
|
|
1 |
1 |
0 |
|
subtract 7.5 mV |
|
|
||
|
|
|
1 |
1 |
1 |
|
subtract 10 mV |
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
Figure 12-2. A/D Test (AD_TEST) Register
12-5
8XC196EA USER’S MANUAL
AD_TEST(Continued) |
Address: |
1E76H |
|
Reset State: |
00H |
The A/D test (AD_TEST) register enables conversions on ANGND and VREF and specifies adjustments for DC offset errors. Its functions allow you to perform two conversions, one on ANGND and one on VREF. With these results, a software routine can calculate the offset and gain errors.
7 |
|
|
|
|
|
|
|
|
|
0 |
— |
— |
|
— |
|
OFF2 |
|
OFF1 |
OFF0 |
TV |
TE |
|
|
|
|
|
|
|
|
|
|
|
Bit |
Bit |
|
|
|
|
Function |
|
|
||
Number |
Mnemonic |
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|||
1 |
TV |
Test Voltage |
|
|
|
|
|
|||
|
|
|
This bit selects the test voltage for a test mode conversion. (The TE bit |
|||||||
|
|
|
must be set to enable test mode.) |
|
|
|
||||
|
|
|
0 |
= ANGND |
|
|
|
|
|
|
|
|
|
1 |
= VREF |
|
|
|
|
|
|
0 |
TE |
Test Enable |
|
|
|
|
|
|||
|
|
|
This bit determines whether normal or test mode conversions will be |
|||||||
|
|
|
performed. A normal conversion converts the analog signal input on one |
|||||||
|
|
|
of the analog input channels. A test conversion allows you to perform a |
|||||||
|
|
|
conversion on ANGND or VREF, selected by the TV bit. |
|
||||||
|
|
|
0 |
= normal |
|
|
|
|
|
|
|
|
|
1 |
= test |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Figure 12-2. A/D Test (AD_TEST) Register (Continued)
12.4.2 Programming the A/D Result Register (for Threshold Detection Only)
To use the threshold-detection modes, you must first write a value to the high byte of AD_RESULT (Figure 12-3) to set the desired reference (threshold) voltage.
12-6
ANALOG-TO-DIGITAL (A/D) CONVERTER
AD_RESULT (Write) |
Address: |
1E72H |
|
Reset State: |
0000H |
The high byte of the A/D result (AD_RESULT) register can be written to set the reference voltage for the A/D threshold-detection modes.
15 |
|
|
|
|
|
|
|
|
|
|
8 |
REFV7 |
REFV6 |
|
REFV5 |
REFV4 |
|
REFV3 |
REFV2 |
REFV1 |
|
REFV0 |
|
7 |
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
— |
— |
|
|
— |
— |
|
— |
— |
— |
|
— |
|
|
|
|
|
|
|
|
|
|
|
|
Bit |
Bit |
|
|
|
|
Function |
|
|
|
||
Number |
Mnemonic |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
||
15:8 |
REFV7:0 |
|
Reference Voltage |
|
|
|
|
|
|
||
|
|
|
|
These bits specify the threshold value. This reference voltage is |
|||||||
|
|
|
|
compared with an analog input pin. When the voltage on the analog |
|||||||
|
|
|
|
input pin crosses over (detect high) or under (detect low) the threshold |
|||||||
|
|
|
|
value, the A/D conversion complete interrupt pending bit is set. |
|
||||||
|
|
|
|
Use the following formula to determine the value to write to this register |
|||||||
|
|
|
|
for a given threshold voltage. |
|
|
|
|
|||
|
|
|
|
reference voltage = desired threshold voltage × 256---------------------------------------------------------------------------------- |
|
||||||
|
|
|
|
|
|
|
VREF – |
ANGND |
|
|
|
7:0 |
— |
|
Reserved; for compatibility with future devices, write zeros to these bits. |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
Figure 12-3. A/D Result (AD_RESULT) Register — Write Format
12.4.3 Programming the A/D Time Register
Two parameters, sample time and conversion time, control the time required for an A/D conversion. The sample time is the length of time that the analog input voltage is actually connected to the sample capacitor. If this time is too short, the sample capacitor will not charge completely. If the sample time is too long, the input voltage may change and cause conversion errors. The conversion time is the length of time required to convert the analog input voltage stored on the sample capacitor to a digital value. The conversion time must be long enough for the comparator and circuitry to settle and resolve the voltage. Excessively long conversion times allow the sample capacitor to discharge, degrading accuracy.
The AD_TIME register (Figure 12-4) specifies the A/D sample and conversion times. To avoid erroneous conversion results, use the TSAM and TCONV specifications in the datasheet to determine appropriate values.
12-7
8XC196EA USER’S MANUAL
AD_TIME |
Address: |
1E77H |
|
Reset State: |
FFH |
The A/D time (AD_TIME) register programs the sample window time and the conversion time for each bit. This register programs the speed at which the A/D can run — not the speed at which it can convert correctly. Consult the data sheet for recommended values. Initialize the AD_TIME register before initializing the AD_COMMAND register. Do not write to this register while a conversion is in progress; the results are unpredictable.
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
SAM2 |
SAM1 |
|
SAM0 |
|
CONV4 |
|
|
CONV3 |
CONV2 |
CONV1 |
CONV0 |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bit |
Bit |
|
|
|
|
|
|
|
|
|
Function |
|
|
||
Number |
Mnemonic |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
||||
7:5 |
SAM2:0 |
A/D Sample Time |
|
|
|
|
|
|
|
|
|||||
|
|
|
These bits specify the sample time. Use the following formula to |
||||||||||||
|
|
|
compute the sample time. |
|
|
|
|||||||||
|
|
|
SAM = |
TSAM × f – |
2 |
|
|
|
|
|
|
|
|||
|
|
|
------------------------------- |
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
8 |
|
|
|
|
|
|
|
|
|
|
|
where: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SAM |
= |
1 to 7 |
|
|
|
|
|
|
|
|
||
|
|
|
TSAM |
= the sample time, in μs, from the data sheet |
|
||||||||||
|
|
|
f |
= the internal operating frequency, in MHz |
|
||||||||||
|
|
|
|
|
|
|
|
|
|||||||
4:0 |
CONV4:0 |
A/D Bit Conversion Time |
|
|
|
||||||||||
|
|
|
These bits specify the conversion time for each bit. Use the following |
||||||||||||
|
|
|
formula to compute the conversion time. |
|
|
||||||||||
|
|
|
CONV = |
|
TCONV |
× f – 3 |
|
– 1 |
|
|
|
||||
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
---------------------------------- |
|
|
|
|
|||||||
|
|
|
where: |
|
|
2 × B |
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
CONV= |
2 to 31 |
|
|
|
||||||||
|
|
|
TCONV |
= the conversion time, in μs, from the data sheet |
|
||||||||||
|
|
|
f |
= the internal operating frequency, in MHz |
|
||||||||||
|
|
|
B |
= the number of bits to be converted (8 or 10) |
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Figure 12-4. A/D Time (AD_TIME) Register
12-8