www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Pc tipkovnica
Pojdi na stran 1, 2  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> AVR, LPC900, x51
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
clownfish
Član
Član



Pridružen-a: Pet 05 Avg 2005 13:05
Prispevkov: 765
Aktiv.: 3.23
Kraj: Povir / Ljubljana

PrispevekObjavljeno: Pet Okt 22, 2010 12:39 am    Naslov sporočila:  Pc tipkovnica Odgovori s citatom

z AVR-om bi želel ob določenih urah generirat določene ukaze in jih preko Ps2/vhoda tipkovnice poslati na PC..

Torej namesto, da napišem na tipkovnico PROGRAM1 + ENTER
bi to namesto mene naredil AVR..

Sem si pregledal par zadev, odprl tudi delujočo tipkovnico.. sprogramiral rutino za pošiljanje tipke "a" ..

a stvar ne dela..

tudi na osciloskopu sem pogledal in slika na osciloskopu na izhodu AVR-a in na izhodu tipkovnice ob pritisku tipke "a" je enaka..

Razlika je le v tem, da z tipkovnico deluje z avr-om pa ne..

Zato me zanima.. ali mogoče Pc tipkovnica po priključitvi pošlje kakšen signal Pc-ju, ta ji odgovori in tako Pc ve, da je tipkovnica priključena.

Ker jaz trenutno testiram le pošiljanje enega karakterja.. in seveda stvar ne deluje..

??

testiram pa na PIII Pc-ju zbootanem v DOS-u..
tipkovnica pa je AT.. klasična.. z PS/2 priključkom.

ideje??
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Brane212
Član
Član



Pridružen-a: Sob 13 Dec 2008 11:24
Prispevkov: 360
Aktiv.: 1.79
Kraj: LJUBLJANA

PrispevekObjavljeno: Pet Okt 22, 2010 2:10 am    Naslov sporočila:   Odgovori s citatom

AFAIK je PS/2 dvosmerni protokol in ob resetu se med tipkovnico in PCjem zgodi nekaj komunikacije, resetiranja in nastavitev.

Poleg tega imaš za pritisk tipke dve kodi- ena je ob pritisnjeni tipki in druga ob spuščeni...

Čisto možno, da tvoja mašina ob resetu ne zazna tipkovnice in potem "ne šljivi" signalov na tem konektorju...

_________________
On journey of life I chose the psycho path...
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
zcetrt
Član
Član



Pridružen-a: Tor 13 Dec 2005 11:29
Prispevkov: 275
Aktiv.: 1.16
Kraj: Ljubljana

PrispevekObjavljeno: Pet Okt 22, 2010 11:00 am    Naslov sporočila:   Odgovori s citatom

Tole je moj "seminar", kjer se PIC predstavi kot PS2 tipkovnica. http://lpvo.fe.uni-lj.si/predmeti/ev/Seminarji/Cetrtic%20Ziga/Ziga%20Cetrtic%20EV2%20seminar.pdf

Na koncu imaš linke, sicer pa išči v Googlu za PS2 protocol in scan sete tipkovnic.

Upam, da kaj pomaga. Če ti pa kaj ne bo jasno, pa vprašaj.

_________________
4.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
clownfish
Član
Član



Pridružen-a: Pet 05 Avg 2005 13:05
Prispevkov: 765
Aktiv.: 3.23
Kraj: Povir / Ljubljana

PrispevekObjavljeno: Pet Okt 22, 2010 12:08 pm    Naslov sporočila:   Odgovori s citatom

Brane212 je napisal/a:
AFAIK je PS/2 dvosmerni protokol in ob resetu se med tipkovnico in PCjem zgodi nekaj komunikacije, resetiranja in nastavitev.


Hja.. to sem tudi opazilna osciloskopu.. samo nikjer ne najdem kako poteka ta komunikacija..
Ker poteka zadeva dvosmerno je težko določiti kdo kaj pošilja komu..
No odločil sem se, da kar paralelno na obstoječo tipkovnico dodam še moj kontroler..
Sama tipkonica bo sprejamal ukaze, vmes ko nobena tipka ne bo pritisnjena ali spuščena bom pa jaz kakšno tipko poslal.. in sprostil..


