TI论坛
直播中

李永每

8年用户 1523经验值
私信 关注
[问答]

ths1230与DSP2812之间直接并口连接,进行数据采集,DSP读AD的数据时读信号的最高频率小于2MHZ,为什么?


  • 你好。我选用的是ti的ths1230与DSP2812之间直接并口连接,进行数据采集,时钟频率为12.5MHZ,也即采样率为12.5MHZ,XINTF选用的是ZONE6。但DSP读AD的数据时,发现读信号的最高频率小于2MHZ(通过观察XZCS6引脚的输出脉冲的频率得知)。
    读数据的指令为:
    for(i=0;i<512,i++)
    {
    Voltage=ADCDATA;  //ADCDATA为定义好的ZONE6区内的一个地址;
    }
    即使将XINTF的时钟频率设为最高,读信号的频率也不到2MHZ,所以,我想问一下,一般的高速AD与DSP之间通讯,是之间要连接数据缓存芯片吗?还是我的程序有问题?
    谢谢。

回帖(2)

张健

2025-2-11 14:13:54
 你的读取并不合适,下面是一个读取的例子,供你参考:
volatile Uint16 *ADCDest;
volatile Uint16 *ADCSource;
ADCSource = &ADS_Buf;
ADCDest= &ADS_Result[ i ];
*ADCDest++ = *ADCSource++;
另外:
1. ADS_Buf is external ZONE6 address.
2. 请确保DSP能够在330ns(1/30M)内能够读出数据,否则的话,你要想办法提高DSP的内外设的clock.
举报

赵敏

2025-2-11 17:41:01
你好,根据你提供的信息,ths1230与DSP2812之间直接并口连接进行数据采集,时钟频率为12.5MHz,采样率为12.5MHz,XINTF选用的是ZONE6。但是,你发现DSP读AD的数据时,读信号的最高频率小于2MHz。这里有几个可能的原因:

1. 程序问题:你的程序中只有一个for循环,每次循环只读取一个AD数据。这可能导致读取速度较慢。你可以尝试优化程序,例如使用中断或者DMA(直接内存访问)来提高读取速度。

2. 硬件限制:ths1230和DSP2812之间的连接可能存在硬件限制,导致读取速度无法达到预期。你可以尝试检查硬件连接是否正确,以及是否存在其他硬件限制。

3. 缓存芯片:在高速AD与DSP之间通讯时,通常会使用数据缓存芯片来提高数据传输速度。你可以考虑添加一个缓存芯片,以提高数据读取速度。

4. 时钟频率设置:你提到即使将XINTF的时钟频率设为最高,读信号的频率也不到2MHz。这可能是因为DSP2812的时钟频率设置不正确,或者XINTF的时钟频率设置有误。你可以尝试检查时钟频率设置,确保它们正确无误。

综上所述,你可以尝试优化程序、检查硬件连接和时钟频率设置,以及考虑添加缓存芯片来提高数据读取速度。希望这些建议对你有所帮助。
举报

更多回帖

×
20
完善资料,
赚取积分