最近要做一个激光测距的项目,用到了TDC-GP22这款芯片,主控芯片用的是STM32F1。打了一个TDC-GP22的模块,使用杜邦线和STM32最小系统连接。目前刚刚调通了SPI通信,总结了几个需要注意的地方。
模块原理图如下:
这个原理图基本上就是从应用手册里面照抄的,之前看到有人说33引脚(底部的那个大焊盘)不接地的话会导致SPI通信异常,所以我画板子的时候直接把33号接地了。另外,两个晶振都采用了石英晶振,匹配电容粗略计算了一下。
模块的layout如下:
板子布线难度较低
拿到模块进行通信的时候一开始通信不上,调试了一天总算是通信上了,总结了一下可能出现的问题:
(1)RSTN 一定要记得拉高,不然芯片会一zhe位状态。
(2)SPI的读和写之间的延时时间要足够,在4M的速率下,我的延时时间是70us。当时在这个问题上困扰了很久,用示波器检查了SPI的波形和时序,都没问题,但是就是通信不上。
接下来就要进行TDC芯片测量时间间隔功能的实现了,在此之前还要进行一个高速晶振的校准,这里又遇到了问题,写入校准时钟的指令后,芯片没有应答。目前仍在解决这个问题,猜测可能的原因有:
(1)芯片的接线问题(2)写入指令的问题(3)芯片损坏,这是最不希望出现的情况。
如果有人遇到和我一样的问题的话,欢迎在评论区一起交流!