硬件

原文来源:【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 中使用的主要部件:

框图

HackRF One r1-r8框图

block-diagram

HackRF One r9 框图

block-diagram-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 的直接模拟接口。

PinFunction
1GND
2GND
3GND
4RXBBQ-
5RXBBI-
6RXBBQ+
7RXBBI+
8GND
9GND
10TXBBI-
11TXBBQ+
12TXBBI+
13TXBBQ-
14GND
15GND
16GND

P20 GPIO

提供对 GPIO、ADC、RTC 和电源的访问。

PinFunction
1VBAT
2RTC_ALARM
3VCC
4WAKEUP
5GPIO3_8
6GPIO3_0
7GPIO3_10
8GPIO3_11
9GPIO3_12
10GPIO3_13
11GPIO3_14
12GPIO3_15
13GND
14ADC0_6
15GND
16ADC0_2
17VBUSCTRL
18ADC0_5
19GND
20ADC0_0
21VBUS
22VIN

P22 I2S

I2S、SPI、I2C、UART、GPIO 和时钟。

PinFunction
1CLKOUT
2CLKIN
3RESET
4GND
5I2C1_SCL
6I2C1_SDA
7SPIFI_MISO
8SPIFI_SCK
9SPIFI_MOSI
10GND
11VCC
12I2S0_RX_SCK
13I2S_RX_SDA
14I2S0_RX_MCLK
15I2S0_RX_WS
16I2S0_TX_SCK
17I2S0_TX_MCLK
18GND
19U0_RXD
20U0_TXD
21P2_9
22P2_13
23P2_8
24SDA
25CLK6
26SCL

P28 SD

SDIO、GPIO、时钟和 CPLD。

PinFunction
1VCC
2GND
3SD_CD
4SD_DAT3
5SD_DAT2
6SD_DAT1
7SD_DAT0
8SD_VOLT0
9SD_CMD
10SD_POW
11SD_CLK
12GND
13GCK2
14GCK1
15B1AUX14 (trigger output)
16B1AUX13 (trigger input)
17CPLD_TCK
18BANK2F3M2
19CPLD_TDI
20BANK2F3M6
21BANK2F3M12
22BANK2F3M4

其他未填充的接头和测试点可用于测试和开发,但它们可能与某些外壳或扩展选项不兼容。

有关详细信息,请参阅原理图和器件文档。

硬件触发

通过使用排针 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(触发输入)。trigger-pins

将触发输出连接到触发输入

首先确保两个设备共用一个公共接地点。这可以通过将一个人的 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 屏蔽,请谨慎行事。

  1. 从注塑塑料外壳中取出 HackRF One。

请注意:打开 HackRF One 的塑料外壳很可能会破坏将它固定在一起的标签。

可以在此处找到从外壳中取出 HackRF One 的说明。

  1. 通过在 PCB 上无线电部分周围的射频屏蔽垫上添加助焊剂,准备 HackRF One PCB 以焊接在屏蔽框架上。

rf_shield_1

  1. 将 RF 屏蔽框放在 HackRF One 上,将其对齐,使其与电路板 RF 部分周围的所有焊盘接触。

rf_shield_2

  1. 将屏蔽焊接到一个焊盘以将其固定到 H1。目视检查框架以确保它仍然正确对齐。
rf_shield_3
rf_shield_4
  1. 将框架连接到与第一个连接相反一侧的另一个焊盘。再次检查框架是否仍然正确对齐。
rf_shield_5
rf_shield_6
  1. 至少再连接一个焊盘,然后从框架上拆下取放桥。移除取放桥是可选的,但建议这样做。

rf_shield_7

  1. 继续将其余焊盘焊接到框架上。

rf_shield_8

  1. 使用适合所用助焊剂类型的溶剂清洁助焊剂和焊接残留物。在插入电源之前,请确保让 HackRF One 完全干燥。
  2. 将 RF 屏蔽罩放在框架上并将其卡入到位。

rf_shield_9

  1. 如果需要,将 HackRF One 放回塑料盒中,如果它仍然能够一起点击。

发表回复 0

Your email address will not be published. Required fields are marked *