FPGA20个例程专栏介绍

这篇具有很好参考价值的文章主要介绍了FPGA20个例程专栏介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

     

       通过“FPGA基础知识”专栏的实践学习,相信朋友们已经踏上了有趣的FPGA学习之路,掌握了一些必备的FPGA基础知识、开发工具、代码技巧等等,是一个进阶提升的好契机,这里闲话不多说,开门见山笔者结合实际的项目工程经验,精心准备了20个经典的例程。

       从例程选取、章节安排、文档说明、代码规范、工程实践等多个方面,笔者真的也用心做了很多功课,20个经典例程全部来源于实际项目,同时也把很多理念和思路完完全全传递给大家,代码书写整齐规范有相当的借鉴价值,另外针对一些晦涩的知识点,也竭尽全力为大家做到通俗易懂,扫清提高之路上的那些痛点和难点。真诚地希望如果说“FPGA基础知识”专栏陪伴大家步入FPGA探索的大门,那么“FPGA20个例程”则会真正地帮助大家逐渐成长为一名优秀的FPGA工程师,具备在实际项目中独当一面的能力,但依旧是那句老话:该你走的路,别人无法替代,这里还需要朋友们用更多的时间去实践和练习,才能够举一反三地逐步掌握其中一些细节和技巧,实现在项目工程中灵活二次开发的目标。

      言简意赅地,站在学习实践的角度,既考虑了学习上的循循渐进,同时又包含了工程上的知识要点,我们把20个例程按照7大类具体分配如下:

一、典型基础入门,小试牛刀

1.不同按键控制不同LED亮灭;

2.按键控制蜂鸣器输出PWM波,发出不同频率响声;

二、常用通信协议,摸索探究

3.RS232通信缓存数据;

4.串行DAC输出模拟电压控制LED亮度;

5.温度传感器实时采集温度;

三、数据断电存储,工程必备

6.EEPROM的任意地址读写断电存储;

7.FLASH读写断电存储;

8.SD卡任意地址的读写;

四、内存颗粒缓存,进阶之路

9.DDR3内存颗粒初始化写入并通过RS232读取;

10.遍历DDR3内存颗粒读写循环校验;

五、外设接口通信,举一反三

11.USB2.0接收并回复CRC16位校验;

12.千兆网口实现MDIO接口读写;

13.千兆网口实现ARP通信协议;

14.千兆网口实现ICMP、UDP通信协议;

六、图像显示处理,经典再现

15.VGA显示八种颜色的彩条;

16.HDMI显示彩色风景图;

17.SD卡存放图片逐一VGA显示;

七、实战项目提升,完善简历

18.SD卡存放音频WAV播放;

19.OV7725摄像头实时采集送HDMI显示; 

20.USB2.0/RS232/LAN控制并行DAC输出任意频率正弦波、梯形波、三角波、方波;

      细心的同学可能会发现章节安排方面很有规律,因为笔者本身是一名工作多年的工程师,也经历了从学生时的懵懂到工作后的沉稳,一路磕磕绊绊地走过来被社会毒打,蓦然回首在技术摸索上确实走过了很多不必要的弯路。这里仅就FPGA学习而言,相信会有很多初学的朋友们,都会感到迷茫,一方面市面上大部分的教程内容基本雷同,而且确实代码质量参差不齐,甚至带入了一些不好的习惯和思想;另一方面市场培训价格不菲,但也过度形式和流程化,例程可能很多年都不没有更新,针对不同的同学,来来回回都在重复同样的内容。

      最后就算大家硬着头皮通过一些付费教程或者高额培训入门FPGA这门技术了,但如何后期提高使得自己真正成长起来,在学会按键点灯串口VGA显示后面的道路应该怎么走,真的很少有优秀的资源帮助大家深入学习提高,仿佛陷入了一个死循环一样,学会了烂大街的各个版本demo程序还是不会写代码,参加了培训机构各种花样教学还没有真正掌握这门技术,转眼间时光飞逝到了想找工作换工作的时候,写到简历上的项目很牵强、很相似,没有加分项,面试官们甚至一眼看去就明白是通过培训等学到的,再问一些核心问题,毫无底气、吞吞吐吐、答非所问岂不尴尬。那么专栏里为什么这样安排章节呢,也是完全从实战提高的角度出发,所以请大家回头仔细看一下目录安排。

       第一章、典型基础入门,小试牛刀通过两个入门程序帮助大家找到写代码的感觉,同时按键、蜂鸣器也是常用的基本外设;第二章、常用通信协议,摸索探究脍炙人口的UART、SPI、IIC简历上必写三大通信协议,在这里通过串行DAC、LM75温度传感器等底层驱动编写,为大家真正地梳理清楚其中细枝末节的知识点,并总结出规范化的代码结构;第三章、数据断电存储,工程必备中的EEPROM和FLASH是嵌入式开发当中必备的掉电存储IC,同时有少数项目实战中需要用到SD卡读取大量数据,在撰写简历时,简单提到有这些掉电存储外设开发经历也是一个重要技术的加分项;第四章、内存颗粒缓存,进阶之路中通过两个优秀的例程,帮助大家掌握DDR3内存颗粒基础的硬件知识,以及MIG IP核的使用技巧,同时更从PCB设计上为朋友们整理清楚地址和数据位宽与IP核上的关系,例程“遍历DDR3芯片颗粒读写循环校验”也可以单独表现在简历中,用以检查FPGA外接的DDR3内存颗粒硬件上是否正常,很新颖也是一个不错的加分项;第五章、外设接口通信,举一反三围绕两个常用外接接口USB2.0和千兆LAN口,通过对两个常用接口的编程实践,为大家归纳了FPGA对外设接口逻辑控制,数据收发的一般性代码编写;第六章、图像显示处理,经典再现,FPGA学习圈里有句流传很久的话,没玩过摄像头、没倒腾过DDR3、没做过图像视频处理就不算玩过FPGA,在这里为大家准备了三个典型的代码例程,由浅入深地掌握VGA、HDMI图像视频显示的时序逻辑,例程“SD卡存放图片逐一送VGA显示”,把前面的很多知识要点又做了复习和整合。

        最后在第七章、实战项目提升,完善简历,实事求是地说每个例程都可以作为一个项目部分写入简历中,真的会让面试官眼前一亮,例程“SD卡存放音频WAV播放”比较偏向校园电子大赛项目,如果是刚毕业找工作的大学生朋友们,把这个例程动手实践学习好,通过电子大赛项目方式表述在简历里,例程本身比较新颖、涉及的知识点多,会给面试官们留下不错的印象,自然地认为大家在学校的时候就有良好的编程和动手能力;例程“OV7725摄像头实时采集送HDMI显示”虽然在一些其他开发板上有相似的例子,但笔者只想说会在这个例程中把CMOS摄像头下一般化的图像视频加速处理的方法写得通俗易懂,做好视频处理技术上的总结,帮助大家举一反三地实现其他图像前后处理、多帧缓存技术等应用,做到灵活二次开发和面试对答如流;例程“USB2.0/RS232/LAN控制并行DAC输出任意频率的正弦波、梯形波、三角波、方波“,这里有很多关键技术点,涵盖报文分割、报文解析、串口Modbus CRC校验、USB2.0 CRC校验、网口ARP/ ICMP/ UDP协议的实现,DDS IP核的应用等等,三个例程可以反应在简历中具备和上位机联调开发、FPGA视频加速运算、数字信号处理经历等,一句普普通通的话无形中又提高了市场竞争力。

      在撰写博客的过程中,感谢女友的陪伴和等待,让我度过了每一个下班以后忙碌的日日夜夜,更给了我努力去写好这份专栏的勇气和信心;无数次被困难击倒想要得过且过、转头放弃不论在求学还是在求知的路上,感谢父母的帮助和养育,供养我上学读书接收更多的教育,静下心来去把心中想做的事做好做细;感谢其他同仁的信任和理解,在最困难的时候大家能彼此坦诚地走在一起,不放弃不抛弃,相互勉励共同进步,从他们身上我也学习到了很多其他领域的技术,不管是FPGA还是STM32专栏等的编写,其中经历了太多的坎坷、逆境、波折,反复调整修改,力求精益求精,同时也在不断持续更新更多有实战价值的项目例程!

豌豆开发板20个例程上板现象文章来源地址https://www.toymoban.com/news/detail-452234.html

