Ryabenky V.M. Ulkoisten laitteiden tietokoneohjaus standardiliitäntöjen kautta

Laitehallinta tietokoneen USB-portin kautta.

P. VYSOCANSKII, Rybnitsa, Transnistria, Moldova
Tietokoneohjauslaite eri laitteille, jonka kaavio on esitetty kuvassa. 1, toiminnallisesti samanlainen kuin kuvattu, mutta liitetään tietokoneen USB-porttiin, joka (toisin kuin COM-portti) on jokaisessa niistä nykyään. Laitteen ainoa siru on yleinen ATmega8-mikro-ohjain. Se on välttämätön tiedonsiirron järjestämiseksi USB-väylän kautta. Vaikka siinä ei ole erityistä laitteistomoduulia, tämä toiminto suorittaa ohjelmisto.

Virtalähteen positiivisen lähdön ja USB D-väylälinjan väliin kytketty vastus R1 asettaa sen hitaan LS-tilaan 1,5 Mbps:n vaihtonopeudella, mikä mahdollistaa tietokoneen sprinklien salauksen purkamisen ohjelmallisesti. Vastukset R4 ja B5 eliminoivat tiedonvaihdon aikana tapahtuvat transientit, mikä lisää työn vakautta. Kondensaattori C1 estää impulssikohinaa tehopiirissä, mikä myös parantaa laitteen vakautta. Diodeja VD1 ja VD2 käytetään alentamaan mikro-ohjaimen syöttöjännite noin 3,6 V:iin - tämä tarvitaan, jotta taso vastaa USB-väylää.
Laitteen ohjaussignaalit generoidaan mikro-ohjaimen lähtöihin РВ0-РВ5 ja РСО, РС1. Korkea logiikkataso - jännite noin 3,4 V.
Matalajännite on lähellä nollaa. Lähdöt voidaan kytkeä laitteisiin, jotka kuluttavat enintään 10 mA virtaa (jokaisesta lähdöstä). Jos tarvitaan suuria virran tai jännitteen arvoja, tulee käyttää vastaavia solmuja, kuten kuvassa 1. 5 ja 6. Laite on koottu prototyyppilevylle, piirilevyä ei kehitetty Käytettiin MLT-vastuksia, kondensaattoreita C2 ja C3 - korkeataajuisia keraamisia, C1 - K50-35 tai vastaavia tuotu. Piidiodeja, joiden jännitehäviö liitoksessa on noin 0,7 V. Mikro-ohjaimen ohjelma kehitettiin Bascom-AVR-ympäristön versiossa 1.12.0.0. USB-väylän kanssa työskentelyyn käytettiin swusb.LBX-kirjastoa, joka suorittaa USB-signaalien ohjelmistodekoodauksen reaaliajassa. HEX-tunnisteisesta tiedostosta kääntämisen tuloksena saatu ohjelmakoodi tulee ladata mikro-ohjaimen FLASH-muistiin. Tätä varten ohjelmoijaa käytettiin yhdessä Bascom-AVR:n sisäänrakennetun apuohjelman kanssa. Mikrokontrollerikonfiguraation bittien tilan tulee vastata kuvassa 2 esitettyä


Kun liität laitteen ensimmäistä kertaa tietokoneeseesi, käyttöjärjestelmä havaitsee uuden USB HID -yhteensopivan laitteen nimeltä "uniUSB" ja asentaa tarvittavat ohjaimet. Muutaman sekunnin kuluttua laite on asennettu ja käyttövalmis. Sen kanssa työskentelyä varten luotiin UniUSB-ohjelma. Siitä on kaksi versiota: Windows-perheen 32-bittisille (x86) ja 64-bittisille (x64) käyttöjärjestelmille. 32-bittisen version toiminta on testattu käyttöjärjestelmissä: Windows 98, Windows XP, Windows 7 ja 64-bittinen versio - vain Windows XP x64. UniUSB-ohjelma on kirjoitettu PureBasicilla (versio 4.31) käyttämällä käyttäjän määrittämien toimintojen HID Lib -kirjastoa, joka tukee USB HID -laitteiden kanssa työskentelyä. Ohjelmaikkunan ulkoasu on esitetty kuvassa 3


