The clock cycle is also called the oscillation cycle: it is defined as the reciprocal of the clock pulse (the clock cycle is the reciprocal of the crystal oscillator directly used by the internal CPU , such as a 12M crystal oscillator, its clock cycle is 1/12us), and is the most basic and smallest time unit in the computer . In one clock cycle, the CPU only completes one most basic action. The clock pulse is the basic working pulse of the computer, which controls the working rhythm of the computer. The higher the clock frequency, the faster the working speed.
Machine cycle: In computers, the execution process of an instruction is often divided into several stages, and each stage completes a task. Each task is called a basic operation, and the time required to complete a basic operation is called a machine cycle. A machine cycle of the 8051 series microcontroller consists of 6 S cycles (state cycles). One S cycle = 2 clock cycles, so one machine cycle of the 8051 microcontroller = 6 state cycles = 12 clock cycles.
Instruction cycle: The time required to execute an instruction, which is basically composed of several machine cycles. Different instructions require different machine cycles.
Specialized knowledge:
In 430, one clock cycle = the inverse of the MCLK crystal oscillator. If MCLK is 8M, then one clock cycle is 1/8us;
One machine cycle = one clock cycle, that is, each action of 430 can complete a basic operation;
One instruction cycle = 1 to 6 machine cycles, depending on the specific instruction.
In addition: instruction length is just a storage unit and has no necessary relationship with time.
MSP430 can choose to use up to 3 oscillators depending on the model. We can choose the appropriate oscillation frequency according to the needs and turn off the oscillator at any time when not needed to save power. The three oscillators are:
(1) DCO digital controlled RC oscillator. It can be turned off when not in use inside the chip. The oscillation frequency of DCO will be affected by the ambient temperature and the operating voltage of the MSP430, and the frequency generated by the same model of chip is also different. However, the adjustment function of DCO can improve its performance. Its adjustment is divided into the following three steps: a: Select BCSCTL1.RSELx to determine the nominal frequency of the clock; b: Select DCOCTL.DCOx to make a rough adjustment in sections based on the nominal frequency; c: Select the value of DCOCTL.MODx for fine adjustment.
(2) LFXT1 is connected to a low-frequency oscillator. Typically, it is connected to a 32768HZ clock oscillator. In this case, the oscillator does not need to be connected to a load capacitor. It can also be connected to a 450KHZ~8MHZ standard crystal oscillator. In this case, a load capacitor is required.
(3) XT2 is connected to a standard crystal oscillator of 450KHZ~8MHZ. At this time, a load capacitor needs to be connected and can be turned off when not in use.
Low frequency oscillators are mainly used to reduce energy consumption, such as in battery-powered systems . High frequency oscillators are used to respond quickly to events or for the CPU to perform large amounts of calculations. Of course, the high-end 430 also has frequency-locked loop (FLL) and FLL+ modules, but you don't need to consider that much at the beginning.
MSP430 has three clock signals: MCLK system main clock; SMCLK system sub-clock; ACLK auxiliary clock.
(1) MCLK system main clock. In addition to the CPU operation, this clock can also be used by peripheral modules. MCLK can select the clock signal generated by any oscillator and divide it by 1, 2, 4, or 8 as its signal source.
(2) SMCLK system sub-clock. For use by peripheral modules. It can be divided by the registers of each module before use. SMCLK can select the clock signal generated by any oscillator and divide it by 1, 2, 4, or 8 as its signal source.
(3) ACLK auxiliary clock. For use by peripheral modules. It can be divided by the registers of each module before use. However, ACLK can only be divided by 1, 2, 4, or 8 by LFXT1 as a signal source.
After PUC reset, the signal sources of MCLK and SMCLK are DCODCO, and the default oscillation frequency is 800KHZ. The signal source of ACLK is LFXT1.
The MSP430 contains a crystal oscillator failure monitoring circuit to monitor the clock signals output by LFXT1 (working in high-frequency mode) and XT2. When the clock signal is lost for 50us, the monitoring circuit captures the oscillator failure. If the MCLK signal comes from LFXT1 or XT2, the MSP430 automatically switches the MCLK signal to DCO to ensure that the program continues to run. However, the MSP430 does not monitor the LFXT1 working in low-frequency mode.
In order to achieve detailed clock, you can set the registers related to the clock. In the low-end 430, there are three registers: DCOCTL, BCSCTL1 and BCSCTL2. For the high-end 430, you need to consider several registers such as SCFI0, SCFQCTL, FLL_CTL0, FLL_CTL1 and BTCTL. For detailed settings, see DataSheet.
After the microcontroller is powered on, if the clock system is not set, the default 800 kHz DCOCLK is the clock source of MCLK and SMCLK, and LFXT1 is connected to a 32768 Hz crystal and works in low-frequency mode (XTS=0) as the clock source of ACLK. The instruction cycle of the CPU is determined by MCLK, so the default instruction cycle is 1/800 kHz="1". 25μs. To get an instruction cycle of 1μs, the DCO frequency needs to be adjusted, that is, MCLK=1 MHz, and only the following settings are required: BCSCTL1=XT20FF+RSEL2;
// Turn off XT2 oscillator and set DCO frequency to 1 MHz
DCOCTL=DCO2
Previous article:Keystroke program without delay debounce
Next article:1602 LCD display program written by MSP430
Recommended ReadingLatest update time:2024-11-16 14:50
- Popular Resources
- Popular amplifiers
- Wireless Sensor Network Technology and Applications (Edited by Mou Si, Yin Hong, and Su Xing)
- Modern Electronic Technology Training Course (Edited by Yao Youfeng)
- Modern arc welding power supply and its control
- Small AC Servo Motor Control Circuit Design (by Masaru Ishijima; translated by Xue Liang and Zhu Jianjun, by Masaru Ishijima, Xue Liang, and Zhu Jianjun)
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- FIR filter design based on FPGA (source code download attached)
- The timing relationship between voltage and current lead and lag
- LSM6DSO MicroPython driver porting
- Keil C51 MCU Programming Software and Instructions Learning Tutorial (Full Version)
- 8 circuit designs that you must know about microcontrollers
- Antenna-on-Package Design Simplifies mmWave Sensing in Buildings and Factories
- Share: UC3842 switching power supply maintenance example
- Last week! TouchGFX prize-winning experience event, users who haven’t submitted their works yet, hurry up
- The use of const and code in KEIL C51
- The world's smallest gingerbread house