Programkód működése
A frekvenciamérő programja alapvetően két egymástól függetlenül futó részből áll.
A mérés a következőképp zajlik:
A mikrokontroller számlálója folyamatos üzemmódban fut és számolja a bemenetre érkező mérendő jelet. Amikor a számláló eléri a 65536-ot túlcsordul és megszakítást generál. Ez a megszakítás 65536-al növeli a long típusú szoftver számláló értékét – ezzel a módszerrel ki tudjuk terjeszteni a 16 bites számlálónkat 32 bites-re annélkül hogy újabb számlálót kelljen igénybevennünk.
Az 1Hz-es időalap a számláló capture bemenetére van kötve. Az időalap minden felfutó éle egy regiszterbe menti a számláló aktuális értékét és megszakítást generál.
Ez a megszakítás végzi el a frekvencia kiértékelését oly módon, hogy a szoftver számláló értékéhez hozzáadja a capture regiszter aktuális értékét és levonja belőle a capture regiszter előző mérési ciklusban eltett értékét.
Amint a frekvencia kiszámításra és tárolásra került, törli a szoftver számláló értéket, elmenti a capture regiszter értékét a következő mérési ciklus részére, majd a mért frekvenciát átkonvertálja a kijelzőnek megfelelő formátumra (BCD).
A kijelzés:
A kijelző meghajtása a főprogramban található végtelen ciklusban zajlik. Ez a ciklus késleltetésekkel végigmegy a 8 kijelző modulon és a mérés során eltárolt kijelzendő számokat egyesével kirakja a kijelzőkre.
Programozás
A prgramozáshoz pl. a Farnell-nél (vagy a Texas Instrumentsnél) beszerezhető MSP430 Launchpad (kb. 1500Ft) használható (ha launchpadet nem akarjuk másra használni mint a cikkben szereplő frekvenciamérő programozására, a csomag tartalmaz egy MSP430G2452-es és és egy MSP430G2553-as mikrovezérlőt, melyek közül bármelyik használható az áramkörbe tervezett MSP430G2202 helyett, mert lábkompatibilisek és jóval nagyobb tudásúak az itt szükségesnél).
A programozáshoz két módszer áll rendelkezésünkre. Az egyik, hogy a programozandó mikrovezérlőt a launchpad foglalatába helyezzük és így programozzuk fel, a másik, hogy a launchpadről eltávolítjuk a TEST és az RST összekötést és a Launchpad TEST, RST és GND lábát rákötjük a frekvenciamérő JTAG (J1) csatlakozójára. Ebben az esetben a Launchpadet mint in-circuit programozót/emulátort használhatjuk.
A mikrokontroller programozásához (és a fejlesztéshez) én a Lanuchpadhez ingyenesen letölthető Texas Instruments Code Composer Studio-t használtam. Aki nem akar fejleszteni, csak a kész programkódot akarja a mikrokontrollerbe letölteni, annak nem feltétlenül szükséges feltelepítenie a (mintegy 1,5GB-os) CCS-t, hanem válogathat az interneten ingyenesen letölthető programozó szoftverek között. Itt a teljesség igénye nélkül felsorolok néhányat:
Én magam részéről az utolsót használtam a programozáshoz.
A cikk még nem ért véget, lapozz!
Értékeléshez bejelentkezés szükséges!