Microprocessors and Microcontrollers

There is no strict boundary between microprocessors and microcontrollers because certain chips can access external code and/or data memory (microprocessor mode) and are equipped with particular peripheral components. Some microcontrollers have an internal RC oscillator and do not need an external component. However, an external quartz or ceramic resonator or RC network is often connected to the built-in active element of the clock generator. The clock frequency ranges from 32 kHz (extra low power) to 75 MHz. Another auxiliary circuit generates the reset signal for an appropriate period after a supply is turned on. The watchdog circuitry generates a chip reset when a periodic wake-up signal does not arrive in time due to a program problem.

There are various power reduction modes activated by program instructions. The complexity and structure of the interrupt system (total number of sources and their priority level selection), setting of level/edge sensitivity of external sources and events on internal (i.e., peripheral) sources, and handling of Simultaneous interrupt events appear as some of the most important aspects. most important criteria of the microcontroller taxonomy. Although 16-bit and 32-bit microcontrollers are used in special and demanding applications (servo drive control), most applications use 8-bit chips. Some microcontrollers can internally operate on 16-bit or even 32-bit data only in the fixed-point range; microcontrollers do not have a floating point unit (FPU). Newer families of microcontrollers are based on RISC (Reduced Instruction Set) core execution due to pipeline an instruction for few clock cycles or even every cycle. Further differences can be found in the addressing modes, the number of directly accessible registers, and the type of code memory (ranging from 1 to 128 KB) that are important from a firmware development point of view. Flash memory allows for fast and consistent In-System Programming (ISP) using 3-5 wires, while classic EPROM makes chips more expensive due to windowed ceramic packaging. Some microcontrollers have built-in boot and debugging capability to upload code from a PC to flash memory using UART (Universal Asynchronous Receiver/Transmitter) and the RS-232C serial line. EPROMs or OTP ROMs (one time programmable) seem effective for large production runs. Data EEPROM (64B to 4KB) for calibration constants, parameter tables, state storage and passwords that can be written via firmware support next to standard SRAM (32B to 4KB).

The range of peripheral components is very wide. Each chip has associated bi-directional I/O (input/output) pins on 8-bit ports, but they often have an alternate function. Certain chips can set an input decision level (TTL, MOS, or Schmitt trigger) and pull-up or pull-down current sources. Output drivers range in open collector or tri-state circuit and maximum currents. At least one 8-bit timer/counter (usually provided with a prescaler) counts any of the external events.

(optional pulses from an incremental position sensor) or internal clocks, to measure time intervals, and periodically generates an interrupt or variable baud rate for serial communication. General-purpose 16-bit counters and appropriate registers form capture units to store the timing of input transients or compare units that generate output transients as a stepper motor drive state or PWM signal. pulse width). A real-time counter (RTC) represents a special type of counter that runs even in sleep mode. One or two asynchronous and optionally synchronous (UART/USART) serial interfaces communicate with a master computer while other serial interfaces such as SPI, CAN, and I2C control other specific chips used in the device or system. Almost every microcontroller family has members that feature an A/D converter and a single-ended input multiplexer. The input range is usually unipolar and equal to the supply voltage or rarely the reference voltage on the chip. The conversion time is given by ADC’s successive approximation principle, and the effective number of bits (ENOB) typically does not reach the nominal resolution of 8, 10, or 12 bits.

There are other special interface circuits, such as the Field Programmable Gate Array (FPGA), that can be configured as an arbitrary digital circuit. Microcontroller firmware is typically programmed in an assembly language or C language. Many software tools, including chip simulators, are freely available from chip makers’ or third-party websites. A professional integrated development environment and debugging hardware (in-circuit emulator) is more expensive (thousands of dollars). However, clever use of an inexpensive ROM simulator on a microprocessor system or a step-by-step development cycle using a flash microcontroller ISP programmer can develop quite complex applications.

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *