(免费)怎样实现单片机FPGA的快速入门(上)_第1页
(免费)怎样实现单片机FPGA的快速入门(上)_第2页
(免费)怎样实现单片机FPGA的快速入门(上)_第3页
(免费)怎样实现单片机FPGA的快速入门(上)_第4页
(免费)怎样实现单片机FPGA的快速入门(上)_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、怎样实现单片机/FPGA的快速入门(上)网络培训: “柏氏” 7步FPGA快速入门学习法 有很多年轻人,被割裂了历史,被荒废了未来迷茫, 迷茫到几乎绝望 不过,他们还年轻,青春尚存,还有创造力,还有奋斗的资本其中不乏不甘心被抛弃,被覆盖之人。他们还在努力,希望把自己未来的主动权更多地掌握在自己手上 学习和创造是一条和平的成功之路但是,学什么,怎么学,怎么用,何处用 ?  有一个领域,很多人,特别是曾学习过单片机的年轻人很感兴趣这就是 FPGA芯片的开发应用但面对FPGA技术所涉及的繁杂技术大家普遍又感觉到学起来很难,无从下手,无从突破,前景不明

2、,缺乏信心 本帖针对FPGA或单片机的快速入门学习,介绍了一种方法: “柏氏”7步FPGA快速入门学习法供大家参考。 “柏氏”学习法要达到两个主要目的:1    让初学者轻松、快速地入门2    与学习者探讨FPGA相关的应用和市场前景 为实现第一个目的,我们将采用“打穿插”的学习技巧为实现第二个目的,我们与学习者漫谈又哪些可以抢先占领的行业“制高点” “柏氏”7步FPGA快速入门学习法共分7部分第一到第四部分为“穿插式”入门学习部分是为了让初学者以最短的时间实现知识、概念和心理的快速入门。这4

3、个部分,对于FPGA和单片机的学习都适用。 第五部分至第七部分是“沙盘谈兵”式的介绍告诉学员FPGA的特有技术优势、实现技巧和市场前景。 这七个部分分别是:第一部分:了解下载线和JTAG第二部分:制作最简易的开发板第三部分:最偷懒的编程第四部分:检验入门成果第五部分:SOPC及实现技巧第六部分:专业产品的开发第七部分:个人奋斗 特定IP的开发   (上部: 入门篇) FPGA入门学习网络讲座: “柏氏”7步FPGA快速入门学习法第一部分:了解下载线与JTAG 很多人觉着学习FPGA或单片机很困难,为什么?内容太多,头绪太乱!

4、我们第一步的任务就是:分解和简化问题。 无论是FPGA还是单片机的开发,都要涉及到三个部分组成 开发平台(计算机),下载线, 开发板(学习板)  其中1    开发平台在开发初期并不需要下载线和开发板的支持就能立运行。2    下载线只是在目标代码下载或运行调试时才用到3    开发板在下载完毕后自己能够独立运行 根据以上特点,我们采用各个击破的策略去学习和分析这几个部分。 首先是最简单的下载线部分。 每个厂家的开发模式都是类似的,都有

5、一条下载线(有些还声称带调试功能)在外观上,这些下载线很类似事实上,它们采用的技术也确实是一样的,都是 JTAG接口。 各个厂家下载线之间的区别,主要是接线位置和顺序上有所不同。 JTAG(Joint Test Action Group) 从字面上就可以看出来,这个接口本来是为了方便电路板芯片之间的连接测试而搞的一套标准,现在却被广泛地用来做下载线接口。当然,电子产品的自动自我检测设计也将会是一个非常巨大的市场,我们这里先不讨论。 下载线,一般都采用10芯或14芯电缆和相应的插头(也有5芯接头)实际上,除了电源线和地线外,JTAG有四根有效信号线

6、0;这4个信号线是: TCK,TMS,TDI和TDO 其中TCK是时钟线,为其它信号线提供操作节拍信号TMS是状态控制线,通过这条线来控制芯片接收或读出数据的状态及状态转变TDI,可以按照TCK的时钟节奏向芯片内输入数据TDO,在需要时,按照TCK的时钟节奏从芯片内读出数据 JTAG接口标准中,TMS涉及到一个“状态机”的概念,有些学员可能理解起来一时有困难,不用强求,先跳过。学员只要明白在下载或运行调试时,下载线是开发平台和开发板之间的数据通道,这个通道开发平台的控制下工作,就够了,至于如何传输数据和传输的具体内容,可先不去管它。 这就是所谓的“穿插式”学习的特

7、点。 对于下载线,了解即可了解了下载线,开发系统三部分之间的关系和相互作用也就清楚了。 不多罗嗦,进入下一步:开始动手制作开发板。 FPGA入门学习网络讲座: “柏氏”7步FPGA快速入门学习法第二部分:制作最简易的开发板 自己开始就制作开发板,不是玩笑吧?要让学员学会一种方法,抓新技术的“关键点” FPGA芯片和单片机芯片,都是可编程的单芯片系统这些芯片的运行或实现功能需要两个最基本的条件:1 电源2 已装载的代码 给芯片提供电源是每个电子产品共有的问题。至于目标代码的下载和运行调试控制通道,FPGA和单片机芯片都采用的是JTAG接

