您好~
我用的是LDC1612+STM32,INTB、ADDR和SD三个引脚都接STM32的GPIO上,ADDR和SD置低电平,INTB设置为GPIO的输入引脚。外接的是40mHZ的晶振。
用示波器能看到STM32发出去的从设备的地址,但是从设备没应答。
且还有一个问题,我的INTB引脚一上电没有配置任何寄存器,用万用表去量这个引脚的电压为3.3v。但是评估板的的LDC1612上电后INTB引脚电压为0v
期待您的回复。
谢谢
Henry Lee4:
兄弟啊,你的LDC1612+STM32能工作起来了不??你是用得硬件IIC还是IO口模拟的啊?
我手上一个项目也要用这个芯片,始终调不通,好急啊~
oliva hou:
回复 Henry Lee4:
就是STM32是的IIC通信,没有使用IO口模拟,已经调通了
oliva hou:
回复 Jason Shen:
Hi Jason:
后面发现是虚焊引起的。这个已经解决了。
现有问题想要咨询一下您,LDC1612数字化输出的频率是28bit的,在计算采样频率的时候有一个转换时间寄存器RCOUNT_CHx的说明如下
for the channel. The conversion time for any channel x is:tCx = (CHx_RCOUNT ˣ 16 + 4) /fREFx The reference count value must be chosen to support the required number of effective bits (ENOB).
example, if an ENOB of 13 bits is required, then a minimum conversion time of 2^13 = 8192 clock cycles isrequired. 8192 clock cycles correspond to a CHx_RCOUNT value of 0x0200
1、13bit有效需要8192个时钟周期,那么CHx_RCOUNT=0x2000或者是0x1fff,这个地方不是0x0200,是么?手册这个地方是不是错了?还是我理解错误。
2、这个有上面提到的13位有效指的LDC输出的28bit中高13bit有效吗?如果需要16bit有效需要设置RCOUNT_CHx=oxffff吗?如果这样理解,这个最多只能满足16bit有效?那输出是28bit?怎么理解?
3、还有采样周期和转换时间有很大的关系,如果需要转换的有效位比较高比如16bit,RCOUNT_CHx=oxffff,那么采样的频率就很慢,转换时间为(65535*16+4)/40=26214us
采样频率f=38hz
所以我问题是: CHx_RCOUNT设置的值和有效位之间的关系,是怎样计算出来的?这个有效位和28bit输出之间的关系,如果设置的有效为是16bit就只需要读数据寄存器中的高16bit吗?有效位高结果就越精确,那么LDC的采样频率就低?同理,要达到高的系统采样频率,那么就要降低有效位,就要牺牲系统的精度?是这样的吗?
期待您的回复
谢谢
Henry Lee4:
回复 oliva hou:
兄弟,能要一个你的邮件吗?想请教一下。。。lzy1222@163.com 这是我的邮箱
Henry Lee4:
回复 Jason Shen:
Jason,你好,我目前的状况是 下面两个语句中,第二句的 TXIS 始终不置位,我有多块板子都是这样,所以应该不是虚焊问题。并且这也不是通信问题吧,因为根本还没有到通信这个环节,感觉是单片机自己都还没搞定呢。。
I2C_TransferHandling(I2C1, addr, 1, I2C_Reload_Mode, I2C_Generate_Start_Write); while(I2C_GetFlagStatus(I2C1, I2C_ISR_TXIS) == RESET);//等待TXIS置位