通过“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/HDMI灰度化显示;

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

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

19.OV7725摄像头实时采集VGA/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/HDMI灰度化显示”,把前面的很多知识要点又做了复习和整合。

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

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

FPGA20个例程专栏介绍相关推荐

  1. Python【数学工具集项目】专栏——介绍(作者:CSDN用户(TDTX、philo42))【2021-07-09】

    Python[数学工具集项目]专栏--介绍 1.项目创作者 2.创作介绍 3.内容介绍 本项目两名创作者为: CSDN用户(TDTX),TDTX主页 CSDN用户(philo42),philo42主页 ...

  2. 机器人运动控制算法专栏介绍

    机器人运动控制算法专栏介绍 本博客专栏将从理论到实践进行全面讲解,从机器人运动控制的基础理论到代码实现,读者将能够全面了解机器人运动控制的关键环节.本专栏从数学公式的推理,到代码实现的详细阐述,读者将 ...

  3. 专栏介绍《AI在艺术和创意产业中的应用:赋予机器灵感》

    专栏介绍 随着人工智能技术的迅猛发展,它已经渗透到了许多我们生活的方方面面,而艺术和创意产业也不例外.在这篇文章中,我们将探讨AI在艺术领域的应用,以及如何将机器学习与人类创造力相结合. 引言 传统上 ...

  4. 机械优化设计——专栏介绍(作者:TDTX)

    机械优化设计--专栏介绍(作者:TDTX) 一.优化设计数学基础 二.一维搜索方法 三.无约束优化方法 四.线性规划 五.约束优化方法 参考文献(学习教材) [注A]机械优化设计对应机械类专业来说是一 ...

  5. “RDKit | 化学信息学与AI”专栏介绍及专栏内容分类(持续更新......)

    "RDKit | 化学信息学与AI"专栏介绍 介绍RDKit相关知识点和运用以及RDKit作为处理化学.生物.药学和材料学科中分子数据作为可输入机器学习和深度学习模型的重要工具应用 ...

  6. 专栏介绍:全国青少年信息学奥林匹克初赛真题(1995~2021)

    什么是信息学奥赛 NOI(全国青少年信息学奥林匹克竞赛),一般称为信息学奥赛,就是强基计划(基础学科招生改革试点)里所指的五大奥赛之一.跟我们熟知的数学.物理奥赛同一个级别.是由国家认可的权威性比赛. ...

  7. 1个月uni-app微信小程序开发上线实战专栏介绍

    一.专栏介绍: <uni-app开发微信小程序1个月上线实战>,目标带领1000位同学成功开发上线一个自己的个人小程序! 作者介绍:国服第二切图仔--资深前端开发工程师,具有六年以上的前端 ...

  8. 《Oracle 入门教程》第 01 篇 专栏介绍

    文章目录 专栏背景 专栏内容 专栏寄语 大家好,我是只谈技术不剪发的 Tony 老师.欢迎来到我的专栏<Oracle 入门教程>!本专栏主要面向 Oracle 数据库的初学者,包括初级 D ...

  9. 机器学习之Python开源教程——专栏介绍及理论知识概述

    目录 1️⃣机器学习==人工智能? 2️⃣<机器学习之Python开源教程>专栏介绍 点击此处下载 3️⃣开启机器学习你需要准备什么? [全网首发]言简意赅的Python全套语法,内附详细 ...

  10. [0.0]-AutoSAR零基础学习-专栏介绍

    前言   年前公司业务变动,博主有幸参加了车载相关的开发任务,负责cdd中的某个模块,由于之前没有接触过AutoSAR,项目前期比较难受,目前项目也接近尾声了,打算把这一路的学习过程记录下来,和大家一 ...

最新文章

  1. 看似简单的问题 静态方法和实例化方法的区别
  2. Winfrom窗体间传值
  3. 状态模式 设计模式_设计模式:状态
  4. 网易校园招聘历年经典面试题汇总:C++研发岗
  5. Mycat安全权限配置user_配置mycat用户只读数据---MyCat分布式数据库集群架构工作笔记0031
  6. 基于HK-2000 OEM的嵌入式Linux开发
  7. 2021-06-29操作DOM元素
  8. 下拉框只读的时候没有下拉图标_百度下拉框营销秘密是什么
  9. 2022年11月广东软考系统集成真题及答案解析
  10. sniffer抓包工具(中文版+视频教程)
  11. Ubuntu安装sqliteman遇到的问题
  12. 趋势杀毒软件注意事项
  13. 极光推送 简书android,极光推送第一篇:配置
  14. 总结(CFAI,AWB,Denoise2D,Sharpen)
  15. java excel row遍历空_用Java巧妙的解析Excel中的POI
  16. (转)RMAN-06004: 恢复目录数据库发生 ORACLE 错误: RMAN-20005: target database name is ambiguous
  17. 终于有人把“计算机底层原理“整理出来了
  18. 用这个神器玩虚荣/最终荣耀手游,效果秒杀模拟器和手机党
  19. OpenCVforUnity中的图片轮廓对比——MatchShapesExample案例
  20. Win2000 蓝屏画面错误代码说明

热门文章

  1. 电商后台管理系统(一)
  2. 如何评价兰州交通大学的软件工程专业?
  3. Silvaco TCAD仿真基础2
  4. 2020考研分数线计算机专业,2020考研分数线如何划定
  5. 动手学深度学习 ——概率论基础
  6. 概率论基础-严士健 第二版 习题与补充3.2答案
  7. 鸟哥的linux私房菜——蔡德明
  8. 时间序列预测 | Python实现GAN时间序列数据生成建模
  9. 搞懂Java代理和反射一篇就够了
  10. EXCEL对比两列中查找相同的数据