本文档详细描述了 Airspy 软件定义无线电 (SDR) 设备的 IO 引脚分布,用于 PCB 逆向工程。Airspy 基于 NXP LPC4370 微控制器,该微控制器包含 ARM Cortex-M4 和 Cortex-M0 内核。
系统架构概述
Airspy 硬件由以下主要组件组成:
- LPC4370 微控制器 - 主处理器,包含 M4 和 M0 内核
- R820T 调谐器 - 用于 RF 接收
- SI5351C 时钟发生器 - 为系统提供时钟信号
- W25Q80BV SPI 闪存 - 用于固件存储
- USB 接口 - 用于与计算机通信
- LED 和控制引脚 - 用于状态指示和控制
引脚分布详情
关键控制引脚
引脚功能 | LPC4370 引脚 | 描述 |
---|---|---|
R820T 电源控制 | P1_14 (GPIO1[7]) | 控制 R820T 调谐器的电源 |
BIAST 电源控制 | P2_13 (GPIO1[13]) | 控制天线偏置电源 |
LED1 控制 | P1_17 (GPIO0[12]) | 控制状态 LED |
I2C 接口
I2C0 - 用于 SI5351C 时钟发生器
功能 | LPC4370 引脚 | 描述 |
---|---|---|
I2C0 SDA | D6(I2C0专用引脚) | SI5351C 数据线 |
I2C0 SCL | E6(I2C0专用引脚) | SI5351C 时钟线 |
I2C1 - 用于 R820T 调谐器
功能 | LPC4370 引脚 | 描述 |
---|---|---|
I2C1 SDA | P2_3 | R820T 数据线 |
I2C1 SCL | P2_4 | R820T 时钟线 |
SPI 接口 - 用于 W25Q80BV 闪存
功能 | LPC4370 引脚 | 描述 |
---|---|---|
SSP0 MISO | P3_6 | 主机输入,从机输出 |
SSP0 MOSI | P3_7 | 主机输出,从机输入 |
SSP0 SCK | P3_3 | 时钟信号 |
SSP0 SSEL | P3_8 (GPIO5[11]) | 片选信号 |
FLASH_HOLD | P3_4 (GPIO1[14]) | 闪存保持信号 |
FLASH_WP | P3_5 (GPIO1[15]) | 闪存写保护信号 |
时钟信号
功能 | LPC4370 引脚 | 描述 |
---|---|---|
外部时钟输入 | PF_4 | 来自 SI5351C 的时钟输入 (CGU_SRC_GP_CLKIN) |
ADC 接口
LPC4370 包含高速 ADC (ADCHS),用于采样来自 R820T 调谐器的 IF 信号。具体引脚未在代码中明确指定,但 ADCHS 通过 DMA 将数据传输到内存。
SI5351C 时钟配置
SI5351C 时钟发生器配置如下:
- CLK0 -> R820T 时钟 (XTAL_I)
- CLK1 -> LPC4370 RTC 32KHz
- CLK2 -> SGPIO 时钟 (未来使用)
- CLK7 -> LPC4370 主时钟
引导配置引脚
功能 | LPC4370 引脚 | 描述 |
---|---|---|
BOOT0 | P1_1 (GPIO0[8]) | 引导配置 |
BOOT1 | P1_2 (GPIO0[9]) | 引导配置 |
BOOT2 | P2_8 (GPIO5[7]) | 引导配置 |
BOOT3 | P2_9 (GPIO1[10]) | 引导配置 |
系统工作原理
-
多核架构:
- M4 内核负责高速 ADC 采样和数据处理
- M0 内核负责 USB 通信和命令处理
-
信号路径:
- 天线信号 -> R820T 调谐器 -> IF 信号 -> LPC4370 ADCHS -> 数据处理 -> USB 传输
-
时钟系统:
- SI5351C 为 R820T 和 LPC4370 提供时钟信号
- 系统支持多种采样率配置
-
电源控制:
- 软件可控制 R820T 电源和天线偏置电源
硬件版本
代码支持两种硬件版本:
- Airspy NOS - 包含 R820T 和 SI5351C
- Airspy MINI - 仅包含 R820T
注意事项
- 部分引脚在代码中未明确指定,可能需要通过硬件检查确认
- 系统使用复杂的时钟配置,确保时钟信号正确连接
- 逆向工程时应特别注意 RF 信号路径的阻抗匹配
参考资料
本文档基于对 Airspy 固件代码的分析,包括以下关键文件:
- common/airspy_core.c
- common/airspy_core.h
- common/r820t.c
- common/si5351c.c
- airspy_m4/airspy_m4.c
- airspy_m0/airspy_m0.c
更多信息请参考 Airspy 官方文档和 GitHub 仓库:https://github.com/airspy/firmware