主题中讨论的其他器件: MSP430FR5969
我正在尝试在使用 MSP430的设计中重新播放 MSP430FR5969、并在 MSP432E401Y 中重新播放四个 ADS1283以添加以太网功能。 在现有设计中、MSP430通过对其8.192MHz 主时钟进行分频来为 ADS1283提供4.096MHz MCLK。 在 MSP432E401Y 上、要使用片上以太网 PHY、MOSC 必须为25MHz、因此我需要使用 PLL 来生成4.096MHz 时钟、因为4.096不是25的整数小数。
我花了相当多的时间尝试确定是否可以同时满足我对 ENET (以及25MHz MOSC 规范)和4.096MHz ADC 时钟的要求。 我认为我找到了一个解决方案,虽然不是完美的,但它会给我带来误差小于50ppm 的 ADC 时钟。 我在数据表和技术参考手册中发现了几个不一致之处,因此我无法完全确定我的结果,我将在此处发布这些结果,以查看您是否同意这种做法。
以下是我发现的导致我不确定的不一致之处:
1)在 MSP432E401Y 数据表(第49页)和 TRM 中、提到了 fVCO、但没有有关其运行限制的规格。 这是否与数据表表表中的表5.5中的 fPLLR 相同?
2) fVCO 的计算方法为 fVCO =(fin ×MDIV)、fin = fXTAL /(Q+1)(N+1)、MDIV = mint +(MFRAC / 1024)。 我没有找到 fXTAL 的定义位置。 这是 MOSC 的频率吗? 如果不是、什么是 fXTAL?
3)在 TRM 的4.1.5.5.1节中、表述如下: "PLL 系统分频系数(PSYSDIV)必须设置为1"、但是 RSCLKCFG 寄存器中的 PSYSDIV 域是一个10位宽的域。 如果必须将寄存器字段设置为1、为什么该字段为10位? 这是一个文档错误、实际上 PSYSDIV 可以更大(最多1024个)吗?
4)在表4-6中有一列参考频率、并注明:"对于给定的晶振频率、应选择 N、使参考频率在4至30MHz 范围内"。 没有任何其他参考基准频率的地方。 什么是基准频率? 为什么表4-6参考频率列中的两个值为2、这不符合上述说明中的要求?
以下是我建议的时钟寄存器设置:
RSCLKCFG MEMTIMEU = 1
NEWFREQ = 1
ACG = 0
USEPLL = 1
PLLSRC = 0
OSCSRC = 3
OSYSDIV = 0
PSYSDIV = 1
PLLFREQ0 PLLPWR = 1
MFRAC = 503
薄荷= 29
PLLFREQ1 Q = 0
N = 4
DIVSCLK EN = 1.
src = 0
DIV = 17
使用这些值、我计算出以下值(以 MHz 为单位)、假设 fXTAL 是指 OSC 输入频率:
fXTAL 25
MDIV 29+(503/1024)= 29.49121094
翅片 25/(0+1)(4+1)= 5
fVCO 5 x 29.49121094 = 147.4560547
SYSCLK 147.4560547/(1+1)=73.72802734
DIVSCLK 73.72802734/(17+1)= 4.096001519
我会使用 DIVSCLK 来驱动 ADC MCLK。
您能否确认这适用于 MSP432E4、并澄清上述不一致之处?
谢谢、
-Phil