原创 好累好累好累!!凡事多波折

2007-1-9 22:11 2910 5 13 分类: 处理器与DSP

昨天不是说调试出一片AD9858有信号了么,于是组长一大早问我进展的时候,我就演示给她看,奇怪的是没有输出,捣鼓了一阵子,终于出来了想要的频率信号,但再改变频率控制字的时候又不行了,总是在随机的频率点上跳变,原本兴奋的心情,一下子跌到谷底!


这时候过来一个高手,给了一些建议,但我一点头绪都抓不到,心情也很烦躁。组长认为是硬件的问题,而我自信我的板子没有问题,我认为问题出在软件上。组长坚持她的意见,让我一次又一次的Run程序,她抓9858数据、地址、WR和FUD引脚的信号,结果很显然,肯定是一塌糊涂,她让我换片9858试试,我当时还是觉得是软件问题,并且快要吃午饭了,就没有换。


中午连午觉都没有睡,向高手讨教了一下,下午接着检查,反复检查了9858的引脚输入,没有问题,排除了硬件的出问题的可能。这时候师兄看了看我FPGA往9858写的程序,认为我的程序太繁琐(我在process里面加了时钟做敏感信号),说他有一次是把TS101的时序直接赋给了9858,任何额外的时序都没做,结果是对的(昨天谈到过:CPU、功能器件的WR时序是几乎一样的,但我为了谨慎,添加了额外的时序控制)。这个时候,高手过来看看我的DSP程序,建议我改一下写9858寄存器的方式。我按照他们的建议修改了,上电,一看,咦!!真的好了!!!看来,FPGA或者DSP的程序的确有问题。


紧张了一天的神经,终于可以轻松了,晚上请师兄吃饭,然后早点回家,洗洗衣服,这时,倦意才一起涌上来,感觉肋部都有些酸了,唉,做技术,苦啊!


这里,要提到我犯下的几个失误,一是,没有把9858的RD脚通过FPGA连到DSP上,否则可以利用TS101的外部数据读写功能直接看送给9858的频率控制字对不对,就不用逻辑分析仪那么麻烦了;二是,考虑问题一上来可以尽量简单,过分谨慎反而不好。


下面把我调试用的部分程序写一些,希望能对大家有所帮助。


代码:TS101写9858频率控制字程序.c


include


include


include


#define  FPGA  0x8000000


#define Addr 0x00


int i  ,  ii;


int FTW[34]={ ............};


main()


{


       _buildin_sysreg_write(_SYSCON,0x.........);


      _buildin_sysreg_write(_SQCTL,0x..........);


      for(ii=0;ii<34;ii++)


      {


            *((int *)(FPGA+Addr+ii))=FTW[ii];


      }


     _buildin_sysreg_write(_SQCTL,0x..........);


}


因为是凭记忆写的,难免有错误,并且,具体的值都记不大清楚了,大家包涵。

文章评论8条评论)

登录后参与讨论

用户200351 2009-3-17 13:47

大哥救命啊!我现在做的就是用AD9858做的复杂雷达信号源,频率400MHZ。请教各位大哥了,请各位高手不吝赐教,小弟感激不尽!!!感激不尽!!

用户70196 2007-8-6 10:44

你好

我也在搞这个 可 一直没有出结果。能不能 给你打电话阿???

用户1308143 2007-6-24 16:21

对了,忘记一件事,我还不知道,控制字是怎么计算出来的

 

用户1308143 2007-6-24 16:20

我也正在搞这方面的,可惜对于9858内部程序很是头疼,可以发给我不,我想借鉴一下,liuxing024@163.com,谢了

用户87958 2007-3-25 20:21

我的qq是499194127,等待你的回音!!!

用户87958 2007-3-25 20:21

看到你的关于ad9858的软件部分的程序很开心,我已经找了很多了,就是没找到,今天突然发现了,好开心啊,感觉有救了,前一阵子好郁闷啊,很烦恼,唉,好痛苦,可是今天看到你的文章,真的很开心。我最近也在搞ad9858的软件程序部分,搞的好郁闷,又找不到详细资料,你可不可以帮帮我啊?我很急啊。

用户1455312 2007-1-10 22:14

谢谢大家的鼓励!

ash_riple_768180695 2007-1-10 19:00

“但我为了谨慎,添加了额外的时序控制”:这样做确实可能有问题。一是引入了最大一个FPGA时钟周期的延时,破坏正常的cpu读写时序;二是只用一级时钟同步会引入亚稳态的问题,比较危险。
相关推荐阅读
用户1455312 2007-01-10 22:37
可以开始主程序了!
首先感谢几位来到我Blog的兄弟的支持和鼓励!今天终于开始调试DSP的主程序了!工作量不小,但难度不是很大,主要包括片选不同的AD9858、片选FLASG和FPGA、Link口接发数据等等。由于我以前...
用户1455312 2007-01-08 23:12
柳暗花明啊!!!!
今天一早我到了单位后,立即到处找仪器搭台子,心想一定早点弄出来!等把信号源、频谱仪、示波器都搞到后,就立即开始编控制AD9858输出的程序。一上来我走入了一个误区:以为TS101的WR周期和AD985...
用户1455312 2007-01-07 23:26
有了一点小进展
今天,一早去单位,把昨晚找到的max811比量了一下,打算自己焊上去:是有点难度(max811是很小的表贴器件),但想想有难度就是锻炼自己的机会,于是冒着把器件搞坏的危险开工了,还挺顺利,尝试了两次就...
用户1455312 2007-01-06 22:56
不是新问题,但是很让人郁闷!!!
今天本来想睡个懒觉,看看火箭的比赛的,但是组长打电话催我,搞得我手忙脚乱、连滚带爬的跑去加班。到了以后向她汇报了一下昨晚上的成果:能找到TS101了,也能控制灯亮灯灭了,说明DSP的复位电路也是正确的...
用户1455312 2007-01-04 22:51
看不到曙光!
这是我毕业后接手的第一个任务:硬件平台是以TS101为CPU,Xilinx的XC4000系列的一片FPGA作数据转发和时序控制,功能器件是三片DDS,AD9858。板子的功能是CPU产生AD9858的...
我要评论
8
5
关闭 站长推荐上一条 /2 下一条