首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

嵌入式各种问题解答

嵌入式各种问题解答

嵌入式各种问题解答

当加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。
编辑本段学习FPGA的注意事项。网站:http://www.edu118.com
1.基础问题
  FPGA的基础就是数字电路和HDL语言,想学好FPGA的人,建议床头都有一本数字电路的书,不管是哪个版本的,这个是基础,多了解也有助于形成硬件设计的思想。在语言方面,建议初学者学习Verilog语言,VHDL语言语法规范严格,调试起来很慢,Verilog语言容易上手,而且,一般大型企业都是用Verilog语言。网站:http://www.edu118.com
2.EDA工具问题
  熟悉几个常用的就可以的,开发环境QuartusII ,或ISE 就可以了,这两个基本是相通的,会了哪一个,另外的那个也就很Easy了。功能仿真建议使用Modelsim ,如果你是做芯片的,就可以学学别的仿真工具,做FPGA的,Modelsim就足够了。综合工具一般用Synplify,初学先不用太关心这个,用Quartus综合就OK了。网站:http://www.edu118.com
3.硬件设计思想问题
  对于初学者,特别是从软件转过来的,设计的程序既费资源又速度慢,而且很有可能综合不了,这就要求我们熟悉一些固定模块的写法,可综合的模块很多书上都有,语言介绍上都有,不要想当然的用软件的思想去写硬件。
4.学习习惯问题
  FPGA学习要多练习,多仿真,signaltapII是很好的工具,可以看到每个信号的真实值,建议初学者一定要自己多动手,光看书是没用的。关于英文文档问题,如果要学会Quartus II的所有功能,只要看它的handbook就可以了,很详细,对于IT行业的人,大部分知识来源都是英文文档,一定要耐心看,会从中收获很多的。
5.算法问题
  
  例如,领先FPGA厂商Xilinx最近推出的Virtex-5系列采用65nm工艺,可提供高达33万个逻辑单元、1,200个I/O和大量硬IP块。超大容量和密度使复杂的布线变得更加不可预测,由此带来更严重的时序收敛问题。此外,针对不同应用而集成的更多数量的逻辑功能、DSP、嵌入式处理和接口模块,也让时钟管理和电压分配问题变得更加困难。  
 幸运地是,FPGA厂商、EDA工具供应商正在通力合作解决65nm FPGA独特的设计挑战。不久以前,Synplicity与Xilinx宣布成立超大容量时序收敛联合工作小组,旨在最大程度地帮助系统设计工程师以更快、更高效的方式应用65nm FPGA器件。设计软件供应商Magma推出的综合工具Blast FPGA能帮助建立优化的布局,加快时序的收敛。   最近FPGA的配置方式已经多元化!
编辑本段FPGA主要生产厂商
  1.Altera   
    2.Xilinx   
    3.Actel   
    4.Lattice   
    5.atmel   
其中Altera作为世界老牌可编程逻辑器件的厂家,是可编程逻辑器件的发明者,开发软件MAX+PLUSII和QuartusII。Xilinx是FPGA的发明者,拥有世界一半以上的市场,提供90%的高端65nmFPGA产品,开发软件为ISE。Actel主要提供非易失性FPGA,产品主要基于反熔丝工艺和FLASH工艺,其产品主要用于军用和宇航。
编辑本段FPGA设计的注意事项
  不管你是一名逻辑设计师、硬件工程师或系统工程师,甚或拥有所有这些头衔,只要你在任何一种高速和多协议的复杂系统中使用了FPGA,你就很可能需要努力解决好器件配置、电源管理、IP集成、信号完整性和其他的一些关键设计问题。不过,你不必独自面对这些挑战,因为在当前业内领先的FPGA公司里工作的应用工程师每天都会面对这些问题,而且他们已经提出了一些将令你的设计工作变得更轻松的设计指导原则和解决方案。
编辑本段I/O信号分配
  可提供最多的多功能引脚、I/O标准、端接方案和差分对的FPGA在信号分配方面也具有最复杂的设计指导原则。尽管Altera的FPGA器件没有设计指导原则(因为它实现起来比较容易),但赛灵思的FPGA设计指导原则却很复杂。但不管是哪一种情况,在为I/O引脚分配信号时,都有一些需要牢记的共同步骤:  
 1. 使用一个电子数据表列出所有计划的信号分配,以及它们的重要属性,例如I/O标准、电压、需要的端接方法和相关的时钟。  
 2. 检查制造商的块/区域兼容性准则。   
  3. 考虑使用第二个电子数据表制订FPGA的布局,以确定哪些管脚是通用的、哪些是专用的、哪些支持差分信号对和全局及局部时钟、哪些需要参考电压。  
 4. 利用以上两个电子数据表的信息和区域兼容性准则,先分配受限制程度最大的信号到引脚上,最后分配受限制最小的。例如,你可能需要先分配串行总线和时钟信号,因为它们通常只分配到一些特定引脚。  
 5. 按照受限制程度重新分配信号总线。在这个阶段,可能需要仔细权衡同时开关输出(SSO)和不兼容I/O标准等设计问题,尤其是当你具有很多个高速输出或使用了好几个不同的I/O标准时。如果你的设计需要局部/区域时钟,你将可能需要使用高速总线附近的管脚,最好提前记住这个要求,以免最后无法为其安排最合适的引脚。如果某个特定块所选择的I/O标准需要参考电压信号,记住先不要分配这些引脚。差分信号的分配始终要先于单端信号。如果某个FPGA提供了片内端接,那么它也可能适用于其他兼容性规则。   
6. 在合适的地方分配剩余的信号。   
在这个阶段,考虑写一个只包含端口分配的HDL文件。然后通过使用供应商提供的工具或使用一个文本编辑器手动创建一个限制文件,为I/O标准和SSO等增加必要的支持信息。准备好这些基本文件后,你可以运行布局布线工具来确认是否忽视了一些准则或者做了一个错误的分配。   这将使你在设计的初始阶段就和布局工程师一起工作,共同规划PCB的走线、冗余规划、散热问题和信号完整性。FPGA工具可能可以在这些方面提供帮助,并协助你解决这些问题,因此你必须确保了解你的工具包的功能。   你咨询一位布局专家的时间越晚,你就越有可能需要去处理一些复杂的问题和设计反复,而这些可能可以通过一些前期分析加以避免。一旦你实现了满意的信号分配,你就要用限制文件锁定它们。   -------------------   基于CMOS的设计主要消耗三类功率:内部的(短路)、漏电的(静态的)以及开关的(电容)。当门电路瞬变时,VDD与地之间短路连接消耗内部功率。漏电功耗是CMOS工艺普遍存在的寄生效应引起的。而开关功耗则是自负载电容,放电造成的。开关功耗与短路功耗合在一起称为动态功耗。下面介绍降低静态功耗和动态功耗的设计技巧。
编辑本段降低静态功耗
简介
  虽然静态电流与动态电流相比可以忽略不计,然而对电池供电的手持设备就显得十分重要,在设备通电而不工作时更是如此。静态电流的因素众多,包括处于没有完全关断或接通的状态下的I/O以及内部晶体管的工作电流、内部连线的电阻、输入与三态电驱动器的上拉或下拉电阻。在易失性技术中,保持编程信息也需一定的静态功率。抗熔断是一种非易失性技术,因此信息存储不消耗静态电流。
几种降低静态功耗的设计方法
  ·驱动输入应有充分的电压电平,因而所有晶体管都是完全通导或关闭的。
  ·由于I/O线上的上拉或下拉电阻要消耗一定的电流,因此尽量避免使用这些电阻。  
   ·少用驱动电阻或双极晶体管,这些器件需维持一个恒定电流,从而增加了静态电流。
  ·将时钟引脚按参数表推荐条件连接至低电平。悬空的时钟输入会大大增加静态电流。
  ·在将设计划分为多个器件时,减少器件间I/O的使用。
 
 eX器件LP方式引脚的使用   
Actel eX系列设计了特殊的低功率“休眠”模式。在该引脚驱动至高电平800ns后,器件进入极低功率待机模式,待机电流小于100μA。在低功率模式下,所有I/O(除时钟输入外)都处于三态,而内核全部断电。由于内核被断电,触发器中存储的信息会丢失,在进入工作模式(在引脚驱动至低平200ms后)时,用户需再次对器件初始化。同样,用户也应关闭所有通过CLKA、CLKB以及HCLK输入的时钟。然而这些时钟并不处于三态,时钟就可进入器件,从而增加功耗,因此在低功率模式下,时钟输入必须处于逻辑0或逻辑1。
  有时用户很难阻止时钟进入器件。在此场合,用户可使用与CLKA或CLKA相邻的正常输入引脚并在设计中加进CLKINT。这样,时钟将通过靠近时钟引脚的正常输入进入器件,再通过CLKINT向器件提供时钟资源。   
   采用这种输入电路后,由于常规I/O是三态的,因此用户不必担心时钟进入器件。当然,增加一级门电路会产生0.6ns的较大时钟延时,幸好这在多数低功率设计中是可以接受的。注意应将与CLKINT缓冲器相关的CLKA或CLKB引脚接地。   
    此外还要注意,CLKINT只可用作连线时钟,HCLK并不具备将内部走线网连接到HCLK的能力,因而HCLK资源不能被常规输入驱动。换句话说,如果使用LP引脚就不能使用HCLK;使用HCLK时就应在外部截断时钟信号。