Samassa kansiossa suoritettavan tiedoston kanssa pitäisi olla UniUSB_code.txt- tai UniCOM_code.txt-niminen tiedosto. Jälkimmäinen vaihtoehto vaaditaan yhteensopivuuden vuoksi vuonna ehdotetun UniCOM-ohjelman kanssa. Tämä tiedosto tallentaa komentosarjan ulkoisten laitteiden ohjaamista varten. Kun ohjelma käynnistetään, tiedoston tiedot ladataan pääikkunassa olevaan taulukkoon, ja kun työ on valmis, ne tallennetaan tiedostoon. Napsauttamalla hiiren vasenta painiketta taulukon soluissa voit muuttaa niiden tilaa: 1 - korkea looginen taso, 0 tai tyhjä - matala looginen taso. Voit lisätä tai poistaa taulukon sarakkeen napsauttamalla sitä hiiren kakkospainikkeella ja valitsemalla haluamasi toiminnon näkyviin tulevasta valikosta. Kun laite on liitetty USB-porttiin, ohjelma tunnistaa sen ja aktivoi työkalupalkin ikkunan yläosassa olevan painikkeen. Tämän painikkeen painaminen käynnistää taulukon sarakkeiden iteroinnin ja niissä ilmoitettujen lähtöjen tilojen asettamisen. Selvyyden vuoksi korkealle logiikkatasolle asetettujen lähtöjen määrät on korostettu taulukon vasemmalla puolella. Hakunopeus (aika millisekunteina sarakkeesta sarakkeeseen siirtymien välillä) asetetaan "Speed, ms" -kentässä. Huomaa, että Windows-käyttöjärjestelmä on moniajo! Tämä tarkoittaa, että prosessoriaika jaetaan useiden, joskus käyttäjältä piilossa olevien prosessien kesken, jotka suoritetaan vuorotellen ottaen huomioon järjestelmässä asetetut prioriteetit. Siksi ei pitäisi odottaa suurta tarkkuutta alle 100 ms:n aikavälien ylläpitämisessä.
Pysäyttääksesi sarakkeiden iteroinnin hetkeksi, käytä -painiketta. Jos painat sitä uudelleen, iteraatio jatkuu kohdasta, jossa se pysähtyi. Painike lopettaa iteroinnin kokonaan taulukon sarakkeiden yli. Jos tiedonsiirto tietokoneen ja laitteen välillä epäonnistuu tai laite irrotetaan tietokoneen USB-liitännästä, ohjelma ilmoittaa virheestä näyttämällä tilarivillä asianmukaisen viestin.

KIRJALLISUUS

1. Nosov T. Laitteiden ohjaus tietokoneen COM-portin kautta - Radio, 2007, nro 11, s. 61,62.
2. Ryzhkov A. US-ohjelmoija AVR- ja AT89S-mikro-ohjaimille, jotka ovat yhteensopivat AVR910:n kanssa. - Radio, 2008, nro 7, s. 28, 29.

"Radio 2`2011" -lehden materiaalien mukaan
Voit ladata mikro-ohjaimen laiteohjelmiston ja ohjelman PC:lle

Yksi yksinkertaisimmista ja useimmin käytetyistä tavoista järjestää tiedonvaihto tietokoneen ja ulkoisten laitteiden välillä on käyttää tavallisia I/O-portteja - kuten COM, LPT, IrDA ja USB, sekä teollisuusliitäntöjä SPI, 12C, I-Wire. . Tämä kirja on omistettu heidän työnsä periaatteiden selittämiseen ja ohjaavien käyttäjäohjelmien luomiseen. Tarkastellaan laitteiden ja tietokoneen yhdistämiseen liittyviä ongelmia määritettyjen liitäntöjen kautta. Tarkastellaan laitteiden ja tietokoneen yhdistämiseen liittyviä ongelmia määritettyjen liitäntöjen kautta. Ohessa on esimerkkejä piireistä sekä lähdekoodit AVR-perheen tietokoneohjelmille ja mikrokontrollereille.Opas on suunnattu elektroniikkalaitteiden kehittäjille, jotka tarvitsevat ohjelmistotukea laitteilleen.

