CompMan wrote:We should share notes. The hardware must be compatible! Sounds like you have a lot on your 'experimenter' board. Do you have a schematic showing the Ethernet connections? Or a schematic of your 'experimenter' board?
Right now it's relatively sparse in electronic format-- mostly sketched out on various pieces of paper, but I'll tidy up what I have in the next day or two. At the moment I have:
AVCore module as the "core" (MCU+video+audio+uSD) +
PORTD.7 = chip select for uSD on AVCore
PORTD.6 = chip select for standard SD slot on experimenter board (I'm not sure if that's useful or not-- the idea was you could have an "app" on the uSD and still have removeable media on the full-sized SD if you wanted) Alternate plan would just be standard SD sharing the uSD chip select so you could use either socket depending on what you prefer/need)
PORTD.5 = chip select to 'helper' MCU (ATTiny2313)-- provides PS/2 keyboard and Mouse ports
PORTD.4 = chip select to ENC28J60 (plus /INT connecting to PORTD.2)
SERIAL (Hardware UART on PORTD.0,1) :
DB9 serial with MAX-232 type transciever (or, by jumper selection...)
MIDI IN/OUT (or, by jumper selection...)
USB to serial by FTDI FT232BM
Two standard SNES controller ports, headers to use any/all PORTA pins for external I/O (handy since they have the the ADC)
Potentiometer on PORTA.7 (with disable jumper) to use as 'volume control' (or other 'analog' input) by reading value with ADC
VIDEO (PORTC+support signals):
Standard Svideo and composite video (maybe component video-- if that doesn't make the PCB too big with the extra three RCA jacks!)
Header for RGB+CSYNC
"dual mono" RCA outputs with active audio filter (vs. R/C filter on AVCore-- for people that want to use it as a synth with better sound quality)
One thing I might need to change-- on the original AVCore I had labeled PORTD.4 as "SPI_CS2" and PORTD.3 as "SPI_CS3". But to show that they're just GPIO I used them as the 'power' and 'LED' on the Gamer Baseboard figuring that the Gamer Baseboard and Experimenter baseboard wouldn't really run the same apps... In hindsight I probably should have just used PORTB.1 and PORTB.2. Sooo, since I can't un-pee in that pool now, maybe just put the Ethernet chip select and the keyboard/mouse chip select on PB1 and PB2 instead and that way we maintain our 'default' LED and button input across both platforms and software runs on each?
The only other thing I'm considering is to just stick down a ~$1 CPLD on the SPI bus and use the remaining GPIO on the AVR as a chip select and make a little SPI<->parallel shifter. (Shift bits in and out and simultaneously latch the new parallel 'output' values onto the pins on the rising edge of the chip select.) Otherwise it's a little low on I/O. An alternative to that is to use something like a ATMega48 for the keyboard/mouse controller and just make all the leftover I/O on the Mega48 available as GPIO/ADC's. I kinda like that better for only a small cost delta.