Just curious why the STM32F427 is clocked at 168MHz when it can achieve 180MHz? That can easily be done in the firmware by setting a couple more registers during the C-bootstrap/start-up code (without any modification to the existing hardware).
Why not clock it @ 180MHz?
Started by xc2rx, Jul 14 2015 05:58 AM
2 replies to this topic
#1
Posted 14 July 2015 - 05:58 AM
#2
Posted 14 July 2015 - 07:35 AM
The default STM port that the N3 is based on doesn't allow 180mhz due to the clock dividers used for USB and other peripherals.
To achieve 180mhz more files need a massage.
#3
Posted 14 July 2015 - 04:34 PM
Hey xc2rx,
You're welcome to hack your board to tweak speed settings. There are two main reasons why Netduino 3 is running at 168MHz (instead of clocked up to 180MHz).
The first reason is SPI bus speed. The SPI bus uses a divider to clock peripherals. While 180MHz might make it sound like that would enable faster communication with devices, some devices run at 21MHz. A 168MHz main clock allows a 21MHz SPI clock speed whereas a 180MHz main clock drops that speed to 11.25MHz (since 22.5MHz would be too fast for those devices).
The second reason is because of concerns over USB reliability. In the past there has been some concern about the core clock settings and multipliers not providing the correct USB clock. This may be an issue which has been solved in recent STM32F4 chip revisions--but to date our engineering team has not signed off on use of an 180MHz clock with USB peripherals. [And yes, we have seen other solutions driving USB with an 180MHz main clock...but we over-engineer things around here.]
If we get comfortable with an 180MHz clock by default, we may tweak this via a firmware update (or a board revision which changes the crystal speed) in the future. But for now, we recommend and use 168MHz.
Chris
You're welcome to hack your board to tweak speed settings. There are two main reasons why Netduino 3 is running at 168MHz (instead of clocked up to 180MHz).
The first reason is SPI bus speed. The SPI bus uses a divider to clock peripherals. While 180MHz might make it sound like that would enable faster communication with devices, some devices run at 21MHz. A 168MHz main clock allows a 21MHz SPI clock speed whereas a 180MHz main clock drops that speed to 11.25MHz (since 22.5MHz would be too fast for those devices).
The second reason is because of concerns over USB reliability. In the past there has been some concern about the core clock settings and multipliers not providing the correct USB clock. This may be an issue which has been solved in recent STM32F4 chip revisions--but to date our engineering team has not signed off on use of an 180MHz clock with USB peripherals. [And yes, we have seen other solutions driving USB with an 180MHz main clock...but we over-engineer things around here.]
If we get comfortable with an 180MHz clock by default, we may tweak this via a firmware update (or a board revision which changes the crystal speed) in the future. But for now, we recommend and use 168MHz.
Chris
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users