FPGA设计技巧与案例开发详解(txt+pdf+epub+mobi电子书下载)


发布时间:2020-10-11 01:04:41

点击下载

作者:韩彬,于潇宇,张雷鸣

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

FPGA设计技巧与案例开发详解

FPGA设计技巧与案例开发详解试读:

版权信息

书名:FPGA设计技巧与案例开发详解

作者:韩彬,于潇宇,张雷鸣

排版:上官雅弘

出版社:电子工业出版社

出版时间:2014-09-01

ISBN:9787121242540

本书由电子工业出版社授权北京当当科文电子商务有限公司制作与发行。

—·版权所有 侵权必究·—序一

受《电子技术应用》ChinaAET网站杨晖委托,很高兴为韩彬写的基于Altera FPGA的《FPGA设计技巧及案例开发详解》写序。

本书的作者韩彬对FPGA的发展史非常清楚,同时也了解当前FPGA的最新进展,以及对Altera软件、硬件有广泛的理解。FPGA技术发展到今天,已经由最初的黏合逻辑功能,逐步发展为系统级芯片,也就是所谓的SoC—System on Chip。可以这样来概括FPGA—所有数字电路的元素都包括在FPGA里面。学会FPGA也就意味着将来会有更加宽广的事业前途,能够掌握最前端的技术。

书中列举了大量的实验,都是作者自己的经历。最可贵的是书中提出了代码规范的问题。这不但对个人的编程有益,更对一个团队、一个企业有着指导性的意义。个人的代码风格可以任意发挥,只要自己看得懂。但是如果针对一个产品,一项系统级设计,则为了给后来者提供一个可读性强,易于查阅,纠错等的环境和便于团队之间的协同合作,规范性的代码编写是必需的,而且是相当重要的一环。

最后,我特别提示的是这本书也同样适合大学老师阅读。其中最有参考价值的就是,在硬件描述语言的教学中,要加上代码风格和编写规范的章节。

陈卫中

Altera中国区大学计划经理

2014年5月28日于成都

序二

与韩彬相识已近五年,近闻其首本FPGA实例设计方面的书作即将出版,我欣然受邀为之作序。初识韩彬,是从他的网络文章开始的,当时我偶然关注到博客园(www.cnblogs.com)的几篇技术博文,是关于CPLD、FPGA具体应用及电子设计方面的内容,例子叙述详细,观点鲜明,很有参考价值。而这些博文的博主有一个与众不同的名字—“CrazyBingo”,让人记忆深刻。时隔一年后,我才知道这个“CrazyBingo”居然是我当时上课班级学生中的一员,他就是韩彬。后来,他在我这里完成了优秀的本科毕业设计,是一个基于FPGA实现的多画面叠加显示技术方面的课题,在这期间,他对FPGA应用技术的钻研态度让我印象深刻。最后,他飞去了西电,因为他考上了西电的研究生。

随着集成电路技术的飞速发展,FPGA的逻辑规模和内嵌资源越来越多,但部分FPGA的成本却越来越低。随着成本的降低,在电子系统应用设计中,FPGA不再是曲高和寡的阳春白雪,它们的应用领域早已不局限于高端应用,而是扩展到电子系统应用设计的各个角落。近年来,大量工业控制设备、工业机器人、监控摄像机、大型显示设备等中都可以见到FPGA的身影,这就要求有一大批熟悉FPGA应用的电子工程师。阅读此书,可以帮助现有的还不熟悉FPGA的电子工程师进行FPGA快速入门。

FPGA应用设计属于工程设计范畴,所谓工程,势必涉及技术细节,涉及操作流程,涉及具体问题的具体解决,往往不能由理论推理直接得到具体解决方法及步骤。此书以FPGA设计案例做引导讲解,设计步骤循序而下,无一遗漏,非常适合FPGA入门的初学者自学。在案例设计分析过程中,此书又时不时附加一些技术技巧,适合FPGA已经入门的设计者提高设计效率。换句话说,此书很实用,照着书来,FPGA设计就变得不是那么难学了。十年前,我和潘松老师编著《EDA技术实用教程》一书,在书名中加入“实用”两字,也是这种理念。

韩彬在此书中加入了大量实际的FPGA应用设计,这些代码来源于他自己学习、参加的科研课题,与资深设计者的技术交流等,有很多都极具参考价值,也多处体现了创新性。在这里,我希望他在FPGA应用创新之路上继续前行,也同时希望我的学生中能出现更多的韩彬。

黄继业 老师

主讲电子系统设计、EDA技术及应用、单片机开发等

2014年6月26日于杭州电子科技大学

序三

我所了解的Bingo,是个勤奋好学,求知欲极强,甚至于对技术追求几近疯狂的工科男,难怪乎“自诩”为CrazyBingo,名副其实。

速度的阅毕此书,不难从字里行间感受到Bingo的用心,他这是极尽所能地将毕生所学所悟跃然纸上,其幽默诙谐的文风更是能够带大家轻松愉快的踏上FPGA的学习之旅。

客观的讲,这也是一本不错的FPGA/CPLD设计参考书,里面可以找到很多纯技术派中看不到的背景知识,也可以发现很多理论派中难觅的实践案例。甚至于说,这本书凝聚的是Bingo同学数年技术生涯的各种经验和技巧的总结。Bingo是个聪明人,在学习的路上,并不是盲目的照抄他人,更多的是在“去其糟粕,取其精华”之后持续知识点的升华。无疑地,这是本书最大的看点之一。

我曾说过,也许人们会忘记你做过多少项目,干过多少工程,但一定不会忘记你写过一本好书。Bingo是一个极其疯狂又踏实用心的人,永远忠于年轻时的梦想,我极力向广大FPGA初学者和爱好者们推荐这本书。

特权同学《深入浅出玩转FPGA》与《爱上FPGA开发——特权和你一起学NIOS II》图书作者

2014年8月于上海

序四

认识韩彬源于一次偶遇,他那创新的热情、充沛的活力和严谨的态度,都深深地感染了我。后来随着各种技术问题探讨程度的深入,我们相互了解的程度也逐步加深。最近的一次讨论,获悉他正筹划着《FPGA设计技巧与案例开发详解》的出版事宜,他热情地邀请我为该书作序。说实在的,我自愧能力有限,但深情难却,勉强为之。

对于FPGA我并不陌生,自从2012年开始接触FPGA起,我就对它一直着迷至今。今天,FPGA已经成为最令人激动的器件类型之一。FPGA那具有可编程的体系结构让它可以实现从微处理器软核到硬件加速器的任何东西,它所提供的可编程的通用输入/输出(GPIO)引脚、存储单元、乘法器、加法器和数字信号处理(DSP)模块等丰富的资源,几乎可以让你实现各种实际应用,真可谓是“nothing is impossible”。从便携式设备到各种娱乐设备,再到用于搜寻外太空生命的每秒万亿次的计算引擎,FPGA拥有相当广泛的应用范围。难怪有人把这个时代称为FPGA时代。因此,我一直期待有更多的年轻人能加入到这个行列中,韩彬便属于其中的佼佼者。