2. LPT PORTIN OHJELMOINTI
2.1. Giveio sys -ohjaimen asennus
2:2. LPT-porttilinjojen tilan hallinta
2.3. Ohjelman virheenkorjaustelineen kaavio
2.4. Mikro-ohjaimen yhdistäminen LPT-porttiin
2.5. Laitteisto- ja ohjelmistotyökalut puolijohdelaitteiden virta-jännite-ominaisuuksien mittaamiseen
2.5.1. Bipolaaristen transistorien virta-jännite-ominaisuuksien poistaminen
2.5.2. Kenttätransistoreiden virta-jännite-ominaisuuksien poistaminen
2.5.3. Diodien virta-jännite-ominaisuuksien poistaminen
2.5.4. Zener-diodien virta-jännite-ominaisuuksien poistaminen
2.5.5. Ohjauslohko
2.5.6. Ohjelmiston kuvaus

3 SARJAPORTTI
3.1. Porttilaitteiston organisaatio
3.2. RS-232C-liitäntä
3.3. Sähköinen käyttöliittymä
3.4. Siirtovirtauksen ohjaus
3.4. Nykyisen silmukan käyttöliittymä
3.6. infrapunaliitäntä
3.7. MIDI-liitäntä
3.8. COM-porttien konfigurointi
3.9. COM-porttien käyttö
3.10. COM-porttien toimintahäiriöt ja testaus
3.10.1. Kokoonpanon tarkistus
3.10.2. Toiminnallinen testaus
3.11. UART-ohjelmointi mikro-ohjaimille
3.11.1. Tiedonsiirto
3 11.2. Datan vastaanotto
3.11.3. UART ohjaus
3.11.4. Tiedonsiirtonopeuden generaattori
3.12. Tietokoneen ja mikro-ohjaimen yhdistäminen COM-portin kautta
3.13. Ohjelma mikro-ohjaimelle

4. COM-PORTTIOHJELMOINTI
4.1. Sataman avaaminen
3.2. Porttiasetusten määrittäminen
4.3. Aikakatkaisujen asettaminen
4.4 Vakioporttiasetusten valintaikkunan käyttäminen
4.5 Tietojen vastaanottaminen ja lähettäminen
4.6. Lankojen käyttö

5. USB-väylä
5.1. Laitteistoväylän organisaatio
5.2. USB-FIFO-muuntimet
5.3. FT245BM-sirun liittäminen USB-liitäntään
5.4. USB-RS232 muuntimet
5.5. FT232BM-sirun liittäminen USB-liitäntään

6. USB-VÄYLÄN OHJELMOINTI
6.1. Ohjaimen asennus
6.2.Liitettyjen laitteiden tunnistetiedot. Hanki laitetiedot
6.3. Tiedonvaihdon organisointi
6.4 Ohjelma AVR-ohjaimelle
6.5 Aikakatkaisujen käyttö
6.6. FT232 laiteohjelmointi
6.7. EEPROM ohjelmointi
6.8 Virhekoodit työskennellessäsi USB:n kanssa

7. PORT-OHJELMISTON YLEISKATSAUS
7.1. Proteus
7.2. SCADA-järjestelmät
7.2.1. Kuinka SCADA-järjestelmät toimivat
7.2.2. Genie järjestelmä
7.3. Teiminat
7.4 Wtnscope

8. VERKKOVIESTINNÄN JÄRJESTÄMISEN PERIAATTEET
8.1. Windows Socketin käyttäminen
8.2. Winsockin alustus
8.3 Luo pistorasia ja avaa yhteys
8.4 Viestien lähettäminen ja vastaanottaminen
8.5 Viestien luomisprosessin hallinta
8.6. Esimerkki ohjelman kehittämisestä
SOVELLUKSET
KIRJALLISUUS

Kustantaja: Oldi Plus
Julkaisuvuosi: 2008
Sivut: 380
ISBN: 978-966-8447-51-8
Venäjän kieli
Muoto: PDF
Koko: 8,5 Mb
Lataa: Ryabenky V.M. Ulkoisten laitteiden tietokoneohjaus standardiliitäntöjen kautta

P. VYSOCANSKII, Rybnitsa, Transnistria, Moldova

Laite eri laitteiden tietokoneohjaukseen, jonka kaavio on esitetty kuvassa. 1, toiminnallisesti samanlainen kuin kuvattu, mutta liitetään tietokoneen USB-porttiin, joka (toisin kuin COM-portti) on jokaisessa niistä nykyään. Laitteen ainoa siru on yleinen ATmega8-mikro-ohjain. Se on välttämätön tiedonsiirron järjestämiseksi USB-väylän kautta. Vaikka siinä ei ole erityistä laitteistomoduulia, tämä toiminto suorittaa ohjelmisto.

