ne I2C / TWI kannst Du dir auch in Software programmieren,
ist doch kein Problem ... nennt sich dann SoftwareTWI
Hi!
Ich habe die Teile jetzt gekauft, einen mega8515, einen ADC0820 8bit ad-wandler, ein 74HCT573 latch und einen 32kByte ram.
Jetzt habe ich aber festgestellt, dass die pins nicht ausreichen! ich habe nicht bedacht, dass diese Speichererweiterung so viele Pins braucht.
jetzt habe ich aber nur noch 9 Pins frei, aber ich brauche viel mehr!
Ich brauche 6 pins für die Kamera, und 8 oder sogar noch mehr für den AD-Wandler.
Wie kann ich das Problem am besten lösen? Eine I2C schnittstelle hat der mega8515 auch nicht, also kann ich mir leider nicht einfach einen I2C AD-Wandler kaufen.
Aber irgendwie kann man glaub ich an diesen adressbus der zur speichererweiterung dient auch noch andere sachen anschließen. Aber wie mach ich das und wie wirkt sich das auf die geschwindigkeit aus?
Habt ihr andere ideen?
lg christoph
@ikarus: Im geschäft gibt es sie jetzt garnicht mehr zu kaufen, vll aber noch bei ebay. Ich habe meine noch von früher.
ne I2C / TWI kannst Du dir auch in Software programmieren,
ist doch kein Problem ... nennt sich dann SoftwareTWI
Vor den Erfolg haben die Götter den Schweiß gesetzt
Hallo Christoph2,
32kB S-RAM im DIL-Gehäuse gibt es zuhauf auf alten Mainboards.Ich habe die Teile jetzt gekauft, einen mega8515, einen ADC0820 8bit ad-wandler, ein 74HCT573 latch und einen 32kByte ram.
du könntest den AD-Wandler an den Speicherbus hängen und dann noch einen Adressdekoder dranbasteln.Ich brauche 6 pins für die Kamera, und 8 oder sogar noch mehr für den AD-Wandler.
Gruß, Michael
Dieser Software I2C ist mir glaub ich noch zu schwer, aber dieser adressbus ist schon irgendwie cool. wie das mit dem ram funktioniert, weiß ich jetzt, aber mit dem ADC wird das ja komplizierter, weil der nur datenleitungen hat, und keine adressen.
Also brauche ich etwas, das diesen 8 bit eine adresse gibt, das ist nehme ich mal an der adressdekoder, den Michael erwähnt hat. Ich hab das mal in google eingegeben, aber es ist nichts rausgekommen das mir hilft.
Wie baue ich so einen dekoder einfach? ich brauche ja nur eine einzige adresse zuweisen, muss man da eine logikschaltung bauen oder geht das einfacher?
lg christoph
Hallo Christoph2,
der Chip hat den CS-Eingang. Wird dieser auf GND gelegt, liegen Daten an DB0-7 an, andernfalls sind die Ausgänge Tristate.aber mit dem ADC wird das ja komplizierter, weil der nur datenleitungen hat, und keine adressen.
ja, die Logik schaltet bei richtiger Adresse den CS auf GND.muss man da eine logikschaltung bauen
Bei 32k bleibt die obere Adressleitung unbenutzt
Gruß, Michael
also die adressleitungen 0 bis 14 brauche ich für den ram, da bekommt dann jede Speicherzelle (8Bit) eine Adresse vom AVR zugewiesen. (oder haben die eine fixe adresse???)
Der AVR hat 2^16 adressen zu vergeben, für den RAM werden aber nur 2^15 verwendet, weil er nur 2^15 Byte hat.
eine Leitung bleibt mir über. Wie funktioniert das mit dem chip select genau?
Muss ich mit einer logikschaltung die Adressleitungen abfragen, und wenn jetzt zb. nur die 15. Adressleitung HIGH ist, dass der CS Pin des ADC auf GND gelegt wird?
Ich habe bis jetzt noch nie mit logikgattern als ICs gearbeitet, nur in der schule mit übungskoffern. welche logikgatter soll ich am besten verwenden bzw sind am besten erhältlich?
Wenn nur die 15. Adressleitung high sein soll, dann brauch ich ein Riesiges OR gatter (mit 16 eingängen), bei dem ein eingang negiert wird. der ausgang geht dann auf CS des ADC.
Würde das gehen? Kann ich dem ADC ganz brutal die adresse 2^15 zuweisen?
lg Christoph
Also A15 an das RAM CS/ und dann über einen Inverterbaustein 74HCT04
an CS vom A/D Wandler!
lg
albert
Hallo Christoph2,
prinzipiell ja, weil der RAM ja diese Adressleitung nicht braucht. Du mußt aber über die Adreßleitung 2^15 den RAM abschalten(Tristate), bzw. den ADC einschalten. Der RAM hat ja schließlich auch ein CSWürde das gehen? Kann ich dem ADC ganz brutal die adresse 2^15 zuweisen?
Dann würdest du genau die Adresse 2^15 für den ADC auswählen.Wenn nur die 15. Adressleitung high sein soll, dann brauch ich ein Riesiges OR gatter (mit 16 eingängen), bei dem ein eingang negiert wird. der ausgang geht dann auf CS des ADC.
Gruß, Michael
Danke! jetzt verstehe ich die speichererweiterung
Gibts vielleicht schon so einen fertigen AD-Wandler der schon eine adresse hat wie der ram?
Das mit der logikschaltung ist nämlich verdammt kompliziert da braucht man ein zusätzliches ic und ein schnelles muss es auch noch sein (appropos: kennt jemand ein geeignetes gatter?).
lg christoph
Hallo Christoph2!
Möglicherweise kennst du diesen Aufbau (als Attachment hinzugefügt) bereits, er würde deinen mega8515 auch bedienen. Jedenfalls kannst du je nach Speicherbedarf auch den mega161 oder den mega162 verwenden.
lg
albert
Lesezeichen