编辑本段降低动态功耗
  动态功耗是在时钟工作且输入正在开关时的功耗。对CMOS电路,动态功耗基本上确定了总功耗。动态功耗包括几个成分,主要是电容负载充电与放电(内部与I/O)以及短路电流。多数动态功率是内部或外部电容向器件充、放电消耗的。如果器件驱动多个I/O负载,大量的动态电流构成总功耗的主要部分。  
 对设计中给定的驱动器,动态功耗由下式计算 p=CL×V 2 DD×f  式中,CL是电容负载,VDD是电源电压,f则是开关频率。总功耗是每个驱动器功耗之总和。  
 
   由于VDD是固定的,降低内部功耗就要降低平均逻辑开关频率,减少每个时钟沿处的逻辑开关总数、减少连线网络,特别是高频信号连线网络中的电容值。对低功率设计,需要从系统至工艺的每个设计级别中采取相应预防措施,级别越高,效果越好。

【深圳信盈达嵌入式实训学院】,单片机培训、嵌入式ARM培训、linux培训、PCB培训、FPGA培训,汇编C语言培训、Android培训、数电模电培训、cortex-m3培训!
  “入门既不难,深造也是办得到的”,只要你有恒心、有决心,跟随我们的“连载”一步步走下去,将来就一定能在单片机世界里遨游。嵌入式培训: http://www.edu118.cn

深圳信盈达专业的嵌入式培训!深圳信盈达专业的项目指导!深圳信盈达携手为您规划你的职业蓝图!
    张老师:15361421563     QQ:1924786560
深圳信盈达承接各种项目! 项目领域涉及:医疗机械、工控、军工、消费电子等!
信盈达开设多个精品课程!
单片机类课程:
  1.单片机开发实训班
        2.单片机基础班(汇编
            3.单片机高能项目实训班(零基础)
嵌入式类课程有:
       1、嵌入式ARM9+Linux实训班
         2、嵌入式ARM11+Linux实训班
           3、Andriod/Linux驱动高级班
             4、Cortex-M3/ARM7+ucos实训班
硬件工、程师培训班:
         1、PCB设计实训班(Protel/PADS2007)
                2、FPGA设计实训班
  通过系统的学习后,我们来个实际的项目实战:
      项目一、MP3/mp4娱乐产品
      项目二、智能家居系统
      项目三、数码照相框
      项目四、便携式数字产品
      项目五、远程监控系统
      项目六、工控机
      项目七、网络摄象机
      项目八、自带项目,指导完成
如果你是嵌入式或者单片机的初学者!qq:1924786560  为你指点学习中的困难!做你的航标!畅游在这嵌入式的海洋里!
    信盈达嵌入式实训学院(www.edu118.com)依托公司多年的行业服务背景和项目开发团队。由多年从事嵌入式控制器开发经验的工程师来指导学员的实训学习。在学习的过程中,哪些知识是重中之重,哪些知识可以一带而过,哪些知识是为后期学习作铺垫的,哪些知识点是可以在长期实际研发工作中使用的到的,最小的代价去学到最扎实的单片机嵌入式开发的工作能力。 工程师师傅带徒弟方式,结合学员的实际情况及现阶段热门技术要求来分主次系统进行讲授,从而达到事半功倍的效果。
入门既不难,深造也是办得到的
www.xwgongkong.com
西门子PLC现货总代理
嵌入式基础很重要,因为嵌入式学习周期比较长,需要的知识面也比较广。
第一部分:(1)C语言:C语言是所有编程语言中的核心部分,因此必须非常熟练的掌握.
第二部分:(2)操作系统原理;
第三部分:(3)linux高级编程:这是在企业面试中常常会遇到题目,也是必考的一部分。
学习嵌入式的重点和难点关键在操作系统,如果没有掌握操作系统,我认为很难把握一个嵌入式系统。即使在做嵌入式开发中,作应有层的开发几乎可以不知道操作系 统也可以开发,我认为那是浮在表面的。很难深入和提高自己的层次。嵌入式的重点看组成原理,数据机构,操作系统、c++!
嵌入式每个原理都是需要了解与掌握的。所以嵌入式之路必在于努力,坚持之中哦!,里仁嵌入式培训学院.网站有很多相关的基础文章。可以去学习学习!
嵌入式专题资讯:http://www.lirenedu.org/index.php?ack=lanmu&id=82
嵌入式培训 http://www.lirenedu.org/
返回列表