Forum Discussion
Altera_Forum
Honored Contributor
10 years agoIn regards to the messy processing loop based on a microcontroller design I see the processing loop working as follows;
Select Shift Register (LOW) PIN Read Shift Register - CPI (MCP23017) (16 bits returned) - Interpret I/O based on attached component, in the case of Rotary Encoders I will be looking at multiple signals to determine what action to take Deselect Shift Register (HIGH) I have to repeat the above for the number of shift registers to read in approx 120 or so input pins which I don't have a problem with. My concern is that for each shift operation this will take time and since there will be a number of rotary encoders, push button switches, 4-way hat switches, etc. that need to be read, some signals may get lost. I need the reading of each digital input to be reliable. The design will need to expanded in future iterations to take in more digital input (another 120 or so inputs) so the solution needs to scale. The output of this device will be to take the "processed" signals and push them out to a microcontroller via serial / USB to perform the underlying action. When I refer to processed signals I am referring to the result of rotating a rotary encoder up or down (i.e. a counter) as opposed to simply pushing out the raw IO.