学习FPGA并不是一件容易的事情,对于刚入门的初学者,特别是学生来说,需要一本通俗易懂、贴近实际的参考书。然而,当前市场上关于FPGA的书籍繁多,质量参差不齐,给初学者的学习带来很大困惑。韩彬所撰写的《FPGA设计技巧与案例开发详解》一书,从基础讲起,紧贴实际,从代码设计、仿真,到硬件验证都可以看出他是经过精心设计的。例如,第8章从LCD的硬件电路设计,LCD驱动的C语言实现,LCD驱动的Verilog HDL实现和仿真,到最后的板上实现,逻辑清晰、深入浅出。读者可以从这一章领会到C语言和Veriog HDL硬件语言的异同,从而加深对硬件语言的理解。又如,第14章的基于OV7725的摄像头视频图像采集系统,这是一个完整的工程例子,它从系统框架、算法流程,再到具体硬件的介绍和实现,环环相扣、逐步深入,让读者清楚现实生活中具体的工程是怎样开展和实现的。总体来讲,本书具有以下特点:

1.深入浅出

从FPGA发展历史及其特点、Quartus II开发工具的安装使用、Verilog HDL设计、FPGA的PCB Layout等,都分别采用通俗易懂的语言进行讲解,并通过实例对FPGA设计的基本原则、技巧,以及在接口设计领域的典型应用进行阐述。

2.突出验证

本书的一大特点是配套了相应的开发板,并给出了大量的仿真测试,以帮助读者直观地掌握硬件语言的操作过程,从而深入理解信号间的时序互动关系、数据通路的操作,最终通过硬件进行验证。其目的都是为了帮助读者厘清其中错综复杂的时序关系,并开发出可综合、无竞争和高质量的代码。

3.精选实例

书中的每个知识点对应的实例都是精心挑选的,并对代码部分进行了解释说明。本书还提供完整的源代码,读者通过跟踪练习可加深对书中知识点的掌握和理解,最终具备FPGA系统设计和工程开发的能力。《FPGA设计技巧与案例开发详解》作为一本深入浅出、通俗易懂的著作,给每位想从事FPGA开发的初学者开辟了一条通往FPGA的坦途,愿各位能够凭借此书开启通往FPGA的大门。最后以“Something more is important!”与各位读者共勉!

蔡肯 老师

主讲电子系统设计、EDA技术及应用等

2014年6月6日于仲恺农业工程学院

序五

20世纪80年代中期,Altera和Xilinx分别推出了与标准门阵列类似的FPGA,它具有体系结构和逻辑单元灵活、集成度高及适用范围宽等特点。这种器件兼容了PLD和通用门阵列的优点,可实现较大规模的电路,编程也很灵活。与其他ASIC相比,它具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无须测试、质量稳定及可实时在线检验等优点。与PAL、GAL器件相比,它的优点是可以实时地对内置的SRAM或EPROM编程来改变器件功能,从而实现现场可编程(基于EPROM型)或在线重配置(基于SRAM型)。因此,FPGA被广泛应用于产品的原型设计和产品生产之中。

FPGA通常包含三类可编程资源:可编程逻辑功能块、可编程I/O单元和可编程内部互连。可编程逻辑功能块是实现用户功能的基本单元,它们通常排列成一个阵列,散布于整个芯片;可编程I/O单元实现芯片上逻辑与外部封装脚的接口,将阵列围绕于芯片四周;可编程内部互连包括各种长度的线段和编程连接开关,它们将各个可编程逻辑块或I/O块连接起来,构成特定功能的电路。不同厂家生产的FPGA在可编程逻辑块的规模、内部互连线的结构和采用的可编程元件上存在较大的差异。目前,在市场上比较常用的是Altera公司的FPGA器件。

由于FPGA能够减少电子系统的开发风险和开发成本(NRE),同时有效地缩短上市时间(time to market),并且通过在系统编程、远程在线重构等技术降低了维护和升级成本,因此在通信、控制、数据计算等领域得到了广泛的应用。FPGA 的发展推动了先进制造工艺和封装工艺的出现,通过全定制的电路和版图设计方法所进行的设计优化,使FPGA 在逻辑密度、性能、功能和功耗方面得到了大幅改善,成本显著下降。随着FPGA 在功能、密度、速度上的不断提升与成本的降低,用户需求与协议标准的变化,FPGA 芯片由于其便利的可升级性,不仅被用来制作原型机,而且还被大量地应用到网络、消费电子、科研、航天及国防的许多最终产品中,成为一系列电子系统的核心。

随着时代的发展,信息技术已成为新兴生产力的代表,信息产业不但逐渐成为新的经济增长点,还带动了传统产业的升级改造,促进了其他高新技术产业化的发展,成为提高企业竞争力和增强国家综合实力的关键所在。

由于电子技术的发展突飞猛进,整个电子系统的结构和设计思想、设计方法正在发生着革命性的变化。电子系统的结构由“微处理器+存储器+逻辑控制接口电路”发展到“微处理器+存储器+可编程器件”的全可编程模式。子系统的设计方法从“自下而上”的设计方法改变为一种全新的“自顶而下”设计方法。因此,电子系统的分析和设计手段发生了变化,逐渐形成了以计算机为基本工作平台,配合外部可编程器件所搭建的硬件平台,完成电子系统设计样机与产品设计的电子设计自动化技术(EDA技术)。目前世界上的经济发达国家已经完成了从传统的电子系统设计模式向现代设计模式的观念上的转变,而且在电子产品中大量应用该设计方法,获得了极大的竞争力与成功。

随着改革开放的深入和中国加入WTO,世界逐渐变成地球村,因此为了应对来自各个方面的竞争,我国急切需要具备掌握可编程逻辑器件FPGA的设计理论和设计方法,并能从事现代电子系统的研究和设计的高级专业人才。

但是,目前我国高校教育体系关于FPGA教学的相关内容过于陈旧,所涉及的教学实验内容大多还停留在对FPGA概念的基础认识阶段,所教授的相关内容较为简单,且教学方法和教学内容与单片机课程类似,无法培养学生对FPGA的学习兴趣。这导致学生在学习FPGA的过程中,无法接触到目前电子设计行业中最新的设计方法与设计理念,不能完整地掌握FPGA的设计使用方法,从而无法在进入工作岗位后胜任FPGA设计方面的工作。

在大学教书育人的过程中,我接触了很多学生,他们虽然对FPGA的基本设计理论都有比较不错的掌握,但是对于如何应用FPGA进行电子系统设计,尤其是对于如何设计考虑基于FPGA的电子系统存在很多疑惑。产生这一问题的根本原因在于大学阶段的FPGA教育主要集中在对硬件描述语言的介绍与学习,关于如何设计考虑和解决针对FPGA的电子系统与电路设计需要注意的问题很少提及,至于具有较大实用价值的工程实例则更是少之又少。而且,很多老师与学生完全按照单片机的学习方法对待FPGA相关课程,其结果是学生只掌握了硬件描述语言如何使用,而忽视了对实现硬件描述语言的载体——FPGA开发平台的学习与设计。这样培养出来的学生可以写程序,但无法自己去设计开发由FPGA组成的复杂电子系统。因此,我认为加大对大学本科教育阶段EDA学习过程中FPGA实用设计方法与设计技巧的相关内容介绍势在必行。同时,也可以通过在大学课程中引入基于FPGA的实际电子产品设计开发流程,使学生了解面向市场应用需求的电子产品开发过程、缩短电子系统设计周期、降低设计成本、提高设计正确率。此外,也可以在一定程度上提高学生的动手能力,满足用人单位的实际需求,解决高校毕业生就业难的问题。

因此,在大学本科教育阶段增加FPGA实际工程开发应用方面的学习,对于加深学生对数字电子系统的了解,增强应用各种设计方法和设计工具进行系统和综合分析的能力具有积极的作用。通过本书,学生可以全面理解面向市场需求和工程应用的针对FPGA的电子系统设计概念和方法,巩固和加深理解所学的理论知识,并通过实际案例的讲解,树立正确的设计观点、严谨的科学作风、理论联系实际的能力与动手操作的能力,达到提高综合素质的目的,实现目前所提倡的“卓越工程师”教育。

本书结合FPGA的嵌入式系统结构与视频图像处理算法,使用浅显易懂的语言,为读者介绍了利用FPGA针对嵌入式图形显示的数字图像处理系统设计、验证方法,建立了系统级设计的概念,使读者更加容易掌握实际工程中嵌入式电子系统图形界面设计的方法。同时,也通过各种实际案例为读者介绍了利用FPGA控制常用存储器和外部设备的方法,本书第13、14章设计了基于SDRAM控制器的视频图像采集系统,深入地向读者介绍了相关的设计精髓。因此,本书不仅适用于本科生和研究生的专业课教学,也可以作为一本工具书帮助电子设计工程师更好地掌握FPGA的设计使用方法,是一本不可多得的教科书和工具手册。

与韩彬相识于2011年,距今也3年有余,在我的印象中他一直是一个技术控、偏执狂与强迫症患者,擅长基于FPGA的视频图像处理设计。初始韩彬缘于他在杭电所著的第一本电子书《从零开始走进FPGA世界》,虽然这第一本书不是很成熟,但是已经为很多FPGA的初学者打开了一扇窗。相比前作,韩彬所著的这本《FPGA设计技巧与案例开发详解》从实际工程应用的视角出发,尤其是结合视觉处理的具体设计案例为读者介绍了FPGA设计过程中将会遇到的各种实际问题与解决方法。通过本书,不仅可以使读者学到FPGA开发工具与设计语言的使用,还可以了解基于FPGA的电子系统设计所需要注意的问题,掌握基于FPGA开发平台的图像处理系统设计方法,并且能够通过作者开发的工程实例进一步掌握FPGA设计技巧的精髓。本书不仅条理清晰、内容丰富,而且是一本不可多得的工具书、参考书,非常适合初学者与工程设计人员。

想要获得成功,就意味着你要付出比别人更多的努力。因此将“做不成一件事总是有各种理由,但人们只看到你没做成;做成一件事只需一个理由,就是坚持”这句话送给广大的FPGA初学者与开发人员。希望你们坚持自己的梦想,不改初衷,在FPGA设计这条路上走得更好、更远!

张雷鸣 老师

主讲现代电子系统设计、EDA、研究生的数字电子系统设计等

2014年5月30日于河南科技大学电气工程学院

序六

我们生活的时代是一个技术快速更新的时代,这是一件让人痛并快乐的事。随着制造工艺的提高,我们可以用更低的成本买到资源更丰富的FPGA,同时由于新技术的层出不穷,让我们手中的知识变得越来越乏善可陈。值得庆幸的是,这些新技术同样令我们的设计更加出色,如14.1Gbps的高速串行接口,DDR3的存储器硬核,取代SOPC的高性能Qsys,高效编译的Quartus II等。

我们生活的时代也是一个信息爆炸的时代,信息的实时处理问题显得更为突出。作为分布式计算的代表,近年来云计算成为技术领域的热门话题。而作为实时处理的另一分支——硬件加速(Hardware Acceleration)技术,在处理能力上也显得毫不逊色,并在高带宽数据输入的应用中更具优势。硬件加速的主要实现方式为GPU和FPGA。NVIDIA公司提出的CUDA技术使GPU成为一种可编程利用的资源,其并行结构为实时系统提供了一种有效的硬件加速方式。而FPGA在本质上具有无可比拟的并行运算潜力和灵活的定制能力。随着FPGA芯片供应商的技术革新,FPGA中不仅可集成大量存储块、硬件乘法器等DSP模块,还可以将具有固定或可裁剪结构的处理器嵌入其中,在一定程度上弥补了浮点运算的短板,使FPGA的并行计算能力得到了极大的提升。尤其是在图像处理领域中,数据由各个独立的像素构成,具有良好的并行特性与定点运算特性,更适合基于FPGA硬件加速技术的应用。例如,在2048×2048分辨率灰度图像的中值滤波中,结合本书16.6节所述算法,可以在图像传输过程中实现;而采用工作频率为1GHz的DSP,完成这一过程的运算耗时已接近秒级。

作为一个设计人员,认识FPGA是我的幸运。我在2006年读研究生期间,由于项目需求,要实现一套基于400通道的数据实时采集与存储系统,这让我了解到了FPGA最振奋人心的一个特性——并行。与同寝夜聊,每当谈到技术话题时,精通ARM的人说,我们有丰富的接口;精通DSP的人说,我们能在GHz的频率下每个时钟周期完成xx次乘法运算,他们问我,FPGA有什么?我淡定地说,创造。

选择了FPGA,其实选择的是一张白纸。描绘出什么内容,你做主。看到ARM中有串口,你也画上去一个串口,这样永远都在跟随别人的脚步。通用的处理器是为了满足通用的设计,而FPGA的设计是定制的设计。如果给我们足够的资源,则在我们的设计中位宽没有了限制,我们的运算能力也没有了限制,我们唯一的限制就是我们限制了自己的创造。算法设计也是如此。现有的算法大部分是基于计算机平台的,运算中的反复迭代过程通常是影响实时性的关键因素。而对于FPGA的算法开发者们,请记住,你们手中的FPGA永远不是一个人在战斗。必要的时候,跟冯·诺依曼说再见,你会获得更多。

FPGA最后一个重要的特性——灵活。在FPGA领域,很多技术都是基于灵活特性来实现的。例如,解决多任务下资源不足的“可重构技术(Reconfigurable)”,解决寄存器间门延时过长的“周波流水技术(Wave-Pipelining)”,以及本书16.8节所述的解决大量数据传输问题的零延时数据传输技术等。我期待着,未来的种种技术的革新,来源于现在的你。

最后,我们生活的时代同样是一个信息共享的时代。从接触FPGA至今,网络上涌现了大量极具应用价值的博文,并通过博客、论坛、QQ群等方式,带动了一大批FPGA设计者,为国内FPGA技术的发展做出了贡献。例如,元老级人物特权同学,功力深厚的XiaomaGee,激情四射的CrazyBingo,骏龙科技的现场应用工程师.COM张,以及QQ群中经常与群友分享设计经验的七哥、李东发、eBoy_eMan等,我以与你们同时代为荣。

于潇宇(网名:湘雨潇潇)

2014年6月9日于哈尔滨工业大学

既然选择了远方,便不顾风雨兼程……

决定写此书,执笔至此,已经有将近一年的光阴。时间过得太快,甚至都没来得及回味,却又得开始不停地追随。我们总是在不停地奔跑,却又没有时间停下来思索——我们,究竟在坚持什么?是因为兴趣使然,挡不住的诱惑?还是因为吃穿住行、柴米油盐酱醋?是因为歪打正着,稀里糊涂地过活?还是因为雄心壮志,不顾一切地追求……

也许我只是一个FPGA界的小人物,也许我还没有资格在数字界说三道四,也许我还不足以写出一本脍炙人口的好书,也许本书会因为相关的不足而被喷得体无完肤,但仅此希望,我的点滴总结,我的肺腑之言,能够帮助一些曾经与我一样,在FPGA成长道路上迷茫、挣扎、徘徊的朋友,能让你们少走些学习FPGA的弯路,能让你们认清FPGA的真谛,能让你们掌握设计的精髓,能让你们从此有目标地奋斗前行。

我出生于浙江诸暨的一个小山区,远离都市的繁华,从小成长在大山的怀抱。在长辈们眼里,考上大学,是山区孩子唯一的出路。从小按部就班地读书,千篇一律地重复,很难有自己的追求,直到高考的到来。高考,是我平凡命运的转折点,也是我跨出的人生中的第一步。与大部分人一样,我并没有因为太多的了解,或者由于兴趣而选择专业,而是顺应时代的潮流。2008年9月,我第一次朦胧地跨入了电子信息工程这个专业(当年相当热门的一个专业)。

坐落于天堂杭州的杭州电子科技大学(简称杭电),是一所以电子专业著称的高校,也是一所改变我人生轨迹的大学。太多人因为电子梦,聚集到了这里;太多人满载着知识与梦想,挥手告别了这里。大学的四年,是我认清自己的净土,是我挣扎脱壳的摇篮,更是我梦想起航的地方。

作为一所以电子设计著称的高校,大部分学生都是赤裸裸地来追求技术的海洋。电子类学生对技术的狂热,尤其是大一学生的好奇,在刚入学期间表现得最淋漓尽致。电子信息工程学院(简称电院)有一个无线电爱好者协会,是30多年前几位老前辈,由于彼此对无线电设计的兴趣而建立的团队,继而发展成为一个研究并培养对电子开发有热情的学生的协会。为了尊重创始人,该协会一直没改名字,但实质上一直都是一个以电子开发著称的社团。该协会是学校公认的一个以热情与激情、兴趣与责任结晶的社团,坐落于电院2#中楼,在每一届会长的带领下,以阶梯式教育,在课外培养了一代又一代技术狂,同时每年均会选拔一部分愿意留任,担负培养下一代重任的学生。几十年来,协会培养了很多电子特长的学生,包括很多留校的老师,尽管不停地更新换代,旧去新来,但却一直传承发扬着协会。

每年一度的电院“震‘焊’人心焊接大赛”,是进入协会的敲门砖。为了能够进入协会,当年的我从一个不认识烙铁、电阻、电容的人,夜以继日地训练,恶补电子元器件知识,掌握焊接工具的使用,从当初的拿烙铁手发抖,到最后以时间与质量,在几分钟内(具体不记得了,应该在5分钟内)焊接完一套5V直流稳压电压,而荣获了一等奖(现在回头看看,那时的焊接技术简直是“渣渣”)。也许正是因为如此,我在大一第一学期就进入了协会,认识了几位对我的大学四年有深远影响的学长——王凯与曾庆卿学长,他们在后续的日子里多次指点并教导过我,感谢他们的曾经才有了我的明天。

在随后的一段日子里,我由经常串门,升级到长期蜗居协会,我开始寻找、开始追求、开始如饥似渴地学习(现在认为是盲目追求,O(∩_∩)O~),在仅仅半年时间内,我熟练掌握了焊接技巧(现在看来还是很“渣”),手工焊接了多路直流稳压电源,并且自学了C语言,开始意识到拥有一台电脑是多么的重要。一学期过得很快,但却过得很充实,学海无涯,我突然发现大学就是该为自己的追求而疯狂。

我真正开始学FPGA,是在大一的第二学期。那时学校搞课程改革,由潘松老师负责教学,将大三的数学、EDA课程提前到大一,好让学生们能更早地找到自己的目标,选择或决定自己未来的方向。潘松老师是《EDA技术实用教程》、《EDA技术实用教程——VHDL版》、《EDA技术与Verilog HDL》等书的作者,同时是杭州康芯电子有限公司的创始人,开发了多套FPGA实验箱、开发套件,在杭电,甚至全国多所高校都有使用,开辟了国内高校FPGA教学的先锋。

记得当时的课程改革并没有针对所有学生,而是选取了180多个“小白兔”(据我所知我是最后幸存的唯一一只小白兔)进行试验,而我有幸就是其中一个。一学期内,我们从最基本的数字电路开始学习,从各种74系列、与非门芯片开始学习,在数电实验箱上用组合电路实现加法器、跑马灯、交通灯等实验。接着转场开始学习FPGA技术(当时认为无所不能的现场可编程门阵列),从原理图Block方式的数字电路设计,到从零开始的VHDL语言的学习,最后采用纯HDL代码的方式,完成了学期末的课程设计——可编程音乐播放器及精准时分秒计数器。尽管在现在看来,这无非是切换2个ROM,按照一定的频率驱动蜂鸣器,以及简单的计数与数码管的驱动而已,但在当时却被认为小有成就,学有所成。

大一暑假,我没有回家,而是抱着康芯的实验箱,将每一个模块都玩了一遍。我将图书馆中与FPGA有关的书都翻了一遍,深入学习了VHDL语言,掌握了基本的FPGA设计思路,同时还未雨绸缪地学习了使用Altium Designer 2009(当时的DXP最新版本软件),绘制了相关的PCB版图。康芯实验箱上还集成有8051单片机模块,总不能老是冷落了“她”,由于自己的反常规学习,因此我逼迫自己在5天内看完了郭天祥的《10天学会51单片机的教程》,狠狠地把51单片机的知识恶补了一把。记得该教程中有郭天祥亲自编写的《郭天祥——我的大学六年》,极大地鼓舞了我。该文档我至少看过10遍,“晨昏三叩首,早晚一炷香”,我懂得了他的所谓的很多人因为游戏人生,荒废本科之后的悔恨;懂得了把握青春,成就自己未来的珍贵;明确了自己该做什么,也许为自己的未来奋斗,才是真正的大学。

此外,我还深切体会到机遇的重要性。机会总是会给有准备的人,对于整天抱怨没有人带,而不去寻找机遇的人,我只能说你还没有准备好。事实上当时在180个小白兔名单外的人,找老师美言几句也能入围,重点在于你愿不愿意尝试——胆大心细脸皮厚,没有什么不可以。那时由于开始在QQ技术交流群活跃,我还认识了网友王会计(圈子里的很多人都认识他),那时作为前辈的他,对懵懂的我的告诫是,有幸我太早拥有了学习的机会,但这只是一个开始,课程只能给你指路,未来还得靠自己(我于2012年8月在北京第一次膜拜了王会计前辈,真人不露相)。

同年8月下旬,由于自己对技术的热情,外加在协会出色的表现,我成为无线电爱好者协会中,选拔去电院CAD研究所409实验室学习的一员(当时仅有3个人,其他两位分别是邓团飞、冀玮楠,这两个人是我未来的队友,一起浴血奋战的兄弟)。感谢409负责人,前协会会长,无线电爱好者协会名誉主席杨峰学长给了我这个弥足珍贵的机会,伯乐识马,没有这个机遇,也不会有今天的我。杨峰学长一直带领并指导协会,在大学7年的他,培养了无数饱含真才实学的电子工程师,在师生界具有极大的影响力,是大家公认的“老大”。在CAD研究所的2年多,是我本科电子设计最充实、最富有激情、最值得回忆的时光,是我定向成长全方位塑造自己的摇篮,也是我后来选择FPGA专业开发的基石。

由于对FPGA的基础与激情,我分组并进入了实验室的FPGA小组。作为小白兔的FPGA学习基础,对于实验室的需求而言还远远不够。在刀哥(FPGA小组组长)的指点下,我开始加强锻炼,从HDL的编写到FPGA设计思维,从时序电路到功能开发,从头开始优化自己,作为一个小白兔产物,我还需要进化。也正是这一阶段,我从零开始研究VGA显示驱动设计,并对图像显示开发产生了极大的兴趣,这也正是后来一年我一直执迷于LCD显示开发的缘由。

年少无知,从串口程序设计,到SPI时序的研究,我竟然想通过SD卡的SPI驱动来实现VGA图像源的获取。不管方案实现的可行性,正是因为对技术的热情,我认识了网友黄娜(当时在EDN工作,后来去CSDN了),介绍并让我认识了特权同学。时值2009年8月,5年过去了,回头看看,特权同学在那个时候还没有出名,FPGA视频教程还没开始录制,仅有的只是开始在EDN网站写博客。我有幸在平凡时期认识了未来无所不能,在业界有一定影响力的特权同学,指点并且让我研究他当年设计的SD卡的SPI驱动时序。但是该驱动程序中的Verilog HDL语言和上千行的精华代码,让当时的我望尘莫及,几乎读不懂,这让自认为小有成就的我开始自叹不足。虽然结果我还是没能驱动SD卡,但对SPI的时序还是有了深入了解,更值得庆幸的是,我认识了未来几年对FPGA界有巨大贡献,受无数人膜拜与尊重,出版了《深入浅出玩转FPGA》、《爱上FPGA开发——特权和你一起学NIOS II》、永远忠于年轻时梦想的特权同学。特权同学的学习精神,以及出版的书籍,对我的未来几年产生了深远的影响,源于DT,重在设计,在前辈的指领下,我正努力地前行。

大二开学了,我由于对技术的热情,俨然对上课已毫无兴趣,大部分时间都是在实验室度过的。在那个年代,我们用的还是Quartus II 5.1,VHDL在高校依然很盛行,FPGA被认为是高功耗、高成本、开发周期长的方案,一块简单的EP2C8Q208C8N的开发板价格不菲,同时FPGA的学习资料,包括书或网络资源,远没有现在那么多。在前行的道路上,每一步都是那么的艰难。正当我徘徊在VHDL与Verilog HDL之间,以及在研究SOPC时连一个LED灯驱动都搞不定的低迷时刻,我认识了正在读大四的张亚峰,也就是网友小时不识月,当初的.COM张。

当初的张亚峰,专业研究Altera FPGA,并将学习心得整理成博文发布于cnblog,博客日产量甚至可能超过他的饭量。在他最疯狂的时刻,我有幸认识了他,他对我指点迷津,悉心教导,甚至远程协助。在我徘徊不定时,他以多种理由“说服”我学习Verilog HDL,幸好我有扎实的VHDL基础,我在一周内成功地从VHDL转向了Verilog HDL;在我停滞不前时,他不厌其烦地给我远程协助,指点我FPGA开发,尤其是SOPC方便的设计。最后,也正是他,多次“强迫”我进行总结,写博客,对自己所做的事情负责。2010年5月,我在博客园写下了人生中的第一篇博客,至此以后,一发而不可收,后来转场chinaAET,只要在不停地研究开发,就会有源源不断的博客公之于世。写博客,不仅仅是对自己设计的总结,对问题的记录与分析,甚至不仅仅是为了写给别人看,我曾无数次翻阅自己的博客,查阅自己遇到过的问题,也曾因为同样的研究,或者说分享或“遭遇”,认识了不少的同行。只有懂得总结的人,才能不断地成长。好记性不如烂笔头,呵呵。

作为网络上的交流学习,我一直认为QQ、博客平台是极其重要的交流方式。很多人言谈身边没有人指点,没有人一起学习,一个人的奋斗,坚持不了就放弃了。也有很多人很在乎自己学校的档次,或者说自己的专业类属,以为自己孤军奋战,或者身边鱼龙混杂,没有得天独厚的环境,即便感兴趣也怎么可能学得好。其实我想说,学不学得好真正意义上还是取决于自己。虽然我处在电子氛围浓厚的杭电电院,但我同样认识很多专科类的职校学生,真正对此有兴趣的人,从来不会匮乏激情,因为这个世界远没你想象得那么小,在互联网越来越发达的年代,闭门造车,只有死路一条。在我后续的成长道路上,我认识了太多太多的网友,我们之间互相指点,均使我不断尝试,不断地积累,从时间与空间上积累了一个网络技术交流圈。电子开发,贵在互帮互助,技术是单纯的,也是兴趣与乐趣,很多人都愿意指点,并没有你想象得那么苛刻。我想说重点在于尝试,而不在于埋怨。从真正物理意义上讲,我也是一个人进行学习的,但从互联网角度考虑,这并不是我一个人的战斗。张亚峰是一位对我的未来有深远意义的网友,我们认识于腾龙前辈的SOPC技术交流群,他是我FPGA成长路线上极其重要的也是第一位互联网导师。没有张亚峰当初无私奉献、不厌其烦地指点江山,我不可能顺利地在每次碰壁时都找到解决方案,也不会有那么多的信心与激情坚持到现在。张亚峰毕业不久后,就去了广州骏龙作了Altera的FAE,至今为止在业界享有盛誉。2012年8月,张亚峰在广州请我吃大餐,正式拜见了“导师”真身,感谢张亚峰当年的激情,以及给我的无限指点。

同群还有前辈七哥(我于2012年9月在西安拜见了七哥),木头同学(12年8月的深圳之旅,我首次会见了木头同学)、查无此人(我于2013年7月在西安出差时有幸见到了查无此人真身)等,均是我们当时讨论FPGA开发时结交的挚友。FPGA行业是很大的一个圈子,况且在2009年还远没有现在这么火热!有志者事竟成,重在尝试。

