TI中文支持网
TI专业的中文技术问题搜集分享网站

读ads1147返回值为什么总是0

大家好!这几天一直在用FPGA做TI 的16位4通道AD芯片ads1147的驱动编程,搞了差不多1周时间,但是和ads1147的通信始终不对!通信协议是SPI的,我做了如下一些工作:
1向ads1147 发送0x20 00 ff 3个字节,采用sclk上升沿发送,下降沿读寄存器数据。
2在上诉期间,一直保持CS为低,START 为高。
3上电延时16毫秒,复位后延时0.6MS,这些都是按手册来的。
SPI时序按照datasheet中做的
<ignore_js_op>  
  

我读的是MUX0寄存器,复位后应为01h,但现在读出始终为0,我觉得写20h,00h,ffh要用上升沿,读数据要用下降沿,这个地方很关键,不知我用的对不对?我用的是verilog 编程,因为手头没有示波器,所以只是用串口助手调试。有没有高手指点一下,实在搞 不出来了!非常感谢!

user151383853:

象这种全0 的情况,有可能是硬件问题, 比如芯片还没有上电, 复位了, 供电异常等问题先检查一下

user1571683:

回复 user151383853:

非常感谢您的回复!我测量模拟电源和数字电源都是正常的,为3.3v 。上电复位也考虑了,FPGA上电后先延时16ms,再向ads1147发复位脉冲。我感觉还是ads1147手册上什么地方用的不对造成的!比如说读寄存器时序,我还是不敢确定到底对不对!逼得我感到有点黔驴技穷了!

赞(0)
未经允许不得转载:TI中文支持网 » 读ads1147返回值为什么总是0
分享到: 更多 (0)