Citiram:
Poleg tega imaš za pritisk tipke dve kodi- ena je ob pritisnjeni tipki in druga ob spuščeni...


Vem..

Citiram:
Čisto možno, da tvoja mašina ob resetu ne zazna tipkovnice in potem "ne šljivi"
signalov na tem konektorju...


Jep.. verjetno bo to..
Še vedno iščem startup sekvenco..
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
clownfish
Član
Član



Pridružen-a: Pet 05 Avg 2005 13:05
Prispevkov: 765
Aktiv.: 3.23
Kraj: Povir / Ljubljana

PrispevekObjavljeno: Pet Okt 22, 2010 12:17 pm    Naslov sporočila:   Odgovori s citatom

zcetrt je napisal/a:
Upam, da kaj pomaga. Če ti pa kaj ne bo jasno, pa vprašaj.


O super..
A imaš mogoče podatke kaj Pc želi od "tipkovnice" ob priklopu le te?
Kako pa PC zazna, da je tipkovnica priključena/odključena? a to stalno preverja?

Če prav razumem "tipkovnica" pošlje start, 8databitov, parity, stop (potem daš data na HI) in "tipkvnica" nato doda še en clock v katerem mu Pc odgovori tako, da vrne ACK z Lo statusom? to zgenerira Pc in ne "tipkovnica"?

prav razumem?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Brane212
Član
Član



Pridružen-a: Sob 13 Dec 2008 11:24
Prispevkov: 360
Aktiv.: 1.79
Kraj: LJUBLJANA

PrispevekObjavljeno: Pet Okt 22, 2010 3:17 pm    Naslov sporočila:   Odgovori s citatom

Tu sem našel nekaj podatkov.
Nisem šel vsega preverjat, a vsaj na uč je videti v redu:

Interfacing AT keyboard...

_________________
On journey of life I chose the psycho path...
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
lojzek
Član
Član



Pridružen-a: Pet 25 Jan 2008 8:00
Prispevkov: 3387
Aktiv.: 15.99

PrispevekObjavljeno: Pon Okt 25, 2010 6:53 am    Naslov sporočila:   Odgovori s citatom

teslo, upam da si prebral kako deluje PS2 protokol. Poleg podatkov moraš ti (ker simuliraš tastaturo) generirati tudi takt komunikacije. Malce o tem je tudi tukaj , kjer sem se jaz mučil z enakim problemom, samo v nasprotni smeri.
Projekt je sicer zamrl, ampak tipkovnico oz barcode reader pa sem prebral z AVRjem. Nekje verjetno še obstoji delujoči program za branje tastature in potem pošiljanje na PC Think
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
clownfish
Član
Član



Pridružen-a: Pet 05 Avg 2005 13:05
Prispevkov: 765
Aktiv.: 3.23
Kraj: Povir / Ljubljana

PrispevekObjavljeno: Pet Okt 29, 2010 9:35 pm    Naslov sporočila:   Odgovori s citatom

Ja seveda da sem prebral..
In točno enake signale sam generiram z AVR-om. A težava je v tem da ne izvem na kakšen način komunicira tipkovnica z PC-jem..

Kot kaže ob priključitivi tipkovnica pošlje nekaj PC-ju ta nekaj nazaj in na koncu se zmenita in potem potudjejo samo kode pritisnjenih in spuščenih tipk..

Torej to znam pošiljati.. kode stisnjenih in spuščenih tipk.. ne morem pa pogruntat reset komunikacije med tipkovnico in PC-jem..

Ker ko jaz na PS/2 vhod pc-ja priključim svojk AVR in začnem pošiljati tipke in spuščene tipke Pc ne zazna nič..

Moram še malo poizkusiti..
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
S56RGA
Član
Član



Pridružen-a: Čet 11 Sep 2008 13:33
Prispevkov: 325
Aktiv.: 1.59
Kraj: Koper

PrispevekObjavljeno: Sob Okt 30, 2010 9:40 am    Naslov sporočila:   Odgovori s citatom

Tej težavi se boš najlažje izognil, če priključiš tvojo napravo paralelno tipkovnici. Računalnik pa naj bo zagnan kasneje. Na tak način dela precej barcode scanerjev.
_________________
Agar
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
clownfish
Član
Član



