急问,关于AD5934!

[复制链接]
3785|0
 楼主| meamail 发表于 2009-4-8 08:16 | 显示全部楼层 |阅读模式
<br />To&nbsp;computer00,<br /><br />我最近在用AD5934的时候发现不能连续的进行每个频率点的测量(我是用仿真器仿真的),第一个频率点的测量没有问题(就是初始化之后,读寄存器0x8F的D1位,等D1位为1时,说明转换结束,读出实部与虚部值,第一次都是好的),但是等到下一个频率点的时候(就是对寄存器0x80写入&nbsp;increment&nbsp;frequency的命令),发现很长时间读寄存器0x8F的D1位一直是0,如果把断点打在“读出实部值处”,程序会一直死在那里,但如果单步的执行“&nbsp;while(&nbsp;!(AD5933_ReadByte(dAD5933StatusReg8F)&nbsp;&&nbsp;0x02));&nbsp;&nbsp;”,执行几次以后,发现继续向下走了,而且能读到实部和虚部的值!希望大家都帮我看看,&nbsp;最近一直为这事郁闷呢!我的AD5934&nbsp;测试部分和初始化的程序如下(程序里面用的名字是AD5933,但我实际用的是AD5934):<br /><br />void&nbsp;AD5933_Measure(&nbsp;void&nbsp;)<br />{<br /><br />&nbsp;&nbsp;&nbsp;//测试&nbsp;150&nbsp;points<br /><br />&nbsp;&nbsp;&nbsp;while(!(AD5933_ReadByte(dAD5933StatusReg8F)&nbsp;&&nbsp;0x04))&nbsp;&nbsp;//判断整个频率扫描结束<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(&nbsp;!(AD5933_ReadByte(dAD5933StatusReg8F)&nbsp;&&nbsp;0x02));&nbsp;&nbsp;//等待第一个频率点转换结束<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kAD5933_GetValue.rRealPartValue.rRealPartL&nbsp;=&nbsp;AD5933_ReadByte(dAD5933RealPartReg95);&nbsp;//读出实部值<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kAD5933_GetValue.rRealPartValue.rRealPartH&nbsp;=&nbsp;AD5933_ReadByte(dAD5933RealPartReg94);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//read&nbsp;the&nbsp;Imaginarypart&nbsp;of&nbsp;impedance<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kAD5933_GetValue.rImaginaryPartValue.rImaginaryPartL&nbsp;=&nbsp;AD5933_ReadByte(dAD5933ImaginaryPartReg97);&nbsp;//读出虚部值<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kAD5933_GetValue.rImaginaryPartValue.rImaginaryPartH&nbsp;=&nbsp;AD5933_ReadByte(dAD5933ImaginaryPartReg96);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AD5933_WriteByte(&nbsp;dAD5933ControlReg80,&nbsp;dInitControlReg80IncrementFreq&nbsp;);&nbsp;&nbsp;//&nbsp;increment&nbsp;频率点<br />&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />}<br />void&nbsp;AD5933_Init(&nbsp;void&nbsp;)<br />{<br />&nbsp;&nbsp;&nbsp;AD5933_WriteByte(&nbsp;dAD5933StartFreqReg82,&nbsp;dInitStartFreqReg82&nbsp;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//4.9152Mhz,&nbsp;30k&nbsp;start&nbsp;freq<br />&nbsp;&nbsp;&nbsp;AD5933_WriteByte(&nbsp;dAD5933StartFreqReg83,&nbsp;dInitStartFreqReg83&nbsp;);<br />&nbsp;&nbsp;&nbsp;AD5933_WriteByte(&nbsp;dAD5933StartFreqReg84,&nbsp;dInitStartFreqReg84&nbsp;);<br />&nbsp;&nbsp;&nbsp;AD5933_WriteByte(&nbsp;dAD5933IncrementNumReg88,&nbsp;dInitIncrementNumberReg88&nbsp;);&nbsp;//number&nbsp;Increment,&nbsp;150<br />&nbsp;&nbsp;&nbsp;AD5933_WriteByte(&nbsp;dAD5933IncrementNumReg89,&nbsp;dInitIncrementNumberReg89&nbsp;);<br />&nbsp;&nbsp;&nbsp;AD5933_WriteByte(&nbsp;dAD5933FreqIncrementReg85,&nbsp;dInitFreqIncrementReg85&nbsp;);&nbsp;&nbsp;//Increment&nbsp;Freq,&nbsp;10Hz<br />&nbsp;&nbsp;&nbsp;AD5933_WriteByte(&nbsp;dAD5933FreqIncrementReg86,&nbsp;dInitFreqIncrementReg86&nbsp;);<br />&nbsp;&nbsp;&nbsp;AD5933_WriteByte(&nbsp;dAD5933FreqIncrementReg87,&nbsp;dInitFreqIncrementReg87&nbsp;);<br />&nbsp;&nbsp;&nbsp;AD5933_WriteByte(&nbsp;dAD5933TimeCyclesReg8A,&nbsp;dInitTimeCyclesReg8A&nbsp;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//15&nbsp;time&nbsp;cycles<br />&nbsp;&nbsp;&nbsp;AD5933_WriteByte(&nbsp;dAD5933TimeCyclesReg8B,&nbsp;dInitTimeCyclesReg8B&nbsp;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//<br />&nbsp;&nbsp;&nbsp;AD5933_WriteByte(&nbsp;dAD5933ControlReg80,&nbsp;dInitControlReg80Standby&nbsp;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//set&nbsp;AD5933&nbsp;Standyby&nbsp;Mode<br />&nbsp;&nbsp;&nbsp;AD5933_WriteByte(&nbsp;dAD5933ControlReg81,&nbsp;dInitControlReg81ExternalOsc&nbsp;);&nbsp;&nbsp;&nbsp;&nbsp;//set&nbsp;Internal/External&nbsp;Osc<br />&nbsp;&nbsp;&nbsp;AD5933_WriteByte(&nbsp;dAD5933ControlReg80,&nbsp;dInitControlReg80Range_PGA&nbsp;);&nbsp;&nbsp;&nbsp;&nbsp;//Set&nbsp;PGA&nbsp;=&nbsp;x1,&nbsp;excitation&nbsp;range&nbsp;2v&nbsp;p-p<br />&nbsp;&nbsp;&nbsp;AD5933_WriteByte(&nbsp;dAD5933ControlReg80,&nbsp;dInitControlReg80InitWithFeg&nbsp;);&nbsp;&nbsp;&nbsp;&nbsp;//Initialize&nbsp;with&nbsp;start&nbsp;frequency<br />&nbsp;&nbsp;&nbsp;AD5933_StartFreqSweep();<br />}<br /><br /><br />&nbsp;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部