CC1101初始化问题
您好,我在初始化cc1101时,CS从高拉低时,应该SO会有个高电平的过程,但我在调试时候,SO管脚永远都是低电平,用示波器观测也没有信号,查阅手册,
When CSn is pulled low, the MCU must wait until CC1101 SO pin goes low before starting to transfer the header byte. This indicates that the crystal is running. Unless the chip was in the SLEEP or XOFF states, the SO pin will always go low immediately after taking CSn low.
我用示波器检查晶振是否起振,晶振也不起振,怀疑是焊接问题,重新补焊,新焊了一套板子依然如此,请问这个问题该怎么解决呢,使用的是STM32内部SPI,也怀疑过SPI初始化有问题,所以根据手册画的时序图重新改过 还是如此,把SPI初始化的几种可能都试了一遍,发现一直通信不上,读取到的寄存器数值永远是0.
晶振选用26M,20ppm的,起振电容27pf,也试过5pf的,都不行
1、下载CC1101参考设计,硬件一一对比,http://www.ti.com/tool/CC1101DK433?keyMatch=CC1101&tisearch=Search-EN-Everything 这是433M的参考设计
2、电源、Clock、一一对比,粗看了下,参考设计匹配电容是12pF和15pF
3、STM32的SPI管脚接示波器,看是否有波形出来
先查硬件,一一对比,再查软件
BTW, 去耦电容你数一下,我们参考设计每一个接3.3V管脚都有一个对应的去耦电容
比如Pin14脚,对应的命名是C141,就是Pin14脚的第一颗电容,你好像去耦电容不多,而且布板的时候不清楚那颗应该布在哪个脚附近,会影响杂散和旁瓣的
感谢回复,通过修改电路布局,解决了这个问题,接下来是考虑CC1101与cc430f6137之间的通信问题!十分感谢!
原理图问题 还是布板的问题?
电路改了,第一版没有使用GDO0管脚,之后使用GDO0管脚,可以了。程序上也有些问题,现将测试程序发上来,供大家测试使用
谢谢分享