8、口 要制作开发板并让其工作,就要做两方面的工作,一方面,把芯片JTAG接口的各个信号线与下载线的相应信号线相连,建立代码下载通道;另一方面,给芯片的相应的电源管脚提供所需的电源。原则上,我们只去满足开发板的最基本要求。 实际要制作开发板,有三个主要环节1    PCB板,空电路板现在的芯片一般都是贴片封装,需要一个相应的电路板来贴装芯片。这个实验电路板可以采用市场上销售的通用实验板,也可以自己制作,或由培训单位提供。培训时,要给学员介绍PCB线路板设计制作的主要工具软件及加工流程。 2    电源部分有些

9、单片机芯片的下载线可以给芯片供电。但为了学员学习,理解和掌握,我们选择在开发板上用三端稳压块为芯片供电。关于电源的设计,模拟电源和数字电源的分离问题,接地问题,功耗等等问题。是将来电子产品设计的基础,培训时一定要让学员掌握电源的设计原则和要领,因为他们可能很少有机会学习这方面的内容。限于篇幅,本帖不展开详细说明。 3    下载和控制通道设置一个与下载线配套的插座,把芯片JTAG接口的四个信号线TCK,TMS,TDI,TDO与下载线的相应信号线连接,同时,根据需要,把下载线与开发板的电源和地线的连接。  完成以上工作后,一个简单的开发

10、板就制作完成了。 需要说明的是,对于FPGA来讲,其中的代码,是用RAM方式存储的,掉电后就会消失。所以,除了可以通过JTGA连线下载外,FPGA的目标代码,还可以在上电后从外部存储芯片上载到FPGA芯片中。FPGA芯片设计有专门的上载电路。 为了简化设计,我们的开发板,采用的是CPLD芯片,CPLD芯片的开发方法和主要功能与FPGA相同,只是其功能简单一些(不能内嵌CPU等),但其目标代码可以存储在芯片内,方便直观。 虽然“山寨”风格的开发板很简单,但在学习的内容上,关于电源,PCB,FPGA/CPLD的异同和应用侧重等方面,教学不要漏项。记住,我们提倡的打“穿

11、插”,是不要纠缠非关键问题,但不是说完全不理睬这些问题。所有的知识,都可以回头逐步补齐。  FPGA入门学习网络讲座: “柏氏”7步FPGA快速入门学习法第三部分:最偷懒的编程 可编程芯片的开发,很重要的环节就是对芯片的编程。 编程,似乎是一个很复杂的问题,但我们打“穿插”时,只能找最偷懒的捷径 很多可编程芯片的厂家都提供的编程开发平台对于FPGA/CPLD芯片ALTERA有QuartusII 9.1平台,XILINX有ISE 11平台单片机芯片,如MSP430和AVR等,用IAR平台的也不少 这些平台现在都已经很成熟,很完善,使用很

12、方便。 它们操作的很多步骤是类似的: 1.       创建项目并选择芯片,平台会根据你选择的芯片设置相应的参数2.       选择相应的开发语言,单片机可以选C语言,FPGA/CPLD可以选Verlog HDL语言。3.       编程,编程的内容是越简单越好,没有编程基础的FPGA/CPLD学员可以先选用XILINX的ISE平台,这个平台会给编程人员创造最简单的环境,而且对于简化的程序系统

13、会在后续的操作中自动做一些内部调整。当然,FPGA的开发平台用来输入设计内容的方法很多,语言编程只是方法之一。编程的内容要简单如果是FPGA/CPLD的编程,可以只做两个赋值语句,如C=A; D=B; 等等如果是单片机的编程,直接用IN , OUT指令写两条输入输出语句就可以了4.       编译,因为命令只有两行,编译一般很容易通过。 以上四个步骤对单片机和FPGA/CPLD都是类似的,以下5,6两步是FPGA/CPLD特有的 5.       指定管

14、脚,设定编程时的变量A,B,C,D分别对应哪个管脚6.       综合,把编译玩的代码在指定的管脚和特定的芯片形成最终目标代码 7.       下载,把最终代码通过下载线下载到芯片中 以上步骤中,编译和综合的操作,系统能够自动完成  能不能下载成功,主要看自制的开发板电源及JTAG的接线是否正确,也要看一看下载线在计算机一端的连接和设置。 这个学习环节似然叫编程,并不是单单是只学习编程,还涉及到其它要学习了解的内容,包括:

15、开发平台的应用,开发环境的设计,设计手段的了解(编程只是其一),针对芯片的操作,编译综合问题,下载和校验等等。这诸多的环节,在入门阶段不一定展开讲述,但要潜移默化地把关键知识点告知学员。 编程的内容,越简单越好,更利于理解和验证。 另外要强调的一点是,要让学员对逻辑电路和时序电路的特点和区别有一个清楚的了解这对以后的开发学习很重要。   FPGA入门学习网络讲座: “柏氏”7步FPGA快速入门学习法第四部分:检验入门成果 下载完成后的,就可以检验“速成”的开发板是否按照设计正常工作了 检验很简单,只要把相应的输入端与电源或地

16、相接,然后再查一下输出端的电位就可以了。 如果有人对直接把电源或地线连接到输入管脚有顾虑,可以串接一个1K左右的电阻,这样即使是学员把电源或地错接到其它管脚上,也不会造成芯片管脚的损坏。 因为编程的内容很简单,所以验证起来也会很容易 这个只有最简单功能的自制开发板,可以作为学员“穿插式”快速入门的“战利品”,也是最好的入门证书。  在入门学习阶段,学员可以得到两个方面的收获: 1    明白流程,以后再深入学习各个环节会有所侧重2    建立自信,不会再存在担心学不会,也不再为学习安排

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论