Gast
#40659
Hallo, momentan verzweifle ich an folgendem Problem: nach der Umstellung von Mega103 auf 128 läuft mein Xilinx-FPGA-Design-Loader nicht mehr (im 103 Kompatibilitätsmodus läufts prima :-). Kurz umrissen: 3.68 MHz AVR-Taktfrequenz, USART0, bei 115200 Baud, AVR empfängt Daten vom PC und programmiert FPGA damit, Checksumme der übertragenen seriellen Daten ist ok, es werden auch alle übertragen... ABER: FPGA "bootet" nach Übertragung des Designs nicht mehr! Die eigentliche Programmier-Sequenz ist nicht geändert worden. Ich nutze ein paar Pins von Port E als Steuerleitungen zum AVR und 8 Bit auf Port D als Dateneingang zum FPGA. Ich vermute nun, das hier eventuell eine Kollision mit dem im AVR128 Modus vorhandenem JTAG Interface auftreten... Oder hat jemand eine bessere Idee oder eine Vermutung, wo ich noch suchen könnte??? Vielen Dank, Christoph Munkelt PS: relevente Code Snippets (ich bin mir bewußt, daß inp und outp mitlerweile veraltet sind, Code ist aber schon älter und läuft auf AVR103 wunderbar, deshalb wollte ich erstmal so wenig wie möglich ändern...) // // Port E, Pinbelegung // #define CCLK 0x80 // (7:output) Clock-Signal #define PROG 0x40 // (6:output) Program-Signal #define WRITE 0x20 // (5:output) Write-Signal #define CS 0x10 // (4:output) Chip-Select-Signal #define INIT 0x08 // (3:input) Init-Signal #define DONE 0x04 // (2:input) Done-Signal // Empfangsroutine: data = inp( PORTE ); data &= ~CS; // CS auf LOW outp( data, PORTE); do { cbi( PORTE, 7); // CCLK auf LOW uartReceiveByte( 0, &data ); // Byte empfangen outp( data, PORTD ); // und zum FPGA schreiben sbi( PORTE, 7); // CCLK auf HIGH count ++; // Zaehler erhoehen... // solange noch Daten gepuffert sind... } while( uartReceiveBufferIsEmpty( 0 ) == FALSE ); data = inp( PORTE ); data |= CS; // CS auf HIGH outp( data, PORTE); data = inp( PORTE ); data |= WRITE; // WRITE auf HIGH outp( data, PORTE);