简介

该项目是我的毕业设计,主要是用FPGA+ADC+射频接收芯片设计一个SDR接收设备。预计使用Cortex-M3作为主控内核,LVGL作为交互界面。需要设计屏幕显示,按键输入,音频输出,电池管理,文件储存的功能。很多的低端SDR是将数据采集发送到PC进行处理,我的设计是想把这些功能全部集成在SDR设备上。

选型

主控:FPGA采用的是XC7A35TFGG484,之前在这个芯片上跑过Cortex-M3,资源也够用,它还有个兼容引脚的XC7A100TFGG484,若是资源实在不够用就可以换成100T。这个芯片用来跑CM3 100MHz完全没问题,价格也还可以。下面是仅CM3的资源使用情况:

因为第一版PCB肯定有问题,为了减少每一次修改的工作量,设计的是射频和ADC作为一个模块,主控等其它电路作为主板,若是主控板有BUG就不需要修改射频部分了,或者是射频板卡要做修改或者升级更好的方案也可以沿用之前的主板。

射频部分选用的是R820T2+3PA1030,R820T2原本是电视棒上的接收前端,可以接收25MHz~1.7GHz的频率,稍加一点设计就能接收到100kHz~25MHz的低频段。ADC这个采样率有50MSPS,10-Bit,对于数字电视来说,带宽在6~8M,这个采样率也应该够用了吧?同时它还很便宜,引脚兼容THS1030、AD9200、AD876,若是采样不够也可以在不修改PCB的情况下更换ADC芯片(只是这些替代型号会贵很多)。

电路设计

R820T2带有一个LTO引脚输出,可以用来给ADC直接采25M以下的信号,25M到1.7G通过IF输出采样,中间使用一个CH433K开关来切换,中间使用OPA690对信号先处理一下,再给ADC采样。R820T2有个AGC引脚,需要使用一个电压值来控制,可以使用PWM DAC,也可以使用专门的DAC器件。这里没有选用PWM DAC是我担心PWM会造成干扰。运放使用双电源供电(问就是单电源的在此处我设计不出来),电源是直接将模块输入的3.3V供给于R820T2、DAC、CH433K、ADC,使用TPS65135转换出±5.5V,然后再分别使用正负电压LDO输出±5V给OPA690。整个板子设计按照M2硬盘的2280尺寸来,接口为NGFF KEY_M。

主板部分集成了FPGA的JTAG和DAP-Link用来进行调试和后续的固件升级,为什么要集成调试器呢?因为我不喜欢乱七八糟的接线,那样太不优雅了。并且我认为对该项目有兴趣的人也应该是会想自己写固件的极客。若仅仅是需要使用这个SDR设备,那么也可以不焊接调试器部分的电路,固件可以通过SPI Flash烧录器进行烧录,比如典型的CH341A也就几块钱。

其中电源部分也占据了不少,没办法,FPGA就是需要这么多供电,为了提高充电速度,选用的TI的开关充电芯片,协议是BC1.2向下兼容,但是比较鸡肋,它需要占据USB的信号线。开关使用的国产一键长按开关机IC,外加MOS管实现长按开关机。1.0V和1.8V供电使用的MP2162,受限于PCB面积,它小巧封装很适合,并且它在1mA的轻载时效率也有85%,这一点在同等条件下超过了LDO。另外它还带有Power Good引脚,可以用于控制FPGA电源的上电时序,简直是绝配。由于电池的电压会在3.2V~4.2V之间变动,为了维持一个3.3V,选择了一个Buck-Boost的TPS63020,同样的它也带有PG和EN用于控制时序,并且它还有一个引脚可以用于切换省电模式,当设备在待机时可以程控进入PS模式非常合适。它的效率在该设备条件下,1mA到1A负载效率可以在85%左右。以下是用LT Powerplaner设计的电源树,能够根据数据手册计算个大概。