文号
t78130
阅读
97720
回复
23
收藏
26
DIY了一台HACKRF ONE,分享一下
2015/12/04
IP:黑龙江
几年前对SDR产生了兴趣,无奈当时USRP平台太贵(现在仍然不便宜),只能望洋兴叹了。后来又发现了RTL棒子,玩过一段时间,觉得灵敏度太低又只能接收,也被扔到了角落里。前几个月心血来潮,又开始琢磨USRP的B200(现在还有了mini版的),淘宝上一看,要近7000,而官网只要675刀,就想海淘或找朋友从美帝弄一套,可是短期不能到手,心里痒啊,一顿研究,决定先花个千八百块,做一台hackrf one玩玩。
hackrf one全开源的,软件、硬件包括pcb文件都能找到,但算了一下,自己找厂家做板子太不划算了,元器件呢,把bom传到digikey上,发现只能搞定三分之二,其余的还要自己淘。最后在万能的淘宝上一顿找,发现有人卖PCB和全套的散件,pcb只要50,散件850,比自己买不贵多少,比成品,不管是山寨的还是原版的(1600-2500)便宜多了,果断下单,同时还买了一套ham it up的上变频器的散件。
东西到了,其它都好,就是pcb没有像描述里写的是沉金的,无所谓了,马上开工。
原件都是贴片的,阻容元件都是0402的,芯片有QFN和LQFP的,还是需要点焊接功底的。工具呢,主要是一把恒温烙铁和一台风枪,QFN好像有人用烙铁焊过,不过我是用风枪,陆续几天总共干了6、7个小时,终于完工了,下面就是完工的样子,屏蔽罩还没焊,等调试完了再焊。焊接过程中千万注意,撕纸带的时候千万不要把原件弹丢了,这个原件包最后就多了两颗电容。

image2.jpg
调试还是费了不少时间,首先要刷上固件,以后还要自己编译固件和GNURADIO,建议在Ubuntu 14.04 LTS 64位上建立开发
环境,我用这个版本还是比较顺利的,其它版本要不是更新源没了,要么是依赖包的安装不太顺利,可以参考XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
和XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX,里面介绍的编译安装的hackrf只是主机端的刷机工具hackrf-tools,diy的hackrf one里面还没有固件,插到电脑上还识别不出来,不能刷,步骤如下:
1、首先下载安装dfu-tools,我用的是0.7版的,官方文档上git clone git://XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

是0.8的,好像不行,dfu-util的选项参数变了
tar zxvf dfu-util-0.7.tar.gz
cd dfu-util-0.7
sudo ./XXXXXXXXXX
sudo ./configure
sudo make
sudo make install
这时usb口上插上hackrf one,同时按住reset键和dfu键,然后先放开reset键,再放开dfu键,这是板子的tx、usb、rf三
个LED会亮,CPU进入DFU启动模式,然后执行:
dfu-util -l
如果看到一个[1fc9:000c]的设备就是正常,否则去检查硬件吧,电源、reset和dfu开关、usb口相关的电路正常不
2、如果你自己想编译安装,交叉编译环境要建立起来,要安装gcc-arm-none-eabi,可以参考上面那两片文章,git下源码。
cd firmware/hackrf_usb
mkdir build
cd build
sudo cmake .. -DBOARD=HACKRF_ONE
sudo make
这时就会生成两个文件hackrf_usb.bin和hackrf_usb.dfu
然后执行:
sudo make hackrf_usb-program
这时rf、1.8V、USB三个LED会亮起,执行hackrf_info会看到hackrf one,这时系统检测到了hackrf one,可以刷机了
刷flash:
hackrf_spiflash -w hackrf_usb.bin
刷cpld,这个要到firmware/cpld/sgpio_if里
hackrf_cpldjtag -x default.xsvf
然后按reset就行了





