fpga驱动ad9854重大bug——已解决!

今天心情还真是蛮ok,因为今天终于调出了正弦波,结束了快两三个星期的调试。但过程真是无语……

接着上一篇文章,我很快就不往时序约束那个方向考虑了,因为发现之前编写的简单工程都会有这个warning而不影响结果,所以就不去考虑这个方向了。下午去找学长一起讨论,学长一看程序一样,而我的工程文件出不来结果他也是很郁闷。于是学长让我用同样的方法在他的电脑上重建工程,因为学长用的是quartusii 3.0版本,我的是11.0。

3.0版本界面真的和我的版本差很多,整个重建过程操作了很久,而且我发现低版本考虑的东西好少,因此编译过程超级快,都让我有装3.0的欲望了。

用同样的方法在学长的电脑上操作,能出来正弦波!真是无语了,难道真的是软件版本的问题?学长提示我,程序一样,唯一可能不一样的地方就是配置引脚的地方会不会出错。不过我都查过了好多次,配的都没错啊。

不过就在这时候,我发现了蹊跷。在仔细观察pin planner界面的时候,看到了两列选项:voltage 和current的选项。往选项一拉,voltage默认高电平3.3V,这个正常。而current选项那个地方好像是限流用的(见图)。

一开始设定的24mA,后来我一想,DDS工作的电流应该会很大吧,因为芯片挺烫的。之前出不来现象是不是被限流了。然后我把所有的引脚都不做限流,重新编译下载,奇迹出现了!!久违的波形啊!!看来是因为11.0太高级了,还默认给管脚做了限流。而低版本没有考虑,所有低版本很容易就出了现象。

学长也很诧异,居然会是这种现象,因为学长没用过高版本的quartus,不过他说真有可能是电流的原因。再加上芯片之前还有几个电阻限流,电流本来就很小的。再加个限流,直接把现象给限没了。

唉,调了这么久终于有了现象,真是豁然开朗。不过,要学习的还有很多,一定要加油!

时间: 2024-10-12 19:52:08

fpga驱动ad9854重大bug——已解决!的相关文章

烦躁而无奈的一次调试-记fpga驱动ad9854

写这篇东西,主要还是要发泄心中之不爽,毕竟debug不出来很影响食欲和心情,也没心情陪妹纸了. 一个月前,师兄便开始带我fpga,先让我驱动个dds作为训练.由于暑假的原因,就停停放放的,在家先把VHDL简单过了一遍,又反复研究了一下AD9854的datasheet.什么寄存器啊,时序啊都了解的差不多了.一个星期前开始着手编. 但是菜鸟不会重头编啊,所以先拿了一个网上的驱动程序,根据板子的实际电路对程序作了修改.感觉不是很难吧,但示波器木有一丁点现象啊,芯片却在发热.然后我就开始一点一点的改啊,

Arduino下LCD1602综合探究(中)——如何减少1602的连线,LiquidCrystal库,LiquidCrystal库中bug的解决方法

一.前言: 上文中,笔者系统的阐述了1602的两种驱动方式,并简单的提到了Arduino的LiquidCrystal库.本文紧接上文,对以下两个问题进行更加深入的探讨:如何能够使1602对Arduino的端口占用降到最少?LiquidCrystal库到底应该如何学习?在Arduino下LCD1602综合探究(下)中,笔者拟介绍一个1602的综合性实验,以期对前文的内容加以综合应用和总结.闲话少说,下面开始进入正文. 二.减少1602对Arduino的端口占用 <1>不使用I2C 在上文中,笔者

【转】 IE6 IE7 IE8 css bug兼容性解决方法总结归纳

1:li边距“无故”增加 任何事情都是有原因的,li边距也不例外. 先描述一下具体状况:有些时候li边距会突然增 加很多,值也不固定(只在IE6/IE7有这种现象),让人摸不着头脑,仔细“研究”发现是由于其低级元素ul的padding引 起,padding的上下值对li有影响,左右无影 响.所以只好笨手笨脚地把padding去掉,换成margin.这是能解决问题,但往往不是我们想要的结果,或许 还会引起其他不必要的怪现象. 现在终于发现解决这个问题的方法,其实很简单,既然是有ul引 起的,就设置

IE6常见的bug及解决方法

1.IE6怪异解析之padding与border算入宽高 原因:未加文档声明造成非盒模型解析 解决方法:加入文档声明<!doctype html> 2.IE6在块元素.左右浮动.设定marin时造成margin双倍(双边距) 解决方法:display:inline 3.以下三种其实是同一种bug,其实也不算是个bug,举个例子:父标签高度20,子标签11,垂直居中,20-11=9,9要分给文字的上面与下面,怎么分?IE6就会与其它的不同,所以,尽量避免. 1)字体大小为奇数之边框高度少1px

ie6,ie7,ie8 css bug兼容解决记录

ie6,ie7,ie8 css bug兼容解决记录 转载自:ie6,ie7,ie8 css bug兼容解决记录 - 前端开发 断断续续的在开发过程中收集了好多的bug以及其解决的办法,都在这个文章里面记录下来了!希望以后解决类似问题的时候能够快速解决 ,也希望大家能在留言里面跟进自己发现的ie6 7 8bug和解决办法! 1:li边距“无故”增加 任何事情都是有原因的,li边距也不例外. 先描述一下具体状况:有些时候li边距会突然增 加很多,值也不固定(只在IE6/IE7有这种现象),让人摸不着

坑爹的IE6 bug以及解决办法

1.强制浏览器是用Web标准解析(网上全是解析成4.01的不知道有没有5的..)HTML的写法<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN”“http://www.w3.org/TR/html4/strict.dtd”>或者XHTML的写法<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”“http://www.w3.org/TR/xhtml1/DTD/xhtml1-stri

ie6,ie7,ie8 css bug兼容解决方法

IE浏览器以不支持大量的css 属性出名,同时也因其支持的css属性中存在大量bug. 这里收集了好多的bug以及其解决的办法,都在这个文章里面记录下来了!希望以后解决类似问题的时候能够快速解决,也希望大家能在留言里面跟进自己发现的ie6 7 8bug和解决办法! 普通IE css bug bug名称 影响版本 描述 Image Label Focus Bug IE8,IE7,IE6 <img>元素在<label>元素之内,单击时,焦点不会转移到相应的表单控件 按钮Margin-A

Mybatis 学习过程中出现空指针异常的错误【已解决】

Mybatis 学习过程中出现空指针异常的错误[已解决] 以下是写的小测试的代码 bean层 Player类(篮球队队员) bean层 Team类(篮球队) dao层 TeamDao.xml配置文件 dao层 TeamDao接口 测试类 测试运行之后就一直报空指针的错误,经过多次检查逻辑,还是没有发现错误,终于,在小仙女的耐心查找下,找到了错误,这个地方是collection里面的一个错误,应该是ofType,而不是column,emm~ 再次测试后,运行成功 因此,在学习的过程中必须足够的细心

【已解决】restart改变CAM输出变量场

CESM模式运行过程中如果想要更改CAM的输出频率或者输出的变量场,单纯的restart是不行的,因为ug上说了,restart的话,pop和ice model会再次读取namelist,但是atm模块不理的,ug上给了一个巨坑爹的解决办法,先给case换个名字,再建个case做branch run.这不是扯淡么. 不信邪,试了下这个办法是可以的,前提是之前run的时候一定要把restart文件记录下来. 该env_run.xml几个变量,把run的类型改成branch,时间点指定到restar