您好!
和以前一样、我尝试使用 Spartan-6作为主器件、使用 DAC PCM5252作为主机。 如前所述、我是 SPI 模式对寄存器进行编程、4线 I2S 接口、32位、Flrck = 96kHz、Fbck = 64 * FS、fsck = 128* FS。 我有3个关于寄存器计时和写入的问题、在数据表中找不到答案。
1)根据我的理解: 在 AVDD、DVDD、CPVDD 上的电压上升至3.3之后的任何时间、可以应用时钟 SCK、BCK、LRCK。 应用时钟后需要4ms (电压上升至标称3.3V 后可随时应用)才能将 PCM5252拉出复位状态。 但是、相对于应用的时钟、何时会发生对寄存器的写入? 何时应在引脚上应用 BCK、SCK 和 LRCK? 是否需要在 SPI 编程寄存器完成后进行(如果是、延迟是多少)? 或者、只要数据被拉至 Z 状态、我就可以随时(在写入寄存器之前、同时甚至在写入完成之后)应用时钟。
2) 2)只需进行双检查:寄存器地址为8位。 我要写入的2个寄存器是 reg 40和 reg 42。 我们以下面的示例为例:我要写入 reg x40、我的命令是 x03 (32位数据大小)、所以我的写入字是 x4003。 我是否理解正确、我需要将 x40向左移位以为 r/w 腾出空间(因此第七个地址位变为 MSV)? 因此,尽管 r/w=0,x40是否变为 x80,我的写字- x8003?
3) 3)这可能很明显、但我是否需要在每次写入新寄存器时指定 r/w?
谢谢、
罗马