Welcome to the training module on STMicroelectronics Overview of ST7 8-bit Microcontrollers. This training module provides an overview of ST7 8-bit Microcontrollers and its key features.
The ST7 has a CISC architecture which has up to 60K program memory and voltage range of 2.4V to 5V. The ST7 is based on a Von Neumann architecture, that is, there is only one addressing space in which program, data and input-output peripherals are mapped.
Here summarized some features of the ST7 Microcontroller family like Architecture, Peripherals, and Scalability. The ST7 has one address bus of 16 bits and one data bus of 8 bits. The core provides 6 internal registers used to store and calculate all CPU operations and a controller block that is able to decode/execute all the program instructions
The picture shows the different families available on ST7 microcontroller: ST7Lite, ST723XX, ST7WIND, ST726XX, ST7MC and their targeted application areas like Low End, Mid-range, RF, USB, Motor driven Application.
Here gives you brief idea about the key application where ST7 family devises can go.
The ST7 family consists of more than 50 microcontroller devices, available in 16 different types of package, ranging from 16 to 128 pins, with Flash from 1KB to 60KB. Most products also have compatible ROM versions. It supports for every type of Application like: smart sensors, large/small home appliances, as well as utility metering, car body, telephones, computers, process control and alarm systems.
The above block diagram shows the Core of ST7 Microcontroller. It interfaces with the peripherals and memory through the Address/ Data Bus. The ST7 has one address bus of 16-bit and one data bus of 8-bit. It has enhanced instruction set featured Core which offer both power and flexibility to software developers, enabling the design of highly efficient and compact application code. The core is built with six internal registers and a control block which decodes and executes the instructions and the arithmetic and logic unit
The core has six internal registers, they do not have memory addresses. They can be reached only with specific instructions. The reset value of the program counter is the 2 bytes located at the address FFFE & FFFF (Reset Vector). The reset value of the I bit of the condition code register is 1.
The memory stores both the program and the data. The ST7 memory is linear. There is no pagination. So up to 64K can be addressed. RAM0 & Hardware Registers are addressed using short addressing modes, the address is coded in only one byte instead of two for the other parts of the memory. All the data located in the zero page (RAM0) have a faster access and generate less code when accessed than that located in the other locations.
The ST7 enhanced interrupt management provides Hardware interrupts, Software interrupt (TRAP) and Nested or concurrent interrupt management with flexible interrupt priority and level management. The interrupt service routine should end with the IRET instruction which causes the contents of the saved registers to be recovered from the stack.
The clock is generated from the multi-oscillator (up to 16 MHz). Then if the Clock Security System is activated (by option byte) the clock is filtered or replaced by the backup (safe) oscillator frequency (around 300 kHz). The frequency, called fosc, is then sent to a clock divider (at least by 2 in run mode) to become fcpu. fcpu is the clock sent to the core and to all the peripherals. The Clock divider is used to enter in Slow mode (Miscellaneous register 1). fcpu can be output on one pin called MCO (Main Clock Out) to drive other chips.
There are three reset sources in ST7 devices, External reset source pulse , Internal LVD reset (Low Voltage Detection), and Internal watchdog reset. The reset state is very important and has to be taken into account during the application development (hardware side). The I/Os on ST7 are in floating input state during the reset phase (default state) in almost all the devices
The purpose of the Low Voltage Detector (LVD) is to ensure that the ST7 always functions in its safe area. When VDD is below the “Min Working VDD”, the behaviour of the ST7 is no longer guaranteed. There is not enough power to decode/execute the instructions and/or read the memory. When VDD is below the LVD level the ST7 enters into reset state (internal reset High) in order to prevent unpredictable malfunctions.
The extended flash memory technology is based on EEPROM technology. It provides extended features such as byte per byte re-programming and data EEPROM capability. These devices are available between 1k and 16kbytes of memory size. The high density flash memory is based on flash technology. The high density of the HDFlash cell is used for devices with 4k up to 60kbytes flash memory. This memory is programmed byte per byte but erased by sector
The EEPROM memory matrix is made of 8 rows. Each row is made of 32 bytes. The cell is built around a 32 byte latch, where the bytes are copied using the 5 LSb of their address. Then the row is selected using the 11 MSb of the last write access to the latch and the previous written byte are loaded from the latch to the EEPROM memory matrix. An Interrupt can be generated at the end of the programming cycle depending on the value of the E2ITE bit of the control register. The two bits E2LAT and E2PGM set the operation of the EEPROM cell
There are 2 ways of programming the device, ICP (In-Circuit Programming) and IAP (In-Application Programming). T he implementation of IAP depends on the user application software. The data to be programmed into the XFlash memory is read from an external controller using a communication method called “user protocol”. This user protocol can be an SPI, SCI, CAN or USB interface.
Here explains about In-Circuit Communication (ICC) protocol. Testing or debugging tools can be written using the ICC protocol. The In-Circuit Communication (ICC) protocol is used by the ST7 microcontroller to communicate with an external controller. It is a half-duplex synchronous serial communication protocol using the two lines ICCCLK and ICCDATA. ICC enables an ST7 microcontroller to communicate with an External Controller (e.g. PC with ICC interface board) with only 4 wires including VSS. This protocol is used to download a program into the RAM for execution.
The diagram illustrates all I/O ports of the ST7 processors. The core, the memory, the power supply, reset and watchdog blocks are all present in ST7 devices as well. There is at least one timer and are I/O ports for input or output electrical signals on all ST7 devices. The ST7 family offers a very flexible feature on its parallel I/O where each bit can be independently configured as either an input with two options (with or without pull-up resistor), or an output with also two options (open-drain or push-pull).
There are 8-bit and 10-bit resolution Analog-to-digital converters in the ST7 family. The input range is positive; negative voltages are not converted. The ADC is fed with the core clock frequency. the analog multiplexer is driven by the bits [CH3:CH0] of the A/D control and status registers. This selects which analog input has to be converted. The analog signal is sent to the sample and hold and A/D converter where the value is converted. At the end of the conversion the EOC bit is set and the result is placed in the data registers as it is a 10-bit A/D converter here. No interrupt can be generated due to the speed of the conversion. The conversion time for a typical ST7 8-bit A/D, running at frequency of 4MHz is 3us and for 10-bit it is: 7.25us.
This slide shows 16 bit timer which has below features: There is a prescalar block and the bits CCO and CC1 configure the frequency of the timer. There is a free running counter register for the 16-bit counter. There are timer overflow status flags and maskable interrupts asscociated with the input capture and output compare modes. There are two Output Compare functions each with two 16-bit registers, two status flags and one maskable interrupt. There are two input capture functions with two 16-bit registers, active edge selection signals, status flags and one dedicated maskable interrupt. There is one status register and two control registers.
The SPI is built around a 8-bit shift register with both ends of the shift register brought out to MCU pins. One end of the shift register is connected to the master-in slave-out pin, MISO. This pin acts as an input for the master SPI Module and as an output for the slave SPI Module. The other end of the shift register is connected to MOSI pin. The CPU begins a serial SPI transfer by writing a byte of data to the master’s SPI transmit data register. All 8-bits of data will be automatically transferred serially out the master’s MOSI pin synchronized to the master’s SCK clock output. For each bit shifted out of the master’s MOSI pin, a bit is shifted in through the master’s MISO pin allowing full duplex communication. The control on SPI is done using SPIDR, SPISR, SPICR, SPIE, SPE, SSM SSI bits.
The SCI is connected through 2 I/O pins: TDO (Transmit Data Output) and RDI (Receive Data Input). The data register is made of 2 transmit registers (one buffer and one shift register). To start a transmission the user writes in the data register. The first time the shift register is empty and so, the byte goes directly into it and the transmission starts. A flag indicates that the buffer is free and so the 2nd byte of the frame will be placed in the buffer. When the transmission of the 1ST byte is ended, the 2nd one goes directly in the transmit register and the transmission of the 2nd byte starts .
The SDA line is connected to the data control (checking the arbitration) and the 8 bit shift register of the data register. There are 2 own address registers: after a start condition the first received data is compared to the value of the OAR registers.
Here gives you an overview of Basic USB interfaces. Bus transition can be done using Full speed, Low Speed, High Speed and Synchronous and Asynchronous mode. USB can have up to 127 Devices connected to network.
It shows basically how USB Host and USB Device is going to communicate each other. This page gives you the ST7 devices that supports for USB devices. The ST7263B series is a low speed USB mode, and the ST7SCR has high speed USB features.
Here explains about the Basic operation of CAN controller. ST7 microcontroller uses exclusively Basic CAN. Full CAN is dedicated to more sophisticated microcontrollers like ST9 or ST10.
This slide shows the block diagram of the ST7 CAN controller which has Tx/Rx Buffers of 10 Bytes each. It supports the CAN 2.0B specification up to 1MBits/s. ST7 controllers that embed CAN are - ST72T511, ST72T589, ST72T55 - ST72F521.
Thank you for taking the time to view this presentation on Overview of ST7 8-bit Microcontrollers. If you would like to learn more or go on to purchase some of these devices, you may either click on the part list link, or simple call our sales hotline. For more technical information you may either visit the STMicroelectronics site – link shown – or if you would prefer to speak to someone live, please call our hotline number, or even use our ‘live chat’ online facility.