Virtalähteen positiivisen lähdön ja USB D-väylälinjan väliin kytketty vastus R1 asettaa sen hitaan LS-tilaan 1,5 Mbps:n vaihtonopeudella, mikä mahdollistaa tietokoneviestien salauksen purkamisen ohjelmallisesti. Vastukset R4 ja R5 eliminoivat tiedonvaihdon aikana tapahtuvat transientit, mikä lisää työn vakautta. Kondensaattori C1 estää impulssikohinaa tehopiirissä, mikä myös parantaa laitteen vakautta. Diodeja VD1 ja VD2 käytetään alentamaan mikro-ohjaimen syöttöjännite noin 3,6 V:iin - tämä tarvitaan tasojen sovittamiseksi USB-väylään. Laitteen ohjaussignaalit generoidaan mikro-ohjaimen PBO-PB5 ja PCO, PC1 lähtöihin. Korkea logiikkataso - jännite on noin 3,4 V. Alhainen jännite on lähellä nollaa. Lähdöt voidaan kytkeä laitteisiin, jotka kuluttavat enintään 10 mA virtaa (jokaisesta lähdöstä). Jos tarvitaan suuria virran tai jännitteen arvoja, tulee käyttää vastaavia solmuja, kuten kuvassa 1. 5 ja 6.

Laite on koottu leipälaudalle, painettua ei kehitetty. Käytetään MLT-vastuksia, kondensaattorit C2 ja SZ ovat korkeataajuisia keraamisia, C1 - K50-35 tai vastaavat maahantuotuja. Piidiodeja, joiden jännitehäviö liitoskohdassa on noin 0,7 V.

Ohjelma mikro-ohjaimelle on kehitetty Bascom-AVR-ympäristön versiossa 1.12.0.0. USB-väylän kanssa työskentelyyn käytettiin swusb.LBX-kirjastoa, joka suorittaa USB-signaalien ohjelmistodekoodauksen reaaliajassa. HEX-tunnisteisesta tiedostosta kääntämisen tuloksena saatu ohjelmakoodi tulee ladata mikro-ohjaimen FLASH-muistiin. Tätä varten ohjelmoijaa käytettiin yhdessä Bascom-AVR:n sisäänrakennetun apuohjelman kanssa. Mikro-ohjaimen konfigurointibittien tilan tulee vastata kuvassa 1 esitettyä. 2.

Kun liität laitteen ensimmäistä kertaa tietokoneeseesi, käyttöjärjestelmä havaitsee uuden USB HID -yhteensopivan laitteen nimeltä "uniUSB" ja asentaa tarvittavat ohjaimet. Muutaman sekunnin kuluttua laite on asennettu ja käyttövalmis. Sen kanssa työskentelyä varten luotiin UniUSB-ohjelma. Siitä on kaksi versiota: Windows-perheen 32-bittisille (x86) ja 64-bittisille (x64) käyttöjärjestelmille. 32-bittinen versio on testattu Windows 98-, Windows XP- ja Windows 7 -käyttöjärjestelmissä, kun taas 64-bittinen versio on testattu vain Windows XPx64:ssä.

UniUSB-ohjelma on kirjoitettu PureBasicilla (versio 4.31) käyttämällä käyttäjän määrittämien toimintojen HIDJJb-kirjastoa, joka tukee USB HID -laitteiden kanssa työskentelyä. Ohjelmaikkunan ulkoasu näkyy kuvassa. 3.

Samassa kansiossa suoritettavan tiedoston kanssa pitäisi olla UniUSB_KOfl.txt- tai UniCOM_KOfl.txt-niminen tiedosto. Jälkimmäinen vaihtoehto vaaditaan yhteensopivuuden vuoksi vuonna ehdotetun UniCOM-ohjelman kanssa. Tämä tiedosto tallentaa komentosarjan ulkoisten laitteiden ohjaamista varten. Kun ohjelma käynnistetään, tiedoston tiedot ladataan pääikkunassa olevaan taulukkoon, ja kun työ on valmis, ne tallennetaan tiedostoon. Napsauttamalla hiiren vasenta painiketta taulukon soluissa voit muuttaa niiden tilaa: 1 - korkea looginen taso, 0 tai tyhjä - matala looginen taso.

