我们通过SPI(DSP为主设备,AD为从设备,两者之间互连SCLK与SOMI管脚)在C6748外挂了ADS1278芯片进行数据采样。以C6748_StarterWare_1_20_04_01内提供的底层操作与demo为基础搭建驱动程序,没有使用BIOS。SPI模块输入时钟为PLL0_SYSCLK2,频率为147.456 M hz,SPI内部模块对其分频(分频系数为30),最终SPI的通信时钟SCLK为4.9152M hz。
在调试底层软件是出现以下现象:
在CCS6.1下(编译器为TI v8.0.3),DSP能通过SPI正常读取到AD采样数据,采样数值与采样中断频率等均正常;
在CCS3.3下(编译器为TI v7.4.2),同样的代码DSP能通过SPI读取AD采样数据异常,但是采样中断频率还是正常的。通过示波器观察SPI接口时钟与数据线,CCS3.3时波形如下:
SPI SCLK:SPI通信时钟已变形成三角波,且频率为74Mhz左右。
SPI SOMI:数据信号也是畸变比较严重;
请求给位专家给一些调试排查建议。
我们自己做了以下尝试:
1 CCS3.3下不同编译器版本测试,如7.4.2和6.1.17等;
2 SPI通信时钟不同频率配置,如分频系数分别设定为20,30,40。理论上不同分频系数会产生对应的SCLK频率,但是我们观察到的实际波形都是上图所示的三角波,且频率固定在70多M hz。