Hallo zusammen,
nur mal ne Idee ...
Es wär doch mal praktisch, für die Fehlersuche nen Logik-Analysator zu bauen.
8Bit (8 Eingänge) sollten da normalerweise reichen. Also ein schnelles RAM mit
8Bit und minimum 32k-Adressen Also 32kByte (62256 oder ähnlich). Damit man
auch längere Sequenzen wie eine Bus-Kommunikation mitlesen kann.
Wenn man mit kleineren Sample-Takten arbeitet könnte man alles über den
Mega162 machen. Bei höheren Sample-Takten müßte man das RAM über CE
daueraktiv halten um die Zugriffszeiten weiter zu minimieren und das RAM mit
Bus-Multiplexern vom Mega auf einen Binärzähler schwenken, der dann mit
etwas Digitallogik direkt die Sample-Daten ins RAM packt. Damit sollte man so
um die 10MHz Abtastrate hinbekommen.
Für die Anzeige kann man dann über den Mega162 das RAM ansprechen und
die Impuls-Diagramme auf nem GLCD anzeigen. Man muß ja nicht unbedingt
eine Interpretation der Daten machen (also zB bei I2C die Datenbytes anzeigen)
es reicht ja schon wenn man die Impulsfolgen im Display sehen kann und
eine Zeitskala hat.
Bei 32k-Samples kann man auch mit nem Cursor über die Samples fahren
oder evtl Zoomen (nur jeden 2ten, 4ten oder 8ten anzeigen). Oder man
ver-ODERt für den Zoom 2, 4 oder 8 Samples zu einem und zeigt ihn dann
an.
Naja ... im Moment nur ne Idee ...
EDIT: Mal das Pinout angesehen ...
PortA+PortC = Daten/Adressen fürs RAM
PortB = Daten GLCD
PE1,PD6,PD7 = Steuerung RAM
PD0,PD1 = Kommunikation UART zum PC
PE0,PE1,PD2,PD3,PD4,PD5 = für Steuerung GLCD, Tasten, ...
Mit dem Speicherinterface und dem GLCD ist der Mega162 am Ende seiner
Pins angekommen. Also wird man keine 8 Eingänge mehr frei haben.
Ergebnis ... Man muß bei diesem Mega die Signalerzeugung für das Samplen
und die Eingänge extern mit Digitaltechnik machen. Oder man verwendet nen
AVR mit mehr Pins. Dann ist man aber auch gleich bei den TQFP64-Gehäusen.
Auf jeden Fall wird es mit den Pins verdammt eng
EDIT2: Also das GLCD benötigt anscheinend 6 Steuerleitungen.
Damit sind die Pins am Ende und es ist nichts mehr für Tasten frei.
Also entweder nen größeren AVR oder die gesamte RAM-Adressierung
extern machen. Schade ... 40Pin wär noch Anfänger-Löt-freundlich
gewesen. Und die Pins mehrfach verwenden gibt beim Programmieren
wieder nen Knoten im Hirn
Gruß
Dino
nur mal ne Idee ...
Es wär doch mal praktisch, für die Fehlersuche nen Logik-Analysator zu bauen.
8Bit (8 Eingänge) sollten da normalerweise reichen. Also ein schnelles RAM mit
8Bit und minimum 32k-Adressen Also 32kByte (62256 oder ähnlich). Damit man
auch längere Sequenzen wie eine Bus-Kommunikation mitlesen kann.
Wenn man mit kleineren Sample-Takten arbeitet könnte man alles über den
Mega162 machen. Bei höheren Sample-Takten müßte man das RAM über CE
daueraktiv halten um die Zugriffszeiten weiter zu minimieren und das RAM mit
Bus-Multiplexern vom Mega auf einen Binärzähler schwenken, der dann mit
etwas Digitallogik direkt die Sample-Daten ins RAM packt. Damit sollte man so
um die 10MHz Abtastrate hinbekommen.
Für die Anzeige kann man dann über den Mega162 das RAM ansprechen und
die Impuls-Diagramme auf nem GLCD anzeigen. Man muß ja nicht unbedingt
eine Interpretation der Daten machen (also zB bei I2C die Datenbytes anzeigen)
es reicht ja schon wenn man die Impulsfolgen im Display sehen kann und
eine Zeitskala hat.
Bei 32k-Samples kann man auch mit nem Cursor über die Samples fahren
oder evtl Zoomen (nur jeden 2ten, 4ten oder 8ten anzeigen). Oder man
ver-ODERt für den Zoom 2, 4 oder 8 Samples zu einem und zeigt ihn dann
an.
Naja ... im Moment nur ne Idee ...
EDIT: Mal das Pinout angesehen ...
PortA+PortC = Daten/Adressen fürs RAM
PortB = Daten GLCD
PE1,PD6,PD7 = Steuerung RAM
PD0,PD1 = Kommunikation UART zum PC
PE0,PE1,PD2,PD3,PD4,PD5 = für Steuerung GLCD, Tasten, ...
Mit dem Speicherinterface und dem GLCD ist der Mega162 am Ende seiner
Pins angekommen. Also wird man keine 8 Eingänge mehr frei haben.
Ergebnis ... Man muß bei diesem Mega die Signalerzeugung für das Samplen
und die Eingänge extern mit Digitaltechnik machen. Oder man verwendet nen
AVR mit mehr Pins. Dann ist man aber auch gleich bei den TQFP64-Gehäusen.
Auf jeden Fall wird es mit den Pins verdammt eng
EDIT2: Also das GLCD benötigt anscheinend 6 Steuerleitungen.
Damit sind die Pins am Ende und es ist nichts mehr für Tasten frei.
Also entweder nen größeren AVR oder die gesamte RAM-Adressierung
extern machen. Schade ... 40Pin wär noch Anfänger-Löt-freundlich
gewesen. Und die Pins mehrfach verwenden gibt beim Programmieren
wieder nen Knoten im Hirn
Gruß
Dino