Voit lisätä tai poistaa taulukon sarakkeen napsauttamalla sitä hiiren kakkospainikkeella ja valitsemalla haluamasi toiminnon näkyviin tulevasta valikosta.

Kun laite liitetään USB-porttiin, ohjelma tunnistaa sen ja aktivoi työkalupalkin ikkunan yläosassa olevan >-painikkeen. Tämän painikkeen painaminen käynnistää taulukon sarakkeiden iteroinnin ja niissä ilmoitettujen lähtöjen tilojen asettamisen. Selvyyden vuoksi korkealle logiikkatasolle asetettujen lähtöjen määrät on korostettu taulukon vasemmalla puolella. Hakunopeus (aika millisekunteina sarakkeesta sarakkeeseen siirtymien välillä) asetetaan "Speed, ms" -kentässä.

Huomaa, että Windows-käyttöjärjestelmä on moniajo! Tämä tarkoittaa, että prosessoriaika jaetaan useiden, joskus käyttäjältä piilossa olevien prosessien kesken, jotka suoritetaan vuorotellen ottaen huomioon järjestelmässä asetetut prioriteetit. Siksi ei pitäisi odottaa suurta tarkkuutta alle 100 ms:n aikavälien ylläpitämisessä.

Pysäytä sarakkeiden selaaminen hetkeksi JB-painikkeella. Kun painat sitä uudelleen, iteraatio jatkuu kohdasta, jossa se lopetettiin. ■-painike lopettaa iteroinnin kokonaan taulukon sarakkeiden yli. Jos tiedonsiirto tietokoneen ja laitteen välillä epäonnistuu tai laite irrotetaan tietokoneen USB-liitännästä, ohjelma ilmoittaa virheestä näyttämällä tilarivillä asianmukaisen viestin.

13-01-2014

ATiny2313

Zakharov Denis, Ukraina

Kuten tiedät, on olemassa riittävä määrä rajapintoja, joiden kautta mikro-ohjain (MC) voi kommunikoida ulkoisten laitteiden kanssa. Jos sinun on liitettävä MK henkilökohtaiseen tietokoneeseen tai kannettavaan tietokoneeseen, voimme sanoa varmuudella, että on parasta käyttää RS-232 COM-porttiliitäntää.

Syy tälle valinnalle on ilmeinen - melkein kaikissa ohjaimissa on UART-laitteistomoduuleja, joiden avulla voit siirtää tietoja minimaalisella MK-resurssien kulutuksella. Lisäksi on monia vakiintuneita ohjelmia, jotka on suunniteltu toimimaan COM-portin kanssa. Koska MK-signaaleilla on TTL-tasot, vaaditaan tasomuunnin sovittamaan RS-232-liitäntä. Se suoritetaan usein edullisen ja suositun MAX232-sirun pohjalta.

Kuva 1.

Esitetty laite (kuva 1) on suunniteltu ohjaamaan laitteita millä tahansa tietokoneella, jossa on USB-portti. Nykyaikaisissa tietokoneissa ja kannettavissa tietokoneissa on useita näitä portteja. Tämän kompleksin avulla voit ohjata valoa, televisiota ja muita laitteita. Suorituslaitteiden ei tarvitse olla tietokoneen välittömässä läheisyydessä.

Laite koostuu melko edullisista ja yleisistä elementeistä. Molemmat mikropiirit ovat ATtiny2313-mikro-ohjaimia. Ensimmäinen ohjain on kytketty tietokoneen USB-porttiin ja toimii USB-COM-formaatin muuntimena. Toinen muodostaa yhteyden ensimmäiseen ja skannaa kaikki aikakomennot, jotka lähetetään PC:ltä pääteohjelman Terminal v1.9b kautta.

USB-nastaan ​​2 kytketty vastus R4 asettaa laitteen hitaan nopeuden LS-tilaan, joka mahdollistaa viestien purkamisen PC:ltä 1,5 Mbps:n nopeudella ohjelman avulla vaihdettaessa.