Pridružen-a: Pet 05 Avg 2005 13:05
Prispevkov: 765
Aktiv.: 3.23
Kraj: Povir / Ljubljana

PrispevekObjavljeno: Pon Nov 01, 2010 1:58 am    Naslov sporočila:   Odgovori s citatom

Poizkušam naprej..
Tipkovnico sem razdrl, odstranil DATA in CLK linijo ter dal na vse skupaj dvojni preklopnik.
Ko je preklopnik v položaju A gresta na PC PS/2 port data in clk iz kontrolerja tipkovnice.
Ko pa je preklopnik v položaju B gresta na PC PS/2 port data in clk iz mojega kontrolerja.

Če na PS/2 vhod PC-ja ni nič priključeno sta tako data kot clk pin na HI nivoju.

Torej do tukaj vse lepo in prav.
Pred vklopom tipkovnice na PS/2 port dam preklopnik v pozicijo A, in priključim kabel tipkovnice v PS/2 vhod. Kontroler tipkovnice in PC se zmenita, nakar iz tipkovnice va PS/2 letijo samo signali pritisnjenih in spuščenih tik.. (preverjeno na osciloskopu).
Če takrat preklopim preklopnik na B položaj počakam par sekund in preklopim nazaj na A.. tipkovnica normalno deluje naprej.

Sam sem torej v AVR-u sprogramiral identično sekvenco in zadeva bi morala delovati.

Vseeno dokler ne priključim na PS/2 vhod so signali lepi.
Ko pa priključim na PC/2 vhod se mi zgodi to da se HI signal spusti.. torej ni na 5V ampak na recimo 3-3,5V.

Je pa res, da imam pin AVR-a (izhod AVR-a PC0) vezan direktno na PS/2 data in
PC1 na CLK PS/2.

Sedaj razmišljam kaj narediti? Dodati vmes kakšen 4050 ali 4049 ali kaj podobnega, da se bo HI signal dvignil na normalen nivo?
Ker potem pa bi stvar res morala normalno delovati..

Vseeno ap rabim vmes nenašen električni preklopnik ki bo krmiljen iz AVR-a
Torej ko bo hotel AVR pošiljati kode tipk v Pc bo preklopil na svoj Data in Clk pin, drugače pa bo na PS/2 izhod v PC vezan Data in Clk iz tipkovnice..

ideje?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Brane212
Član
Član



Pridružen-a: Sob 13 Dec 2008 11:24
Prispevkov: 360
Aktiv.: 1.79
Kraj: LJUBLJANA

PrispevekObjavljeno: Pon Nov 01, 2010 4:50 am    Naslov sporočila:   Odgovori s citatom

AFAIK so vsi izhodi na PS/2 tipa open-collector, kar pomeni da rabiš zunanje pull-up upore in ustrezno nastavljene izhode.

Če AVR ne premore open-collector izhoda, ga moraš nekako simulirati.

En način je z izhodi, ki imajo tri state. Daš pač ničlo na izhod in ga potem glede na željeno vrednost tri-stateaš ali pa ne.

Drugi je recimo shottky dioda na izhodu ( in dodatni vhod za vhodni signal).

Poglej specifikacije in ne delaj na pamet.

_________________
On journey of life I chose the psycho path...
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
clownfish
Član
Član



Pridružen-a: Pet 05 Avg 2005 13:05
Prispevkov: 765
Aktiv.: 3.23
Kraj: Povir / Ljubljana

PrispevekObjavljeno: Pon Nov 01, 2010 12:09 pm    Naslov sporočila:   Odgovori s citatom

Brane212 je napisal/a:
AFAIK so vsi izhodi na PS/2 tipa open-collector, kar pomeni da rabiš zunanje pull-up upore in ustrezno nastavljene izhode.

Če AVR ne premore open-collector izhoda, ga moraš nekako simulirati.


Hmm..
torej izhodi so open collector.. in tudi moj izhod iz AVR-a bi moral biti tipa open collector.
Torej mi ne preostane drugega kot da izhod iz AVR-a preko PNP tranzistorja vežem na Data in SCK na PS/2 portu? in dodam še pull up upor recimo 10K?

razmišljam pravilno?