同年,我认识了一位生平故事传奇,以及同样在为这一行不懈努力的工程师——网名为冲击波,人称波波,在此值得一说。我曾无数次在深夜通宵与波波远程畅谈。那时的我还没有熟练读懂芯片时序图的能力,而波波则刚好由于项目需求转场FPGA,于是我帮波波的FPGA设计支招,而波波则悉心地教我如何分析芯片时序,如何正确驱动外设。此外,波波曾多次给我讲述从修理工到深圳做电子工程师的坎坷之路,其传奇之路的不易让我感到了人生的艰难。波波自幼对电器十分感兴趣,不过家境贫寒,小时候的学费都是通过卖菜、修电视机积攒下来的(想想衣来伸手、饭来张口的我们,颜面何存)。成年后的波波,按部就班地过活,在镇上修理并卖蓄电池。由于某些说不清楚的原因,一夜之间,他的所有资产在一场火灾中化为灰烬。钱财一无所有,女友也离开了他,伤心欲绝的波波含泪卧床。崩溃了一个月后,他不想就此向生命低头,毅然离开了老家,开始了自行车的深圳之旅——既然上天把我逼上了绝路,那我也只能“无法无天”。由于口袋里面只有10块钱,所以他沿途坎坷,风餐露宿,三两天在工地里打工,结算零星的工钱,继续上路。但既然选择了深圳,便不顾风雨兼程,一路骑下去,他最终抵达了深圳,那一年是2002年。刚到深圳的日子,他无依无靠地游荡,他有过白天搬砖头、晚上睡桥洞的含辛茹苦,也做过各种杂活的兼职,以及制造厂的组装员工类的活儿。但是波波发愤图强,重新开始学习电子,不断地追求自己的归宿。多年来波波没有放弃,从打杂到工人,从机械劳作到工程设计,不断地努力升华,终于在2005年成为某公司的总工(我于2009年年末认识他)。孤身深入深圳打拼,可以对不起青春,但不能对不起梦想,在11年的时间里,波波没有回过家,没有对命运低过头,尽管无数次崩溃,尽管形单影只,尽管有无限的思乡之愁,但发誓没有出息绝不回去;在11年的时间里,从工地搬砖到公司的总工,其辛酸累苦,无人能知。而今波波终于有了自己的事业,也有了自己的另一半,满怀着离乡11年的乡愁,以及无限难以启齿的感慨,在2013年春节,第一次踏上了回家的旅程。回想11年的奋斗,他用血泪挣回了一个属于男人的尊严,换成谁都很难坚持到最后,因此波波是我生命中无比崇拜的前辈与楷模。2012年暑假,我在深圳第一次见到了传说中的波波,第一次膜拜了相识3年(现在5年多了)的大神,第一次有机会面对面促膝长谈,对我来说他就是一个传奇的故事。虽然上帝在为你关上一扇门的同时,总会用门夹一下你的头,但悲剧的背后,总会有另一扇门等着为你打开,也许转角处就是光明。

谁都有梦想有追求,谁都可以为未来付出血汗,但重点在于你是否能够战胜挫折,能不能坚持到最后。在此我想说,很多事情并不是天赋的问题,而是看你愿不愿意为此付出,为此坚持。一份激情与执着,坚持与稳重,也许能换来一份应得的回报。我曾代表杭电游泳队多次参加横渡钱塘江的活动,也曾多次参加过长跑比赛,我深切地体会到很多事情并不在于天赋,而在于意志力,在于你能不能坚持,在于你敢不敢尝试。电子开发,无论是FPGA还是单片机、DSP等,抱怨没天赋,抱怨学不会的朋友,我只能得出2个结论,第一是你不适合做这行,兴趣不在于此;第二是你就没有努力尝试过。就像某种矿泉水一样,我们只是Datasheet的搬运工。天才需要99%的血汗+1%的灵感,我们并不是天才,用100%的血汗就可以了。我一直认为我的智商明显不够用,但我花了常人很多倍的努力,才有了今天。我并不是拥有天赋,而是多于你几倍的付出。我所积累的经验,都是我用时间与汗水换来的,这绝对不是我的天赋,相信特权同学、张亚峰等都一样。因此,那些在成长路上抱怨的孩子,请深思,并不是你不行,而是你的意志力不行。既然选择了电子,就要做好不顾风雨兼程的准备。只有经历地狱般的磨炼,才能炼出创造天堂的力量。

2010年暑假,是我本科阶段电子开发能力成长最快的一段时间。当时通过4天3夜的选拔赛,我们如愿以偿地参加了暑期集训,为8月的浙江省电子设计大赛做准备。电子设计大赛每年都举行,但省赛与国赛奇偶交替,那一年恰好是省赛。所谓集训,类似于夏令营,即为了参加比赛,短时间内对学生进行数电、模电、单片机、软件设计,以及赛题设计技巧等方面的培训。在这两个月,我和我的队友邓团飞、冀玮楠围绕着可编程DDS信号发生器,从软件设计到430单片机的开发,辅助采用FPGA进行高速扫描,以及后续的模拟电路进行了信号的整形及优化。我们花了将近2个月的时间巩固了软、硬件设计能力,以及团队的协作能力,尽管我们那时才大二,但众志成城,我们坚持到底。记得8月底的为期3天3夜的电子设计大赛,我们选择了宽带直流放大器,我们一起激辩过,一起研究过,一起扛过走过,最后采用430+CPLD的处理架构,配合模拟完成了我们的作品。在这3天3夜,除了第一天睡了4小时,我们几乎没有睡觉,吃饭喝水完全靠吞。由于过度劳累,我们的头脑及身体都承受了很大的负担,这期间几乎干掉了一箱红牛,以至于赛后我们喉咙嘶哑,同时整个身体处于漂浮状态。第四天早上上交作品后,我们在“瘫痪”了24小时后,第一次感到床是多么的温暖,即便是硬床板。我们醒来已是第二天,估计是被饿醒的。尽管最后的评测,我们只得了省二(浙江省电子设计大赛二等奖),但回首3天3夜的浴血奋战,我们用TeamWork与意志力走到了最后,连续72小时不睡觉,充实而又精彩,成为一段值得吹牛的故事。其实电子设计大赛关系到各大高校的声誉,对于有些队而言,是三个人的比赛,而对于有些队而言,有可能是整个实验室甚至全校师资力量的较量,因此,由于我们是完全靠自己的能力走到了最后,所以并没有因为没有得省一而感到惋惜。同样,大部分没得奖的人,都将这一次经历当作美好的回忆。我自己也曾为了梦想,与队友并肩作战,过程永远值得回忆,结果就显得不那么重要了。如果告诫后人,我会毫不犹豫地告诉你,即便比赛的规则、验收答辩是否值得质疑我不确定,但是电子设计大赛对于电科类学生而言,的确值得尝试,值得考验,值得参加。

