MAX II / MAX V in-circuit programming
Hello everybody,
we are currently designing a PCB using a 5MZ240ZT100 CPLD. We need a solution allowing an on-site CPLD firmware update without having to use a JTAG programmer like Altera USB Blaster.
This is necessary because the board will be in use world-wide and sending an engineer to do the programming is not feasible because of extremely high cost. Unskilled personnel should be able to carry out the update without the need to open the cabinet and connect programmers to the inside.
Our plan is as follows:
-> Programming file (.POF .HEX od other?) sent to the customer by e-mail
-> Customer loads it into the system's main computer, using and guided by the system's web server
-> Programming file to be loaded into an on-board MCU via I2C and buffered in its internal RAM
-> MCU translates/processes the data (if necessary) and then forward to the CPLD via JTAG in the same format as the JTAG programmer. A subsequent verify should also be performed.
We plan to realize the JTAG interface by bit-banging in the MCU. The process itself is not time-critical, JTAG speed may be slow.
Questions:
1. Is this possible at all?
2. Which of the programming files generated by Intel/Altera Quartus Prime IDE should be used?
3. Can the programming file directly be uploaded to the CPLD or is there any pre-processing, conversion or decoding needed? In the latter case, is there any C code available to do this job or at least some documentation about it?
I guess we are not the only ones who need a CPLD firmware update without the need for a programming adapter, so I am sure the there is some solution available.
Your help is greatly appreciated!
Best regards from Germany,
Chris