如果你不想麻烦,可以下载带预先编译好固件的源码包,可以看一下包里应该有个firmware-bin的目录
现在开始刷固件:
首先还是先进入DFU模式,然后通过dfu启动一个类似于桥的程序,程序可以通过usb口与主机通信
dfu-util --device 1fc9:000c --alt 0 --download hackrf_one_usb_ram.dfu
这时rf、1.8V、USB三个LED会亮起,执行hackrf_info会看到hackrf one,这时系统检测到了hackrf one,可以刷机了
刷flash:
hackrf_spiflash -w hackrf_one_usb_rom_to_ram.bin
刷cpld:
hackrf_cpldjtag -x firmware/cpld/sgpio_if/default.xsvf
都显示成功就刷完固件,可以reset了



WINDOWS下也可以刷的,不过DFU模式时,windows要装驱动,可以到NXP的官网下载lpc-link2,如果是XP系统要下老版本的。板子从DFU启动后,系统发现hackrf one,这时要用zadig安装hackrf的驱动,然后再刷flash和cpld,刷机时用的dfu-util和hackrf_tools可以到网上找windows版的。


接下来就是测试了,软件很多了,linux下的gqrx,windows下的sdr#、SDR Console、Winrad,听听FM,如果有问题,就有麻烦了。
image5.jpg
硬件主要问题还是虚焊,那片变频和收发器都是QFN的,都出现了问题重焊了,其它的还发现那两片14db的射频放大器焊反
了,焊接时搜到的手册上没有外形图,字又认不太出来正反,后来调试时又搜到其他的手册上有外形图的,才纠正过来,建议大家焊之前,都查下手册,调试中手里这台KC901S还是帮了不少忙,最后最好在30M-2.3G-2.7G-6G三个区间做收发测试,没有问题才算正常。
image1.jpg

下面是和ham it up的合影
image6.jpg
下面是GNURADIO的一点入门的东西,既然hackrf one可以发射,就先做个FM发射吧,单声道的没什么东西,学不到什么,做个立体声的,顺便可以测试一下hackrf one,找可以发射的sdr软件还真不好找,就找到了一个foobar2000的发射插件,结果还出错不能用:
FMStereoTx.grc.png FMStereoTx.png

原来手里的RTL棒子正好做接收
无标题.jpg
电脑产生的信号频率严重不准,导频信号设置的19.45K才行
再做两个FM立体声接收机
FMStereoRx.grc.png FMStereoRx.png
下面这个是用锁相环提取导频来解调L-R信号的,hackrf的中心频率采用偏离接收频率的方式,感觉信号噪声小不少

FMStereoRx_1.grc.png FMStereoRx_1.png


立体声信号识别采用锁相环锁定导频信号的方式,研究了很久,不知稳定不,下面是GRC文件,3.7版本下的

attachment icon FMStereoGRC.rar 9.59KB RAR 302次下载
11年0个月前IP:广东
799579
1楼
做得不错,底噪大吗?本来我也想搞一个来玩玩的,但是买套件又懒得焊,买整机又嫌贵,还是等朋友出国时帮忙带个b200算了
引用
评论
1
11年0个月前IP:四川
799583
2楼
这种复杂套件能焊出来已经很牛逼了,多数人望板兴叹~
HackRF的ADC应该是8位的,我一直没想通这么少的位数是怎么达到基本能用的效果的,是不是采取了特殊的技巧。
引用
评论
1
11年0个月前IP:广东
799587
3楼
HackRF的天线如何,我看到网上好多都是不带天线的
引用
评论
11年0个月前IP:广东
799622
5楼
非常牛b
引用
评论
11年0个月前IP:黑龙江
799636
6楼
高手啊!
引用
评论
11年0个月前IP:河南
799638
7楼
tb卖的那款应该是demo版的板子吧?后来正式版的原作者并没有开源出来?
引用
评论
11年0个月前IP:宁夏
799657
8楼
楼主好强!!!
引用
评论
11年0个月前IP:广东
799664
9楼
我不知道那块板子是什么东东,但我知道它很牛B,楼主也很牛B
引用
评论
1
11年0个月前IP:德国
799891
10楼
HackRF One完全不需要HAM it up啊!!!!!

