Kysymys:
Mikä on paras USB-siirtotyyppi (bulk, keskeytys, isokroniset siirrot) USB-oskilloskoopin toteuttamiseen?
robomon
2015-09-08 16:57:36 UTC
view on stackexchange narkive permalink

Haluan rakentaa USB-oskilloskoopin. Luin erilaisista USB-siirtotyypeistä. Mikä siirtotyyppi on paras siirtää kerätyt ADC-näytteet USB-oskilloskoopista tietokoneeseen?

Alla on muutama havaintoni. Korjaa minut, ja olisi myös hyvä, jos joku voisi ehdottaa hyvää siirtotyyppiä.

  1. Isokroninen siirto - Mahdollinen tietojen menetys. Ei hyvä oskilloskoopille, koska jokainen tieto on arvokas. Kuinka paljon dataa voi kadota?
  2. Keskeytystila - En tiedä, tulisiko se USB-yhteydelle
  3. Bulk-tila - Minusta näyttää parhaana, koska tietoja ei menetetä
  4. Ohjaussiirto - ei sovellu, koska sitä ei ole tarkoitettu tietojen siirtämiseen
Olen lukenut, että useimmat usb: n piirit käyttävät bulk-tilaa lähettääksesi kuvakaappauksia laajuudesta.
Oletettavasti jos siirryt isokroniseen tilaan, voit varata hieman ylimääräistä kaistanleveyttä virheenkorjaukseen.
Tai jos kyseessä on kova ylikuormitus, [PCIe DMA] (http://xillybus.com/) kutittaa mielikuvitustani.
Neljä vastused:
CL.
2015-09-08 18:00:24 UTC
view on stackexchange narkive permalink

Joukkosiirrot eivät menetä tietoja, mutta niillä ei ole taattua vähimmäiskaistanleveyttä. (Toisaalta he voivat saavuttaa suuremmat nopeudet, koska he pystyvät käyttämään kaikkea kaistanleveyttä, jota tosiasiallisesti ei käytetä muissa siirroissa.)

Mitä tapahtuu, kun oskilloskoopin tiedot siirrot viivästyvät (joko virheiden tai muiden laitteiden takia), ja uutta tietoa on kasaantumassa? Pysäytätkö laitteen, kunnes vanhat tiedot on lähetetty, vai heitätkö vanhat tiedot pois voidaksesi lähettää nykyiset tiedot?

Isokroniset siirrot on suunniteltu reaaliaikaisille tiedoille. Sinulla ei ole valinnanvaraa virheenkäsittelystä, mutta kaistanleveytesi on varattu väylälle.

  • Jos haluat näyttää tallennetut tiedot reaaliajassa, käytä isokroonisia siirtoja.
  • Jos haluat siirtää tallennetut tiedot tietokoneelle sen jälkeen, kun mittaukset ovat päättyneet, sinun tulee käyttää joukkosiirtoja.
Cort Ammon
2015-09-08 23:28:30 UTC
view on stackexchange narkive permalink

Kysymys on melkein täysin riippumaton käytöstä oskilloskooppina, ja sitä ohjaavat täysin viestinnät, joita pyydät USB: ltä. Esimerkiksi:

  • Oskilloskooppi, jolla on suuri (monen megatavun) puskuri sisäisesti ja joka on suunniteltu suorittamaan ensin lyhyt testi ja sitten lataamaan tiedot, käytettäisi täysin joukkosiirtoa. Sillä ei ole tarvetta taatulle kaistanleveydelle, joten suurin äänenvoimakkuus ja virheiden tarkistaminen irtotavaransiirtona on paras.
  • Oskilloskooppi, joka on suunniteltu kytkettäväksi jatkuvasti testattavaan piiriin jatkuvasti ja jonka on toimittava "reaaliajassa" (lue: deterministinen ajoaika) valitsisi isochronuksen. Bulk ei tarjoa deterministisiä ajonaikaisia ​​takuita, etkä voi asettaa putkellesi varattua kaistanleveyttä. Sinun on tehtävä omat virhekorjauksensa, mutta ainakin ne voidaan tehdä deterministisesti.
  • Oskilloskooppi, jossa on "elävä" syöte ihmisten katselua varten ja nopea kaappaaminen liipaisimessa, voi asettaa kaksi päätepisteet, yksi isokrono pysyä mukana reaaliaikaisessa syötteessä ja joukkoliikenteessä laukaistulle datalle. Ihmisravinnoksi kehyksen tai kahden menettäminen ei ole iso juttu, joten ei ole syytä huolestua isokronuksen virheiden tarkistuksen puutteesta. Todellisista tiedoista siirrät ne kuitenkin irtotavarana virheenkorjausta varten.
  • Tätä virtapiiriä voidaan käyttää osana live-järjestelmää. Se ei välttämättä ole vain oskilloskooppi, vaan myös suojaus signaaleja vastaan, jotka osoittavat, että piiri on poistumassa toiminta-alueilta ja tietokoneen on sammutettava. Tällöin voit lisätä keskeytyspäätteen järjestelmään saadaksesi taatun viiveen (ja joitain tarkasti määriteltyjä virheiden käsittelyjä) varmistaaksesi, että asia huolletaan ennen kuin se katkaisee piirit.

Kun tiedät, millaista dataa lähetät, ja palvelun laadun (QoS) ehdoista, joihin tietojen on oltava perillä, voit päättää, mikä USB-siirtomekanismi on tehtävä. Tiedät olevasi valmis tekemään nämä päätökset, kun sanaa "oskilloskooppi" ei enää tarvita kuvaamaan tarvitsemasi tiedot ja QoS. Sitten tiedät, että on riittävän objektiivisilla sanoilla alkaa käsitellä näitä asioita.

Dave Tweed
2015-09-08 17:29:00 UTC
view on stackexchange narkive permalink

Oskilloskoopilla siirron kaistanleveys on parametri, jonka haluat maksimoida. Joukkosiirto on suunniteltu erityisesti suurelle kaistanleveydelle, joten se on oikea valinta. Vaikka isokrooniset ja keskeytyneet siirrot asettavat rajat viiveelle, ne on tarkoitettu vain matalan tai keskitason kaistanleveydelle.

Jon
2015-09-08 23:12:23 UTC
view on stackexchange narkive permalink

Käytä vain joukkosiirtoja. Oskilloskooppi ei oikeastaan ​​ole korkean datanopeuden laite. Ellei aiot tehdä digitaalista fosforityyppistä suunnittelua, oskilloskooppi on oikeastaan ​​vain ikkuna hyvin pieneen osaan aaltomuotoa. Oletetaan esimerkiksi, että haluat näyttää 1000 vaakapikseliä ja päivittää näytön noin 30 Hz: n taajuudella. Jos näytteet ovat kukin 8-bittisiä (tämä on tyypillistä) ja kanavia on kaksi, katsot vain 60000 tavua sekunnissa. Täyden nopeuden USB voi suorittaa noin 1.000.000 tavua / s, joten käytät alle 6% väylän läpimenokapasiteetista. Tämä antaa paljon aikaa joukkolähetystilan antamiseen (korjaa virheet, kiertää muuta väyläliikennettä), ja on epätodennäköistä, että kohtaat tosielämän väyläkokoonpanon, joka ei pysty osoittamaan sinulle tarpeeksi kaistanleveyttä niin paljon tietoja varten.



Tämä Q & A käännettiin automaattisesti englanniksi.Alkuperäinen sisältö on saatavilla stackexchange-palvelussa, jota kiitämme cc by-sa 3.0-lisenssistä, jolla sitä jaetaan.
Loading...