Found an error in the Clock Diadram tab on the LPC812 processor.

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Found an error in the Clock Diadram tab on the LPC812 processor.

1,913件の閲覧回数
alexanderandrij
Contributor I

Found an error in the Clock Diadram tab on the LPC812 processor. It looks like UARTFRGMUL is confused (must have a range of values from 0 to 255, but only 255 can be entered) and UARTFRGDIV (must have a fixed value of 255, but it does not). It should be exactly the opposite. To whom to address this problem?Снимок экрана от 2018-06-11 22-33-18.png

0 件の賞賛
返信
1 返信

772件の閲覧回数
marek_neuzil
NXP Employee
NXP Employee

Hi Alexander,

I have checked the clock model against the reference manual but it seems that the clock model is correct. The clock model implementation represents the fractional scale factor of the divider that is described in the reference manual. The MULT value represent the numerator of the fractional divider and the DIV value represent the denominator value.

The UART_fractional_divider_output_frequency = UARTCLKDIV_output_frequency / (1 + MULT/DIV) =  UARTCLKDIV_output_frequency / ((DIV + MULT)/DIV) = UARTCLKDIV_output_frequency / ((256 + MULT) / 256)

Note: The only allowed value of the DIV is 256 (or 0 when fractional part is disabled).

Therefore the scale factor of the fractional divider  = (256 + MULT) / 256

i.e. divider = 256 + MULT, multiplier = 256.

See also the reference manual of the LPC812 (UM10601)

I understand that the clock model of this fractional divider is confusing but the model is correct. We will try to improve the representation of this UART fractional divider.

I have also checked the generated code and it seems that the register UARTCLKDIV (the DIV bitfield) is not initialized by the value of the denominator (256) in the generated initialization code. I will report this issue to the responsible development team.

Best Regards,

Marek Neuzil

0 件の賞賛
返信