📄️ BSP 驱动介绍
AvaotaOS主要使用的是BSP独立仓库,可以降低BSP模块驱动代码与内核原生代码之间的耦合度,BSP模块能够更轻松地适配各种内核版本,从而方便产品进行内核升级。该独立仓库将SoC驱动代码、板级驱动代码、defconfig、SoC级dts以及ramfs等文件独立出来,统一放在一个名为bsp的独 立仓库中进行管理。
📄️ CCU - 时钟管理模块
时钟管理模块是 Linux 系统为统一管理各硬件的时钟而实现的一套管理框架,负责所有模块的时钟调节。
📄️ Crypto Engine - 算法引擎
Crypto是内核一个独立的子系统,源码在kernel/crypto下,它实现了对算法的统一管理,并提供出统一的数据处理接口给其他子系统使用;
📄️ EMAC - 以太网络
以太网是一种局域网通信技术,遵循IEEE802.3协议规范,包括10 Mbps、100 Mbps、1000 Mbps和10 Gbps等多种速率的以太网。以太网与TCP/IP协议族的物理层(L1)和数据链路层(L2)相关,其中数据链路层包括逻辑链路控制(LLC)和媒体访问控制(MAC)子层。以太网在TCP/IP协议族中的位置如下图所示:
📄️ GPIO - Pinctrl 子系统
Linux Pinctrl(引脚控制)子系统是Linux内核中用于管理和控制硬件引脚(GPIO、I2C、SPI等)的一个子系统。它允许Linux内核与底层硬件交互,配置和控制系统中的各种引脚以实现特定的功能。以下是Linux Pinctrl子系统的一些关键特性和组成部分:
📄️ HWSPINLOCK - 硬件自旋锁
HWSPINLOCK(硬件自旋锁)是一种锁机制,用于在多处理器系统中对共享资源进行保护,以防止多个处理器同时访问同一资源而导致数据不一致或竞争条件。硬件自旋锁通常由处理器提供支持,在硬件层面实现了对锁的获取和释放操作,以减少对操作系统的干预和加速锁操作的执行速度。
📄️ IR RX - 红外接收
红外遥控的发射电路是采用红外发光二极管来发出经过调制的红外光波;红外接收电路由红外接收二极管、三极管或硅光电池组成,它们将红外发射器发射的红外光转换为相应的电信号,再送后置放大器。
📄️ IR TX - 红外发射
IR-TX是一种红外发送模块,其主要功能是输出红外波形。通常情况下,它采用38KHz的载波频率。该模块能够将数据转换成一系列高低电平序列,以便发送红外信号。在发送过程中,每个有效脉冲的数据都以字节为单位被缓存到TX FIFO中。在每个字节中,最高位(bit7)表示要发送波形的极性,其中1表示高电平,0表示低电平。而低7位(bit[61]来设置。
📄️ LEDC - 发光二极管控制器
LEDC(Light Emitting Diode Controller),发光二极管控制器。支持驱动目前市场上已有成熟的智能外控 LED,例如 WS2812 系列,每个 LED 的三基色均可实现 256 级亮度显示,因此整个 LED 可完成 256ˆ3(即 16777216)种颜色的全真色彩显示。模块支持最大1024颗外控 LED级联。
📄️ MIPI CSI - 视频输入
1. 视频输入组成:
📄️ PCIe - PCI Express
PCI Express,简称PCI-E,官方简称PCIe,是计算机总线的一个重要分支,它沿用既有的PCI编程概念及信号标准,并且构建了更加高速的串行通信系统标准。目前这一标准由PCI-SIG组织制定和维护。
📄️ PWM - 脉冲宽度调制
脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法。 通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。