ki vs kd
Well,
from my point of view what is interesting is the logical flow from the transfer function (no matter how we can derive it, this is a application related stuff) to the FPGA implementation (then deriving the coefficient and make a appropriate structure able to be implemented into a FPGA or CPLD).
Then I can start in writing some notes from scrath by starting to some F(s), e.g. for a DC motor control. Then we can talk about the function synthesis into the Z domain and how to scale the coefficient and also how rescaling the output of the scaled filter in order to meet the physical plant requirement. I think this is the central point, other developement is strictly related to the your application then I think is outside the FPGA implementation stuff, what I'm thinking to descrive is how to implement the PID by starting from a transfer function into the s domain.
I think that make the direct calculation of the coefficient into the FPGA will be not a easy task, I see more appropriate use a microcontroller or a dedicated PC program (coded e.g. in VB or VC) and send the coefficient to the microcontroller. Coefficient can be saved into a external EEPROM or into the microcontroller if this one have EEPROM (like PIC) or FLASH that can be used as EEPROM (like LPC210x from NXP or other type if you prefer), when the system is powered the firmware on the FPGA will be loaded and after that the microcontroller can start in writing the coefficient into some dedicated register inside the FPGA, after this initialization stage the filter is ready to work. I think that building the autotuning function directly inside the FPGA is not simple, more feasible by using a external microcontroller, but is just a my think...
Let me know what is your think about, I think this will be a great and very interesting work!
Thanks
Bye
Pow