读书-FPGA相关(一)

边学便摘录,做个补充。以《Xilinx FPGA数字信号处理设计》,《扩频通信系统的FPGA设计》两本书为基础,在翻看时,遇到有趣的名词,加以网络搜索,以图深入了解与掌握。

1.功率谱密度

https://blog.csdn.net/yu1581274988/article/details/116903966

2.FPGA-相同电路,不同的逻辑功能

根据数字电路的知识,对于一个n输入的逻辑运算,不管是与或非运算还是异或运算等,最多只可能存在种结果。所以如果实现将相应的结果存放在一个存储单元,就相当于实现了与非门电路的功能。FPGA即通过烧写文件去配置查找表内容,从而在相同的电路情况下实现不同的逻辑功能。

3.FPGA最小系统电路

1.项目例子:https://darwinlearns.com/productinfo/1461705.html

2.介绍:FPGA最小系统是可以使FPGA正常工作的最简单的系统。它的外围电路尽量最少,只包括FPGA必要的控制电路。一般所说的FPGA的最小系统主要包括FPGA芯片、下载电路、外部时钟、复位电路和电源。如果需要使用SOPC软嵌入式处理器还要包括SDRAM和Flash。一般以上这些组件是FPGA最小系统的组成部分。

https://blog.csdn.net/weixin_39998795/article/details/110658121

4.普通的HDL和行为HDL

HDL语言输入法,利用文本描述设计,可以分为普通HDL和行为HDL。普通HDL有ABEL、CUR等,支持逻辑方程、真值表和状态机等表达方式,主要用于简单的小型设计。而在大中型工程中,主要使用行为HDL,其主流语言是Verilog HDL和VHDL。这两种语言都是IEEE标准,其共同的突出特点是:语言同芯片工艺无关,利于自顶向下设计,便于模块的划分与移植,可移植性好(相较于原理图输入方式,更加易于维护),具有很强的逻辑描述和仿真功能,且输入效率高。

2.HDL的三种描述方式:https://blog.csdn.net/Reborn_Lee/article/details/104322281

5.单片机配置FPGA

在FPGA中,为达到设计的保密性和可升级性,利用FPGA的配置功能,可以实现硬件逻辑关系的改变,而不需要改变印制电路板的结构。

采用单片机,作为配置指令的输入(配置数据仍存在FPGA中),或作为配置指令及配置数据的输入,可以灵活实现"多任务电路结构重配置"技术,将不同设计的功能导入FPGA;此外,单片机若采用无线模块,可以实现FPGA系统的无线升级。

FPGA和单片机的结合,似在实际中有着一定的用途。

6.数据采集

数据采集在工业测控给领域有广泛应用,在传统的数据采集系统设计中,通常采用单片机或DSP作为主控制器来控制ADC、存储器及其他相关的外围电路来工作。

但是这些设计中存在一些不足,单片机的时钟频率较低且通过软件编程,难以实现高速、高性能、多通道数据采集系统;DSP虽然速度块,然其更加擅长复杂的数学运算,对数采系统的简单高速读写操作来说,是一种资源的浪费。

FPGA体积小,功耗低,时钟频率高,内部延迟小,全部控制逻辑由硬件完成,另外配置程序灵活;利用硬件描述语言也可实现程序的并行执行,适合于数据采集。

7.状态机

状态机是FPGA内部的指挥单元,它按照固定的节拍往复的运行(有限状态机)。

0.为什么使用状态机:

  1. 高效的顺序控制模型;
  2. 容易利用现成的EDA工具进行优化设计;
  3. 性能稳定,状态机容易构成性能良好的同步时序逻辑模块,这对于解决大规模逻辑电路设计中的竞争和冒险现象大有益处。与其他方案相比,在消除电路的毛刺现象、强化系统稳定性方面,FSM使设计者拥有更多的解决方法;
  4. 高速性能,在高速通信和高速控制方面,状态机更具有巨大优势;在顺序控制方面,一个状态机的功能更类似于CPU
  5. 高可靠性。状态机由纯硬件电路构成,运行不依赖软件指令的逐条执行,因此不存在CPU运行软件过程中许多固有缺陷;在状态机的设计中能够使用各种容错技术;当状态机进入非法状态并从中挑出进入正常状态所需时间十分短暂,通常只需要2-3个时钟既数十纳秒,对系统不会构成较大的危害。

链接:https://juejin.cn/post/6963615110468370468

1.概念:
https://blog.csdn.net/weixin_46188211/article/details/122792460

