The µPF--2
When I developed this µPF - 1 / B compatible board, I wanted from the start to add a specialized time management circuit. So I installed a DS3231. This circuit is interesting because it is very precise. It also offers RESET management that I used as a master reset of the board.
This DS3231 operates using the I2C bus. Obviously, this bus must be implemented in the FPGA. That shouldn't be a problem. I thought I would find a usable 'piece of code' on the web. In fact it was not a good idea. The codes found are often complex and above all undocumented.
Therefore, the best solution was to implement the I2C protocol myself. That's what I did. It is not very complicated, but not necessarily straightforward.
After a short period of development, I got the bus to work perfectly and was able to configure and read this real time clock circuit:
At this point, I have tested all the hardware functionality of this project. I also rewrote a lot of the system. It only remains for me to integrate all these developments in a 'clean' way.
I am beginning to see the end of this subject ...