LPC5502JBD64的UART的最大波特率在用户手册上写的是10Mbps(异步模式)和25Mbps(同步模式),分队对应两种模式。
但是如果用手册中给出的公式,那么计算后的结果分别是9.6Mbps(异步模式)和48Mbps(同步模式),想问一下我的计算出问题了还是手册中写的有问题。
从附件的可以看出,异步模式的时候,
FCLK最大为48Mhz,,OSRVAL最小为4,BRGVAL最小为0,
则UART的最大波特率 = [FCLK/(OSRVAL + 1)]/(BRGVAL + 1) = 48/5/1 = 9.6Mbps
同步模式时,
Un_SCLK = FCLK / (BRGVAL+1) = 48MHz,我理解这个时钟频率即为同步模式的波特率:48Mbps
想问一下上面的算法有没有什么不对的地方。
Hello @dashanli
您的公式是正确的。
1)“同步模式时,
Un_SCLK = FCLK / (BRGVAL+1) = 48MHz,我理解这个时钟频率即为同步模式的波特率:48Mbps”
->> 计算的理论值没有问题,但是硬件的限制,只能最大波特率在25Mbps.
2)异步模式的时候,
FCLK最大为48Mhz,,OSRVAL最小为4,BRGVAL最小为0,
则UART的最大波特率 = [FCLK/(OSRVAL + 1)]/(BRGVAL + 1) = 48/5/1 = 9.6Mbps
->>此计算也没有问题,LPC5502JBD64 UART 异步模式时的最大波特率就是9.6Mbps. 之所以写了10Mbps,因为按照50MHZ FCLKC计算的,PLL可以倍频到50MHZ。但是flexcomme 的时钟源最大是48MHZ。 所以是9.6Mbps.
BR
Alice