有人说大学四年,大一:不知道自己不知道;大二,知道自己不知道;大三,不知道自己知道;大四,知道自己知道。不过我反而觉得我却是不停地处于发现自己不知道→让自己知道的过程。大三也许是本科生涯头脑最清醒的时刻,是我最明确自己做什么,在为什么坚持的阶段。这一年我荣幸担任了无线电爱好者协会的会长,指导并引领协会上了一个阶梯,培养了无数学子;这一年我继续与邓团飞、冀玮楠并肩作战,不懈地努力,参加了好多比赛并取得了优秀的成绩;这一年我们在实验室继续浴血奋斗,继续深入学习,承担了实验室多个项目的开发设计。而我一直忠于最初的梦想,潜心研究FPGA设计,从Verilog HDL逻辑电路设计,到Nios II嵌入式系统设计,从Quartus II 5.1版本到Quartus II 10.0的跃迁(写这本书时才发布了Quartus II 13.1,而前不久,Quartus II 14.0已经发布,更新如此之快,我们几乎在不停地追赶),从Cyclone II到Cyclone III系列的升级(现在都C IV、C V了),知道得越多,发现自己不知道的就越多。我一直认为自己知道的只是冰山一角。感谢大罗哥与刀哥,在研究生阶段对我们的悉心辅导,也感谢409给予我们的机会,这是我们金蝉脱壳的地方。

长江后浪推前浪,有时候,前辈们看着我们成长起来,后生可畏,也会有莫名的喜悦。某电子应用群的群主NeverExist,在工作的同时,将电子当作一种爱好,在业余酷爱指导网友,帮大家排疑解惑,是群里公认的老大。坛子(论坛)都是靠凝聚力建立起来的,以至于NeverExist去日本深造多年后的今天,该群依然活跃如曾经。回想几年前在NeverExist的指导下茁壮成长的日子,感觉通宵都那么带劲。同样还有电子工程师学堂的群主XiaomaGee,电子是他的生活,也是他的未来,他乐于帮助刚入园的“小白菜”,在激情调侃的同时指点迷津。XiaomaGee设计了很多板卡,帮助了众多的网友成就电子设计之路,是电子界公认的前辈。我在2013年于洛阳拜见了XiaomaGee,正如传说中的一样,他是一个欢乐而又有卓识的前辈,听他讲述曾经在哈工大逆袭奋斗的故事,胜吃一天饭。目前XiaomaGee已注册洛阳银杏科技有限公司,随着队伍的壮大,正等待一个更美好的未来。

再说说我自己,曾经我也是白纸一张,但对技术如饥似渴,在艰难的泥泞中,由于激情热血,我一直备受多位网友的慷慨指导。我曾拜网友eBoy_eMan为师,他在我的“小白”成长道路上不断地矫正我的错误,并给予了我众多的指点。eBoy_eMan,又称壮壮,也属于IT界的一个传奇人物,他从小就喜欢玩电器,自然喜欢电子。他小学时玩无线电,初高中时玩单片机,大学时更是“无法无天”,简直不能忍。他1999年上高中,2002年上大学,毕业于南京航空大学。eBoy_eMan由于出色的能力,跨专业作了电院电子协会的会长;同时由于酷爱音乐,他兼任了学校吉他协会的会长;此外,除了电子,德智体美劳,他甚至会写小说,eBoy_eMan简直是一个神话。事实上eBoy_eMan并不是电子信息学院的,但无法挡住与生俱来的使命与兴趣,于是他放弃本专业的课而旁听电院的课程,凭自己对电子的浓厚兴趣与独到天赋,一个神级的大师就这样诞生了。毕业后eBoy_eMan去了苏州工作,随后在上海第一次创业。由于2008年的金融危机,他事业受挫,去了深圳打拼,随后历经从设计师到CTO的蜕变之路,一晃6年过去了,2014年对于eBoy_eMan而言又是不平凡的一年,他再次创业,立足智能电网,放眼未来,胸有成足,马到成功。2009年下旬我认识了eBoy_eMan,2012年我在深圳拜见了大师,此后一直保持联系,技术上的交流与探讨,以及人生感悟的倾诉与分享,eBoy_eMan曾无数次指导并帮我排难解惑。也许他在我身上看到了曾经的自己,也许我是他所谓的可造之材,但于己于人,我不能让师父失望,我会一如既往地努力,对得起众人的期待。

生命重在交流,走出狭小的铁笼子,放眼未来,永远会感到惊喜。我大部分的知识都来源于网络,或者是从与网友的交流中学到的,多年来我深切感受到了交流的重要性,并且乐此不疲。庆幸的是很多网站都给我们提供了很好的一个平台,如ChinaAET、电子发烧友、21IC、CSDN等。其中ChinaAET是我最熟悉的一个网络平台,它是面向电子工程界的专业信息服务与交易平台,网站经常开展电子新技术开发,尤其是FPGA方面的相关活动,通过与Altera、Xilinx等公司的合作,给广大网友提供了无限的机会。网站是以广告来运营的,因此其他的FPGA相关活动、博客等均是义务的,在此向各大“公益”论坛致敬。我在北京多次拜见过网站负责人coco本人,coco非常热心帮助网友,经常动用各种关系来帮助有需要的朋友,我本人就是一个典型的范例,多年来身居坛子,受益无穷。相比cnblog而言,自从转场chinaaet,发现在这里,FPGA博文受到了更多的关注,同时接连不断的博客大赛,激励并资助了众多的网友。该网站让很多人受益,也让很多人懂得了付出,期待更多的人加入,共创美好的未来。

2011年下旬,是我最纠结的半年。我没法说服自己考研,或者不考研。众多前辈认为我应该继续深造,毕竟即便文凭只是一张纸,但我的路依然很长。也有的前辈认为我没必要再在学校浪费青春,应该勇敢出来闯荡,打拼属于自己的一切。还有人想让我留在本校读研,继承实验室。最终,我以“3年换来30年不后悔”的理由说服了自己,同时不想故步自封,毅然决定出去看看,选择了西安电子科技大学。我以一个几乎逃课2年,考试完全靠突击的身份,在考研教室从零开始自学基础课与专业课,在仅有的2个月时间内,我强迫自己冷静了下来,考前还在医院睡了半个月,最后又看了6天上了战场,但竟然奇迹般地考上了,虽然考得很差。于是我选择了继续深造,我想给自己3年的光阴去冷静地思考,去重新塑造自己,使自己能更胸有成竹地走进社会。

我的本科电子开发之旅,以我的毕设——基于FPGA的多画面视频叠加系统,画上了一个句号。我的毕设结合了FPGA与SDRAM,采用OV7670摄像头作为视频源,在实现实时视频VGA显示的同时,完成了OSD、视频叠加等功能,最后评上了优秀论文。当然这一切都少不了我的毕设导师——黄继业老师的指导。黄继业老师当年本科留校(当然后来在职读研了),负责EDA与电子设计培训等的教学,以实际技术能力与指导学生的激情,备受学生的欢迎与喜爱,是我当年的导师,也是我一生的导师。我有幸得到了黄老师的序言,给本书增添了光彩。同时,黄继业老师还是潘松老师的《EDA技术实用教程》、《EDA技术实用教程——VHDL版》、《EDA技术与Verilog HDL》等书的作者,指导并培养了无数电子开发能力卓越的学生。此外,我的毕设并不是一个结局,而是我未来充实图像行业的开端,是我后期开始研究各种摄像头,以及视频显示技术的起跑线,感谢黄继业老师的课题,让我有了目标与激情。

