Forum Discussion
Remote Update Cyclone III from EPCS
I am able to load in an Application configuration from a specified address in the EPCS, but after a certain time the device reconfigures itself with the Factory configuration (at address 0).
I am not using a Nios processor. Reconfiguration is controlled by an external processor and a simple state machine in the FPGA. It seems that the first time I trigger the device to reconfigure itself with the Application configuration (address 30000) it will immediately reconfigure itself with the Factory configuration. On subsequent times it will keep the Application configuration for about a minute before reconfiguring itself with the Factory configuration. It seems like it has something to do with the watchdog timer, but I have not enabled it. I have not been successful yet in reading back the status from the Remote Update circuit so I can't tell what caused the reconfiguration. I connected a signal that has a short pulse every millisecond up to the reset_timer line but that made it such that the FPGA would revert back to Factory configuration immediately every time I triggered a reconfiguration with the Application configuration. Any ideas on what to look for would be appreciated.14 Replies
- Altera_Forum
Honored Contributor
Brunda - I'm a little confused as to which EPCS device you are using, you mentioned Cyclone III AS mode epcs16 which is using a serial device in Active Serial mode and connecting to it using the ASMI parallel interface.
I'm not sure that is the right way to go unless I am not understanding something you are saying. - Altera_Forum
Honored Contributor
I have basically followed AN603 which is AS implementation for STRATIX devices
- Altera_Forum
Honored Contributor
Yes,I2C is part of SOPC build.
I2C-->Controller logic to read new image from I2C-->Update logic to write new image into EPCS-->ASMI_PARALLEL-->EPCS - Altera_Forum
Honored Contributor
Brunda - without knowing more about your circuit it is difficult to answer you. Is the I2C a part of an SOPC build?
- Altera_Forum
Honored Contributor
Thanks very much for your quick reply.
Following on the same,the image update circuit has the controller logic & update logic. The controller logic reads the data from I2C and the update logic writes the image from the controller logic to EPCS. Its not fully clear to me how to use I2C with controller logic. The I2C that i'm using has both slave and master pins. Greatly appreciate your inputs. - Altera_Forum
Honored Contributor
Brunda - Yes, you need the ALTASMI core in your code. The pin mapping is transparent but you need it there to make the connection between your state machine and the ASMI (hard macro) block itself.
- Altera_Forum
Honored Contributor
Thanks David - I coded up something similar to what you suggested and it is working well now. Funny thing is (I thought) we were doing the same steps in software before and it did not. But thanks again I appreciate your help.
- Kevin. - Altera_Forum
Honored Contributor
I have written state machines for factory and application images -cyclone3-AS mode-EPCS16.
Do I need ALTASMI mega function to connect serial device(I2C)? I read that there is no need of ALTASMI.But,how the data transfer takes place between I2C and EPCS? How do I build SOPC?Greatly appreciate if anyone can guide me! - Altera_Forum
Honored Contributor
I have attached the VHDL file I used for configuration. You can search for WDT. Hope this helps.
- Altera_Forum
Honored Contributor
David, or anyone - I am seeing the exact same behavior in my testing. I'm wondering what you did to disable the WDT.
I have tried tieing reset_timer to a '1' in the VHDL with no success and have tried setting it to a '1' under software control after I see the RSU succeed but that does not work either. Any thoughts? Thanks Keivn.