Spracovanie signalu z IRC
Petr Simek
psimek
Středa Březen 17 14:53:45 CET 2004
Taketo riesenie napadlo aj mna. Problem je ten, ze ten procesor mus? este
okrem spravovania signalu z IRC riadit aj krokovy motor a komunikovat s PC.
Mam obavy, ze ak pouzijem ATmega16 zo 16MIPS, pravdepodobne to nebude stihat
. Vysledna aplikacia bude riadenie posuvu so spatnou vazbou (Krokovy motor +
linearny inkrementalny snimac)
Na zaciatok skusim pouzit tuto metodu s tym, ze obmedzim maximalnu rychlost,
tak, aby signal z IRC bol max 50kHz. Potom bude stacit vzorkovat signal s
200kHz. Ak to bude fungovat skusim nejake HW riesenie.
S pozdravom
Vida Robert
----- Original Message -----
From: "Snail Instruments" <snail@iol.cz>
To: <hw-news@list.gin.cz>
Sent: Friday, February 07, 2003 3:44 PM
Subject: Re: Spracovanie signalu z IRC
> >Potreboval by som poradit, aku metodu pouzit na stracovanie signalu z IRC
(2 pravouhle signaly posunute o 90?) na jednocipu. Potrebujem spracovat
signal do 100-150kHz s procesorom AVR. Uz niekolko hodin hladam na inete,
ale neviem ako definovat podmienku hladania v Google (ako sa tomu hovori v
anglictine).
>
> Resenim je stavovy automat:
>
> Stav A B
> 0 0 0
> 1 1 0
> 2 1 1
> 3 0 1
>
> Vzorkuje se pravidelne dostatecnou rychlosti, podle soucasne a predchozi
urovne vstupu se poloha pricita nebo odcita. Pokud je treba pri frekvenci
150kHz zaregistrovat zmenu faze 90st, bude treba vzorkovat nejmene 600kHz,
radeji o neco vice. Dostatek MIPSu bude klicem k uspechu pri SW reseni.
>
> Treba:
>
> switch (stav){
> case 0:
> if (A==1 and B==0){
> position++;
> stav=1;
> }else if (A==0 and B==1){
> position--;
> stav=3;
> }else if (A==1 and B==1){
> error();
> break;
>
> case 1:
> ...
>
> case 2:
> ...
>
> case 3:
> ...
>
> J. Hanzal
>
>
>
>
Další informace o konferenci Hw-list