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