This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Timing Problems on RM48

Other Parts Discussed in Thread: HALCOGEN

Hi folks!

For first evaluations on the RM48 plattform I used the TMDSRM-USB-Kit. Currently I’m working with a Hercules RM48LM592PGE mounted on a custom board. During development I noticed some timing problems. An RTI configured to trigger after 1000us is fired after 22s. Same issues with the HET-Timers. A PWM-Signal with 50kHz leads to a measured clock of round about 2.3 kHz. There is a delay factor of ~22 !

I thought that reference clock is generated internally, but having a look on different schematics, it turned out that there is an external oscillator (Y1 16 Mhz). Well, this part is missing on our board. Is that the reason for the timing probs and where is the mcu getting the clock reference now? Because programming and debugging works fine….

And by the way: is there something like an assembly guide?!

Great forum guys. Keep it up!

Cheers

Jan

  • Hi Jan,

    Yes, there is an internal clock source called the "low-power oscillator" which generates the clock signal used for starting up the MCU in case the external oscillator is not available, or has failed. There is an oscillator monitor on-chip that switches over all clock domains to use this internal clock source (HF LPO, nominally 10MHz). This internal clock source has a wide tolerance range (specified in the datasheet as 5.5MHz to 19.5MHz) and is normally calibrated and trimmed during initialization to be as close to 10MHz as possible.

    What kind of assembly guide are you looking for? There is ongoing work on putting together hardware design guidelines, but I don't have an availability date for you yet.

    Regards,
    Sunil

  • Hello Sunil,
    thank you for the quick response. Does that mean that without the oscillator (Y1) the mcu will not work properly? I've used the standard settings in halcogen, but the het, sci and rti (the periphals i've tested so far) are clocking too slow. How can i check the clocks in realtime?


    Regards
    Jan

  • Hello Jan,

    What are your clock assumptions? Without the external oscillator, the part boots up using the 10MHz internal clock source, hence you are observing all timings 22x slower, which is 220/10 :-)

    You can now configure the PLL in HALCoGen assuming an input clock of 10MHz and run the system up to the desired target speed of 220MHz. Note that the internal 10MHz clock source is not very accurate and could vary with voltage and temperature. So it is not recommended for use in CAN communication for example.

    You can output several internal clock signals onto the ECLK pin using the Clock Test mode (explained in TRM). You need to have an external observer circuit (or scope) in this case to measure the frequency. There are two internal dual-clock comparator modules that you can use to measure the frequency of some internal clock signals as well. This requires you to have an external oscillator to be used as a "known-good" reference frequency.

    Regards,
    Sunil
  • First correction in my answer: you need to configure PLL2 to be 220MHz assuming an input frequency of 10MHz. Then you need to select PLL2 output frequency as the source for the GHV clock domains by configuring GHVSRC = 6.

    Second correction: please correct your board design by adding an external oscillator.