Citiram:
En način je z izhodi, ki imajo tri state. Daš pač ničlo na izhod in ga potem glede na željeno vrednost tri-stateaš ali pa ne.


Oziroma kot berem specifikacije portov na AVR-u obstaja možnost, da daš pin na vhod in takrat je v stanju visoke impedance torej takrat ne more vleči Hi nivoja na DATA ali SCK liniji navzdol?

??
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Brane212
Član
Član



Pridružen-a: Sob 13 Dec 2008 11:24
Prispevkov: 360
Aktiv.: 1.79
Kraj: LJUBLJANA

PrispevekObjavljeno: Pon Nov 01, 2010 12:18 pm    Naslov sporočila:   Odgovori s citatom

teslo je napisal/a:

Hmm..
torej izhodi so open collector.. in tudi moj izhod iz AVR-a bi moral biti tipa open collector.

Torej mi ne preostane drugega kot da izhod iz AVR-a preko PNP tranzistorja vežem na Data in SCK na PS/2 portu? in dodam še pull up upor recimo 10K?

razmišljam pravilno?


Ne. Problem je v tem,d a tako ne mroeš garantirati zadosti nizke napetosti, ki bi bila zaznana kot "0". Poleg tega je pri Oopen collectorju neaktivno stanje, ko je na žici napetost, ker takrat noben od driverjev ne prevaja, le pull-up upore pač vleče signal visoko.

Najelegantnejša rešitev je, da uporabiš tri-state capability, ki ga imaš v mikrokontrolerju na tak ali drugačen način. Lahko tudi tako kot si se namenil, postaviš stalno ničlo na izhodni pin, ki ga takrat, ko ničle ne rabiš , konfiguriraš kot vhodni pin.



Kakor ti je lažje. Moraš pa poskreti za pull-up upor, če ta ni že kje v PC-ju...

_________________
On journey of life I chose the psycho path...
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Brane212
Član
Član



Pridružen-a: Sob 13 Dec 2008 11:24
Prispevkov: 360
Aktiv.: 1.79
Kraj: LJUBLJANA

PrispevekObjavljeno: Pon Nov 01, 2010 12:25 pm    Naslov sporočila:   Odgovori s citatom

Pa nisem ziher, da je vse tako simpl glede drajvanja signalov.

Kolikor se spomnim, obe strani lahko uporabljata oba signala za to, da komunikacijo kadarkoli ustavita ali upočasnita. AFAIK ni čisto tako,d a ena stran kar tako odvrti sekvenco in krmili obe liniji, ne da bi poslušala.

Preberi ti še enkrat protokol...

_________________
On journey of life I chose the psycho path...
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
clownfish
Član
Član



Pridružen-a: Pet 05 Avg 2005 13:05
Prispevkov: 765
Aktiv.: 3.23
Kraj: Povir / Ljubljana

PrispevekObjavljeno: Pon Nov 01, 2010 12:55 pm    Naslov sporočila:   Odgovori s citatom

Brane212 je napisal/a:
Preberi ti še enkrat protokol...


Če sem prav razumel tisti, ki sproži zahtevo za komunikacijo spusti start bit, zgenerira clock signal in za parity bitom doda še stop bit in še ne clock signal v katerem tisti, ki posluša da acknowledge z data na LO.

Torej če je probelm v HI stanju ki se "poda" vedno ko hočem dati naprimer clock na Hi nivo dam pin na Hi in ga preklopim v vhodni pin torej Hi-z. Tako bo Hi stanje res na 5V saj ga nič ne bo dol vleklo.
Prav tako naredim na Data liniji s tem da na koncu po stop-bitu poslušam ali je Pc dal acknowledge status..
??

tole sem našel tukajle:
http://www.electronics-related.com/usenet/basics/show/59989-1.php

Citiram:
With the arduino (and other similar microcontrollers) you can fake
open-collector by putting the IO pins into "input mode" when you want the
open-collector off and into output mode with a 0 value when you want
it on, this means you can use the other pins for something else.


ker je Arduino v bistvu AVR to velja tudi v mojem primeru.. ?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> AVR, LPC900, x51 Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran 1, 2  Naslednja
Stran 1 od 2

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 494 dni


Powered by phpBB © 2001, 2005 phpBB Group