- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
精简的FPGA编程方法
精简的FPGA编程方法 作者:宝山钢铁股份有限公司技术中心?方志宏?华东理工大学?赵书利????文章来源:电子设计应用????点击数: 27????更新时间:2004-10-3 引言便携式、小型的仪表和设备是一个非常重要的应用领域,在未来一段时间内会有比较大的市场。而FPGA等现场可编程器件也是正在兴起与普及的一种器件,把FPGA更好地运用到上述仪表和设备中,可以减少这些仪器、设备的开发周期,大幅度提升这些仪器的性能,减少总成本和体积等。在许多应用场合,如大型设备中的板卡,比较适合采用标准的FPGA编程电路。但是对于便携式设备的应用场合,采用标准电路联系FPGA与CPU需要消耗的资源太多。许多DSP芯片只有2个通用I/O引脚,所以如果能只使用1~2个引脚就完成FPGA编程功能,意义将非常重大。本文提出一种精简的FPGA的编程电路,它只占用控制器的1~2条I/O控制线,其成本和功耗很低,很适合大规模地在便携式小型仪表产品中应用。标准的FPGA编程电路以Xilinx的Spartan系列FPGA为例,图1是一个标准的编程电路。电路中控制器使用了4条控制信号线PROG,CLK,Data,DONE。首先Prog信号控制FPGA的初始化,一个Prog信号的低电平使FPGA进入编程状态,在编程过程及以后的运行过程中,Prog信号保持高电平;在编程过程中,Data信号与CLK信号配合,在每个Clk信号的上升沿,FPGA锁定/读取一个Data信号,如此循环,直到控制器将需要编程的程序全部送到FPGA中;当FPGA正确接收到编程程序以后,就会产生一个DONE信号,通知控制器一切完毕。该电路是Xilinx公司推荐的一个FPGA的标准电路,对于许多常规应用场合,它还是比较合适的,但是对于手持式仪表等尺寸非常小的设备,由于控制器本身只有1~2个I/O控制线,而上述标准电路占用4个I/O口,就有可能无法应用。/PP精简的FPGA编程方法本文给出了一种精简的FPGA编程电路如图2所示。控制器的I/O控制信号线包括P/C和Data。P/C控制信号产生图2中所示的波形,经过Prog解码电路(如图4所示)得到Prog信号,经过CLK解码电路(在本例中也可以不经过),得到CLK信号,它们与Data一起组成完整的FPGA控制信号,完成对FPGA的编程控制。该电路只使用2根I/O控制信号线,比标准编程电路要少,利用特殊控制信号的编码与解码,得到完成FPGA的编程工作。更进一步,也可以只使用一个I/O控制信号线,如图3所示,使用Prog解码电路(如图4所示)、CLK解码电路和Data解码电路(如图5所示),得到FPGA编程所必须的Prog信号、CLK信号和Data信号。该方法比图2所示的电路所需要的控制线还要少。本方法利用比标准FPGA编程电路更少的I/O控制线,经过解码电路的解码得到FPGA编程所需要的控制信号。对于不同公司的产品,本方法只要稍加变动就可以使用。/PP应用案例以Xilinx的Spartan II系列产品为例,图4为Prog控制信号解码电路,图5为Data信号解码电路。不妨假定CLK信号的周期为Tclk,Prog解码电路中的时间常数为tProg=R1*C1,Data解码电路的时间常数为tData=R2*C2。Prog控制信号解码电路的原理: P/C信号或P/C/D信号由Prog编码和CLK(Data)编码组成,其中Prog编码是一个周期比较长的高电平,见图4的t2-t0,它大于Prog解码电路的时间常数tProg,CLK(Data)编码是周期比较短的脉冲,小于解码电路的时间常数tProg,所以Prog信号可以被解码得到,而其他不相关信号则被过滤掉。一般可以选择Prog编码周期t2-t05tProg,而CLK(Data)编码周期t3-t21/5tProg。当FPGA编程结束以后,P/C信号,或者P/C/D信号应当立即复位,否则Prog会出现错误。Data解码电路的原理可以分成Data=0和Data=1两种情况:Data=0时,当P/C/D信号的前一个数据的上升沿t5结束,并保持一段时间,到达t6后,继续保持高电平,经过大约tData(与先前状态有关),Data控制信号线就会出现低电平,即信号0,为了更加可靠,可以等一段时间,到达时刻t9时P/C/D信号再给出一个负脉冲用于锁定数据。当然负脉冲的宽度应当比较窄,否则Data信号会反转,通常负脉冲宽度t10-t91/4tCLK。Data=1时,当P/C/D信号的前一个数据的上升沿t5结束,并保持一段时间,到达t6后,立即进入低电平,经过大约tData(与先前状态有关),Data控制信号线就会出现高电平,即信号1,为了更加可靠,可以等一段时间,到达时刻t10时,P/C/D信号
文档评论(0)