硬件
原文来源:【https://hackrf.readthedocs.io/en/latest/index.html】机器翻译加人工修改,不正之处,请指正!
硬件修订列表
HackRF 一个 r1–r4
Great Scott Gadgets 从 2014 年开始发布的 HackRF One 的第一个修订版被标记为 r1。随后的制造运行将修订号增加到 r4,而没有修改硬件设计。制造年份:2014-2020
HackRF One r5
该实验性修订版尚未生产。
HackRF One r6
SKY13350 射频开关被 SKY13453 取代。虽然 SKY13453 使用简化的控制逻辑,但不需要修改固件。添加了硬件修订检测引脚绑定。制造年份:2020
HackRF One r7
SKY13453 射频开关恢复为 SKY13350。USB VBUS 检测电阻值已更新。制造年份:2021
HackRF One r8
SKY13350 射频开关被 SKY13453 取代。制造年份:2021-2022
HackRF One r9
MAX2837 被 MAX2839 取代。Si5351C 被具有额外时钟分配的 Si5351A 取代。在天线端口电源中添加了一个串联二极管。制造年份:2023
硬件修订标识
由 Great Scott Gadgets 制造的 HackRF Ones 在靠近 MAX5864 (U18) 的 PCB 顶部丝印层上印有修订号。
从 HackRF One r6 开始,硬件修订由固件检测并由hackrf_info
.
硬件器件
HackRF One 中使用的主要部件:
- MAX2837 2.3 至 2.7 GHz 收发器
- MAX2839 2.3 至 2.7 GHz 收发器
- 数据表
- 替代MAX2837。
- MAX5864 ADC/DAC
- Si5351 时钟发生器
- AN619:手动生成 Si5351 寄存器映射
- 数据表– 有关完整的寄存器映射,请参阅 AN619。
- 其他文档– 包括应用说明、用户指南和白皮书。
- CoolRunner-II CPLD
- LPC43xx ARM Cortex-M4 微控制器
- RFFC5072 混频器/合成器
- W25Q80BV 8M位闪存
框图
HackRF One r1-r8框图
HackRF One r9 框图
外壳选项
来自 Great Scott Gadgets 的商业版 HackRF One 附带一个注塑成型的塑料外壳,但它设计用于安装两个可选的外壳:
- Hammond 1455J1201:HackRF One 适用于 Hammond Manufacturing 的这种挤压铝制外壳和其他类似型号。为了使用外壳的端板,您必须对其进行钻孔。端板模板可以在 HackRF One KiCad 布局中找到。
- 亚克力三明治:您还可以将激光切割亚克力外壳与 HackRF One 结合使用。这是访问扩展标头的一个很好的选择。可以在 HackRF One 硬件目录中找到设计。使用任何激光切割服务或从经销商处购买。
HackRF One 的按钮
RESET 按钮重置微控制器。这是一个应该导致 USB 重新枚举的重启。
DFU 按钮调用位于微控制器 ROM 中的 USB DFU 引导加载程序。由于 ROM 无法被覆盖,此引导加载程序可以解开固件损坏的 HackRF One。
要调用 DFU 模式:按住 DFU 按钮。在按住 DFU 按钮的同时,通过按下并释放 RESET 按钮或打开 HackRF One 来重置 HackRF One。释放 DFU 按钮。
DFU 按钮仅在复位期间调用引导加载程序。这意味着它可以通过自定义固件用于其他功能。
外部时钟接口(CLKIN 和 CLKOUT)
HackRF One 在 CLKOUT 上产生一个 10 MHz 的时钟信号。该信号是用于高阻抗负载的 3.3 V、10 MHz 方波。
HackRF One 上的 CLKIN 端口是高阻抗输入,期望 10 MHz 的 3.3 V 方波。此输入上的电压不要超过 3.3 V 或低于 0 V。不要以 10 MHz 以外的频率连接时钟信号(除非您修改固件以支持此功能)。您可以直接将一个 HackRF One 的 CLKOUT 端口连接到另一个 HackRF One 的 CLKIN 端口。
当在 CLKIN 上检测到时钟信号时,HackRF One 使用 CLKIN 而不是内部晶振。与 CLKIN 之间的切换仅在发送或接收操作开始时发生。
要验证是否已在 CLKIN 上检测到信号,请使用。检测到时钟的预期输出是CLKIN status: clock signal detected。没有检测到时钟的预期输出是CLKIN 状态:没有检测到时钟信号。hackrf_clock -i
要激活 CLKOUT,请使用。要关闭它,请使用。hackrf_clock -o 1hackrf_clock -o 0
扩展接口
HackRF One 扩展接口由排针 P9、P20、P22 和 P28 组成。这四个标头安装在 Great Scott Gadgets 的商业 HackRF One 上。
P9基带
高速双路 ADC 和双路 DAC 的直接模拟接口。
Pin | Function |
---|---|
1 | GND |
2 | GND |
3 | GND |
4 | RXBBQ- |
5 | RXBBI- |
6 | RXBBQ+ |
7 | RXBBI+ |
8 | GND |
9 | GND |
10 | TXBBI- |
11 | TXBBQ+ |
12 | TXBBI+ |
13 | TXBBQ- |
14 | GND |
15 | GND |
16 | GND |
P20 GPIO
提供对 GPIO、ADC、RTC 和电源的访问。
Pin | Function |
---|---|
1 | VBAT |
2 | RTC_ALARM |
3 | VCC |
4 | WAKEUP |
5 | GPIO3_8 |
6 | GPIO3_0 |
7 | GPIO3_10 |
8 | GPIO3_11 |
9 | GPIO3_12 |
10 | GPIO3_13 |
11 | GPIO3_14 |
12 | GPIO3_15 |
13 | GND |
14 | ADC0_6 |
15 | GND |
16 | ADC0_2 |
17 | VBUSCTRL |
18 | ADC0_5 |
19 | GND |
20 | ADC0_0 |
21 | VBUS |
22 | VIN |
P22 I2S
I2S、SPI、I2C、UART、GPIO 和时钟。
Pin | Function |
---|---|
1 | CLKOUT |
2 | CLKIN |
3 | RESET |
4 | GND |
5 | I2C1_SCL |
6 | I2C1_SDA |
7 | SPIFI_MISO |
8 | SPIFI_SCK |
9 | SPIFI_MOSI |
10 | GND |
11 | VCC |
12 | I2S0_RX_SCK |
13 | I2S_RX_SDA |
14 | I2S0_RX_MCLK |
15 | I2S0_RX_WS |
16 | I2S0_TX_SCK |
17 | I2S0_TX_MCLK |
18 | GND |
19 | U0_RXD |
20 | U0_TXD |
21 | P2_9 |
22 | P2_13 |
23 | P2_8 |
24 | SDA |
25 | CLK6 |
26 | SCL |
P28 SD
SDIO、GPIO、时钟和 CPLD。
Pin | Function |
---|---|
1 | VCC |
2 | GND |
3 | SD_CD |
4 | SD_DAT3 |
5 | SD_DAT2 |
6 | SD_DAT1 |
7 | SD_DAT0 |
8 | SD_VOLT0 |
9 | SD_CMD |
10 | SD_POW |
11 | SD_CLK |
12 | GND |
13 | GCK2 |
14 | GCK1 |
15 | B1AUX14 (trigger output) |
16 | B1AUX13 (trigger input) |
17 | CPLD_TCK |
18 | BANK2F3M2 |
19 | CPLD_TDI |
20 | BANK2F3M6 |
21 | BANK2F3M12 |
22 | BANK2F3M4 |
其他未填充的接头和测试点可用于测试和开发,但它们可能与某些外壳或扩展选项不兼容。
有关详细信息,请参阅原理图和器件文档。
硬件触发
通过使用排针 P28 上的触发输入和输出,HackRF One 的发送和接收操作可以与另一个 HackRF One 或其他外部设备同步。触发提供误差小于一个采样周期的时间同步。
时钟同步
当从另一个触发一个 HackRF One 时,通常需要首先确保两个设备共享一个公共频率参考。这具有将 HackRF 彼此接地的额外好处,从而消除了触发所需的一根电线。有关说明,请参见外部时钟接口。
无论哪一个提供触发输出,HackRF One 都可以作为另一个的时钟源。
要求
要连接两个 HackRF Ones 以进行触发,您需要:
- 用于 0.1” 排针的公对公跳线
- 用于时钟同步的 SMA 电缆或第二根跳线
打开你的 HackRF One
HackRF One 外壳有小塑料夹将其固定在一起。这些在打开外壳时可能会损坏,但通常情况下外壳在此类损坏后仍可使用。请按照Jared Boone的视频中的说明进行操作。
打开两个 HackRF One 的外壳以访问它们的排针。
识别触发针
HackRF One 有四个正常填充的排针,其中三个排列成“C”形。在电路板上,这些标记为 P28、P22 和 P20。P28 是离电路板中心最近的接头。在接头 P28 上找到引脚 15(触发输出)和 16(触发输入)。
将触发输出连接到触发输入
首先确保两个设备共用一个公共接地点。这可以通过将一个人的 CLKIN 连接到另一个人的 CLKOUT 来实现,如上文所建议的那样。或者,将跳线从一个 HackRF One 上的 P28 引脚 2 连接到另一个 HackRF One 上的 P28 引脚 2。
接下来使用跳线将一个 HackRF One 上的 P28 引脚 15(触发输出)连接到另一个 HackRF One 上的 P28 引脚 16(触发输入)。
用法
用于hackrf_info
发现两个 HackRF One 的序列号。使用要触发的 HackRF One 的序列号,用于设置触发操作。例如:hackrf_transfer -H
hackrf_transfer -H -d <serial number> -a 0 -l 32 -g 32 -r rx1.cs8
该命令将打印“Waiting for trigger…”,直到在设备的触发输入端检测到触发信号。
在另一个终端中,使用触发 HackRF One 的序列号来发起操作,与触发操作同时发生。例如:
hackrf_transfer -d <serial number> -a 0 -l 32 -g 32 -r rx2.cs8
请注意,激活触发器输出不需要特殊参数。
两个hackrf_transfer
命令将同时开始对 RF 信号进行采样,精确到小于一个采样周期。
附加设备
多个 HackRF One 可能由单个 HackRF One 触发。确保所有设备共享一个公共接地,然后将一个设备的触发输出连接到其他设备的触发输入(例如,通过面包板连接跳线)。
HackRF One 以外的设备可以连接到 HackRF One 的触发器输入或输出。触发信号是在上升沿触发的 3.3 V 脉冲。
参考
HackRF 的触发机制由Synchronization of Low-Cost Open Source SDRs for Navigation Applications的作者贡献,其中提供了有关实现和背景的详细信息。
射频屏蔽安装说明
官方 Great Scott Gadgets HackRF Ones 出厂时并未在 PCB 的无线电部分周围安装射频屏蔽。然而,它们确实有垫子,因此如果用户有理由和意愿,可以安装一个。它们没有预装的原因是早期测试显示 RF 屏蔽对提高 HackRF One 的性能几乎没有作用。推荐的 RF 屏蔽是 BMI-S-230-FR(框架)和 BMI-S-230-C(屏蔽)。建议使用两部分射频屏蔽,因为可以移除屏蔽部分以允许访问 HackRF One 的射频部分。如果有必要探测 RF 部分的任何部分或更换 RF 部分的任何部分,这可能很重要。然而,即使有两部分射频屏蔽,在某些情况下可能很难访问 HackRF One 的射频部分。以下步骤是在 HackRF One 上安装 RF 屏蔽的一组基本说明。
注意:将 RF 屏蔽焊接到 HackRF One 上会带来一定的风险。除了焊接本身的固有风险外,此过程可能会损坏 HackRF One,并且没有保修可用于涵盖此过程造成的损坏。如果您确实选择在 HackRF One 上安装 RF 屏蔽,请谨慎行事。
- 从注塑塑料外壳中取出 HackRF One。
请注意:打开 HackRF One 的塑料外壳很可能会破坏将它固定在一起的标签。
可以在此处找到从外壳中取出 HackRF One 的说明。
- 通过在 PCB 上无线电部分周围的射频屏蔽垫上添加助焊剂,准备 HackRF One PCB 以焊接在屏蔽框架上。
- 将 RF 屏蔽框放在 HackRF One 上,将其对齐,使其与电路板 RF 部分周围的所有焊盘接触。
- 将屏蔽焊接到一个焊盘以将其固定到 H1。目视检查框架以确保它仍然正确对齐。


- 将框架连接到与第一个连接相反一侧的另一个焊盘。再次检查框架是否仍然正确对齐。


- 至少再连接一个焊盘,然后从框架上拆下取放桥。移除取放桥是可选的,但建议这样做。
- 继续将其余焊盘焊接到框架上。
- 使用适合所用助焊剂类型的溶剂清洁助焊剂和焊接残留物。在插入电源之前,请确保让 HackRF One 完全干燥。
- 将 RF 屏蔽罩放在框架上并将其卡入到位。
- 如果需要,将 HackRF One 放回塑料盒中,如果它仍然能够一起点击。