Mikrovezérlők alkalmazástechnikája laboratóriumi gyakorlat A/D konverter Mingesz Róbert 2016.04.05.
ADC használata
Folytonos jel → szám ∆𝑡: mintavételi időköz (mintavételi frekvencia: 𝑓 𝑠 = 1 ∆𝑡 ) Kvantumnagyság: ∆𝑈 Kerekítési hibák ⇒ kvantálási zaj
A/D konverterek 𝑍= 𝑈 ∆𝑈 = 𝑈∙𝑁 𝑈 ref = 𝑈∙ 2 𝑏 𝑈 ref 𝑈 ref : a konverter referenciafeszültsége 𝑁: ábrázolható értékek száma 𝑏: bitek száma
Referencia feszültség
Referencia feszültség
ADC blokkvázlata
ADC konfigurálása Referenciafeszültség VDD Engedélyezés Órajel forrása: Timer 2 tólcsordulás Port I/O: P1.6 Analóg bemenet
Megszakítások Timer 2: NINCS engedélyezve AD0INT: Engedélyezve Szükséges: ADC megszakításkezelő rutin (NEM Timer 2)
Hibakeresés
Tipikus hibák Projekt nem megfelelően van elkészítve Nem volatile változók használata Nem megfelelő SYSCLK/TCLK Nem megfelelő timerbeállítás Flag-ek nincsenek törölve
Tipikus hibák Túlbonyolított/követhetetlen kód Integer eredmény 0 lesz Integer eredmény túlcsordul Elfogy a processzoridő (starvation)
Hibakeresés Megszakítások? Változók követése Lépésenkénti végrehajtás Legalább egyszer végrehajtódik? Követés oszcilloszkóppal (szabad portbit segítségével) Változók követése Add to watch Lépésenkénti végrehajtás Insert breakpoint Hibakereső kódrészletek
Feladatok
1. feladat Digitalizálja a potenciométer állását, majd jelenítse meg a kijelzőn 0 és 99 közötti számként! Az átskálázást egész aritmetikával végezze! A kijelzés frissítésének frekvenciája legyen 200 Hz! A mérést külön timer vezérelje, a mérés frekvenciája legyen 50 Hz!
1. Feladat – lépések Jumperek megfelelő beállítása Mikrovezérlő konfigurálása Korábbi óra: 0..99 szám megjelenítése ADC értékének beolvasása (felső helyi érték megjelenítése a kijelzőn) Átskálázás megvalósítása Végeredmény megjelenítése
2. feladat Szabad portbit-ek felhasználásával vizsgálja meg a következőket: Mennyi a kijelzés valós frekvenciája? Mennyi a mérés valós frekvenciája? Mennyi idő alatt hajtódik végre a kijelzéssel foglalkozó megszakítás? Mennyi idő alatt hajtódik végre a mérést végző megszakítás? Megszakítja-e a kijelzés az A/D rutin-t?
3. feladat Bővítse a programot a következő funkciókkal Maximum érték tartása, törlése Minimum érték tartása, törlése Előző két funkció kombinálása
Következő óra Vizsgafeladat Fejlesztőkörnyezet használata Timer Megszakítások I/O használata BCD kijelző használata Használható eszközök: Excel, Silabs IDE, Config Wizard, toll