到了这里,关于FPGA20个例程专栏介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FPGA 20个例程篇:13.千兆网口实现ARP通信协议(下)

            完成了RGMII接口和GMII接口转换的代码设计,接下来我们来设计以太网帧的报文解析模块,为了兼顾下一个例程中ICMP和UDP报文的解析,我们把ARP报文解析分成以太网首部解析和ARP数据解析两部分,这样以太网首部解析模块还可以再用到下一个例程当中提高了代码的复用

    2024年02月13日
    浏览(47)
  • FPGA 20个例程篇:14.千兆网口实现ICMP、UDP通信协议(上)

           UDP是一种面向无连接的传输层协议,属于TCP/IP协议族的一种,UDP具有消耗资源少、通信效率高等优点,一般性地用来传输音频或者视频等对实时性要求高的场合。         ICMP是TCP/IP协议族的一个IP层子协议,包含在IP数据报里,主要用于IP主机、路由器之间传递控制消

    2024年02月03日
    浏览(41)
  • FPGA 20个例程篇:19.OV7725摄像头实时采集送HDMI显示(四)

            在介绍完OV7725初始化配置和视频采集模块后,就到了整个项目的核心部分即DDR3乒乓存储图像模块,为了实现整个FPGA项目工程当中良好的实时性,乒乓操作在广泛应用在FPGA视频加速处理和数字信号处理中。        关于乒乓操作,有很多的FPGA相关书籍都多多少少做了

    2024年02月02日
    浏览(48)
  • FPGA 20个例程篇:19.OV7725摄像头实时采集送HDMI显示(一)

           在例程“OV7725摄像头实时采集送HDMI显示”中,我们将走近FPGA图像处理的世界,图像处理、数字信号、高速接口也一直被业界公认为FPGA应用的三大主流领域,这个例程主要基于OV7725摄像头的视频图像采集项目,进行了详细地需求分析,从顶层到底层,从框架到功能,

    2024年02月02日
    浏览(51)
  • FPGA 20个例程篇:19.OV7725摄像头实时采集送HDMI显示(三)

           在详细介绍过OV7725 CMOS Sensor的相关背景知识和如何初始化其内部寄存器达到输出预期视频流的目的后,就到了该例程的核心内容即把OV7725输出的视频流预先缓存到外部DDR3颗粒,接着按照HDMI的视频格式把DDR3颗粒内存储的一帧一帧图像数据送显到屏幕上显示,如图1所示

    2024年01月17日
    浏览(55)
  • FPGA 20个例程篇:20.USB2.0/RS232/LAN控制并行DAC输出任意频率正弦波、梯形波、三角波、方波(四)

            接着同样地我们也需要完成对千兆网口ETH模块和USB2.0模块的编写,实际上和UART串口模块的设计思想大同小异,也同样地需要完成两项关键功能即识别并解析报文、接收并发送数据,千兆网口ETH和USB2.0的底层驱动在前面的例程中也详细说明了,所以在这里笔者不想再重

    2024年02月04日
    浏览(54)
  • FPGA 20个例程篇:20.USB2.0/RS232/LAN控制并行DAC输出任意频率正弦波、梯形波、三角波、方波(三)

            如图1所示是USB2.0/RS232/ETH控制并行DAC输出任意频率正弦波、梯形波、三角波、方波的整体设计示意图,可以看到上位机通过RS232串口、ETH千兆网口以及USB2.0接口和FPGA建立通信,通过不同的接口发送报文,FPGA在指令解析模块中把相关设置和参数再下发到任意波(方波、

    2023年04月15日
    浏览(44)
  • FPGA 20个例程篇:20.USB2.0/RS232/LAN控制并行DAC输出任意频率正弦波、梯形波、三角波、方波(五)

           如表1所示是dds_ip_transform模块信号列表,在正弦波模块中我们需要把上游指令解析模块中发来的频率控制字和指示信号即dds_din_freq和dds_din_freq_vld、相位控制字和指示信号即dds_din_phase和dds_din_phase_vld、复位信号即ddsip_sclr写入到DDS IP核中,如图1所示是正弦波模块的代码设

    2024年02月01日
    浏览(47)
  • FPGA 20个例程篇:20.USB2.0/RS232/LAN控制并行DAC输出任意频率正弦波、梯形波、三角波、方波(二)

         通过上面的介绍相信大家对数字变频已经有了一个较为整体性的认识,下面笔者来对照XILINX的DDS IP核对数字变频技术展开更进一步的说明,做到了理论和实践很好地结合,这样大家再带入Modelsim进行仿真测试就不仅掌握了数字变频的理论知识,也明白了其IP核的使用方法

    2024年02月22日
    浏览(41)
  • 本文通过实例介绍了Redis的基础知识、数据类型、数据结构以及典型应用场景 值得一看!

    作者:禅与计算机程序设计艺术 2017年,Redis是基于MIT许可发布的一个开源的高性能键值数据库,其开发语言为C语言。它提供了多种数据类型(strings、hashes、lists、sets、sorted sets等),分布式支持(可横向扩展),内存存储,持久化功能,事务处理功能等。作为一种高性能的

    2024年02月06日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包