I/O devices are also called input and output devices.
As shown in the figure above, the I/O bus includes the data bus, control bus, and address bus;
Each I/O device is connected to the I/O bus to transmit data with the PC. Therefore, the concept of I/O interface was derived, and gradually a technology "I/O interface technology" was generated.
The I/O interface circuit is located between the CPU and the peripherals (complex peripherals require a device controller). The peripherals transmit information to the microprocessor for processing through the I/O interface, and the microprocessor transmits the processed information to the peripherals through the I/O interface.
A typical I/O interface should include: port, address decoding, bus driver, and control logic.
I/O ports are registers that the CPU can directly access, including status registers, data registers, and control registers.
Address decoding is the process of decoding the address of the I/O bus to select the I/O port.
The bus driver is a "three-state gate" between the I/O port and the I/O bus, which realizes the "floating" and "connection" between the CPU and the I/O interface.
The control logic receives information from the control port and controls the operation of the interface.
(The above black text belongs to the textbook definition, which may be different from understanding the Linux kernel. It is for reference only)
The I/O bus is connected to the I/O port and register group through the bus driver (three-state), interprets the signal through the I/O interface, sends it to the device controller for further interpretation, converts it into appropriate electrical signals, and controls the corresponding operation of the peripheral.
The reverse operation works in the same way.
I/O interface is divided into dedicated interface and general interface.
Dedicated I/O interface: dedicated to a specific hardware device. For example: graphics interface, network interface (packaged with the controller in the network card, which can receive and send network messages).
A universal I/O interface used to connect multiple different hardware devices, such as parallel port (printer), serial port (UART), SCSI port, and universal serial bus (USB).
Complex devices may require a device controller to drive them. The two important functions of the controller refer to the text in understanding the Linux kernel.
Simpler devices, such as interrupt controllers and timers, do not require secondary parsing and level conversion of high-level instructions of the I/O interface, so they do not require a device controller.
I/O devices are generally divided into character devices and block devices.
Previous article:MCU serial port setting problem
Next article:Some understanding of the microcontroller industry
- Popular Resources
- Popular amplifiers
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- LED chemical incompatibility test to see which chemicals LEDs can be used with
- Application of ARM9 hardware coprocessor on WinCE embedded motherboard
- What are the key points for selecting rotor flowmeter?
- LM317 high power charger circuit
- A brief analysis of Embest's application and development of embedded medical devices
- Single-phase RC protection circuit
- stm32 PVD programmable voltage monitor
- Introduction and measurement of edge trigger and level trigger of 51 single chip microcomputer
- Improved design of Linux system software shell protection technology
- What to do if the ABB robot protection device stops
- Industry first! Xiaopeng announces P7 car chip crowdfunding is completed: upgraded to Snapdragon 8295, fluency doubled
- P22-009_Butterfly E3106 Cord Board Solution
- Keysight Technologies Helps Samsung Electronics Successfully Validate FiRa® 2.0 Safe Distance Measurement Test Case
- Innovation is not limited to Meizhi, Welling will appear at the 2024 China Home Appliance Technology Conference
- Innovation is not limited to Meizhi, Welling will appear at the 2024 China Home Appliance Technology Conference
- Huawei's Strategic Department Director Gai Gang: The cumulative installed base of open source Euler operating system exceeds 10 million sets
- Download from the Internet--ARM Getting Started Notes
- Learn ARM development(22)
- Learn ARM development(21)
- Learn ARM development(20)
- The physical meaning of FFT results
- MSP430 - Timer_A timer interrupt program
- Buck switching power supply MOS tube gate has pwm signal, but cannot conduct normally
- Motor Driver
- Sharing on the serious problem of LM2611 output voltage heating
- How much do you know about the "ADI Inside" behind these popular healthcare products?
- About ARM's interrupt service routine
- P-NUCLEO-WB55
- 4.3-inch split-screen display
- Recommend a 24-bit ADC module (not a chip), preferably with the same pin definition as the attachment, 12 pins, SPI interface...