TI论坛
直播中

张鹏

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

DAC3164时序和信号,输出信号有毛刺怎么解决?





  • 按上图时序实现逻辑;
    1.SYNC按每隔8个给一个上升沿复位fifo,是否是这样使用?中间没有数据发送时候不需要停吧;
    2.SYNC既是fifo读写指针复位信号,作为复位信号也兼具了同步信号的作用?
    3.那跨时钟域下,如果是sif做复位同步,时间较长的话,频偏会造成读写指针出现碰撞报警?
    4.我的需求是发送一段数据后中间间隔一段时间后继续发送数据,采用的是txen有效方式来实现,是不是这种方式最好?其它方式比如停止时钟也能实现?
    5.我调整a通道的数据延迟值或者b通道的时钟延迟值都能让有毛刺的波形更完美,为什么b通道延迟值会影响A通道波形?
    寄存器配置:
    DA3164_REG_CONFIG0, 0x16ED);
    DA3164_REG_CONFIG1, 0x600E);
    DA3164_REG_CONFIG2, 0x3FFC);
    DA3164_REG_CONFIG3, 0x6000);
    DA3164_REG_CONFIG4, 0x0000);
    DA3164_REG_CONFIG5, 0x0000);
    DA3164_REG_CONFIG7, 0x0000);
    DA3164_REG_CONFIG8, 0x4000);
    DA3164_REG_CONFIG9, 0x8000);
    DA3164_REG_CONFIG10, 0xF080);

    最后一个数据段发送时候,波形会出现很多混乱跳动的点,为数据写入内存缓存未刷新导致数据污染所致;

回帖(2)

王红梅

2024-11-21 15:23:23
波形能输出,但波形会出现异常点,通过调整延迟值可以使得波形异常点减少变的平滑;但我的多个间隔发送的数据段,尤其是在最后一个数据段发送时候,波形会出现很多混乱跳动的点

能否将波形附上看下异常点具体表现在什么方面?另外,调整延迟值可以降低异常点,调整的是什么延迟?
因为输出有毛刺,可能还是和时钟信号有关,是否采用的低抖动的时钟信号?
举报

爱与友人

2024-11-21 18:11:48
针对您的问题,我将逐一进行解答:

1. SYNC按每隔8个给一个上升沿复位fifo,是否是这样使用?中间没有数据发送时候不需要停吧;
   是的,您可以按照这种方式使用SYNC信号。每隔8个时钟周期给一个上升沿复位FIFO。在没有数据发送的时候,您不需要停止FIFO,因为它会自动处理空数据。

2. SYNC既是fifo读写指针复位信号,作为复位信号也兼具了同步信号的作用?
   是的,SYNC信号既可以作为FIFO读写指针的复位信号,也可以作为同步信号。它确保了数据在FIFO中的顺序和时序。

3. 那跨时钟域下,如果是sif做复位同步,时间较长的话,频偏会造成读写指针出现碰撞报警?
   在跨时钟域的情况下,如果使用SYNC信号进行复位同步,确实可能会因为时钟频率偏差导致读写指针出现碰撞报警。为了避免这种情况,您可以使用时钟域交叉技术,例如使用双触发器或时钟域交叉缓冲器来确保信号在不同时钟域之间正确同步。

4. 我的需求是发送一段数据后中间间隔一段时间后继续发送数据,采用的是txen有效方式来实现,是不是这种方式最好?其它方式比如停止时钟也能实现?
   使用TXEN有效方式来实现您的需求是一个可行的方法。这种方式可以确保在发送数据时,TXEN信号保持有效,而在数据发送完毕后,TXEN信号变为无效。其他方式,如停止时钟,也可以实现类似的功能,但可能会影响系统的功耗和性能。具体选择哪种方式取决于您的系统需求和性能要求。

5. 我调整a通道的数据延迟值或者b通道的时钟延迟值都能让有毛刺的波形更完美,为什么b通道延迟值会影响A通道?
   调整A通道的数据延迟值或B通道的时钟延迟值可以改善毛刺波形,因为它们可以调整信号的时序,使其更接近理想的时序。B通道的延迟值会影响A通道,因为它们可能共享同一个时钟源或时钟域。当您调整B通道的延迟值时,可能会间接影响到A通道的时序,从而改善毛刺波形。

希望以上解答能够帮助您解决问题。如有其他疑问,请随时提问。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分