本科生活过得很快,毕业之际,各种伤别离,抱头大哭,而我也曾流泪。怀念一起欢笑疯狂过的朋友,怀念一起在409跟我奋斗过的队友冀玮楠、邓团飞,以及后来报到的许耀聪、张捷同学,我们一直是实验室的核心力量,我们一起度过太多欢乐与痛苦的光阴,我们将会用一辈子的时光去怀念。最后邓团飞考上了计算机学院读研深造,冀玮楠留学去了丹麦,许耀聪、张捷拿到了华为的offer深造,而我却带着一丝永远怀念的乡愁,离开了杭电,去了遥远的西安,开始追求全新的生活。

很多人以为我早就工作,很多人不信我还是个学生,很多人确信我有多年的工作经验,但事实上我还真只是个学生,只不过我在成长的道路上,付出了多于大部分人几倍的时间,我不断地尝试与积累,才换来了今天。我经常写博文记录开发的点滴,同时在互联网上比较活跃,认识的同行比较多,平时也不乏有技术与人生的交流,因此我始终了解到自己所知的只是冰山一角,我远没有所谓的学富五车,也不是有些不明真相的人认为的前辈,我一直认为,知道得越多,就发现自己不知道的越多,既然选择了电子,只有不断地学习,才能跟上时代的脚步。

而如今在不到一年的时间里,我的研究生生涯就要结束了。时间过得太快,一晃而过,我来西安两年多了。专业只是个在校的分支而已,我一直更在乎的是自己的研究方向。也许研究生时代给我的最大收获,就是让我有时间冷静而清醒地思考,对未来更加成熟稳重地计划,以及真正决定自己到底想做什么、能做什么、该做什么。

从2012年开始,我对摄像头产生了极大的兴趣,我开始研究OmniVision、Micron等公司的Senser,从底层DIY开发CMOS Senser的FPGA驱动及视频实时显示,我用纯逻辑开发实现FPGA加速运算的架构,同时我花了很大的精力提高图像的画质,我一直不懈地追求。当然我也并不是一开始就轻松地驾驭了Senser,我所尝试的第一款摄像头MT9M111,耗费了我3个月的精力,但最终还是以失败告终。我转而拾起较简单的OV7670,力图挽回仅剩的一点信心。在我几乎一无所知的时候,是在图像传感器领域有很深造诣的官哥,不厌其烦地指点了我,把他曾经的坎坷及如何驱动设计的精髓告诉我,让我尽量少走弯路。再次感谢官哥,让曾经的我脱离“小白”的苦海。随后我一直没有放弃我对摄像头的热情,从DVP到PAL、LVDS、MIPI,从30W到500W、1400W,从摄像头的逻辑驱动开发,硬件驱动板卡的设计,到FPGA视频图像算法的增强,我选择了这条路,因为我执迷于图像。

2013年我曾在某公司实习了8个月,负责相机的驱动,以及图像算法的移植方面的工作。那一段时间我一直在摸索,同时我第一次发现外设的驱动只是个基础的架构而已,算法的实现才是图像开发的灵魂。因此我开始研究一些基础的图像算法,我希望我知道的不仅仅是外设。冈萨雷斯的《数字图像处理——Matlab版》给予了我很大的帮助。那一段时间我几乎同时使用MATLAB、Quartus II、Modelsim,结合Matlab语言、Verilog HDL代码及Testbench仿真程序,以算法验证→HDL设计→RTL功能仿真→FPGA硬件测试的流程,将基本的算法从书本移植到了FPGA中,我想我应该算是看到基于FPGA的图像算法应用的大门了吧!后期我又研究了非局部均匀、3D降噪、MSRCR、二维匹配等算法,尽管这些在DSP中都能实现,但由于FPGA的并行高速特性,采用流水线、乒乓操作、并行方式在FPGA中实现某些算法的加速,非其他处理器所能攀比。我深刻认识到我如果再将精力放在外设上,而不进行硬件图像算法实现的研究,那我简直是在浪费青春与灵魂。甚至FPGA都只是个工具而已,挑战我的将是未来驾驭FPGA应用于图像处理的能力。如今Altera与Xilinx的28nm双核Cortex-A9 FPGA已经风生水起,FPGA的资源已经足够我们实现大部分图像算法架构,敢于尝试,释放自己的创造力,几乎没有不可能,这只是一个开始而已。

驱动显示摄像头可以说是很快乐的事情,但优化图像算法,实现各种硬件算法则是更灵魂的境界。2012年我编写了电子书《从零开始进入OV7670世界.pdf》,给广大网友第一次带来了摄像头FPGA开发的福利,后期我又编写了第二本电子书《基于VIP_Board Mini的FPGA视频图像算法(HDL-VIP)开发教程.pdf》,从HDL-Logic(逻辑开发)到HDL-VIP(硬件图像算法)的蜕变,从底层基础到外设完整地阐述了OV7725摄像头的开发,以及10余种图像算法的设计指南,我希望能有更多的人加入FPGA图像算法处理的圈子。由于篇幅有限,本书并未包含FPGA逻辑图像算法加速运算方面的内容,不过有兴趣的朋友可以从互联网上或本书配套资料包中搜索,本人欢迎通过E-mail(thereturn of bingo @gmail.com)与我探讨FPGA算法的实现。

在IT高速发展的年代,摄像头智能化应用提高用户体验的同时,将辅助人工进行更高级别的安全维护。机器视觉、车载摄像头、工控应用等更多面向向人工智能的图像应用,将不断地开辟摄像头的新时代。我在摄像头的圈子虽然混得还不够久,但也两年多了,认识了很多开发并应用摄像头的同行,也了解到了众多的电子开发永远满足不了客户的需求,目前的市场还有很大一片空缺,等着我们去完善。上周我有幸会见了苏州智能汽车电子有限公司的冯工,这让我更贴近地了解到了摄像头在汽车电子行业的需求,再次看到了我们的光明的未来。同行还有网友群里的卡帕、把肉卖给和尚、故垒西边等手机摄像模组或相关厂家的工程师,一起探讨与研究,我总是受益匪浅。也许未来不久的某一天,3D摄像头会在我们的生活中得到普及,彩色低照度足以弥补人类夜视觉的不足,透雾、宽动态等算法的成熟将极大地降低交通事故发生的概率,机器视觉终会进入我们的视野。我不知道未来自己具体会从事哪一方面的图像算法处理,但我知道我会为了这一方向,为了我的兴趣,结合FPGA开发应用,挑战不一样的未来,我相信这一行始终有一个璀璨的明天。

关于本书,经由《电子技术应用》ChinaAET网站杨晖委托,我万般荣幸地联系上了Altera中国区大学计划经理陈卫中老师,非常感谢陈老师在百忙之中抽出时间阅读我的手稿并写下宝贵的序言。同时感谢我的母校导师、《EDA技术与Verilog HDL》等书的作者——黄继业老师(网友风翼),他在繁忙的工作中不辞辛劳通宵帮我写完了本书的序。其次感谢大名鼎鼎的吴厚航(特权同学)为我写序。再次感谢仲恺农业工程学院的蔡肯老师(网友紫声月影)抽空帮我多次审阅了本书的内容,并提出了宝贵的意见,当然还有最后的序言。然后感谢本书的第三作者、兼河南科技大学张雷鸣老师(网友i7)针对在校

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载