Stránka 2 z 5
ARM a time critical
Napsal: 27. 3. 2010, 8:39
od goody
Ihmo arm a time critical moc do sebe nejde. Pac pokud ti nepostacuji periferie kterych ma fakt mnoho, tak CPU uz se neda odhadnou cas za ktery se vykona instrukce. Snazim se prubeznou chybu udrzet pod 5imp.
Napsal: 27. 3. 2010, 8:41
od pavel-gravos
Slo by to takhle:
Intr1=A enkoderu aktivni na nabeznou i sestupnou hranu
kouknu na stav B enkoderu
inkrementuji nebo dekrementuji skutecnou polohu
Intr2=B enkoderu aktivni na nabeznou i sestupnou hranu
kouknu na stav A enkoderu
inkrementuji nebo dekrementuji skutecnou polohu
Intr3= Step
kuknu na Dir
inkrementuji nebo dekrementuji zadanou polohu
Intr4=Timer po 100us - nizka priorita
latchnu si zadanou i skutecnou polohu
spoctu PID
budim mustek podle vypoctu
Ale nechci ti do toho kecat

, CPLD asi lepsi.
Pavel
Napsal: 27. 3. 2010, 8:58
od goody
Taky ti nechci do toho kecat, ale spocitej si koli casu projebes, nez se ten interupt provede a nez se dostanes k nacteni strobovane hodnoty. Nezlob se na me, ale tim okamzikem to presouva reseni do MadeByHome reseni a to uz jsou lepsi analogova reseni

) Chci sice LowCost, ale spolehlive reseni

))
Napsal: 27. 3. 2010, 9:11
od pavel-gravos
Nezlobim se, rikam ze CPLD lepsi. Intry sezerou fakt hodne casu.
Pavel
Napsal: 27. 3. 2010, 9:19
od goody
V pohodě. Já to nebral osobně. Jen jsem si opravdu kladl celkem vysoké nároky na domácí řešení a taky ta cena. Atmega 32Kc a Xilinx 86Kc. Vse je na 5V (ARMik jedine 3,3V). Pouzivat klasicke Logicke IO, tak bych jich tam mel o dost vice a cena by vzrostla. Nakonec sleduji vyuziti Toho CPLD.
Macrocells Used 35/36 (98%)
Pterms Used 123/180 (69%)
Registers Used 30/36 (84%)
Pins Used 23/34 (68%)
Function Block Inputs Used 56/72 (78%)
a to jsem to musel zatracene optimalizovat abych se vyhnul 72jce.
Napsal: 27. 3. 2010, 10:12
od ledvinap
Zajima jsou ted atmel Xmega procesory. Maji integrovany kvadraturni demodulator, slusnou PWM a 1Ms adc. Zrovna kreslim pokusnou desku.
Napsal: 27. 3. 2010, 10:17
od goody
ledvinap píše:Zajima jsou ted atmel Xmega procesory. Maji integrovany kvadraturni demodulator, slusnou PWM a 1Ms adc. Zrovna kreslim pokusnou desku.
Vim. Uz jsem o nich premyslel, ale jsou hure dostupne a drazsi. Volil jsem to co mam v sufliku a minimalne by se musel pridat jeden MKO na strobovani toho step a nejlepe citac, aby to nebylo kriticke na obsluhu toho signalu. Pokud by melo jit ovladat dir/step, stejne by jsi se externi logice nevyhl. Krome toho provedeni pouze SMD

coz vyrazuje ze hry pro stavebnici.
O co mi vlastne slo
Napsal: 28. 3. 2010, 11:35
od goody
Fyzicky jsem stavel A300 a ta uz sla do sveta. Delal jsem to pro kamarada, i kdyz ten se na me vyprdl a s konstrukci meho vlastniho CNC mi asi nepomuze a v soucasne dobe jsem jiz na nej rezignoval, neb mi rika, ze si radeji koupi starsi stroj za 150 000, nez aby se o to pokousel (skvele kdyz se tim zivi, ale ja to delam jako hoby).
Konstrukce A300 me celkem zaujala a ste jsem vychazel. Dnes si troufnu tvrdit, ze jsem ji v detailech doladil do te podoby, ze jeji vlastnosti byli zachovany a doplneny nove, ktere ji delaji kvalitnejsi. Ac se mi krasa analogoveho PIDu zamlouvala, par veci me na ni odrazovali. Tj. konfigurace trimry proste neni muj styl, protoze jeji reprodukovatelnost je spatna. Nic mene si myslim ze A300 reseni jako UHU strci 1000x do kapsy.
Pro vsechny basltire rikam rovnou ze reseni bez logiky, nebo HW podpory konkretniho MCU je pase a MCU, ktere maji HW podporu stoji jine penize. Netvrdim ze jsem nejchytrejsi, ale delal jsem tu hodne pokusu a tak tomu neverim. Mozna me prave nekdo kdo ma UHU bude poucovat ze se mylim, ale neverim, ze se tam neukazou prebehy, protoze softwarove tyto signaly proste neni mozne obslouzit, pokud ma delat to MCU jeste neco jine.
I ten nejlevnejsi XC3S50, ktery jsem puvodne pouzil ja stoji cca 400Kc a kde je zbytek. XMega resi pouze enkoder coz je chvalihodne, ale abych rekl, ze udelali vse, tak by tam musel dat jeste up/down counter s externim ovladanim,. Nasel jsem STR7 ktere toto resili, ale cena byla jako u toho FPGA, takze zase spatne. Krome toho v tom nebyla zadna invence a napad, coz me degradovala na dementa co vymysli uz vymyslene.¨
Moje invence se projevila v tom, ze jsem nasel kompromis a dosahl lepsiho vysledku za diametralne jine penize a pokud se najde nekdo, kdo pouziva aspon Gecko, nebo digitalni steeper v hladine aspon 3000Kc, rad mu poskytnu svuj na test, pokud bude ochoten udelat srovnani. Troufnu si tvrdit, ze ho prinejmensim vysledky prekvapi.
Optimalizaci toho CPLD jsem dosahl stavu, kdy clk by mohlo byt az 78Mhz a z toho plyle, ze by step mohl byt klidne 1/4 clk a encder 1/2. Tj. cca 20Mhz a 40Mhz, Coz je volovina, ale chci tim rict, ze to tech 500Khz zvlazne levou zadni a jeste mi to dovolilo pouzit to nejlevnejsi MCU co jsem na to pouzil. Osobne jsem prave pro ARM7, nebo PIC. Atmegy jsem zacal pouzivat proto, ze ATMEGA8 stala 32Kc, mela 8Kb Flash atd atd. a hlavne opravdu co CLK, to instrukce. Jinak mam k atmelu dost proti za jejich hnusne errata.
Asi se nedostanu na cenu toho UHU pac 3EUR je fakt malo, ale da se s tim xilinx a Atmega8 dostat cca na 7EUR a je to uplne, ale uplne nekde inde.
Dalsi plan
Napsal: 28. 3. 2010, 11:47
od goody
Pokud se mi bude darit jako doposud, tak pristi rok uvolnim do sveta jeste PLC s barevnym dotykovym displayem, pro rizeni 3 os a 8 logickych vystupu 16 logickych vstupu v cene asi 2500Kc (bez toho displaye). Je tam integrovana flash 64Mb a podpora pro SD do 2G, pro ukladani programu. Display se snad bude dat koupit jako nahradni dil ke kopirkam cannon v cene asi do 2500Kc. Velikost 7,5palce a je schopen zobrazit 8 barev v rozliseni 640x480.
Foto toho LCD bez dotykove folie zde

Dovolil bych si trosku nesouhlasit
Napsal: 5. 5. 2010, 7:41
od Jenda9999
Ja se procesorum uz venuji nejaky patek.Tak treba takove DSP Analog Devices BF532.Je v pouzdru TQFP.Takze lze zapajet.Pracuje na 400 MHZ,ma dve vypocetni jednotky.Takze ma asi 800 MIPS.Umi ted treba tech 400M deleni za sekundu. Reakce na preruseni trva bohuzel 2 system clock.Tedy silenych 26 ns....Pred casem jsem s nim delal neco s PWM.Takze s PWM frekvenci 20 kHz jsem kazdy proud zmeril 32x a udelal prumer.Vstupy od enkoderu vedu do procesoru.Takze jestlize mi prisel puls nasobne rychleji nez predchozi, je to sum, tak zahodit...A co to cele stoji 10US$.
Re: Dovolil bych si trosku nesouhlasit
Napsal: 5. 5. 2010, 10:14
od goody
Taky bych si dovolil trosicku neslouhlasit. Na tech 10USD se nedostanes ani s cenou toho srace a potrebuje externi perif. 26ns je luxus, ale to jsi do nej teprve vstoupil a kdyz porovnas cenu s fpga jsi na tom stejne, s tim ze ti s FPGA vzdy natru. Ano lepe se programuje nez syntetizuje projekt ve VHDL. Nic mene vysledek nelze srovnat. Nic mene kdyz pominu ten blabol o 10USD, tak jo je to urcite zajimavy DSP.
A budu se asi jeste jednou opakovat
Napsal: 5. 5. 2010, 10:25
od goody
S FPGA bezne zachyceni 5ns, ale kecal bych, kdybych rekl ze v realu je schopna logika s touto rychlosti pracovat. Nic mene oddelena kriticky casove narocna cast s timto problem nema. Prava sila se projevi az v paralelizaci logiky, kde sice castove spozdeni je v 10tkach ns, ale vzorkovani v pohode v na plne frekvenci a data tim FPGA prochazeji jak rourou. Tzn. zadne zdvojeji, ale FPGA mi dela v jeden okamzik nezridka 20 operaci.
Napsal: 6. 5. 2010, 6:41
od Jenda9999
Ja to procesory mam nasazeny na 500 mistech na svete.Vyrabim laserovy fotoplotr.Jezdim rychlosti 2.5m/s a mam linearni enkoder s rozlisenim 0.5 micrometru.Takze dostavam 5M poloh za sekundu.
Po kazde si musim precist z komprimovanych dat co s svitit, podle polohy popr pohnout jinym motorem, popr dokorigovat polohu druhe osy...
Jinak pro praci procesoru je potreba On, seriova pamet programu(program si nacte do vnirni RAM),oscilator.Ja k nemu mam pripojenou jeste velkou SDRAM(128M).Kdyz ladim, tak vsechny hodnoty(kazdeho PWM prubehu ukladam).Abych videl co se presne deje.Pro menic tedy potrebuji procesor, A/D converter a vykonovy stupen.Tzn prectu stav si vnitrni stav enkoderu, stav D/A prevodniku, na hodnoty pustim cislicovy filtr namerenych hodnot, dale autotuning PID a ven na 133MHz PWM.Vnitrni casovac jede na na 400MHz.Vse v pohyblive radove carce.
Samozrejme ze to lze syntetizovat na FPGA.Ale nechtel bych to delat...
Syntetizovat sinus do FPGA taky sranda neni.Ja jsem posledni dva roky pokrocil.Pouzivam dvoujadro od Analog Devices.To uz jede na 600 MHz.Ten kupuji za cca 600Kc.
Pokud tedy s FPGA dovedes precist data z USB klice, interpretovat G-kod a nasledne udelat pohybovy interpolator kubickeho spline, tak by me to zajimalo....
Napsal: 6. 5. 2010, 11:06
od pavel-gravos
BlackFin pekny.
Jak je to s dostupnosti, cenou a pouzitelnosti vyvojoveho SW?
Blackfin
Napsal: 6. 5. 2010, 12:15
od Jenda9999
Blackfin.
Farnell a neco SOS skladem po 1ks.Da objednat pres zastupeni Amtek.Od zacatku je roku vsak min . obj. mnozstvi kolem 5000kKc.Takove mini baleni.Vyvojove prostredi je C/C++.Lze stahnout nomezene vyvojove prostredi s funkcnosti 90 dni.Je vyborne.Ma take instalace 400MB.3-rozmerne grafy casu procesoru v rutinach.Na cyklus presny simulator, atd.Bezi bez problemu na virtualnim stroji.
Jenom je potreba venovat navrhu desky trochu casu.Pripojena SDram bezi na 133MHz, atd.Proto jsem to vyresil procesorovou deskou.Mam navrh na 4-vrstve desticce s SDRAM+NandFlash.A DIL konektory pro zasouvani do druhych desek