FPGA的快速入门经验谈(part1)
有很多年轻人,被割裂了历史,被荒废了未来,迷茫, 迷茫到几乎绝望,不过,他们还年轻,青春尚存,还有创造力,还有奋斗的资本,其中不乏不甘心被抛弃,被覆盖之人。他们还在努力,希望把自己未来的主动权更多地掌握在自己手上学习和创造是一条和平的成功之路,但是,学什么,怎么学,怎么用,何处用 ?
有一个领域,很多人,特别是曾学习过单片机的年轻人很感兴趣这就是FPGA芯片的开发应用,但面对FPGA技术所涉及的繁杂技术,大家普遍又感觉到学起来很难,无从下手,无从突破,前景不明,缺乏信心,本帖针对FPGA或单片机的快速入门学习,介绍了一种方法:"柏氏"7步FPGA快速入门学习法,供大家参考。
"柏氏"学习法要达到两个主要目的:
1. 让初学者轻松、快速地入门
2. 与学习者探讨FPGA相关的应用和市场前景
为实现第一个目的,我们将采用"打穿插"的学习技巧,为实现第二个目的,我们与学习者漫谈又哪些可以抢先占领的行业"制高点"。
"柏氏"7步FPGA快速入门学习法共分7部分
第一到第四部分为"穿插式"入门学习部分,是为了让初学者以最短的时间实现知识、概念和心理的快速入门。这4个部分,对于FPGA和单片机的学习都适用。
第五部分至第七部分是"沙盘谈兵"式的介绍,告诉学员FPGA的特有技术优势、实现技巧和市场前景。
这七个部分分别是:
第一部分:了解下载线和JTAG
第二部分:制作最简易的开发板
第三部分:最偷懒的编程
第四部分:检验入门成果
第五部分:SOPC及实现技巧
第六部分:专业产品的开发
第七部分:个人奋斗 — 特定IP的开发
(上部: 入门篇)
FPGA入门学习网络讲座: "柏氏"7步FPGA快速入门学习法
第一部分:了解下载线与JTAG
很多人觉着学习FPGA或单片机很困难,为什么?内容太多,头绪太乱!
我们第一步的任务就是:分解和简化问题。无论是FPGA还是单片机的开发,都要涉及到三个部分组成:开发平台(计算机),下载线, 开发板(学习板)
其中
1.开发平台在开发初期并不需要下载线和开发板的支持就能立运行。
2.下载线只是在目标代码下载或运行调试时才用到
3.开发板在下载完毕后自己能够独立运行
根据以上特点,我们采用各个击破的策略去学习和分析这几个部分。
首先是最简单的下载线部分。
每个厂家的开发模式都是类似的,都有一条下载线(有些还声称带调试功能),在外观上,这些下载线很类似,事实上,它们采用的技术也确实是一样的,都是 JTAG接口。各个厂家下载线之间的区别,主要是接线位置和顺序上有所不同。
JTAG(Joint Test AcTIon Group)
从字面上就可以看出来,这个接口本来是为了方便电路板芯片之间的连接测试而搞的一套标准,现在却被广泛地用来做下载线接口。当然,电子产品的自动自我检测设计也将会是一个非常巨大的市场,我们这里先不讨论。
下载线,一般都采用10芯或14芯电缆和相应的插头(也有5芯接头),实际上,除了电源线和地线外,JTAG有四根有效信号线:这4个信号线是: TCK,TMS,TDI和TDO,其中
TCK是时钟线,为其它信号线提供操作节拍信号
TMS是状态控制线,通过这条线来控制芯片接收或读出数据的状态及状态转变
TDI,可以按照TCK的时钟节奏向芯片内输入数据
TDO,在需要时,按照TCK的时钟节奏从芯片内读出数据
JTAG接口标准中,TMS涉及到一个"状态机"的概念,有些学员可能理解起来一时有困难,不用强求,先跳过。学员只要明白在下载或运行调试时,下载线是开发平台和开发板之间的数据通道,这个通道开发平台的控制下工作,就够了,至于如何传输数据和传输的具体内容,可先不去管它。这就是所谓的"穿插式"学习的特点。
对于下载线,了解即可,了解了下载线,开发系统三部分之间的关系和相互作用也就清楚了。不多罗嗦,进入下一步:开始动手制作开发板。
FPGA入门学习网络讲座: "柏氏"7步FPGA快速入门学习法
第二部分:制作最简易的开发板
自己开始就制作开发板,不是玩笑吧?要让学员学会一种方法,抓新技术的"关键点",FPGA芯片和单片机芯片,都是可编程的单芯片系统,这些芯片的运行或实现功能需要两个最基本的条件:
1. 电源
2. 已装载的代码
给芯片提供电源是每个电子产品共有的问题。至于目标代码的下载和运行调试控制通道,FPGA和单片机芯片都采用的是JTAG接口,要制作开发板并让其工作,就要做两方面的工作,一方面,把芯片JTAG接口的各个信号线与下载线的相应信号线相连,建立代码下载通道;另一方面,给芯片的相应的电源管脚提供所需的电源。原则上,我们只去满足开发板的最基本要求。
- 单片机在电源设计中的应用(06-07)
- 基于单片机的锅炉液位控制装置设计(07-22)
- 基于SPWM的交流稳压电源设计方案(09-15)
- 基于单片机的电池保护电路系统设计(02-24)
- 晶闸管三相全控桥式整流电路的直流电源设计(02-08)
- 智能充电设备控制系统的硬件设计方案(02-14)