Transientit eliminoidaan vastusten R2 ja R3 avulla. Kondensaattori C5 estää impulssikohinaa tehopiirissä. Zener-diodit D1 ja D2 tarvitaan vastaamaan MK:n logiikkatasoja ja PC:n USB-tuloa. Virheettömän tiedonsiirron mahdollistamiseksi säätimien välillä kvartsiresonaattoreiden taajuuksien tulee olla 12 ja 4 MHz.
Vetovastukset tulee kytkeä /RESET-nastoihin, jotta vältetään MK:n mielivaltainen nollaus tulevaisuudessa häiriö- ja staattisten jännitteiden vaikutuksesta. Tässä mallissa kaikki komennot näkyvät porttiin B liitetyissä LED-valoissa. Laitteiden ohjaamiseksi on tarpeen kytkeä ohjaimen lähdöt releeseen (kuva 2).

Voit koota laitteen leipälevylle, vaikka se on kuitenkin parempi, täysimittaiselle painetulle piirilevylle. Elementit voidaan sijoittaa esimerkiksi kuvan 3 mukaisesti.

U1-mikrokontrollerin ohjelman on kehittänyt GetChiper Bascom-AVR-ympäristössä. Kirjasto toimi aiemmin USB-väylän kanssa swusb.LBX. Sen avulla USB-protokollan ohjelmistodekoodaus suoritetaan reaaliajassa. Jotta laite toimisi tietokoneen kanssa, sinun on asennettava asianmukaiset ohjaimet kopioimalla ne kiintolevyllesi. Kun yhdistät ensimmäisen kerran, laite tunnistetaan ja se pyytää ohjainta. Seuraavaksi sinun on määritettävä tiedostojen kansioon polku, ja kaikki toimii.

U2-mikrokontrolleriohjelman kirjoitin AVRStudio-ympäristössä assembly-kielellä. MC-toimintaalgoritmin lohkokaavio on esitetty kuvassa 4. UART-laitteistomoduuli tulee määrittää keskeyttämään tietoja vastaanotettaessa. MK itse ei suorita mitään toimintoa ennen kuin keskeytys tapahtuu. Virrankulutuksen vähentämiseksi voit käyttää lepotilaa, mutta tässä suunnittelussa tätä ei tarvinnut tehdä. Heti kun PC-päätteestä tulee komentoja, MK siirtyy välittömästi niiden skannaamiseen. Ohjain tukee tällä hetkellä seuraavaa komentojärjestelmää:

-on1, on2, on3, on4, on5, on6, on7, on8- komennot porttien asettamiseen lokissa. yksi";
-off1, off2, off3, off4, off5, off6, off7, off8- komennot porttien asettamiseen lokissa. 0";
-ser - aseta kaikki portit aktiiviseen tilaan "log. yksi";
-clr- palauta kaikki portit "log.0"-tilaan.

Kun olet antanut jokaisen komennon, paina Enter. Siten MK pystyy määrittämään komennon lopun ja aloittamaan sen skannauksen. Jokaisen oikean komennon kohdalla ohjain vastaa "ok". Jos syötät virheellisiä tietoja, "error" palautetaan pääteriville. Esimerkki komennon suorittamisesta on esitetty kuvassa 5.

Laiteohjelmiston versio 1.0. Sulakkeet on asetettava kuvan 6 mukaisesti. Kehitetään seuraavaa laiteohjelmistoversiota, jossa tapahtuu MC:n itseoppiminen ja komentojärjestelmien vaihto päätteessä.

MK-ohjelmisto, Proteus-virtuaalimalli ja PC-ajuri -
Tiedonsiirtoprotokolla MK:n ja PC:n välillä - lataa

