Zoom inside the PIC
By Vincent Rivière

picture The PIC
In the previous "Zoom inside" articles, we described the two main programmable components of the FireBee board: The ColdFire and the FPGA.
But there is a third one, which acts as conductor: The PIC .

PIC means "Peripheral Interface Controller". It is a family of microcontrollers from the Microchip company. PICs are very compact and low cost programmable components. They embed a basic CPU, but also a dedicated flash ROM, a few RAM and several I/O ports. They can be programmed either in assembly or C language.

The FireBee's PIC is a Microchip PIC18F4520. Its software can be upgraded using an external hardware programmer (or simply by software, in the future). The PIC is responsible of several important tasks, so it never switches off. The FireBee's blue LED slowly blinks to indicate that the PIC is running.

The PIC's components

- Power/Reset button. The PIC constantly monitors this button, to power on, power off, or reset the main components of the FireBee board.

- Real-time clock and NVRAM backup. As described in the previous article, the Falcon real-time clock and NVRAM chip is implemented in the FPGA. But when the FireBee is switched off, the FPGA status is lost. On the other side, the PIC never switches off. So at power off, the NVRAM and clock data is transferred from the FPGA to the PIC, where it is kept up to date. Then at power on, the data is transferred from the PIC to the FPGA, so it is exactly as if the FPGA had not been switched off.

- Battery monitoring. The PIC constantly monitors the battery. When the power goes low, the FireBee is automatically switched off. This prevents hardware troubles due to low voltages, and keeps enough power in the battery to run the PIC and keep NVRAM data and clock for months.

- PS/2 port. This port is directly connected to the PIC, but currently unused. In a future update, functionality similar to the Eiffel adapter will be implemented inside the PIC. Then the FireBee will be able to transparently use PS/2 keyboard and mouse, just as if they were standard Atari ones.

- Game port. Currently disabled, this internal port will allow to plug standard Atari mice and joysticks directly on the FireBee.

- Programmer/Debugger interface. This is a physical interface to connect a hardware programmer/debugger such as Microchip's PICkit. Such device must also be connected to another computer. In this way, the PIC software can be remotely updated, and developers can even run a debugger to run it step by step.

You can find the detailed documentation about the PIC18F4520 on Microchip's web site.
Latest News
Mailsystem reorganized
We have migrated our complete mailsystem and all communication problems should be ...
Read more
Shipping and new Orders
About the situation and availability of the hardware
Read more
FireBee on GitHub
After some long months with no public access to our Firebee sources, we finally moved ...
Read more
RSS Feed | Terms of Use | Sitemap