在嵌入式系统和芯片设计中,外设(Peripheral) 是指与处理器核心协同工作的功能模块。根据其物理位置和集成方式,可分为 芯片内部外设 和 芯片外部外设:
1. 芯片内部外设(On-Chip Peripherals)
- 定义:直接集成在微控制器/处理器芯片内部的硬件模块,通过片内总线(如 AHB、APB)与 CPU 核心连接。
- 特点:
- 高集成度:与 CPU 同属一个硅片,无需外部电路即可工作。
- 低延迟:通过片内总线通信,速度快于外部设备。
- 功耗低:无需跨芯片信号传输。
- 常见示例:
- GPIO(通用输入输出)
- UART、SPI、I2C 等通信接口
- ADC/DAC(模数/数模转换器)
- Timers/PWM(定时器/脉宽调制)
- DMA 控制器
- USB/CAN/Ethernet MAC 等复杂接口
2. 芯片外部外设(Off-Chip Peripherals)
- 定义:独立于主芯片存在的硬件模块,通过引脚接口(如 SPI、I2C、并行总线)与主控芯片连接。
- 特点:
- 灵活性:可根据需求选择不同厂商的器件。
- 扩展性:突破芯片内部资源限制(如更多传感器、存储器)。
- 更高延迟:依赖外部总线协议和物理线路。
- 常见示例:
- 外部存储器(Flash、SRAM)
- 传感器(温度、加速度计)
- 显示屏(LCD、OLED)
- Wi-Fi/蓝牙模块
- 电机驱动电路
3. 关键区别对比
特性 | 芯片内部外设 | 芯片外部外设 |
---|---|---|
物理位置 | 同一颗芯片内 | 独立 PCB 上的其他器件 |
通信方式 | 片内总线 | SPI/I2C/UART/并行总线等 |
开发复杂度 | 配置寄存器即可使用 | 需设计电路+协议驱动 |
性能瓶颈 | CPU/总线带宽限制 | 接口速率和线路质量限制 |
4. 为什么需要区分内外?
- (a) PCB设计考量:
内部外设减少板级布线复杂度,而外部外设需考虑信号完整性(如阻抗匹配)。 “`c // Example: STM32配置内部USART vs.驱动外部SPI Flash // (1) On-chip USART初始化 (直接操作寄存器) USART1->CR1 |= USART_CR1_UE; //使能USART
// (2) Off-chip SPI Flash操作 (需实现协议层) spi_send_command(0x03); //发送读取指令到外部Flash “`
(b)成本权衡:
集成更多外设会增大芯片面积和功耗,因此高性能场景常采用”主控+专用外设”的组合方案。
FAQ
Q: ARM Cortex-M系列的NVIC算不算内部外设?
A: NVIC是内核的一部分(属于Core Peripheral),严格来说不属于”外”设。Q: FPGA中的软核处理器如何归类?
A: FPGA中通过逻辑实现的UART/IP核属于片上系统(SoPC)的内部外设。
内容由零声教学AI助手提供,问题来源于学员提问