我正在使用 LMK04806上的输出时钟同步功能。 尽管我尚未确认这一点、但我怀疑系统中的问题是 LMK04806的输出时钟之一。 请参阅下面的编程顺序。 所示的函数只是对 LMK04806执行32位写操作、其中低5位是寄存器地址。
//发出重置命令
SYS_WrLMK04806 (0x80160140);
//对寄存器序列进行编程
SYS_WrLMK04806 (0x00140A00);
SYS_WrLMK04806 (0x00140A01);
SYS_WrLMK04806 (0x00140A02);
SYS_WrLMK04806 (0x00140103);
SYS_WrLMK04806 (0x80140144);
SYS_WrLMK04806 (0x00140A05);
SYS_WrLMK04806 (0x33010006);
SYS_WrLMK04806 (0x30330007);
SYS_WrLMK04806 (0x03010008);
SYS_WrLMK04806 (0x555549);
SYS_WrLMK04806 (0x9102410A);// EN_feedback_MUX=0
SYS_WrLMK04806 (0x0493000B);// SYNC_QUAL=1、SYNC_POL_INV=1、SYNC_EN_AUTO=0、SYNC_TYPE=000
SYS_WrLMK04806 (0x1B0C016C);
SYS_WrLMK04806 (0x3B13102D);
SYS_WrLMK04806 (0x1300000E);
SYS_WrLMK04806 (0x8010800F);
SYS_WrLMK04806 (0xC1550410);
SYS_WrLMK04806 (0x00000058);
SYS_WrLMK04806 (0x02C9C419);
SYS_WrLMK04806 (0xABA8001A);
SYS_WrLMK04806 (0x18001E1B);
SYS_WrLMK04806 (0x00200F1C);
SYS_WrLMK04806 (0x0180015D);
SYS_WrLMK04806 (0x0200015E);
SYS_WrLMK04806 (0x001F001F);
//触发手动同步事件
SYS_WrLMK04806 (0x0492000B);// SYNC_QUAL=1、SYNC_POL_INV=0、SYNC_EN_AUTO=0、SYNC_TYPE=000
SYS_WrLMK04806 (0x0493000B);// SYNC_QUAL=1、SYNC_POL_INV=1、SYNC_EN_AUTO=0、SYNC_TYPE=000
我发现这个编程序列在我的系统中工作。 但是、如果我将所有 SYNC_QUAL 位更改为0、则不起作用。 我从数据表中了解到、我应该能够使用 SYNC_QUAL=0。 硬件也可以在 SYNC 引脚上生成脉冲、但问题会在发生前出现。 因此、它肯定与上面的编程序列相关。
谢谢、
CYUNG