Jos haluat kommentoida sivuston materiaaleja ja saada täyden pääsyn foorumillemme, sinun täytyy rekisteröidy .

  • .... itse asiassa haluaisin nähdä yhteyden yhden tietokoneen USB-portin ja toisen ... COM-portin tai kolmannen LPT-portin välillä ...
  • Kiitos! Kirjoitusvirhe korjattu :)
  • Miksi käyttää 2 MK:ta? Onko Attiny2313:ssa vähän salamaa? Vai eikö vain tarpeeksi I/O-portteja? Sitten okei, voit nähdä, että USB roikkuu liittimessä INT0 / INT1.
  • Pienitehoisten releiden kelojen vastus on alueella 100-200 ohmia, ottamatta huomioon kyllästettyä transistoria (tämä ei ole käynnistin eikä kontaktori). Joten 50-200 mA ei pelkää sopivaa avainta. Materiaali on erittäin mielenkiintoinen MK:n sitomisen suhteen USB:hen ilman liitäntäsiruja ja ilman laitteisto-USB:n läsnäoloa MK-rakenteessa. Mutta kun otetaan huomioon alkuperäisen lähteen http://www.recursion.jp/avrcdc/cdc-232.html tavoitteet ja tavoitteet, toinen kahdesta MK:sta suorittaa edelleen USB-COM-muuntimen toiminnot. Ja erittäin halpa muuntaja, joka varmasti miellyttää.
  • Tässä on mielenkiintoinen kansalainen, joka on kiinni "jaloista tavoista", lempinimestä päätellen. Mistä ääripäästä puhumme? Näyttää siltä, ​​​​että materiaalissa ei edes mainita releen tai transistorien tyyppiä. Ja jos rele saa virtansa 5 V USB:stä, haluaisin tietysti minimoida isännän kulutuksen PC:ssä. Tämä voidaan saavuttaa optoerottimilla ja lisäreleteholla kuormituspuolelta, mikä monimutkaistaa piiriä. Tai pari muuta vaihtoehtoa. Onko artikkelin painopiste optimoinnissa? Kirjoittaja on saavuttanut tavoitteensa ja tekee oikein, kun ei ole määritellyt tiettyä maksua. Sille, joka toistaa, tämä solmu riittää.
  • Kyllä, artikkeli on edelleen sama ... mutta onko sen arvoista opsitatsya? Halusin myös kommentoida jotain heti kun luin sen, mukaan lukien diodi. Mutta täällä et voi olla anonyymi. Siksi AVR-CDC:n kirjoittaja? En huomannut, että jossain piirissä käytetään signaaleja DTR, DTS, RTS, CTS. Eikö V-USB riitä? Noin kaksi "tiiliä" on jo kirjoitettu yllä - yksi riittäisi. Ja diodi on jo korjattu, kiitos Buddhalle! Diodia tarvitaan suojaamaan transistoria relekäämin itseinduktiojännitepulssilta virran avaushetkellä. Tässä muuten muistin yhden toteutuksen. Artikkeli oli Radio-lehdessä, mutta löysin sen myös netistä, voit katsoa sen jos kiinnostaa.
Luokka 1 luokka 2 luokka 3 luokka 4 luokka 5

Tietokoneohjauslaite eri laitteille, jonka kaavio on esitetty kuvassa. 1 liitetään tietokoneen USB-porttiin, joka on nykyään jokaisessa niistä. Laitteen ainoa siru on yleinen mikro-ohjain ATmega8. Se on välttämätöntä viestinnän järjestämiseksi bussissa USB. Vaikka siinä ei ole erityistä laitteistomoduulia, tämä toiminto suorittaa ohjelmisto.

Kuva 1

Virtalähteen positiivisen lähdön ja USB D-väylälinjan väliin kytketty vastus R1 asettaa sen hitaan LS-tilaan 1,5 Mbps:n vaihtonopeudella, mikä mahdollistaa tietokoneviestien salauksen purkamisen ohjelmallisesti. Vastukset R4 ja R5 eliminoivat tiedonvaihdon aikana tapahtuvat transientit, mikä lisää työn vakautta. Kondensaattori C1 estää impulssikohinaa tehopiirissä, mikä myös parantaa laitteen vakautta Diodit VD1 ja VD2 alentavat mikrokontrollerin syöttöjännitteen noin 3,6 V:iin - tämä tarvitaan tasojen sovittamiseksi USB-väylään.

Laiteohjaussignaalit generoidaan mikro-ohjaimen lähtöihin PB0-PB5 ja PC0, PC1. Korkea logiikkataso - jännite on noin 3,4 V. Alhainen jännite on lähellä nollaa. Lähdöt voidaan kytkeä laitteisiin, jotka kuluttavat enintään 10 mA virtaa (jokaisesta lähdöstä). Jos tarvitaan suuria virran tai jännitteen arvoja, tulee käyttää vastaavia solmuja.

Laite on koottu prototyyppilevylle, piirilevyä ei kehitetty Käytetään MLT-vastuksia, kondensaattoreita C2 ja C3 - korkeataajuisia keraamisia kondensaattoreita, C1 - K50-35 tai vastaavia maahantuotuja. Piidiodeja, joiden jännitehäviö liitoskohdassa on noin 0,7 V.