另外,请问楼主有没有测过EVM?结果如何?非常好奇!

最后发一张某一个机械层的PCB图,欢迎楼主加入开源SDR用户的行列!


6dedbb1agw1edwygptp0xj20kn0wxtlc.jpg
引用
评论
yaozhiyu作者
11年0个月前IP:黑龙江
799897
11楼
引用 smith:
HackRF的天线如何,我看到网上好多都是不带天线的
好像原版的才带天线,瞧着和网上卖的15块一根的天线差不多
引用
评论
yaozhiyu作者
11年0个月前IP:黑龙江
799898
12楼
引用 ry7740kptv:
tb卖的那款应该是demo版的板子吧?后来正式版的原作者并没有开源出来?
现在官网写的指标和原来是不一样了,是1MHz-6GHz,有人说只是软件改的,具体不太清楚,实际上看RFFC5072的指标最低是30MHz,但原来整机就标的是 10MHz,有些晕
引用
评论
yaozhiyu作者
11年0个月前IP:黑龙江
799899
13楼
引用 熊猫阿Bo:
HackRF One完全不需要HAM it up啊!!!!!

另外,请问楼主有没有测过EVM?结果如何?非常好奇!

最后发一张某一个机械层的PCB图,欢迎楼主加入开源SDR用户的行列!
业余条件,没有手段[s::lol]
引用
评论
yaozhiyu作者
11年0个月前IP:黑龙江
799901
14楼
引用 熊猫阿Bo:
HackRF One完全不需要HAM it up啊!!!!!

另外,请问楼主有没有测过EVM?结果如何?非常好奇!

最后发一张某一个机械层的PCB图,欢迎楼主加入开源SDR用户的行列!
计划以后做个天线听听短波,要是买了B200,也可以用一下
引用
评论
11年0个月前IP:德国
799929
15楼
引用 yaozhiyu:
好像原版的才带天线,瞧着和网上卖的15块一根的天线差不多
不是的,带900MHz的是最后一代原型版,作者发现天线坑爹,于是把PCB天线取消了


----------------------------编辑线-----------------------------------

仔细一看才知道原来您说的是Orzman搞的那条伸缩天线[s::L]那个天线实际上一般般而已,找正版的日本著名品牌天线,或者台湾产的也比它耐用,要是只想用个一年多,国产的伸缩天线都能胜任,反正效果都差不多。
引用
评论
11年0个月前IP:德国
799930
16楼
引用 yaozhiyu:
计划以后做个天线听听短波,要是买了B200,也可以用一下
B200配HAM IT UP完全是给金菜刀装泥刀柄。要是想用B200听短波,不妨找性能好的混频方案
引用
评论
11年0个月前IP:湖南
800165
17楼
看上去挺乱或者挺脏的感觉
引用
评论
11年0个月前IP:北京
800436
18楼
关注下价格
引用
评论
10年9个月前IP:江苏
813480
19楼
听说这东西挺鸡肋的,犹豫中。
引用
评论
9年5个月前IP:河南
835338
21楼
想问下HackRF的BOM从哪下载啊?原理图上RFFC5072部分有两个滤波器没有标型号,能说下是什么么?谢谢!
引用
评论
1
9年5个月前IP:广东
835369
22楼
引用 ry7740kptv:
想问下HackRF的BOM从哪下载啊?原理图上RFFC5072部分有两个滤波器没有标型号,能说下是什么么?谢谢!
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
引用
评论
9年5个月前IP:内蒙古
835370
23楼
引用 radio:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
谢谢,已经找到了,不过上面的两个滤波器淘宝买不到,打算用mini-circuits家的代替~
引用
评论
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的