Hello,
I am programming a Rabbit RCM6700 and have noticed some concerning issues regarding the overall performance. According to the manuals, the Rabbit 6000 processor utilized by the RCM 6700 has a maximum clock speed of 162 MHz.
So to test this I wrote a simple program which simply toggles the state of an IO pin in a loop. If I toggle only one pin, and measure the frequency with either an oscilloscope or a logic analyzer I observe a frequency of ~1.20 MHz, however if I toggle an additional pin, the frequency drops all the way to a whopping 720 kHz!
I’ve also observed other irregularities by examining the IO pin in the logic analyzer large gaps in between activity (sometimes as large as .4 seconds before activity begins again). Whats more is the square waves is not perfectly square with occasionally smaller than normal pulses. I have observed these same issues in other programs of mine that are running on RCM 6700 and have tried swapping boards as well.
I’ve also checked the status of the GCSR and GCDR registers and nothing seems out of order. My basic questions are:
- Why is the RCM 6700 not running at 1.62 MHz?
- Why are cycles taking such a massive hit with minor operation increases?
- What is causing the large gaps of inactivity? I am not employing an CPU rest functions
See code below:
https://pastebin.com/2knb68xK