www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik UsartClock im Idle high mit AVR (wegen Ps2 über Usart)


Autor: Daniel Schäfer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich bin gerade dabei mir ne PS2-Tastaturemulation (nur senden zu PC) zu 
überlegen, die ich in einem kleinen AVR realisieren wollte.
Soweit ich es bishe sehe lässt sich die PS2 eigentlich schön
einfach über den USART realisieren (Startbit, stopbit, Parity, 
clock-erzeugung).
Was ich mit der Suchfunktion nicht gefunden habe: Beim Tastaturprotokoll
muss ja im idle Zustand die Clock high sein. Geht das auch mit dem 
USART?
Oder hab ich doch nichts überlesen und der Traum mit "einfach die
USART Register nutzen und fertig" ist geplatz? ;)
Wenn es nicht geht - gibts noch nen einfachen Trick das hinzubekommen,
ich muss zugeben ich hab noch nie ne serielle Kommunikation "per Hand"
programmiert. Weil bevor ich das in Software mache kann ich da gleich
über nen Schieberegister mir das in Hardware zusammenstricken g.

 lg Daniel

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Geht das auch mit dem USART?

Das blöde am USART ist das der gar kein Clock Signal rausgibt !

Autor: Daniel Bauer (und3rt4ker)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
USART-->Universal synchron....-->mit CLOCK
UART--->Universal asynchron...-->ohne CLOCK z.b RS232


Mfg
und3rt4ker

Autor: Daniel Schäfer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also im synchron kann er eine clock erzeugen - nur wie ich es vermute
nicht "high bei idle" - wenn ich das richtig lese ;)

Autor: Daniel Bauer (und3rt4ker)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
was ist denn mit den 2 Pins (TX und CLK), wenn das bit TXEN nicht 
gesetzt ist? Dann müsste man doch CLK auf high schalten können, oder 
nicht? Schau mal diesbezüglich im Datenblatt(siehe S122). Wenn TXEN 
gesetzt--->TX Pin wird zum seriellen senden benutzt. TXEN cleared-->TX 
Pin "normal Port operation"

MfG und3rt4ker

Autor: Daniel Schäfer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hm, hört sich gut an.
Dank dir - so kann ich mal weiterschaun

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das UART würde ich nicht für PS2 nehmen. Dafür kann man einen 
Interruptpin (Clock) und einen einfachen Portpin (Data) viel besser 
benutzen. Die Schnittstelle macht man in Software. Per DDRx-Register 
wechselt man am AVR zwischen logisch 0 als Ausgang und Eingang. Das 
betreffende Port-Register-Bit bleibt auf 0. Somit kann man wunderbar 
eine Open-Kollektor-Interface simulieren, welches in der 
PS2-Spezifikation gefordert ist.

Autor: Daniel Bauer (und3rt4ker)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Tastatur gibt das CLOCK-Signal an----immer!

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Korrekt, und?

Autor: Daniel Bauer (und3rt4ker)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Travel Rec. wrote:
> Dafür kann man einen Interruptpin (Clock) und einen einfachen Portpin >(Data) 
viel besser benutzen. Die Schnittstelle macht man in Software.

-->Der Interrupt Pin dient dann doch als Eingang, oder? Aber er will 
doch eine Tastaturemulation zum Computer und da die Tastatur immer den 
Takt angibt, sollte er doch auch einen normalen Portpin dafür benutzen.


PS.: http://www.marjorie.de/ps2/ps2_protocol.htm

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kenne das Protokoll ;-) Der Host (PC) kann aber die laufende 
Übertragung unterbrechen, indem er die Clockleitung herunterzieht. Damit 
der sendende AVR das mitbekommt, muß er nach jedem seiner Low-Impulse 
die Leitung durch hochohmigschalten (Eingang) kontollieren und die 
Übertragung gegebenenfalls stoppen. Ein Interruptpin ist hier vielleicht 
übertrieben, bei einer Erweiterung mit echter Tastatur aber unerläßlich.

Autor: Daniel Bauer (und3rt4ker)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm....das ist ein Argument. duck un wech

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kein Problem ;-) Schönen Abend noch, muß los.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.