2.概念+相关说明:
https://www.cnblogs.com/wanghuaijun/p/8284697.html

  • 一般的状态机是使用Always语句和case语句组合来实现的
  • 不可以根据Always快的个数来判断他是属于几段的状态机
  • 一般情况下不建议使用一段式状态机,建议使用二和三段式状态机,二段式状态机使用时序逻辑处理状态变化,组合逻辑处理输入输出的变化,结构比较清晰,但容易产生毛刺
  • 三段式从输入到输出会比一、两段式状态机延时一个时钟周期

8.一种完整的数字信号处理FPGA设计过程:
先采用MATLAB对需要设计的工程进行仿真,一方面可以仿真算法过程及结果,另一方面还可以生成FPGA测试仿真所需的测试数据;之后在FPGA开发工具中编写Verilog HDL程序,对实例进行设计实现;接着编写测试激励文件,采用modelsim软件对Verilog HDL程序进行仿真,查看Modelsim仿真波形,验证程序功能的正确性;最后完成FPGA程序的综合及布线,将程序下载到开发板来验证FPGA设计的正确性。

验证工程实例程序是否正确,最直观的方式是使用示波器,观察信号处理前后波形的变化是否满足要求。
当缺少示波器,FPGA开发工具所提供的逻辑分析仪软件配合板测程序也是一个解决方法。
ILA(Integrated Logic Analyzer),集成逻辑分析仪,允许用户在FPGA设备上执行系统内的调试。作为一名FPGA工程师,掌握在线调试工具进行时序分析是必备的职业技能之一。ILA通过一个或者多个探针(Probe)来实时抓取FPGA内部数字信号的波形,分析逻辑错误的原因,帮助debug。
Eg.Vivado使用篇之ILA(逻辑分析仪):https://blog.csdn.net/m0_53606280/article/details/123600212

HAM-01

近日购得老鹰SRH775拉杆天线,可以连上本地的aprs中继了,进一步在电脑操作写频软件时,发现给某一中继下行设置了接收亚音,使得中继没法正常接收回波(手台仅是绿灯一闪,表示接收到了信号)。

2.尝试接收卫星信号:于田径场上,进行了卫星信号的尝试接收,追星软件使用heaven Above,根据群友分享,设置多普勒U段步进5KHZ,V段步进2.5KHZ;根据B站视频的经验,在卫星仰角过低时,采用天线竖直,高仰角天线水平且垂直于卫星运动方向进行接收测试。(使用追星软件仅确定了方位,没有确定其在天空中的确切位置,这个APP操作还是不熟练)
手台关闭静噪。

① NOAA-19 SO-50 ITUPAST SHX8600手台 信道带宽选择为 宽带

NOAA-19:有信号,但效果不佳,一者接收时间不够,二者网上有说是手台带宽过宽问题(但实际发现 跳到窄带接收效果反而不如宽带)--视频丢失,看着解出来的卫星不佳就删除了,以后应该保持记录!

ITUPAST-1: 22年11月15日晚21:15--21:29,最大仰角80°,CW音频,过顶时清晰接收了一阵信号:见视频链接

尚不确定这个到底是什么意思

SO-50:22年11月15日21:09--21:20,最大仰角80°,在如下图所示区域接收到了信号,但均有断续,中间部分,有的信号很强,有的则很弱,混杂在噪声中。

过顶时刻视频链接

② NOAA-18 SO-50 SHX8600手台 信道带宽选择为 窄带

SO-50: 22年11月16日11:15-11:30,最大仰角79°

NOAA-18:22年11月16日11:29-11:41,最大仰角为83°

两者的整体效果均不如不如宽带了,找到了一个解码NOAA卫星的较新软件,下图为其示例和我接收的效果对比图(惨),哈哈:

总结:确实是天线不成啊,或是是我周围的环境干扰还是太大,下一步计划再去接收下ISS,看看是什么情况。

73,这里是BI9ABD!

③2022-11-20 同上配置,宽带接收ISS及SO-50信号

确实空间站的信号就是很好!

ISS空间站:

22年11月20日晚17:49-18:59,最大仰角73°,视频链接

SO-50:

22年11月20日晚19:46-20:01,最大仰角80°,视频链接

③2022-11-24 同上配置,宽带接收ISS

ISS空间站:
22年11月24日晚16:12,最大仰角79.3°,用了look4sat软件:视频链接

软件挺好,还能确定频偏,不用自己估摸着调了,中间好像是多个信号冲突了,没几个人上来,哈哈


要努力去迎接生活啊!