IOP模块的时钟(用于内部控制器逻辑)可以由时钟子系统生成,或者在某些情况下,由IOP的外部接口生成。在所有情况下,IOP的控制和状态寄存器都是由其AMBA接口时钟(CPU_1x)驱动的。有时,CPU_1x时钟是IOP唯一使用的时钟。
一、以太网时钟
以太网的时钟生产网络如 Figure 25-7所示。
1、以太网接收时钟
以太网接收端有两个时钟,用于为千兆以太网MAC IP的接收端提供时钟。在正常的功能模式下,这些时钟要么通过MIO或扩展MIO(EMIO)从外部以太网PHY获取,要么来自内部以太网参考时钟(在MAC内部回环模式下)。这些时钟还配备了一个使能门控,可用于节能控制。
由于源时钟可能不存在,因此源选择多路复用器和回环选择多路复用器并非无抖动。建议在更改多路复用器之前禁用时钟。为了支持回环模式,enet0_rx_clk和enet1_rx_clk由enet0_ref_clk和enet1_ref_clk提供。
在设计以太网子系统时,必须确保正确地选择和配置时钟源。对于外部PHY,需要确保它通过MIO或EMIO正确连接,并且提供的时钟信号是稳定和准确的。对于内部回环模式,需要配置内部参考时钟以支持所需的测试或调试操作。
2、以太网发送时钟
需要生成两个以太网时钟:enet0_tx_clk和enet1_tx_clk。这些时钟用于为以太网MAC的发送端提供时钟,并作为RGMII接口的源同步输出时钟。当选择内部回环模式时,它们还用于为以太网接收路径提供稳定的参考时钟。
这些时钟也可以从EMIO获取。在这种情况下,相关的RGMII接口将被禁用,MAC将通过MII或GMII接口连接到可编程逻辑(PL)。此时,以太网参考时钟必须由PL提供。这适用于MII或GMII模式,通常在MII中tx_clk是输入,在GMII中是输出。
在MII或GMII模式下工作时,其参考时钟由PL通过eth*_emio_tx_clk提供。由于无法确保EMIO源时钟的存在,EMIO源多路复用器并非无抖动。预计这种源选择是静态配置,或者在切换到EMIO源之前将生成的时钟进行门控。为了支持回环模式,gem0_rx_clk和gem1_rx_clk由gem0_ref_clk和gem1_ref_clk提供。
在设计和配置以太网发送时钟时,需要仔细考虑时钟源的选择和配置。确保从稳定的源获取时钟信号,并在需要时正确配置回环模式。此外,当使用EMIO作为时钟源时,应注意潜在的抖动问题,并采取适当的预防措施。这些措施可能包括在更改时钟源之前禁用时钟或使用门控机制来避免时钟不稳定的情况。
二、SDIO、SMC、SPI、Quad-SPI和UART时钟
SDIO、SMC、Quad SPI和UART外设时钟都使用相同的编程模型(如图25-8所示)。每个I/O外设控制器的PLL源和分频值都是共享的。每个SDIO、SPI和UART控制器的时钟都可以单独启用/禁用。SMC和Quad SPI控制器各有一个单独的时钟。Quad-SPI时钟通过Quad-SPI波特率分频器至少进行两次分频。在主模式下,SPI时钟通过SPI波特率分频器至少进行四次分频。
在设计这些外设的时钟系统时,重要的是要理解每个外设的时钟需求和分频器的配置方式。通过正确配置分频器,可以确保外设以适当的速率运行。此外,独立启用/禁用不同外设的时钟也是实现节能和灵活性的关键。这允许系统根据需要在运行时动态地管理外设的电源状态。
对于Quad-SPI和SPI这样的串行通信接口,分频器的设置直接影响到数据传输的波特率。正确配置波特率分频器是确保数据正确传输的关键。特别是在高速数据传输的场景下,这一点尤为重要。
三、CAN时钟
存在两个控制器局域网(CAN)参考时钟:CAN0_REF_CLK和CAN1_REF_CLK。这两个时钟共享相同的PLL源选择和分频器,如图25-9所示。每个时钟都有独立的替代源选择(MIO引脚或时钟发生器),以及独立的时钟门控。这些时钟用于CAN外设的I/O接口端。
在设计CAN通信系统的时钟时,需要确保参考时钟的稳定性和准确性。PLL源和分频器的正确配置对于确保CAN总线的正常运行至关重要。此外,独立的源选择和时钟门控机制提供了灵活性和节能性,可以根据需要启用或禁用特定CAN通道的时钟。