časování pomocí tiny26

Dotazy na technické problémy, vlastní řešení technických problémů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
apam
Příspěvky: 111
Registrován: 17 bře 2007, 00:00

časování pomocí tiny26

#1 Příspěvek od apam »

Dobrý den, neví někdo jak co nejpřesněji a co nejrychleji s pomocí attiny26 časovat dva vystupy podle přiloženého obrázku. Pokud možno, tak pomocí bascomu a nejlépe při 16Mhz první řádek. Jde o časovou základnu, takže by bylo dobré, aby při změně vstupní hodnoty šlo hýbat s výstupními pulzy přímoúměrně. Díky za každou radu.
Přílohy
sigdata.JPG
(5.25 KiB) Staženo 136 x
Uživatelský avatar
procesor
Příspěvky: 5286
Registrován: 02 říj 2009, 00:00
Bydliště: PO

#2 Příspěvek od procesor »

To zoberieš 4017, a za 5minút to funguje, kvôli tým 16MHz radšej 74HC4017.
Pre ten procesor ..nezmysel. Iba kúzelník s dvomi-tromi inštrukciami to vybaví.
Uživatelský avatar
frpr666
Příspěvky: 1051
Registrován: 28 pro 2009, 00:00

#3 Příspěvek od frpr666 »

Koukám že attiny26 má největší rychlost 16MHz. Tj. čas jedné instrukce je T1/16Meg. Pro nahození hodnoty spotřebuješ 1 instrukci/1 takt, pro shození 1 instrukci/ 1 takt, pro skok na začátek smyčky 2 takty. Potom tvoje výsledná frekvence na portu bude max. 8MHz.
Normálně v avrstudiu by funkce mohla vypadat zhruba takto:

#define const00 (0b00000000)
#define const10 (0b00000010)
#define const11 (0b00000011)


asm volatile (
ldi r16, const00
ldi r17, const10
ldi r18, const11
1:
out PORTB, r16
out PORTB, r18
out PORTB, r16
// ...
// ...
// ... atd
rjmp 1b
)

Jinak mě ještě napadá, že v TME mají XC9536XL za 60,- + DPH. Tím by jsi to měl více vychytané.
Uživatelský avatar
procesor
Příspěvky: 5286
Registrován: 02 říj 2009, 00:00
Bydliště: PO

#4 Příspěvek od procesor »

On to nechce synchrónne s procesorom, ale synchrónne s nejakými hodinami, ktoré sú iné ako CPU_CLK. Takže tam treba aj nejaké testy vstupu (t.j. min.+6taktov.), potom 2takty nastavenie a 2takty návrat v cykle.
T.J. najmenej 10 taktov, Takto deliť 4 je aj 1MMHz na 250kHz šmejd signál pre účely merania.
Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 00:00

Re: časování pomocí tiny26

#5 Příspěvek od Andrea »

apam píše:při změně vstupní hodnoty

Co je vstupní hodnota?
Uživatelský avatar
frpr666
Příspěvky: 1051
Registrován: 28 pro 2009, 00:00

#6 Příspěvek od frpr666 »

@processor Ok, neznám přesný účel. Nicméně pokud nastavím fuses v attiny26 na external clock source a budu pin XTAL1 krmit f=16Mhz, předpokládám, že jeden takt cpu bude (1/16Meg) sekundy? Nebo to má uvnitř ještě nějaký prescaler ?
Uživatelský avatar
apam
Příspěvky: 111
Registrován: 17 bře 2007, 00:00

#7 Příspěvek od apam »

s tou 4017 me to taky napadlo, problem je, že už mam hotovou desku s paticí pro tiny26 s výstupy na oc1a a oc1b, no asi udělám ještě desku s 4017 do patice pro tu tiny26 a snad to bude fungovat dle představ i bez ni.
Uživatelský avatar
procesor
Příspěvky: 5286
Registrován: 02 říj 2009, 00:00
Bydliště: PO

#8 Příspěvek od procesor »

Vstupná signál na ktorý pin Tiny bol privedený?
Uživatelský avatar
apam
Příspěvky: 111
Registrován: 17 bře 2007, 00:00

#9 Příspěvek od apam »

Rizeny mel byt pres PORTA.
Uživatelský avatar
procesor
Příspěvky: 5286
Registrován: 02 říj 2009, 00:00
Bydliště: PO

#10 Příspěvek od procesor »

Mám na mysli hodiny CLK , kde sa generujú, a na ktorý pin tej ATtiny mali isť?
Odpovědět

Zpět na „Poradna“