VC
在调试I
ADXL345与
分析上图,McBSP0的CLKX0充当SCK信号,DR0充当MISO信号,DX0充当MOSI信号,FSX0充当SS信号,INT0n充当INTn信号。这些信号分别与ADXL345的对应引脚直接相连即可。下图为完整的原理图:
ADXL345与
调试要点小结:
1)将VC
2)程序编写的关键是要把McBSP0正确的配置在时钟停止模式。使用CSL来完成该配置工作,容易实现,避免了一些不必要的错误。在McBSP的数据手册中,有配置McBSP工作在SPI模式的详细步骤(6-8)。下面为配置步骤:
(1)复位发送和接收器。XRST=0,RRST=0。
(2)复位采样率生成器。GRST=0。
(3)修改影响SPI工作的寄存器。需要修改的一些信息列出如下:
1> 根据ADXL345的手册中SPI的时序图,得出数据在SCK时钟的下降沿发送,在上升沿接收。所以配置CLKSTP=10b,CLKXP=1b,CLKRP=0b。
2> CLKX充当SCK信号,该信号由VC
3> 时钟信号由McBSP的采样率生成器提供。所以配置SCLKME=0b,CLKSM=1b。
4> 系统时钟工作在144MHz,如果要让ADXL345的数据输出速率达到3200Hz,需要使得SCK时钟频率高于2MHz;为避免时钟过高造成负面影响,推荐SCK时钟不高于5MHz。在这里设定SCK频率为4MHz。所以配置CLKGDV=36(144/4=36)。
5> FSX充当SS信号,为输出信号;且ADXL345的CS信号为低电平有效。所以配置FSXM=1b,FSGM=0b,FSXP=1b。
6> 为保证FSX信号的正确性,需配置XDATDLY=01b,RDATDLY=01b。
7> 在SPI模式时,还需注意只能使用单帧模式,帧长固定为1。需要配置XPHASE=0,RPHASE=0,XFRLEN1=0,
8> 因为在时钟停止模式下,发送和接收电路同步于同一个时钟信号,所以需要将XWDLEN1和RWDLEN1设为相同值。这里根据ADXL345的读写时序,设定其长度均为16。
(4)使能采样率生成器。GRST=1。
(5)使能发送和接收器。XRST=1,RRST=1。
(6)使能帧同步逻辑。FRST=1。
3)调试中,碰到了一些比较奇怪的现象。比如不连接ADXL345,MISO上也有很杂散的信号输出,SS信号高电平仅为2.2V左右。后来发现是由于AIC23B0的干扰,拆除终端匹配电阻后,信号恢复正常。
4)开始调试时,程序无法进入中断,不容易观察读写时序。使用循环读取寄存器清除中断的方式来构造读写时序。这时可看到中断信号的变化,SCK信号也为设定的4MHz。根据波形,对比时序图,来寻找bug。这要比单纯修改程序代码要高效的多。
5)关于MISO信号。该信号由ADXL345输出。根据时序图,高8位应当为无效数据,但实际观察的波形和读取的数据表明,高8位的确也存在数据。为凸显出问题,修改为循环读取1个寄存器,发现高8位和低8位相同;改为循环读取2个寄存器,发现高8位和低8位数据交错。找到了规律:在读取数据时,高8位上次读取过的数据;低8位为这次要读取的数据。所以只需将高8位数据屏蔽即可。
6)MISO信号在最后输出高电平后,有一个很缓慢的下降沿;分析这是由于ADXL345在输出完最后一个数据(高电平)后,即保持高阻抗,所以表现出一个缓慢的下降沿。不会对数据传输的正确性造成影响。
7)对ADXL345的执行写操作时,也需要执行一条读操作。否则读取的数据会发生错乱。
8)在程序的开始,需要清除ADXL345的中断信号,才能触发中断循环。在这里读取一次寄存器,也能够进入中断,但此时DATA_RDY中断还没有产生,所以无法触发中断循环。所以添加了一个循环和标志位,循环检测标志位并读取寄存器;在有效中断时将标志位置1,当检测到标志位为1后,表明已触发中断循环,退出读取循环,继续下面的操作。但是有一点,这种方式在测试程序中是可行的;而在真正使用中是行不通的。因为若ADXL345存在问题,则程序死在这里,使得其他功能也无法实现。实际中可在此实际一个有限循环,而非无限循环。
9)最后测试,将速率设置为3200Hz,通过示波器观察中断,大约300us中断一次,对应3200Hz。中断的低电平时间基本一致,说明能够规律的进入中断,而不像先前杂乱的中断信号。测试中断函数的指令大约为9000条,占时为大约54us,支持中断频率大约19kHz。
程序编写展望:
1)将McBSP0和DMA结合,可进一步提升数据读写的效率。这种方式在需要对读取的数据进行大量数据运算时很有优势。但实现有难度,需要把XINT0、RINT0、INT0中断和DMA配合好。实现难度比较大。
2)现在由于缓冲区的限制,只能观察到部分加速度波形,如果能添加RTDX,并编写一个上位机软件,可以将采集到的加速度信息存储到上位机,并可观察到完整的加速度信息。
用户评论(共0条评论)
挑选商品 > 确认购买 > 网上支付/货到付款 > 验货满意 > 点评商品