Diodin nopeus ( avr sarjaportti + optoerotus + PC )

Tarkoitus olisi tehdä optoerotettu liitäntä Atmel AVR 8-bit mikrokontrollerin ja PC:n välille.

Kun perinteinen "COM1" -sarjaportti on nyky-PC:ssä yhä harvinaisempi, katsoin paremmaksi ratkaisuksi käyttää tätä:

TTL-232R-5V (mutta en ole ihan varma, olisiko sittenkin pitänyt valita sen sijaan tämä: TTL-232R-3V3)

Näiden tuotteiden tarkemmat tiedot löytyvät täältä:
http://www.ftdichip.com/Products/Cables/USBTTLSerial.htm

PC:n USB -porttiin siis liitetään em. kaapeli, ja ko. kaapelin toisessa päässä on 6-napainen liitin joka sopii piirilevylle juotettuun piikkirimaan, nastaväli 2,54 mm.

Optoerotuksessa on tarkoitus käyttää nopeita optoerottimia, tyyppi 6N137.

Mutta kun 6N137 on invertoiva, niin kun sarjaportin IDLE -tila on 1, niin jotenkin tuntuisi paremmalta tehdä tuo niin päin, että idle -tilassa optoerottimen LED on pimeänä.

PC:ltä avr:lle päin tuo sujuu helposti määrittämällä muunnoskaapelin TxD invertoiduksi (sujuu FTDIchip:n apuohjelmalla).

Mutta AVR:ltä PC:lle päin tuo edellyttäisi optoerottimen LED:in kytkemistä AVR:n käyttöjännitteen ja sarjaportin TxD:n välille (toki sopivalla etuvastuksella varustettuna).

Tällaisessa kytkennässä vaan on sellaisenaan se varjopuoli, että tyypillisesti mikrokontrollereiden looginen nolla on hyvinkin lähellä 0 V, mutta looginen ykkönen ei ole yhtä lähellä käyttöjännitettä, jolloin voi käydä niin, että LED hohtaa himmeästi silloinkin kun sen pitäisi olla pimeänä (eli loogisessa tilassa YKSI, kun kerran LED onkin kytketty käyttöjännitteen ja IO -nastan väliin).

Tämän virhetoiminnon välttämiseksi voisi olla hyvä kytkeä LEDin kanssa sarjaan 1 tai jopa 2 diodia, näin estetään haamuhohtamiset väärässä loogisessa tilassa.

Mutta: Jos sarjaporttia ajetaan 115200 bps nopeudella, niin silloin käytettävä diodi pitää avautua riittävän nopeasti (ei ole hyvä jos avautuminen kestää yli 1000 ns).

Pystyvätkö 1N4007:t tuohon? Voi olla ettei, sillä nehän ovat tyypillisesti 50-60 Hz tasasuuntaukseen käytettyjä.

Mikä siis kannattaisi laittaa nopeaksi diodiksi, ja onko tarpeen samalla valita diodi, jonka kynnysjännite on enemmän kuin vakio 0,55 - 0,7 volttia ?

Yksi vaihtoehto olisi tietysti laittaa tavallisen diodin sijasta punainen LED, näkisi samalla tuleeko kontrollerilta dataa, ja punaisen LEDin 1,6V kynnysjännite voisi olla hyvinkin sopiva, datalehden mukaan tuon 6N137:n sisäisen IR-LEDin kynnysjännite on välillä 1,2-1,75 V. (itseasiassa datalehden mukaan max. 1,75 V, tyypillisesti 1,65V @ 10 mA; minimiä ei ilmoiteta. Mutta jos ajetaan pienemmällä viralla, esim. 7 mA, niin muistan jossain nähneeni, että IR-LEDin kynnysjännite voi olla vain 1,2V)

AVR:n datalehdestä selviää, että I/O -nastan loogisessa tilassa YKSI, jännite on vähintään Vcc - 0,8 V.

Eli 5V jännitteellä 4,2 V.

Tuohan siis tarkoittaisi, että: (5V - 4,2V) < 1,2 V , eli em. diodia ei tarvittaisi lainkaan, vaan ykköstilassa I/O -nasta on niin lähellä käyttöjännitettä, ettei LEDin haamuhehkumisia pitäisi esiintyä.

Eli toimiiko oikein, jos vain kytkee optoerottimen sisäisen LEDin etuvastuksen sarjakytkennän AVR:n Vcc:n ja TxD:n väliin sellaisenaan ?
1140
Äänestä

Muut lukivat myös

Vastaukset 1

Vanhimmat

Kommentoi aloitusta


AVR+FtdiChip ? kirjoitti:

Tarkoitus olisi tehdä optoerotettu liitäntä Atmel AVR 8-bit mikrokontrollerin ja PC:n välille.

Kun perinteinen "COM1" -sarjaportti on nyky-PC:ssä yhä harvinaisempi, katsoin paremmaksi ratkaisuksi käyttää tätä:

TTL-232R-5V (mutta en ole ihan varma, olisiko sittenkin pitänyt valita sen sijaan tämä: TTL-232R-3V3)

Näiden tuotteiden tarkemmat tiedot löytyvät täältä:
http://www.ftdichip.com/Products/Cables/USBTTLSerial.htm

PC:n USB -porttiin siis liitetään em. kaapeli, ja ko. kaapelin toisessa päässä on 6-napainen liitin joka sopii piirilevylle juotettuun piikkirimaan, nastaväli 2,54 mm.

Optoerotuksessa on tarkoitus käyttää nopeita optoerottimia, tyyppi 6N137.

Mutta kun 6N137 on invertoiva, niin kun sarjaportin IDLE -tila on 1, niin jotenkin tuntuisi paremmalta tehdä tuo niin päin, että idle -tilassa optoerottimen LED on pimeänä.

PC:ltä avr:lle päin tuo sujuu helposti määrittämällä muunnoskaapelin TxD invertoiduksi (sujuu FTDIchip:n apuohjelmalla).

Mutta AVR:ltä PC:lle päin tuo edellyttäisi optoerottimen LED:in kytkemistä AVR:n käyttöjännitteen ja sarjaportin TxD:n välille (toki sopivalla etuvastuksella varustettuna).

Tällaisessa kytkennässä vaan on sellaisenaan se varjopuoli, että tyypillisesti mikrokontrollereiden looginen nolla on hyvinkin lähellä 0 V, mutta looginen ykkönen ei ole yhtä lähellä käyttöjännitettä, jolloin voi käydä niin, että LED hohtaa himmeästi silloinkin kun sen pitäisi olla pimeänä (eli loogisessa tilassa YKSI, kun kerran LED onkin kytketty käyttöjännitteen ja IO -nastan väliin).

Tämän virhetoiminnon välttämiseksi voisi olla hyvä kytkeä LEDin kanssa sarjaan 1 tai jopa 2 diodia, näin estetään haamuhohtamiset väärässä loogisessa tilassa.

Mutta: Jos sarjaporttia ajetaan 115200 bps nopeudella, niin silloin käytettävä diodi pitää avautua riittävän nopeasti (ei ole hyvä jos avautuminen kestää yli 1000 ns).

Pystyvätkö 1N4007:t tuohon? Voi olla ettei, sillä nehän ovat tyypillisesti 50-60 Hz tasasuuntaukseen käytettyjä.

Mikä siis kannattaisi laittaa nopeaksi diodiksi, ja onko tarpeen samalla valita diodi, jonka kynnysjännite on enemmän kuin vakio 0,55 - 0,7 volttia ?

Yksi vaihtoehto olisi tietysti laittaa tavallisen diodin sijasta punainen LED, näkisi samalla tuleeko kontrollerilta dataa, ja punaisen LEDin 1,6V kynnysjännite voisi olla hyvinkin sopiva, datalehden mukaan tuon 6N137:n sisäisen IR-LEDin kynnysjännite on välillä 1,2-1,75 V. (itseasiassa datalehden mukaan max. 1,75 V, tyypillisesti 1,65V @ 10 mA; minimiä ei ilmoiteta. Mutta jos ajetaan pienemmällä viralla, esim. 7 mA, niin muistan jossain nähneeni, että IR-LEDin kynnysjännite voi olla vain 1,2V)

AVR:n datalehdestä selviää, että I/O -nastan loogisessa tilassa YKSI, jännite on vähintään Vcc - 0,8 V.

Eli 5V jännitteellä 4,2 V.

Tuohan siis tarkoittaisi, että: (5V - 4,2V) < 1,2 V , eli em. diodia ei tarvittaisi lainkaan, vaan ykköstilassa I/O -nasta on niin lähellä käyttöjännitettä, ettei LEDin haamuhehkumisia pitäisi esiintyä.

Eli toimiiko oikein, jos vain kytkee optoerottimen sisäisen LEDin etuvastuksen sarjakytkennän AVR:n Vcc:n ja TxD:n väliin sellaisenaan ?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu