ATmega32U4, CDC a maximální rychlost
ATmega32U4, CDC a maximální rychlost
Zdravím,
měl bych tu ke konzultaci jednu takovou věc
ATmega32U4 (na 16 MHz), která je použitá např. v Arduino Leonardo, podporuje CDC (sériák "zapouzdřený" do USB).
Jakou rychlostí to může běžet respektive jak to pak funguje s nastavením rychlosti přenosu?
Pročítám různé diskuze a moc moudrý z toho nejsem. V podstatě mi jde jen o to, jak prostřednictvím CDC komunikovat s Arduinem z nadřízeného systému (např. PC) rychleji než klasických 115k2 a navíc se i vyhnout nutnosti instalovat ovladače na PC (to elegantně řeší to CDC).
Máte s tím někdo nějakou praktickou zkušenost?
Díky!
měl bych tu ke konzultaci jednu takovou věc
ATmega32U4 (na 16 MHz), která je použitá např. v Arduino Leonardo, podporuje CDC (sériák "zapouzdřený" do USB).
Jakou rychlostí to může běžet respektive jak to pak funguje s nastavením rychlosti přenosu?
Pročítám různé diskuze a moc moudrý z toho nejsem. V podstatě mi jde jen o to, jak prostřednictvím CDC komunikovat s Arduinem z nadřízeného systému (např. PC) rychleji než klasických 115k2 a navíc se i vyhnout nutnosti instalovat ovladače na PC (to elegantně řeší to CDC).
Máte s tím někdo nějakou praktickou zkušenost?
Díky!
"all your robots are belong to us"
robodoupe.cz
robodoupe.cz
Re: ATmega32U4, CDC a maximální rychlost
takhle - pokud z toho nemáš potřebu dostat ten sériák, tak CDC ti tam nasype data až 12mbps.
Používám to u vláčků celkem často - PC si myslí, že komunikuje do sériového portu, ale nic ho nenutí dodržovat nějakou konkrétní rychlost - vhodí znak do bufferu a když je v bufferu volno, přidá další. Na druhé straně je aplikace, která si odebírá znaky - jak rychle to dělá je každému jedno.
Ty příkazy pro nastavení přenosové rychlosti jsou v případě CDC jen něco jako "pro pobavení veřejnosti".
Používám to u vláčků celkem často - PC si myslí, že komunikuje do sériového portu, ale nic ho nenutí dodržovat nějakou konkrétní rychlost - vhodí znak do bufferu a když je v bufferu volno, přidá další. Na druhé straně je aplikace, která si odebírá znaky - jak rychle to dělá je každému jedno.
Ty příkazy pro nastavení přenosové rychlosti jsou v případě CDC jen něco jako "pro pobavení veřejnosti".
Za pravopisné chyby v této zprávě může moje učitelka češtiny.
Re: ATmega32U4, CDC a maximální rychlost
Mno vlastně sériák asi nepotřebuju respektive v PC se to tak asi bude předpokládám tvářit, ale není mi jasné jak nastavit rychlost na neurčito
Co jsem se koukal, tak inicializace v Arduinu v tomto konkrétním případě postrádá definici rychlosti, ale co tedy nastavit na PC, aby to bylo správně?
Je to prostě takové matoucí
Co jsem se koukal, tak inicializace v Arduinu v tomto konkrétním případě postrádá definici rychlosti, ale co tedy nastavit na PC, aby to bylo správně?
Je to prostě takové matoucí
"all your robots are belong to us"
robodoupe.cz
robodoupe.cz
Re: ATmega32U4, CDC a maximální rychlost
IMHO to nastaveni rychlosti, parity a tak je tam kvuli spravnemu nastaveni HW, aby se domluvil se stejne nastavenym HW na druhe strane (pokud by se to nedelalo bit bangem, tedy SW posilanim nul a jednicek na nejake piny, tam by to pak nastavovalo tu SW vrstvu).
Jelikoz USB na takoveto veci nehraje a prenasi packety jak se mu zamane, tak kdyz to jde prez USB, tak je na kazde strane buffer a ten je bud prazdny, nebo plny, nebo je v nem nejake misto a na prenosove rychlosti kasle. Takze i na PC by ovladac takovehoto seriaku mel na nejake rychlosti kaslat a proste se ridit aktualnim stavem bufferu. Cili bud by nemel vubec mit moznost tu rychlost a spol nastavit (neni policko, kam to napsat), nebo pokud policko/parametr je, tak by ho mel ignorovat, protoze ten HW uz stejne vic nenastavi a stim na druhe strane se domluvi. Takze pokud to chce zadat nejake hodnoty, tak by melo byt jedno, jake konkretni tam zadas, protoze je ovladac stejne zahodi, neb je nema kam dat.
Jelikoz USB na takoveto veci nehraje a prenasi packety jak se mu zamane, tak kdyz to jde prez USB, tak je na kazde strane buffer a ten je bud prazdny, nebo plny, nebo je v nem nejake misto a na prenosove rychlosti kasle. Takze i na PC by ovladac takovehoto seriaku mel na nejake rychlosti kaslat a proste se ridit aktualnim stavem bufferu. Cili bud by nemel vubec mit moznost tu rychlost a spol nastavit (neni policko, kam to napsat), nebo pokud policko/parametr je, tak by ho mel ignorovat, protoze ten HW uz stejne vic nenastavi a stim na druhe strane se domluvi. Takze pokud to chce zadat nejake hodnoty, tak by melo byt jedno, jake konkretni tam zadas, protoze je ovladac stejne zahodi, neb je nema kam dat.
Re: ATmega32U4, CDC a maximální rychlost
Budeš se divit, ale klidně si tam nastav co chceš. Prostě: program něco nastaví, USB to pošle do CDC a tam se to zahodí. Celá komunikace pojede na rychlosti "jak to USB zvládne" a nebo "jak bude aplikace v MCU odebírat data". Ten znak má pro CDC jen informativní charakter a slouží pro to, aby jsi si nastavil správnou rychlost na modemu.
Za pravopisné chyby v této zprávě může moje učitelka češtiny.
Re: ATmega32U4, CDC a maximální rychlost
Hmm tak jak mi přijde hardware, vyzkouším, je-li to opravdu tak snadné Zatím díky!
"all your robots are belong to us"
robodoupe.cz
robodoupe.cz
Re: ATmega32U4, CDC a maximální rychlost
Kdyby jsi to chtěl zkoušet na nějakém opravdickém procesoru, tak mám celou řadu realizací na PIC18F14K55 (prodává se zlevněná verze pod označením MCP2200)
Za pravopisné chyby v této zprávě může moje učitelka češtiny.
Re: ATmega32U4, CDC a maximální rychlost
Když já se té mimozemské techniky, což PICky jsou, bojím
V čem se to vlastně dnes programuje? Dřív (více jak 10 let) byl potřeba programátor a ASM. C bylo jen za těžké prachy
V čem se to vlastně dnes programuje? Dřív (více jak 10 let) byl potřeba programátor a ASM. C bylo jen za těžké prachy
"all your robots are belong to us"
robodoupe.cz
robodoupe.cz
Re: ATmega32U4, CDC a maximální rychlost
Programuje se normálně, existuje několik verzí C, některé zadarmo, jiné za peníze, existuje na to micro pascal a micro basic, ale nemám ani tušení, jestli jsou použitelné.
Nevím, jestli existuje gcc, to jsem nezkoumal
Nevím, jestli existuje gcc, to jsem nezkoumal
Za pravopisné chyby v této zprávě může moje učitelka češtiny.
Re: ATmega32U4, CDC a maximální rychlost
V čem to programuješ ty? A jsou k dispozici knihovny na základní věci? Tohle je asi na jinou diskuzi, ale budu si o tom muset něco načíst, protože doba asi dost pokročila
"all your robots are belong to us"
robodoupe.cz
robodoupe.cz