I am putting together an ATMega2560 module that will plug into various boards I am designing. I want the 2560 board to be universal and then design the other boards for specific uses ie. inputs, outputs and ADC etc. The project I am working on has a large amount of I/O and each board will communicate via my own CanBUS design.
Whilst laying out the ATMega2560 board I started thinking about the SPI lines being shared with the ICSP. The. Amtel data sheets and design docs state that series resistors should be used between the AVR programmer and any SPI devices. The downside is that this would affect the SPI bus speed. I have found a single reference after a day of research pointing to using the 74HC4053 multiplexer to isolate the SPI bus when the programmer is using the RESET line to put the ATMega2560 into programming mode.
This approach seems the most robust method of ensuring thta only the AVR programmer is driving the SPI bus. I want to make these ATMega2560 universal so I can't know at this point if any SPI devices I use in the future will 3-state their MISO lines and the 74HC4053 would guarantee that only the ICSP was connected to the SPI bus during programming.
Thoughts?

Whilst laying out the ATMega2560 board I started thinking about the SPI lines being shared with the ICSP. The. Amtel data sheets and design docs state that series resistors should be used between the AVR programmer and any SPI devices. The downside is that this would affect the SPI bus speed. I have found a single reference after a day of research pointing to using the 74HC4053 multiplexer to isolate the SPI bus when the programmer is using the RESET line to put the ATMega2560 into programming mode.
This approach seems the most robust method of ensuring thta only the AVR programmer is driving the SPI bus. I want to make these ATMega2560 universal so I can't know at this point if any SPI devices I use in the future will 3-state their MISO lines and the 74HC4053 would guarantee that only the ICSP was connected to the SPI bus during programming.
Thoughts?
