UsartClock im Idle high mit AVR (wegen Ps2 über Usart)

Gast #678736
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
#679551
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
(Firma: TravelRec.) Persönliche Seite #679676
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.
#679703
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
(Firma: TravelRec.) Persönliche Seite #679711
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren