• PicŪ Basic

  • Overclocking the Amicus18 Board to 100MHz

    The PIC18F25K20 microcontroller used on the Amicus18 board has a documented maximum frequency of 64MHz (16 MIPS), however, it will run quite happily, and reliably, at 80MHz, giving 20 MIPS, and higher. Here's how.

    Replacing the crystal with a 20MHz type, instead of the 16MHz one fitted, will allow the microcontroller to run at 80MHz via its internal 4x PLL (4*20 = 80), giving 20 MIPS operation (20 Million Instructions per Second)

    All that is required is to inform the compiler of the frequency, so that it can adjust its internal timings for commands that require precision. i.e. DelayUs, DelayMs, Rsout, Rsin etc..

    Declare Xtal = 80

    That's it, you've now got more bang for your buck!

    Actually, that's not it, as the Proton compiler now also supports frequencies of 88MHz using a 22MHz crystal, 96MHz using a 24MHz crystal, and 100MHz using a 25MHz crystal for 18F devices.

    However, there's no such thing as a free lunch, and higher frequency crystals may not oscillate at higher ambient temperatures, and a crystal of 24MHz or higher may not oscillate even at room temperature, in which case, an external oscillator block will be required. Also, the default Amicus18 bootloader firmware will not work with a crystal other that 16MHz, which means the Amicus18 board will need to be programmed via a device programmer such as the PICkit2tm or PICkit3tm, or alternatively, the bootloader's source can be altered for the new oscillator speed, it's really not that difficult, but you will still require a device programmer in order to program the new bootloader firmware into the microcontroller.

    I've only tested up to 100MHz, hence the maximum frequency of the compiler, but I'm curious as to how high a frequency the microcontroller can operate at, but it may require it to be cooled, or even super cooled!