uC hcs08js16cwj - frekvence vykonavani instrukci
Moderátor: Moderátoři
uC hcs08js16cwj - frekvence vykonavani instrukci
Zdravim,
programuji tento mikrokontroler a v datasheetu je napsano, ze rychlost procesoru je 48 mhz a rychlost sbernice 24 mhz. Pak je tam taky u kazde instrukce asembleru, kolik cyklu sebere jeji provedeni. Ale jakych cyklu? Napriklad instrukce nop ma 1 cyklus. Zkousel jsem to a provadela se rychlosti priblizne 8 Mhz. Je to normalni, nebo je sance zvysit rychlost na tech 24 Mhz? Dost by se mi to hodilo. Diky.
programuji tento mikrokontroler a v datasheetu je napsano, ze rychlost procesoru je 48 mhz a rychlost sbernice 24 mhz. Pak je tam taky u kazde instrukce asembleru, kolik cyklu sebere jeji provedeni. Ale jakych cyklu? Napriklad instrukce nop ma 1 cyklus. Zkousel jsem to a provadela se rychlosti priblizne 8 Mhz. Je to normalni, nebo je sance zvysit rychlost na tech 24 Mhz? Dost by se mi to hodilo. Diky.
Zdar. V datasheetu je uvedená maximální možná rychlost, takže to neznamená že sběrnice jede automaticky na 24 MHz. Budeš si muset hodiny nastavit sám. Zřejmě to děláš v Codewarrioru takže nejjednoduší je použít Device initialization a nastavit jádro - CPU. Můžeš použít i interní oscilátor, ten modul Dev. init ti přímo ukazuje jaká bude frekvence sběrnice při zadání parametrů a zobrazí ti warnings pokud je něco zadaný špatně. Pokud to budeš dělat podle datasheetu tak ztratíš hromadu času, určitě doporučuju tohle do začátku.
Zkousim to, ale ani za prase se mi nedari nastavit to na tech 24 mhz. Aspon s internim oscilatorem ne. Pripojil jsem ale 12 mhz externi krystal a s tim to jede. Jenze i kdyz v nastavenim mam 12 mhz krystal a 24 mhz bus freq, tak to jede o neco pomaleji nez tech 24 mhz (nevim presne, kolik), a to mi vadi. Zkousel jsem taky 12 mhz bus freq a taky to jelo o neco pomaleji nez tech 12. Netusite, cim by to mohlo byt? Diky.
Edit: Tak nakonec se mi to povedlo nastavit na 27 mhz (i kdyz to oficialne mcu nepodporuje). To uz mi celkem staci![Smile :)](./images/smilies/icon_smile.gif)
Edit: Tak nakonec se mi to povedlo nastavit na 27 mhz (i kdyz to oficialne mcu nepodporuje). To uz mi celkem staci
![Smile :)](./images/smilies/icon_smile.gif)
Mam ladicku, ktera hraje 440 Hz. Pak podle predpokladane frekvence generuju ton na piezo a kdyz je nizsi, tak je frekvence procesoru mensi. Je to sice praveka metoda, ale osciloskop nemam a na takove orientacni zjisteni to staci. V priloze je to nastaveni 27 mhz (mozna je to taky o neco nizsi, ale to mi momentalne nevadi).
- Přílohy
-
- 27mhz-nastaveni.PNG
- (66.62 KiB) Staženo 73 x
Ted mam pocit, ze je neco fakt spatne. Je opravdu docela mozne, ze ten procesor ma frekvenci presnou a ja ten ton generuju spatne. Vychazel jsem totiz z predpokladu, ze instrukce RTS trva 5 cyklu. Jenze v jinem referencnim manualu je napsano, ze trva 6 cyklu. Tak ja ted nevim. Kolik ma teda cyklu?
Jeste odkaz na ty 2 datashity, ktere si protireci:
http://www.freescale.com/files/microcon ... 08RMV1.pdf
http://cache.freescale.com/files/32bit/ ... JS16RM.pdf
Jeste odkaz na ty 2 datashity, ktere si protireci:
http://www.freescale.com/files/microcon ... 08RMV1.pdf
http://cache.freescale.com/files/32bit/ ... JS16RM.pdf
Tady toto se mi povedlo pomoci MCU vytvorit:
http://www.franticware.com/blog-hcs08-vga
http://www.franticware.com/blog-hcs08-vga
A myslis ted pouzitim preruseni? Jak se to potom slicuje presne s tim taktem sbernice, ktery potrebuju? Podle datasheetu se totiz musi nejdriv dokoncit bezici instrukce a az potom se zavola prerusovaci rutina. Jenze ta dokoncujici se instrukce muze mit ruzny pocet cyklu, takze jsem v pasti.Andrea píše:K čemu jinému by to tam bylo?frca píše:A da se to pouzit pro presne generovani signalu?