st7 peripherals1 st7 microcontroller training 1 - introduction 2 - core 3 - adressing modes 4 -...
Post on 21-Dec-2015
417 views
TRANSCRIPT
ST7 PERIPHERALS 1
ST7 MICROCONTROLLER TRAINING ST7 MICROCONTROLLER TRAINING
1 - INTRODUCTION
2 - CORE
3 - ADRESSING MODES
4 - PERIPHERALS
5 - ST7 SOFTWARE TOOLS
6 - ST7 HARDWARE TOOLS
7 - STVD7
ST7 PERIPHERALS 2
Optional
ST623x BLOCK DIAGRAM
Peripheral
PORT
16-bit timer
Peripheral
Peripheral
Peripheral
Peripheral
Peripheral
Peripheral
Peripheral
PowerSupply
WatchdogTimer
Data Ram256 bytes
Oscillator
Reset
Test/Vpp
INT
ProgramOtp / RomInterrupt
Controller
8-Bit CORE
SP
PCH
AccuIndex XIndex Y
CC
Data Ram
Data EEprom
PCL
ST7 I/O PORTSST7 I/O PORTS
Optional features : AD converter 16-bit Timer 8-bit Auto Reload Timer SPI SCI I2C EEPROM Programmable OpAmp CAN
ST7 PERIPHERALS 3
ST7 I/O PORTSOverview
ST7 I/O PORTSOverview
ALL THE I/Os ARE INDIVIDUALLY SOFTWARE CONFIGURABLE USING 3 DIFFERENT REGISTERS :
DDR: Data Direction Register DR: Data Register OR: Option Register
ST72254 : 22 MULTIFUNCTION BIDIRECTIONAL I/O LINES 18 Standard I/Os (sink up to 5mA) 8 High Current I/Os (PA0-PA7 can sink up to 20mA) 6 Analog Inputs (PC0-PC5) 16 alternate Functions on 16 pins (for Timers, SPI and I2C) All the I/Os can be set-up as Interrupt inputs
ST7 PERIPHERALS 4
ST7 I/O PORTSafe I/O pin transition
ST7 I/O PORTSafe I/O pin transition
01 00 10 11
Reset State
DDR OR Mode
0 0 Floating input
0 1 Input pull- up with/without interrupt
1 0 Output Open-Drain
1 1 Output Push-Pull
ST7 PERIPHERALS 5
OuputI/OPin
Data Direction Register Bit
Latch Data Output bit
InputI/O
InputReg bit
Read / Write DDRi
Write DRi
Read DRi
SOFTWARE SELECTABLE CONFIGURATION HIGH FLEXIBILITY for software and PC board layout
ST7 I/O PORT Basic structureST7 I/O PORT Basic structure
ST7 PERIPHERALS 6
ST7 I/O PORT Settings & electrical behaviour
ST7 I/O PORT Settings & electrical behaviour
Configuration given when no external Hardware is connected the pins
InputFloating
Input Pull_up
Ouput Open Drain
OuputPush-Pull
DDR 0 0 0 0 1 1 1 1
OR 0 0 1 1 0 0 1 1
Written DR 0 1 0 1 0 1 0 1
I/O Pin Floating Floating Vdd Vdd Vss Floating Vss Vdd
Read DR X X 1 1 0 1 0 1
ST7 PERIPHERALS 7
Interrupt source
Pin 1
Pin 2
Pin N
Pin 1
Pin 2
Pin M
ST7 Interrupt Controller
Edge/level selection
Edge/level selection
Interrupt Source 1
Interrupt Source 2
Negative edge only
Negative edge and low level
Positive and Negative edge
Positive edge only
Pin 1
Pin 2
Latched
Latched
Latched
Not Latched
Interrupt generation
Miscellaneous Register
ST7 EXTERNAL INTERRUPTSST7 EXTERNAL INTERRUPTS
ST7 PERIPHERALS 8
ST7 I/O PORT Block DiagramST7 I/O PORT Block Diagram
PAD
V DD
ALTERNATEENABLE
ALTERNATE OUTPUT
1
0
OR SEL
DDR SEL
DR SEL
PULL-UPCondition
1
0ANALOG
INPUTALTERNATE
INPUTFROMOTHER
BITS
EXTERNALINTERRUPT
SOURCE POLARITYSELECTION
CMOS SCHMITTTRIGGER
REGISTERACCESS
DDR
OR
DR
DA
TA
BU
S
ST7 PERIPHERALS 9
PROGRAMMING TIPSI/O Port (1)
PROGRAMMING TIPSI/O Port (1)
AD CONVERTION Each pin used by the ADC cell must be configured as floating input
(i.e. without pull-up resistors) before activating the analog input mode
ALTERNATE FUNCTION A signal coming from an on-chip peripheral can be output on a port.
In this case, the I/O is automatically configured in output mode.
A signal coming from an I/O can be an input to an on-chip peripheral. In this case, it must be configured as Input without interrupt (Floating Input).
ST7 PERIPHERALS 10
PROGRAMMING TIPSI/O Port (2)
PROGRAMMING TIPSI/O Port (2)
Open Drain Outputs can be used for bus driving where several devices are connected on the same line. They can be wired together to increase current drive capability
Voltages driving an Analog Input should always stay within the absolute maximum ratings (Vss-0.3V to Vdd+0.3V)
Pull-up resistors typically deliver 50µA under 5V
The toggling time on any output pin will be approximately 30ns for a 50pF load
ST7 PERIPHERALS 11
I/O Ports Configuration ExampleI/O Ports Configuration Example
Fill the dedicated I/O port registers in order to have the following configuration:
PB0:PB2 Push-Pull Output (high level)
PB3,PB4 Floating Input
PB5 Input with Interrupt
PB6 Push-Pull Output (low level)
PB7 Ouput (High Impedance)
PBDR
PBDR7 PBDR0
PBOR
PBOR7 PBOR0
PBDDR
PBDDR7 PBDDR0
ST7 PERIPHERALS 12
A/D CONVERTERA/D CONVERTER
Optional
ST623x BLOCK DIAGRAM
Peripheral
PORT
16-bit timer
Peripheral
Peripheral
Peripheral
Peripheral
Peripheral
Peripheral
Peripheral
PowerSupply
WatchdogTimer
Data Ram256 bytes
Oscillator
Reset
Test/Vpp
INT
ProgramOtp / RomInterrupt
Controller
8-Bit CORE
SP
PCH
AccuIndex XIndex Y
CC
Data Ram
Data EEprom
PCL
Optional features : AD converter 16-bit Timer 8-bit Auto Reload Timer SPI SCI I2C EEPROM Programmable OpAmp CAN
ST7 PERIPHERALS 13
ST7 AD CONVERTEROverview (1)
ST7 AD CONVERTEROverview (1)
8-BIT SUCCESSIVE APPROXIMATIONS CONVERTER WITH UP TO 8 ANALOG CHANNELS: ST72254 : 6 inputs ST72334 and ST725xx : 8 inputs ST72171 : 6 external inputs + 2 internal inputs
FEATURE : Accuracy : 1 LSB Total Unajusted Error MAX : 1 LSB Conversion time : 24 CPU cycle ie 3µs at full speed (8MHz)
FLAGS COCO : end of conversion (Status flag) ADON : ADC on/off bit (to reduce power consumption)
ST7 PERIPHERALS 14
ST7 AD CONVERTEROverview (2)
ST7 AD CONVERTEROverview (2)
LOW CONSUMPTION MODES Wait mode doesn't affect the ADC Halt mode stops the ADC.
HARDWARE ST72334 and ST725xx : Vdda and Vssa must be connected externally
respectivelly to Vdd and Vss through decoupling capacitors. ST72254 : connection done internally
RATIONETRIC In the Functionnal Range If analog voltage input > Vdd :
converted result = FFh (no overflow indication) If analog voltage input < Vss :
converted result = 00h (no underflow indication)
ST7 PERIPHERALS 15
SAMPLEANALOG
MUX
AIN0AIN1AIN2AIN3AIN4AIN5AIN6AIN7
0COCO CH0CH1CH2-- ADON
(Control Status Register) CSR
AD7 AD0AD1AD2AD3AD6 AD5
(Data Register) DR
&HOLD
Fcpu
ANALOG TODIGITAL CONVERTER
AD4
ST7 AD CONVERTERBlock diagram
ST7 AD CONVERTERBlock diagram
ST7 PERIPHERALS 16
PROGRAMMING TIPSAD Converter
PROGRAMMING TIPSAD Converter
PROCEDURE Step 1 : The analog input pins must be set-up as Input no pull-up no
interrupt Step 3 : assign a channel for the conversion (bit CH0, CH1 and CH2
in CSR register) and set the ADON bit Step 4 : Wait until COCO bit set. A continuous conversion is
performed. To reach the best accuracy, the impedance seen by the analog input pin must be
lower than 10Kohm.
Beginning of a new conversionby writing in the CSR (select the analog channel)
Continuous ADCWrite in CSR :
Stop conversionIf ADON still set : new
conversionElse stop ADCADC init :
–IO config–Channel selected
ADON bit set
t = 3µs t = 3µs t = 3µs
ST7 PERIPHERALS 17
ADC Configuration ExampleADC Configuration Example
Fill ADCCSR register in order to have an analog conversion on AIN4.
What bit has to be tested to know the end of the conversion ?
COCO ADON CH3 CH2 CH1 CH0
ADCDR
ST7 PERIPHERALS 18
ST7 16-bit TIMERST7 16-bit TIMER
Optional
ST623x BLOCK DIAGRAM
Peripheral
PORT
16-bit timer
Peripheral
Peripheral
Peripheral
Peripheral
Peripheral
Peripheral
Peripheral
PowerSupply
WatchdogTimer
Data Ram256 bytes
Oscillator
Reset
Test/Vpp
INT
ProgramOtp / RomInterrupt
Controller
8-Bit CORE
SP
PCH
AccuIndex XIndex Y
CC
Data Ram
Data EEprom
PCL
Optional features : AD converter 16-bit Timer 8-bit Auto Reload Timer SPI SCI I2C EEPROM Programmable OpAmp CAN
ST7 PERIPHERALS 19
16-bit TIMEROverview (1)16-bit TIMEROverview (1)
16-bit free running counter driven by a software configurable prescaler
4 different modes : Input capture (2 pins) : to latch the value of the counter after a
transition on the ICAPi pin Output compares (2 pins) : to control an output waveform or to
indicate when a period of time is over One pulse : generation of a pulse when an external event occurs PWM : generation of a signal with frequency and pulse length set by
software (OCR1 and OCR2)
ST7 PERIPHERALS 20
16-bit TIMEROverview (2)16-bit TIMEROverview (2)
The timer clock can be provided by : The internal clock with a configurable ratio An external source : Fext must 4 times slower than the internal clock
(ie Fmax=2Mhz)
CC1 CC0 Timer clock
0 0 Fcpu/4
0 1 Fcpu/2
1 0 Fcpu/8
1 1 External
ST7 PERIPHERALS 21
16-bit TIMER Block diagram16-bit TIMER
Block diagram
TIMER INTERNAL INTERRUPT
ST7 INTERNAL BUS
MCU-PERIPHERAL INTERFACE
16-BIT FREERUNNINGCOUNTERCOUNTER
ALTERNATEREGISTER
OVERFLOWDETECTCIRCUIT
STATUS REGISTER
LOW
BY
TE 8
16
8-BITBUFFER
16-Bit INTERNAL TIMER BUS
ICF1 OCF1 TOF OCF2 0 0 0ICF2
16
ICAP1
LOW
BY
TE
HIG
H B
YT
E
16
LOW
BY
TE
HIG
H B
YT
E
LOW
BY
TE
HIG
H B
YT
E
LOW
BY
TE
HIG
H B
YT
E
OUTPUTCOMPARE
REGISTER 1
OUTPUTCOMPARE
REGISTER 2
INPUTCAPTURE
REGISTER 1
INPUTCAPTURE
REGISTER 2
OUTPUTCOMPARE
CIRCUIT
1/21/41/8
EDGEDETECT
CIRCUIT 1ICAP2
EDGEDETECT
CIRCUIT 2
LATCH 1
LATCH 2
ICIE OCIE TOIE IEDG1 OLVL2FOLV1FOLV2 OLVL2 OC1E OC2E OPM IEDG2 EXEDGCC1PWM CC0
CC1 CC0
EXCLK
OCMP1
OCMP2
CONTROL REGISTER 1 CONTROL REGISTER 2
CPU CLOCK
EXEDG
ST7 PERIPHERALS 22
16-bit TIMERInput capture (1)
16-bit TIMERInput capture (1)
Captures the counter value upon input signal edge detection Allows an external pulse length measurement Internal safety process in case of critical interrupts timing
Edge Detector
Timer Counter Register
Input Capture RegisterICAP1A
Software Maskable Interrupt Request
ST7 PERIPHERALS 23
CC0CC1 IEDG2
ICIE
16-BIT FREE RUNNINGCOUNTER
IEDG1
(Control Register 1) CR1
(Control Register 2) CR2
ICF2ICF1 000
(Status Register) SR
ICAP1
ICAP2 EDGE DETECTCIRCUIT2
16-BIT
IC1RIC2R
EDGE DETECTCIRCUIT1
16-bit TIMERInput capture (1)
16-bit TIMERInput capture (1)
ST7 PERIPHERALS 24
16-bit TIMEROuput compare (1)
16-bit TIMEROuput compare (1)
Event generation (Interrupt request/bit toggling) whenever the compare register matches the counter
Indicates a period of time has elapsed and controls an output waveform
Internal safety process in case of critical interrupts timing
Match?Software Maskable Interrupt RequestPulse generation
Timer Counter Register
Output Compare Register
ST7 PERIPHERALS 25
(Status Register) SR
OUTPUT COMPARE
16-bit
CIRCUIT
OC1R
16-BIT FREE RUNNINGCOUNTER
OC1E CC0CC1OC2E
OLVL1OLVL2OCIE
(Control Register 1) CR1
(Control Register 2) CR2
000OCF2OCF1
16-bit
16-bit
OCMP1
OCMP2
Latch 1
Latch 2
OC2R
16-bit TIMEROutput compare (2)
16-bit TIMEROutput compare (2)
ST7 PERIPHERALS 26
16-bit TIMERReal Time Clock
16-bit TIMERReal Time Clock
In each Interrupt Routine the OCR Register content is updated.
There is no shift time (the counter is never reset externally).
time
FREE RUNNING COUNTER VALUE
Timer IT
FFFFh
0000h
OCR
OCR+T
Timer IT
ST7 PERIPHERALS 27
16-bit TIMEROne pulse mode (1)
16-bit TIMEROne pulse mode (1)
Generation of a pulse synchronized with an external event
Allows Phase Locked Loop Generation
On Input Capture event The counter is reset The timer output pin is toggled
On Output compare event The timer output pin is toggled The timer waits for the next Input Capture event
ST7 PERIPHERALS 28
16-bit TIMEROne pulse mode (2)
16-bit TIMEROne pulse mode (2)
When a external event occurs on ICAP1 pin
When the free running counter reaches
OC1R register value
Free running counter is initialized to FFFCh
OLVL2 bit level is applied on the OCMP1 pin
I CF1 bit is set
OLVL1 bit level is applied on the OCMP1 pin
ST7 PERIPHERALS 29
16-bit TIMEROne pulse mode (3)
16-bit TIMEROne pulse mode (3)
FFFFh
Compare 1
OCMP1 Ouput Compare pinTimer output
0000h
FFFCh
ICAP1Input Capture pinTimer input
FREE RUNNING COUNTER VALUE
time
time
time
ST7 PERIPHERALS 30
16-bit TIMERPWM mode (1)16-bit TIMER
PWM mode (1)
Automatic generation of a Pulse Width Modulated signal
Period &pulse lenght set by software: The first Output Compare Register OC1R contains the length of the
pulse The second Output Compare Register OCR2 contains the period of
the pulse
Resolution up to 100 steps at 20 KHz (fCPU =4 MHz): 1% of accuracy on the duty cycle
ST7 PERIPHERALS 31
ST7 TIMERPWM mode (2)
ST7 TIMERPWM mode (2)
When the free running counter reaches
OC2R register value
When the free running counter reaches
OC1R register value
Free running counter is initialized to FFFCh
OLVL2 bit level is applied on the OCMP1 pin
ICF1 bit is set
OLVL1 bit level is applied on the OCMP1 pin
ST7 PERIPHERALS 32
ST7 TIMERPWM mode (3)
ST7 TIMERPWM mode (3)
OCMP1 Ouput Compare pinTimer output
FFFFh
Compare 1
0000h
Compare 2
FFFCh
Ttimer × 65535Tmax =
OLVL1=0
OLVL2= 1
FREE RUNNING COUNTER VALUE
time
time
ST7 PERIPHERALS 33
PROGRAMMING TIPS16-bit timer (1)
PROGRAMMING TIPS16-bit timer (1)
Define Input capture pins as inputs through the corresponding Data Direction Register
Read MSB first and then the LSB The counter LSB is buffered during the MSB read The counter LSB read accesses the buffered value Any access to the high byte disables the corresponding timer function
until the low byte is accessed Disable the interrupts during any word access
Writing the counter LSB resets the timer at FFFCh
ST7 PERIPHERALS 34
PROGRAMMING TIPS16-bit timer (2)
PROGRAMMING TIPS16-bit timer (2)
Clearing a status bit is performed by a read access to the status register followed by an access (read or write) to the low byte of the corresponding register
The alternate counter register is always matching the counter
Use the alternate counter register when you do not want to clear the Timer Overflow Flag
No interrupt is generated on compare when the PWM is active, but the ICF1 bit is set every period and can generates an interrupt
Be aware that the implicit reading performed by the emulator might clear the status flags
ST7 PERIPHERALS 35
PROGRAMMING TIPS16-bit timer (3)
PROGRAMMING TIPS16-bit timer (3)
Reset counter to FFFCh
Reset counter to FFFCh Write
CLR
ACLR
Clear TOF bit
ACLR
ReadCLR bufferedCHR
Any others Instructions
Read
ACLR bufferedACHR
Returns the CLR buffered value CLR
Clear TOF bit
Returns the ACLR buffered value
ST7 PERIPHERALS 36
Timer Configuration ExampleTimer Configuration Example
Fill the Timer registers in order to generate a real time clock at 5ms using an interrupt strategy & a timer clock at 1µs (fCPU = 8MHz).
An interrupt is generated every 5ms using Output compare1.
OCMP1 pin has to be toggled every period
What is the value to add to the TAOC1HR & TAOC1LR every period?
ICIE OCIE TOIE FOLVL2 FOLVL1 OLVL2 IEDG1 OLVL1
TACR1
OC1E OC2E OPM PWM CC1 CC0 IEDG2 EXED
TACR2
ST7 PERIPHERALS 37
Serial Peripheral InterfaceSerial Peripheral Interface
Optional
ST623x BLOCK DIAGRAM
Peripheral
PORT
16-bit timer
Peripheral
Peripheral
Peripheral
Peripheral
Peripheral
Peripheral
Peripheral
PowerSupply
WatchdogTimer
Data Ram256 bytes
Oscillator
Reset
Test/Vpp
INT
ProgramOtp / RomInterrupt
Controller
8-Bit CORE
SP
PCH
AccuIndex XIndex Y
CC
Data Ram
Data EEprom
PCL
Optional features : AD converter 16-bit Timer 8-bit Auto Reload Timer SPI SCI I2C EEPROM Programmable OpAmp CAN
ST7 PERIPHERALS 38
ST7 SPIOverviewST7 SPI
Overview
THE SPI CELL ALLOWS A FULL DUPLEX SYNCHRONOUS SERIAL COMMUNICATION BETWEEN 2 DEVICES
MAIN FEATURE : Full duplex, 3 wire synchronous transfers Master : 6 frequency available. It rates up to 2 MHz Slave mode : it rates up 4 MHz
THE CLOCK IS PROGRAMMABLE : POLARITY AND PHASE
3 DIFFERENT STATUS FLAG : Data transfer : data transfer completed Write collision : access to SPIDR during a transmission Fault flag : fault in master mode detected
ST7 PERIPHERALS 39
ST7 SPIMaster-Slave communication
ST7 SPIMaster-Slave communication
SPI Clock Generator
8-bit Shift Register 8-bit Shift Register
Master Slave
MISO
MOSI
SCK
MISO
MOSI
SCK
SS SS
5V
ST7 PERIPHERALS 40
SPISTATE
CONTROL
Read Buffer
8-Bit Shift Register
Write
Read Internal Bus
SPIE SPE SPR2-MSTR CPHA SPR0SPR1CPOL
SPIF WCOL MODFMOSI
MISO
SS
SCK
- - - - -
IT request
SERIAL CLOCK GENERATOR
MASTER CONTROLMISCR2
SPISR
SPIDR
SPIOD SSM SSI
SPICR
ST7 SPIBlock diagram
ST7 SPIBlock diagram
ST7 PERIPHERALS 41
MISO
MOSI
MOSI
MOSI MOSI MOSIMISO MISO MISOMISO
SS
SS SS SS SSSCK SCKSCKSCK
SCK
5V Po
rts
SlaveMCU
SlaveMCU
SlaveMCU
SlaveMCU
MasterMCU
ST7 SPISingle master configuration
ST7 SPISingle master configuration
ST7 PERIPHERALS 42
SPI Configuration ExampleSPI Configuration Example
Fill the SPICR register in order to configure the SPI cell in Master mode Serial clock at 5OOKHz (fCPU=8MHz) Sampling on 2nd edge High level after clock signal No interrupt generation
SPIE SPE SPR2 MSTR CPOL CPHA SPR1 SPR0
SPICR
ST7 PERIPHERALS 43
ST7 I2CST7 I2C
Optional
ST623x BLOCK DIAGRAM
Peripheral
PORT
16-bit timer
Peripheral
Peripheral
Peripheral
Peripheral
Peripheral
Peripheral
Peripheral
PowerSupply
WatchdogTimer
Data Ram256 bytes
Oscillator
Reset
Test/Vpp
INT
ProgramOtp / RomInterrupt
Controller
8-Bit CORE
SP
PCH
AccuIndex XIndex Y
CC
Data Ram
Data EEprom
PCL
Optional features : AD converter 16-bit Timer 8-bit Auto Reload Timer SPI SCI I2C EEPROM Programmable OpAmp CAN
ST7 PERIPHERALS 44
ST7 I2C OverviewST7 I2C Overview
The I2C cell provides all I2C bus specific sequencing, protocol, arbitration and timing in order to reduce as much as possible the software overhead
Polling Management or Interrupt Driven Cell
Main feature : Multi Master capability Interrupt generation Standard I2C mode (up to 100kHz) and Fast I2C mode (up to 400kHz) 7-bit and 10-bit addressing
ST7 PERIPHERALS 45
ST7 SCIST7 SCI
Optional
ST623x BLOCK DIAGRAM
Peripheral
PORT
16-bit timer
Peripheral
Peripheral
Peripheral
Peripheral
Peripheral
Peripheral
Peripheral
PowerSupply
WatchdogTimer
Data Ram256 bytes
Oscillator
Reset
Test/Vpp
INT
ProgramOtp / RomInterrupt
Controller
8-Bit CORE
SP
PCH
AccuIndex XIndex Y
CC
Data Ram
Data EEprom
PCL
Optional features : AD converter 16-bit Timer 8-bit Auto Reload Timer SPI SCI I2C EEPROM Programmable OpAmp CAN
ST7 PERIPHERALS 46
ST7 SCIOverview (1)
ST7 SCIOverview (1)
FULL DUPLEX, ASYNCHRONOUS COMMUNICATION
DUAL BAUD RATE GENERATOR (MAXIMUM SPEED FOR SCI TX and RX : 250kHz)
PROGRAMMABLE WORD LENGTH• 8 bits• 9 bits (8 bits of data plus parity bit)
RECEIVER WAKE FUNCTION BY THE MOST SIGNIFICANT BIT OR IDLE LINE
FcpuFtx =
[16 × PR × 2] × TRFcpu
Frx =[16 × PR × 2] × RR
ST7 PERIPHERALS 47
ST7 SCIOverview (2)
ST7 SCIOverview (2)
3 FLAGS Buffer full Transmit buffer empty End of transmission
MUTING FUNCTIONS FOR MULTIPROCESSOR CONFIGURATIONS
NOISE, OVERRUN AND FRAME ERROR DETECTION
4 INTERRUPT SOURCES WITH FLAGS
ST7 PERIPHERALS 48
ST7 SCISerial data format
ST7 SCISerial data format
Start bit Stop bit
Previous frame or idle line
Optionnal parity bit
8 bit data
LSB MSB
Following frame or idle line
ST7 PERIPHERALS 49
Bit Time
Sampling Time
SCI Sampling Data FormatSCI Sampling Data Format
Each bit time is Divided by 16 by the SCI clock Sampled 3 times on the 8th, 9th and 10th count of the SCI clock
NF flag is set if the 3 sampling are not equal but the reception is still available
Data Sampled values
Received bit value
NF Flag
000 0 0
001 0 1
010 0 1
011 1 1
100 0 1
101 1 1
110 1 1
111 1 0
ST7 PERIPHERALS 50
Transmit data register
Transmit shift register
Receive data register
Receive shift register
Transmit Control
Wake-Up Unit
ReceiveControl
Control Register 2
Status Register
SCI InterruptControl
Transmit rate Control
Receive rate Control
fcpu
/ PR/ 16/ 2Control register 1
RDI pin
TDO pin
Data Register
SCI Block DiagramSCI Block Diagram
ST7 PERIPHERALS 51
ST7 SCI Clock selectionST7 SCI Clock selection
TRANSMITTER
RECEIVER
ETPR
ERPR
EXTENDED PRESCALER RECEIVER RATE CONTROL
EXTENDED PRESCALER TRANSMITTER RATE CONTROL
EXTENDED PRESCALER
CLOCK
CLOCK
RECEIVER RATE
TRANSMITTER RATE
BRR
SCP1
f CPU
CONTROL
CONTROL
SCP0SCT2 SCT1 SCT0 SCR2 SCR1SCR0
/2 /PR/16
CONVENTIONAL BAUD RATE GENERATOR
EXTENDED RECEIVER PRESCALER REGISTER
EXTENDED TRANSMITTER PRESCALER REGISTER
ST7 PERIPHERALS 52
SCI Configurable Baud RateSCI Configurable Baud Rate
Values given for fCPU =8MHz PR selected by SCP1& SCP0 bits of SCIBRR Register TR selected by SCT2,SCT1 & SCT0 bits of SCIBRR Register RR selected by SCR2,SCR1 & SCR0 bits of SCIBRR Register Reach the industry standard requirement
TR - SCT2:SCT0 RR - SCR2:SCR0
PR - SCP1,SCP0
ETPR /ERPR
Baud Rate
64 - 110 13 - 11 0 300
16 - 100 13 - 11 0 1200
8 - 011 13 - 11 0 2400
4 - 010 13 - 11 0 4800
2 - 001 13 - 11 0 9600
8 - 011 3 - 01 0 10400
1 - 000 13 - 11 0 19000
X X 13 38000
ST7 PERIPHERALS 53
R8 T8 M WAKE
SCICR1
TIE TCIE RIE ILIE TE RE RWU SBK
SCICR2
SCP1 SCP0 SCT2 SCT1 SCT0 SCR2 SCR1 SCR0
SCIBRR
SCI Configuration ExampleSCI Configuration Example
Fill the SCI registers in order to configure the Sci cell in 8 Bit word reception at 9600 Bauds 8 bit word transmission at 1200 Bauds Interrupt generation when RDRF is set (reception flag)
fCPU = 8MHz
ST7 PERIPHERALS 54Optional
ST623x BLOCK DIAGRAM
Peripheral
PORT
16-bit timer
Peripheral
Peripheral
Peripheral
Peripheral
Peripheral
Peripheral
Peripheral
PowerSupply
WatchdogTimer
Data Ram256 bytes
Oscillator
Reset
Test/Vpp
INT
ProgramOtp / RomInterrupt
Controller
8-Bit CORE
SP
PCH
AccuIndex XIndex Y
CC
Data Ram
Data EEprom
PCL
Optional features : AD converter 16-bit Timer 8-bit Auto Reload Timer SPI SCI I2C EEPROM Programmable OpAmp CAN
ST7 EEPROM DataST7 EEPROM Data
ST7 PERIPHERALS 55Optional
ST623x BLOCK DIAGRAM
Peripheral
PORT
16-bit timer
Peripheral
Peripheral
Peripheral
Peripheral
Peripheral
Peripheral
Peripheral
PowerSupply
WatchdogTimer
Data Ram256 bytes
Oscillator
Reset
Test/Vpp
INT
ProgramOtp / RomInterrupt
Controller
8-Bit CORE
SP
PCH
AccuIndex XIndex Y
CC
Data Ram
Data EEprom
PCL
Optional features : AD converter 16-bit Timer 8-bit Auto Reload Timer SPI SCI I2C EEPROM Programmable OpAmp CAN
SPGA Software Programable Gain Amplifier
SPGA Software Programable Gain Amplifier
ST7 PERIPHERALS 56
Programmable OpAmpOVERVIEW
Programmable OpAmpOVERVIEW
Integrated RAIL to RAIL OpAmp
Internal low programmable Gain (Up to 16)
Integrated reference voltage sources, VCC dependent & independent (Band-Gap).
OpAmp Outputs internally connected to ADC input
Interupt flag in comparator mode
Power on/off bit & active in low power modes
DAC capability with PWM/ART output
ST7 PERIPHERALS 57
SPGABlock Diagram
SPGABlock Diagram
OA1O
OA1NIN
OA1
R=2K
15R /16R
R
AV CL =1, 2, 4, 8, 16,
R3=2K
OA1V
AGND
OA1PIN
NS1[2:0] bits
AZ1 bit
G1[2:0] bits
VR1E, PS1[1:0] bits
VR1[2:0] bitsx V
DDA/8
OA1Interrupt
OA1IE bit
bit8-Step Reference
Voltage 1
Band GapReferenceVoltage(1.2V)
Analog (Amplifier ) or digital (Comparator) output
Reference voltages:*1.2V, Vcc independant*8 steps, VCC dependant
Programmable gain Op-Amp
SPGA1
To ADC Channel 8
ST7 PERIPHERALS 58
OA1NIN
OA1
R=2K
16R
R
AV CL =1, 2, 4, 8, 16,
R3=2K
OA1V
(1.2V)
AGND
OA1O
OA1PINTo ADC Channel 8
NS1[2:0] bits
AZ1 bit
G1[2:0] bits
VR1E, PS1[1:0] bits
VR1[2:0] bitsx V DDA /8
OA1Interrupt
OA1IE bitbit
8-Step ReferenceVoltage 1
Band GapReferenceVoltage
OA1NIN
OA1
R=2K
15R /16R
R
AV CL =1, 2, 4, 8, 16,
R3=2K
OA1V
(1.2V)
AGND
OA1O
OA1PINTo ADC Channel 8
NS1[2:0] bits
AZ1 bit
G1[2:0] bits
VR1E, PS1[1:0] bits
VR1[2:0] bitsx V DDA /8
OA1Interrupt
OA1IE bitbit
8-Step ReferenceVoltage 1
Band GapReferenceVoltage
Programmable gain Value
Inverter-1-2-3-4-8
-16
Non Inverter
23458
16
SPGA MODES (1)SPGA MODES (1)
ST7 PERIPHERALS 59
OPAMP MODES (2)OPAMP MODES (2)
OA1O
OA1NIN
OA1
R=2K
15R /16R
R
AV CL =1, 2, 4, 8, 16,
R3=2K
(1.2V)
AGND
OA1PINTo ADC Channel 8
NS1[2:0] bits
AZ1 bit
G1[2:0] bits
VR1E, PS1[1:0] bits
VR1[2:0] bitsx V DDA /8
OA1Interrupt
OA1IE bitbit
8-Step ReferenceVoltage 1
Band GapReferenceVoltage
selectablespositive input
Comparatormode
ST7 PERIPHERALS 60
SPGA MODES (3)SPGA MODES (3)
OA1NIN
OA1
R=2K
15R /16R
R
AV CL =1, 2, 4, 8, 16,
R3=2K
AGND
PWM0R / OA1PIN To ADC Channel 8
NS1[2:0] bits
AZ1 bit
G1[2:0] bits
VR1E, PS1[1:0] bits
VR1[2:0] bitsx V DDA /8
OA1Interrupt
OA1IE bitbit
8-Step ReferenceVoltage 1
(1.2V)
Band GapReferenceVoltage
8-bit PWM/ARTimer Channel 1
Channel 2
PWM0
Internal Resistor
ExternalCapacitor
Analog outputcan sink up to
40 mA
8-Bit Digital to Analog Converter
ST7 PERIPHERALS 61Optional
ST623x BLOCK DIAGRAM
Peripheral
PORT
16-bit timer
Peripheral
Peripheral
Peripheral
Peripheral
Peripheral
Peripheral
Peripheral
PowerSupply
WatchdogTimer
Data Ram256 bytes
Oscillator
Reset
Test/Vpp
INT
ProgramOtp / RomInterrupt
Controller
8-Bit CORE
SP
PCH
AccuIndex XIndex Y
CC
Data Ram
Data EEprom
PCL
Optional features : AD converter 16-bit Timer 8-bit Auto Reload Timer SPI SCI I2C EEPROM Programmable OpAmp CAN
ST7 CANST7 CAN