PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 8031 Erweiterungsplatinen über Busleitung



Import-Script
07.12.2003, 18:50
Hi, habe jetzt seit einiger Zeit einen 8031 µC. Doch so langsam werden mir die Möglichkeiten dieses µC zu eingeschränkt und ich habe &uuml;berlegt mir eigene Erweiterungsplatinen zu bauen. Mit AD-Wandler, DA-Wandler und eine mit einem LCD und einer kleinen Tastatur. Habe auch schon Schaltungen gefunden um die Adressbereiche zu erweitern. <BR>Doch hier stellt sich f&uuml;r mich die Frage wenn ich die Leitungen A10-A15 f&uuml;r den Zugriff auf meine Platinen verwende wird doch die ganze Zeit, durch den normalen Betrieb bedingt, meine Platine angesprochen. Wie kann ich dies unterbinden oder verhindern?????

Import-Script
07.12.2003, 20:48
hi <BR>hast du im port 1 noch 2 bits frei ? <BR>dann kannst du damit I2C bausteine betreiben. <BR>die wahl ist gross....findest du bei Philips <BR>ed.<img src="http://progshop.com/elektronik/diskussion/clipart/happy.gif" border=0>

Import-Script
08.12.2003, 12:57
Danke f&uuml;r die Antwort. <BR>Nein Port 1 ist schon f&uuml;r die Ergebnisse des AD Wandlers vollständig verbraucht. Beim DA Wandler f&uuml;r die Daten die rausgeschrieben werden sollen und beim LCD bzw. Tastatur brauch ich Port 1 f&uuml;r die Daten der Tastatur bzw. zum Ansprechen des LCD. <BR>

Import-Script
15.12.2003, 22:44
Hi <BR>So wie ich dich verstehe, möchtest du die Peripherie &#34;memory-mapped&#34; ansprechen. <BR>Falls ja brauchst du ebenfalls die Leitung /RD und /WR &#40;auf P3.6 und P3.7&#41;. Deine Peripherie wird nur dann angesprochen, wenn RD oder WR auf Low ist: <BR>WR=L, RD=H: Schreibzugriff &#40;von uC auf Peripherie&#41; <BR>WR=H, RD=L: Lesezugriff &#40;von Peripherie zu uC&#41; <BR>Ansteuern tust du die Peripherie gleich wie ein RAM am Adress-/ Datenbus &#40;Assembler: mit MOVX...&#41; <BR> <BR>&#60;== Im Bildchen links siehst du ein von mir eintwickeltes uC - Board mit einem AT89S8252 mit einer Porterweiterung f&uuml;r 13 8-Bit Ports, eine RTC, 4kB RAM sowie einem LCD - Port. Ich steuere diese On-Board - Peripherie ebenfalls &uuml;ber den Adress-/Datenbus an. Die obersten 4 Adressbits verwende ich f&uuml;r den Adressdekoder um die Ports, RAM, usw. auszuwählen, die restlichen Adressbits stehen dem RAM, der LCD und der RTC zur Verf&uuml;gung &#40;die Ports benötigen keine Adressleitungen&#41;. <BR> <BR>Gruss <BR>Florian <BR> <BR>

Import-Script
16.12.2003, 19:41
Danke Florian f&uuml;r deinen Beitrag. <BR>Was ich nur nicht ganz verstehe ist, warum ich die Leitungen /RD und /WR brauche. Laut einer Beschreibung von Keil &#40;<a href="http://www.keil.com" target=_top>www.keil.com</a>&#41; benötige ich hier nur einen symplen 2-4 Demultiplexer um die entsprechenden CE Signale zu erzeugen. <BR> <BR>Da ich aber alleine f&uuml;r den AD-Wandler 7 Signale brauche um ihn so anzusteuern dass ich ihn völlig ausnutze, habe ich mir gedacht, dass ich diesen Erweiterungsvorschlag der Firma Keil einfach etwas ausschlachte und mehrere Demulti&#39;s benutze um mir die 7 Signale zu erzeugen. So wie ich mir das gedacht habe, steuere ich einfach den ADC an, der erledigt die Wandlung und ich lese anschließend das fertige Ergebnis am Port 1 ein.

Import-Script
16.12.2003, 19:43
Sorry habe ganz vergessen reinzuschreiben, dass ich f&uuml;r das erzeugen der erforderlichen CE Signale nat&uuml;rlich die Leitungen A10-A15 verwende. Brauche ja schließlich mehrere Demulti&#39;s. <BR> <BR>Gruß tom

Import-Script
28.12.2003, 23:27
Über RXD/TXD &#40;serieller Port, P3.0 u. 3.1&#41;könntest du dir auch Porterweiterungen aufbauen, Schieberegister als Port I/O, soviel du magst. Modus0 einstellen &#40;Mov SCON,#0&#41; Mit Mov sbuf,a wird automatisch das Byte aus dem Akku geschoben und mit setb 9c im SFR 98 &#40;Serial Port Control Register SCON&#41; startest Du das Einlesen eines Bytes aus einem Schieberegister, anschließend mov s,sbuf&#40;Bit 98 wird nach vollständiger Übertragung gesetzt und muss dann gelöscht werden. RXD ist Daten, TXD Takt. Einziger Nachteil, es dauert je Byte Aussenden bzw Einlesen so seine Zeit. <BR>Gr. Holger

Import-Script
30.12.2003, 15:13
Hi, das mit der seriellen hab ich mir auch schon &uuml;berlegt, gefällt mir aber nicht so gut. Deshalb bevorzuge ich die Lösung von Keil mit den LS139er Demultiplexern die ich einfach an die Leitungen A15-A11 hänge und mir so die erforderlichen CE Signale erzeuge. Das einzige Problem das ich jetzt noch habe ist folgendes: <BR>Da die Leigungen A15-A11 zum Systembus gehören wir doch nach meinem Wissenstand der Wert dieser ständig verändert und so meine Hardware &#40;Tochterplatinen&#41; unkontrolliert angesprochen. <BR>Wie könnte ich das unterbinden ohne dass ich den freien Port 1 verwende???? <BR> <BR>Thx, tom