fpga开发|博客更新计划的说明

首先这并不是一篇技术博客,只是想简单地说明下后续博客的更新计划,今年元旦建立CSDN博客,初衷只是不自不觉硕士毕业工作四年,也一直在仪器仪表领域深耕,比起刚毕业的时候收获积累到了很多,但总的来说,还是感觉自己仍有一些是懂非懂的地方,所以想通过博客的总结归纳把知识碎片整理起来,形成一个研发的完整知识体系。
工作积累两年后,和一个学历、技术都很好的同事在一个项目组共事做一款高精度、大功率、多功能的电源产品,非常欣慰看到这款电源最终成为企业的畅销产品,一个项目组一个硬件和一个软件,一个老人带一个新人,天天在一起除了聊工作就剩下聊生活,他的一段话让我记忆很深刻:研发只是一个时时刻刻遇到新问题并解决新问题的过程,所以永远不要去奢求用同样的经验吃老本很多年,在遇到新技术的时候也不要慌张,因为新技术都是从老技术上衍生而来的,世界上没有什么新鲜事,后来想想心态真的很重要,有得即有失,平衡好工作和生活,坚持锻炼保持健康,坚持积累保持前进,但不要变得油腻!
谈到技术可能上学的时候,因为学校为了搞学术都在追逐前沿、潮流、概念等,而且教学上很多东西与现实脱轨并不实用,举个感受最深刻的例子,读研的时候几乎整层实验室(连学Java和Python的选手)都知道ZYNQ牛逼,但是怎么玩仿佛没人会,耳边天天能听到一些很潮的词比如:机器学习,人工智能,硬件加速等等(现在看来都是很虚幻的概念)。
ZYNQ虽然很好但是需要一群人才能玩好,而工作以后想的不再是怎么高大上,只是想着怎么稳定可靠,当PS和PL换成了STM32和ARTIX7,开发的门槛就降低了,并且硬件成本也降低了很多,但灵活性却提高很多:论数据交互STM32和ARTIX7通信,用SPI或者UART都可以,报文格式可以按照实际需求比如初始化、校准表、LIST列表、限制值、设置值等等完全可以去自定义;论人机界面开发STM32的EMWIN下界面也可以做到很漂亮美观,而且不用上QT直接调用Emwin的API开发难度降低很多;论接口外设高速PCIE、SFP等等直接上ARTIX7甚至KINTEX7,如果低速外设接口如百兆网口、USB、RS232、GPIB等,STM32的Liwp、UsbTmc等完全可以满足;论功能划分上STM32做前端控制、显示、判断,ARTIX7做后端采集、给定、计算可以按照功能很好地划分开来,而更多的时间是在思考产品可靠性、稳定性、易用性,比如可靠性上报文的握手和重传机制,稳定性上需要一些逻辑判断让整个产品容错率更高,易用性上智能化比如U盘一键升级多个STM32和一个ARTIX7等等。
当然前面只是闲话,下面谈一谈博客后续的更新计划,笔者还是打算先把一个专栏更新完全即“FPGA20个例程”,这里面真的很有营养,读研的时候接触到FPGA但是水平很菜,工作以后摸索学习把小梅哥、Crazybingo、黑金、正点原子、特权同学、明德扬等都做了一遍,这20个例程代码书写规范,博客也撰写详细(当然一般会先在word里编辑,有时候贴到CSDN格式没这么好看,不管字体还是格式上,有空会研究研究)附带了源码,开始想着用一块市面上的开发板写整个专栏,但遗憾的是感觉很多都是在卖接口板的,而且想要的外设很难都在一块板子上,并且有的板子节约原件不稳定,于是乎笔者自己动手丰衣足食,画了一块ARTIX7开发板,如下图所示把必要的外设都集成到一块板子上,FPGA20个例程专栏会在十一后不久完全更新完毕!当然也会完善一些STM32开发必备知识和FPGA基础知识专栏的内容。
fpga开发|博客更新计划的说明
文章图片


fpga开发|博客更新计划的说明
文章图片


后续还有“STM32 10个项目工程”专栏,当然更新比较耗费时间和精力,尤其在不想水博客的情况下,所以想沉淀一下,并且发现同样的情况又发生了,很难选择一块合适的STM32开发板去作为整个专栏的硬件平台,于是乎又想到了自己动手画一块STM32F429作为硬件平台撰写这个专栏,并且扩展CMOS插针接口,预留SPI和UART接口和ARTIX7开发板相连,纯干货转产项目中的代码,需要一些时间去好好准备。
十一以后更新完“FPGA20个例程”专栏后,其实通过“FPGA基础知识”和“FPGA20个例程”专栏,如果代码能够独立动手还原已经很不错了,也有一些朋友私信我想了解FPGA高速接口和数字信号处理方面的知识,所以预计十一以后,会有四个新的专栏,即“FPGA高速接口篇”、“FPGA数字信号处理篇”、“FPGA时序约束篇”、"FPGA和STM32实战项目篇“,当然我会更快地更新,不过也有很多客观因素的影响比如工作上的,家庭上的等等。
先简单地预告下吧,在“FPGA高速接口篇”,其实说真的在项目工作中,也没有太多应用过高速接口,但很多东西大同小异,课余时间学习了一整套高速接口SFP和PCIE的课程,代码逻辑看懂后我会在这个专栏里主要介绍SFP和PCIE,如果有精力会写一些高速ADC接口JESD204B相关知识,然后动手代码还原三个例程:1.在ARTIX7上通过SFP接口实现摄像头采集的自发自收;2.ARTIX7上采集双摄像头通过两个SFP接口送KINTEX7,KINTEX7通过HDMI显示;2.ARTIX7上采集双摄像头通过两个SFP接口送KINTEX7,KINTEX7通过PCIE送PC端显示。如下图所示选用了野火ARTIX7和CrazybingoKINTEX7板子,价格比较合适,当然真的富裕了,会考虑买一块黑金的KINTEX7!这个专栏里会把8b/10b编码、SFP的K码、传输错位解决方法、XDMA、RIFFA都详细介绍。
fpga开发|博客更新计划的说明
文章图片

fpga开发|博客更新计划的说明
文章图片


在“FPGA数字信号处理篇”,从理论到实践,结合工作经验也阅读了很多前人的书籍,有时候真的开卷有益,可能同一个问题看到不同人的解决方法,对自己也是一种提高。主要讲述DSP的重要概念:信号调理、采样、量化、数制、滤波、正交变换、采样率变换、流水延迟、吞吐率等;数据通路三要素:频谱搬移、采样率变换、基带处理;基本DSP算法在FPGA上的实现;基本滤波器在FPGA上的实现;基于FPGA的采样变换技术,以及快速傅里叶变换在FPGA上的实现细节等。
【fpga开发|博客更新计划的说明】在“FPGA时序约束篇”,其实最初是看小梅哥的视频,觉得讲得不错不过是基于ALTERA,特权同学有一本书写得很好关于XILINX的,结合工作实践来写这个专栏,还没想好细节。
在"FPGA和STM32实战项目篇“,这个专栏具体细节怎么写目前还没想好,但是在之前我会把STM32F429的板子先设计好,也把“STM32 10个项目工程”专栏更新好再来撰写这个专栏,实战加实战,会有多个实际的项目工程映射在这个专栏里,上学的很多时候只会想到去用FPGA实现这实现那,但最后往往项目中都是ARM和FPGA相互配合实现整个产品的开发,所以通过这个专栏可以学习到一个产品ARM在做什么,FPGA在做什么,对整个产品的性能上有更加深沉的理解,这可能才是一个工程师应该具备的高级能力!

    推荐阅读