I've experienced a performance degradation when the external RTC low frequency clock is removed from a board. Here is my experiment:
1. A board with imx6s (MCIMX6S5DVM10AB) and an RTC low frequency external clock. I have an application (written by me) which records compressed video in a file. I am able to record at 30 frames per second (FPS) on this board.
2. I took the exact same board as in 1 and I removed the external low frequency clock (hardware removal). My frame rate dropped to 28 running the exact same software as in case 1.
Looking through the datasheet of imx6 I found the following (Section 4.1.4 External Clock Sources):
The RTC_XTALI is used for low-frequency functions. It supplies the clock for wake-up circuit, power-down real time clock operation, and slow system and watch-dog counters. The clock input can be connected to either external oscillator or a crystal using internal oscillator amplifier. Additionally, there is an internal ring oscillator, which can be used instead of the RTC_XTALI if accuracy is not important.
NOTE: The internal RTC oscillator does not provide an accurate frequency and is affected by process, voltage, and temperature variations. NXP strongly recommends using an external crystal as the RTC_XTALI reference. If the internal oscillator is used instead, careful consideration must be given to the timing implications on all of the SoC modules dependent on this clock. The system clock input XTALI is used to generate the main system clock. It supplies the PLLs and other peripherals. The system clock input can be connected to either external oscillator or a crystal using internal oscillator amplifier.
Questions:
1. Is a performance degradation like the one I've experienced expected if an external RTC clock is not used?
2. If I remove the external RTC low frequency clock do I need to do any software changes in order to get the same performance?
3. Is the internal ring oscillator enabled by default if the external clock is removed?
Regards,
Remus.
已解决! 转到解答。
Hi Remus
>1. Is a performance degradation like the one I've experienced expected if an external RTC clock is not used?
low frequency clock is used in many places of processor clock generation subsystem, one can look for
"ckil", "32k" in Chapter 18 Clock Controller Module (CCM) i.MX6SDL Reference Manual,
so timings may be wrong for many modules which use this clock. Due to wrong timings performance
measurements and reports also may be wrong.
http://www.nxp.com/assets/documents/data/en/reference-manuals/IMX6SDLRM.pdf
>2. If I remove the external RTC low frequency clock do I need to do any software changes in order to get the same performance?
as you correctly noted:
" internal RTC oscillator does not provide an accurate frequency and is
affected by process, voltage, and temperature variations."
so one will have measure internal RTC oscillator frequency (which may be different on
different chips) and make software changes for each chip. Note that frequency may vary with temperature.
Having all that in mind, seems making software adustments looks as not having sense.
>3. Is the internal ring oscillator enabled by default if the external clock is removed?
yes
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Remus
>1. Is a performance degradation like the one I've experienced expected if an external RTC clock is not used?
low frequency clock is used in many places of processor clock generation subsystem, one can look for
"ckil", "32k" in Chapter 18 Clock Controller Module (CCM) i.MX6SDL Reference Manual,
so timings may be wrong for many modules which use this clock. Due to wrong timings performance
measurements and reports also may be wrong.
http://www.nxp.com/assets/documents/data/en/reference-manuals/IMX6SDLRM.pdf
>2. If I remove the external RTC low frequency clock do I need to do any software changes in order to get the same performance?
as you correctly noted:
" internal RTC oscillator does not provide an accurate frequency and is
affected by process, voltage, and temperature variations."
so one will have measure internal RTC oscillator frequency (which may be different on
different chips) and make software changes for each chip. Note that frequency may vary with temperature.
Having all that in mind, seems making software adustments looks as not having sense.
>3. Is the internal ring oscillator enabled by default if the external clock is removed?
yes
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------