Ohjelma mikro-ohjaimelle on kehitetty ympäristössä Bascom AVR versiot 1.12.0.0. Kirjasto toimi aiemmin USB-väylän kanssa swusb.LBX, joka suorittaa USB-signaalien reaaliaikaisen ohjelmistodekoodauksen. HEX-tunnisteisesta tiedostosta kääntämisen tuloksena saatu ohjelmakoodi tulee ladata mikro-ohjaimen FLASH-muistiin. Mikro-ohjaimen konfigurointibittien tilan tulee vastata kuvassa 1 esitettyä. 2.

Kuva 2

Kun kytket laitteen ensimmäistä kertaa tietokoneeseen, käyttöjärjestelmä havaitsee uuden USB HID yhteensopiva laite nimeltä " uniUSB" ja asenna tarvittavat ajurit. Muutamassa sekunnissa laite on konfiguroitu ja käyttövalmis. UniUSB-ohjelma luotiin toimimaan sen kanssa. Siitä on kaksi versiota: 32-bit (x86) ja 64-bit ( x64) Windows-perheen käyttöjärjestelmät. 32-bittinen versio on testattu Windows 98:lla, Windows XP:llä, Windows 7:llä ja 64-bittistä versiota on testattu vain Windows XP x64:ssä.

Ohjelmoida UniUSB kirjoitettu kielellä PureBasic(versio 4.31) käyttämällä käyttäjän määrittämää funktiokirjastoa HID_Lib tukemassa työtä USB HID laitteet. Ohjelmaikkunan ulkoasu näkyy kuvassa. 3.

Kuva 3

Samassa kansiossa sen suoritettavan tiedoston kanssa pitäisi olla tiedosto nimeltä UniUSB_KOfl.txt. Tämä tiedosto tallentaa komentosarjan ulkoisten laitteiden ohjaamista varten. Kun ohjelma käynnistetään, tiedoston tiedot ladataan pääikkunassa olevaan taulukkoon, ja kun työ on valmis, ne tallennetaan tiedostoon. Napsauttamalla hiiren vasenta painiketta taulukon soluissa voit muuttaa niiden tilaa: 1 - korkea looginen taso, 0 tai tyhjä - matala looginen taso.

Voit lisätä tai poistaa taulukon sarakkeen napsauttamalla sitä hiiren kakkospainikkeella ja valitsemalla haluamasi toiminnon näkyviin tulevasta valikosta. Kun liität laitteen USB-porttiin, ohjelma tunnistaa sen ja aktivoi työkalupalkin ikkunan yläosassa olevan "Käynnistä"-painikkeen. Tämän painikkeen painaminen käynnistää taulukon sarakkeiden iteroinnin ja niissä ilmoitettujen lähtöjen tilojen asettamisen. Selvyyden vuoksi korkealle logiikkatasolle asetettujen lähtöjen määrät on korostettu taulukon vasemmalla puolella. Hakunopeus (aika millisekunteina sarakkeesta sarakkeeseen siirtymien välillä) asetetaan "Speed, ms" -kentässä.

class="eliadunit">

Huomaa, että Windows-käyttöjärjestelmä on moniajo! Tämä tarkoittaa, että prosessoriaika jaetaan useiden, joskus käyttäjältä piilossa olevien prosessien kesken, jotka suoritetaan vuorotellen ottaen huomioon järjestelmässä asetetut prioriteetit. Siksi ei pitäisi odottaa suurta tarkkuutta alle 100 ms:n aikavälien ylläpitämisessä.

Pysäyttääksesi sarakkeiden iteroinnin hetkeksi, käytä "Tauko"-painiketta. Kun painat sitä uudelleen, iteraatio jatkuu kohdasta, jossa se lopetettiin. "Stop"-painike lopettaa kokonaan iteroinnin taulukon sarakkeiden yli. Jos tiedonsiirto tietokoneen ja laitteen välillä epäonnistuu tai laite irrotetaan tietokoneen USB-liitännästä, ohjelma ilmoittaa virheestä näyttämällä tilarivillä asianmukaisen viestin.

Lähde: Radio nro 2, 2011

Arkisto artikkelille "Kuorman ohjaus USB-liitännän kautta"
Kuvaus: Ohjelmien lähdetekstit, mikrokontrollerin laiteohjelmistotiedosto, uniUSB-ohjelma
Tiedoston koko: 89,3 kt Latausten määrä: 2 773