Skip to main content

A valós idejű funkciók megvalósítása beágyazott rendszerek esetében

Megjelent: 2018. november 06.

Digy key lidAz egyes feladatok adott napon és időpontban való lefuttatási idejének ismeretére, illetve az események időbélyegzővel való ellátására vagy mindkettőre számos beágyazott alkalmazásban szükség van. Az ezt a feladatot megvalósító RTCC (valós idejű óra és naptár) chipek évtizedek óta elérhetőek, de a tervezők előtt ott a kihívás, hogy csökkentsék az alkatrészek számát és helyigényét, és egyúttal fogják minél kisebbre a fogyasztást és a tervezési időt.

 

A beépített RTCC eszközök és újszerű modulok megfelelnek a kihívásoknak

Ez a cikk azt ismerteti, hogyan kell kiválasztani az RTCC chipet, majd gyorsan betervezni egy beágyazott rendszerbe, a lehető legkisebbre csökkentve egyúttal a helyigényt és a fogyasztást. Bemutatásra kerülnek a cikkben az RTCC-kbe beépített mikrovezérlők (MCU-k) is, valamint az is, hogy a jelenleg kapható RTCC-modulok hogyan használhatók prototípus-készítésre felületszerelt valós idejű órák (RTC-k) és egyéb alkatrészek használatával.
A modulokba beépített RTCC chipeket jellemzően támogatják az Arduino-könyvtárak és a különféle Raspberry Pi Raspbian-illesztőprogramok, amelyek megkönnyíthetik az ezekkel az eszközökkel végzett, beágyazott elemekkel történő kísérletezést és a prototípus-készítést.

 

Figure 1

1. ábra  Az Adafruit cég 255 Chronodot eszköze tartalmaz egy RTCC chipet és egy elemet egy furatszerelt modulon (A kép forrása: Adafruit)

 

Az RTCC-k szerepe

Számos beágyazott alkalmazásnak szüksége van arra, hogy minimális fogyasztással kövesse az időt a külvilághoz képest, és egyéb feladatokra szabadítsa fel a fő processzort.
Az RTCC önmagában voltaképpen nem sok mindenre képes. Kell hozzá egy pontos kristály az időméréshez – esetleg egy hőkompenzált kristály a nagyon pontos időméréshez – és egy tartalék telep (szárazelem vagy akkumulátor), hogy az időt akkor is mérni lehessen, amikor a beágyazott rendszer ki van kapcsolva. Ezek a kiegészítő alkatrészek határozzák meg az RTCC azon képességét, hogy végre tudja-e hajtani két fő feladatát:

  • Minden körülmények között következetesen mérje a pontos időt.

  • Minél kevesebbet fogyasszon, amikor a beágyazott rendszer többi része ki van kapcsolva.

 

Table 1

1. táblázat  Hat RTCC modullal szemléltetjük az RTCC modulok széles körű elérhetőségét és változatosságát (Az adatok forrása: Digi-Key Electronics)

 

Néhány mikrovezérlő tartalmaz RTCC-t

Néhány mikrovezérlő, mint például a Microchip Technology 32 bites PIC32MZ2064DAA288 mikrovezérlője, tartalmaz belső RTCC blokkot. A pontos időmérést igénylő rendszerek tervezéséhez jó ötletnek tűnik egy ilyen eszköz használata, főleg, hogy a PIC32MZ2064DAA288 mikrovezérlő automatikusan átkapcsolja belső táplálását a saját telepbemeneti lábára (VBAT), amikor a normál táplálási lábain (VDDCORE és VDDIO) nem elegendő a feszültség az eszköz táplálásához.
Van azonban néhány további olyan kihívás ezen eszközök esetében, amelyek közvetlenül az RTCC két fent említett alapfeladatához kapcsolódnak: a pontos időméréshez és a kis fogyasztással történő működéshez.
Először is a PIC32MZ2064DAA288 mikrovezérlő RTCC blokkjának egy 32 768 Hz-es kristályra van szüksége, amelyet az eszköz másodlagos oszcillátorának két lábára kell kötni, hogy akkor is mérje a pontos időt, amikor a mikrovezérlő ki van kapcsolva. Bár lehetőség van arra is, hogy a mikrovezérlő fő óraoszcillátorát használjuk az RTCC blokk működtetésére, de ez az oszcillátor leáll, amikor a mikrovezérlő mélyalvás-üzemmódba kerül.
A lapkán lévő RTCC tartalmaz egy kalibrációs regisztert, és a Microchip kínál egy olyan kalibrálási eljárást, amely képes havi 0,66 másodpercre csökkenteni az időmérési hibát az olyan kristályoszcillátor-frekvenciák esetében, amelyek a névleges értékhez képest akár 260 milliomodnyi (0,026%-nyi) értékkel el vannak tolódva. A helyesbített kalibráció azonban nem számol a hőmérséklet változásával, amely szintén befolyásolhatja az oszcillátor frekvenciáját és ezzel az időmérés pontosságát.
A másik gond az, hogy a mikrovezérlő a telepről történő táplálásra való átkapcsoláskor nem válik teljesen árammentessé, kivéve az RTCC blokkot. A mikrovezérlő más blokkjaiban működés esetén – a szoftveres vezérléstől függően – vagy lehet engedélyezni telepről az áramellátást, vagy nem. Itt az jelenti a kihívást, hogy a telep lemerülése és élettartama a szoftvertől függ.
Ez a probléma nem kizárólag a PIC32MZ2064DAA288 mikrovezérlőre jellemző. Minden olyan mikrovezérlőnél előfordul, amelyben van RTCC blokk. Külön RTCC használatával ez a probléma leküzdhető, mert így egyértelműen elválik az időmérési funkció a mikrovezérlőtől, ezenkívül tervezéskor ez az egyetlen választási lehetőség, amikor a mikrovezérlő nem tartalmaz RTCC-t.

 

  Figure 2

2. ábra  A Maxim Integrated cég DS1307 jelű RTCC áramköre automatikusan átkapcsol a VCC lábról a VBAT lábra, amikor a VCC lábon a feszültség nagyjából 4,5 V alá esik (A kép forrása: Maxim Integrated)

 

RTCC lapkák és modulok

A tervezőmérnökök évtizedekig külön RTCC chipeket használtak arra, hogy az időmérés a különféle beágyazott és számítási alkalmazásokban pontos maradjon. Miközben egyre több integráltáramkör-gyártó most már kínál ilyen lapkákat, a felületszerelési megoldás bonyolultabbá tette az RTCC lapkák értékelését, mert az eszközöket nem lehet egyszerűen kézzel beforrasztani vagy aljzatba dugni.
A jó megoldás az RTCC chipekre épülő olcsó modulok használata, mert így kiküszöbölhetők a kis méretű, felületszerelt integrált áramkörökkel kapcsolatos prototípuskészítési gondok. Ezek a modulok szintén tartalmazhatnak telepet (akkumulátort vagy szárazelemet), általában gombelemet, hogy az eszköz akkor is kapjon tápellátást, amikor a fő rendszer ki van kapcsolva.
Az ilyen modulokra kiváló példa az Adafruit cég 255 Chronodot eszköze (1. ábra). Ezek a modulok kiválóan megfelelnek az RTCC chipek kísérleti áramköreinek gyártása és prototípusok készítése, de sok esetben még tömeggyártás során is.
Az 1. táblázat két integráltáramkör-gyártótól származó, három különböző RTCC chipre épülő, hat különféle RTCC modul néhány adatát tartalmazza.
Az RTCC modulok, mint az 1. táblázatban szereplő hat típus, megkönnyítik az időmérés kialakítását a rendszerek prototípusain. Ha közelebbről megnézzük, hogyan vannak kialakítva ezek a modulok, hasznos információk birtokába jutunk RTCC chipet tartalmazó áramköri kártyák tervezéséhez.

 

  Figure 3

3. ábra  A 32 768 Hz-es kristály rezonanciafrekvenciája a hőmérséklet változásával megváltozik, ami befolyásolja az RTCC időmérési pontosságát (A kép forrása: IQD Frequency Products)

 

Az első figyelemre méltó tényező az 1. táblázatban az, hogy mindegyik RTCC modulban van egy közös elem, az I²C illesztőfelület. Az 1970-es évekből származó első RTCC chipek kis SRAM-okat emuláltak, párhuzamos címeket és adatsíneket használva. Az egy olyan korszak volt, amikor a párhuzamos sínek voltak hétköznapiak a mikroprocesszorokban, és a belső soros protokollok nem voltak még széleskörűen elterjedtek.
Napjainkban a lapkaközi soros protokollok, nevezetesen az I²C jelentik a viszonylag kis sávszélességet igénylő perifériákhoz választott illesztőfelületet. Az RTCC chipek ennek mindenképpen megfelelnek, mert alig néhány bájtra van szükség a dátum- és időadatok átviteléhez.
Az 1. táblázatban látható első két RTCC modul, a DFRobot cég DFR0151 jelű terméke és a SparkFun cég BOB-12708 jelű terméke, egyaránt a Maxim Integrated cég DS1307 jelű RTCC áramkörére épül, amely egy 8 lábú integrált áramkör. Népszerűsége miatt az ezen eszközre épülő modulokhoz Arduino-könyvtárak és különféle Raspberry Pi Raspbian-illesztőprogramok is elérhetők.
A DS1307 RTCC-nél külön láb van a tápellátási sínhez és a telephez, hogy áramkimaradás esetén automatikus átkapcsolási lehetőséget kínáljon a beágyazott rendszer tápellátási sínje és a telep, mint tartalék áramforrás között. (2. ábra).
A 2. ábra mutatja a DS1307 típusú RTCC és a kristály közötti kapcsolatot is. Az RTCC áramkörök esetében ez a kristály csaknem mindig valamilyen 32 768 Hz-es olcsó órakristály, amilyen az IQD Frequency Products cég WATCH-2X6 jelű terméke. Ez a kristály két olyan új tényezőt vezet be, amelyet az RTCC eszközök tervezésekor figyelembe kell venni.
Az első a kristály hőstabilitása. A legtöbb RTCC eredetileg karórákba tervezett „hangvilla”-kristályt használ. Ezek a kristályok a hőmérséklet változásával elhangolódnak a névleges frekvenciájuktól (3. ábra).
Az IQD cég WATCH-2X6 jelű kristályának rezonanciafrekvenciája a hőmérséklet változásával megváltozik, aminek hatására megváltozik az oszcillátor frekvenciája is, ami időmérési hibát okoz. Tájékoztatásul megjegyzem, hogy az oszcillátor frekvenciájának 20 milliomodnyi (0,002%-nyi) eltérése nagyjából havi egy perc időmérési hibát eredményez.
A második tényező a kristály és az RTCC közötti kapcsolat túlzott leegyszerűsítése miatt a 2. ábrán nem látható. Az RTCC kristálykimeneti lába jellemzően nagyon nagy impedanciájú, aminek következtében az órakristály vezetékei és a nyomtatott áramköri lapon lévő vezetőcsíkok antennaként viselkednek. Ez az „antenna” becsatolhatja a rendszer többi részéből származó nagyfrekvenciájú jeleket és zajt az RTCC beépített kristályoszcillátorába.

 

  Figure 4

4. ábra  Az alkatrészek nyomtatott áramköri lapon való elhelyezésének gondos megtervezésével és földelő réteg kialakításával kiküszöbölhető, hogy nem kívánt zaj befolyásolja az RTCC időmérési pontosságát (A kép forrása: Maxim Integrated)

 

Az órakristály és az RTCC közötti vezetőcsíkokon átcsatolt bármilyen zaj további tranziensjeleket vihet be az RTCC oszcillátor-áramkörébe, aminek hatására az óra sietni fog. A megoldás az alkatrész-elrendezés gondos megtervezése a nyomtatott áramköri lapon. Ilyenek például, hogy a kristályt a lehető legközelebb kell elhelyezni az RTCC oszcillátor lábaihoz, valamint, hogy földelő réteget kell kialakítani a kristálybemeneti lábak és a teljes órakristály alatt (4. ábra).
Ezenkívül a 4. ábrán látható egy csíkozott terület az RTCC tok alatt, ide nem szabad elhelyezni semmit, hogy a közel futó vezetőcsíkok ne csatolják a zajt az RTCC kristálybemeneti lábaira. Ha megoldható, helyezzen el egy olyan védőgyűrűt a nyomtatott áramköri lap alkatrészrétegén, amely körülveszi a kristályt és az RTCC kristálybemeneti lábait, ezzel is elősegíthető, hogy a zaj ne befolyásolja az időmérés pontosságát.

 

Figure 5

5. ábra  Az STMicroelectronics cég M41T62 jelű RTCC áramköre (középen) a STEVAL-FET001V1 kiértékelő kártyán, 24 lábú, két lábsoros elrendezésű (DIP) integrált áramköri tokozásban (A kép forrása: STMicroelectronics)

 

Az órakristály levétele a nyomtatott áramköri lapról és a lapkába építése

A külső kristály használata esetén az alkatrészek nyomtatott áramköri lapon való elhelyezésével kapcsolatos problémák elkerüléséhez válassza az STMicroelectronics cég M41T62 jelű, beépített kristályt tartalmazó RTCC-jét. Az RTCC chip az STMicroelectronics cég STEVAL-FET001V1 típusú kiértékelő kártyáján található,
24 lábú, két lábsoros elrendezésű (DIP) integrált áramköri tokozásban. Ennek a kártyának a rajza az 5. ábrán látható. Az M41T62 jelű termékhez Arduino-könyvtár és különféle Raspberry Pi Raspbian-illesztőprogramok is elérhetőek.
Amint az ábrán is látható, az M41T62-nek csak VCC lába van. Külön VBAT lába nincs, amelyre a mindössze 1,5 mm × 3,2 mm méretű, főleg viselhető készülékekben és digitális fényképezőgépekben való használatra szánt fő tápellátási sín hibája esetén át lehetne kapcsolni. Ezekben a beágyazott alkalmazásokban a telep jellemzően az egyetlen áramforrás, mivel a hely nagyon értékes.
Érdemes tudni, hogy az M41T62 áramforrásaként szuperkondenzátor is használható. Beágyazott rendszerekben a rendszer áramforrása vagy a töltő egy D1 záróréteges diódán át köthető az M41T62 VCC lábára (6. ábra).
A diódának kis szivárgóáramú alkatrésznek kell lennie, amilyen például az 5. ábrán látható 1N4148WS jelű típus, hogy megakadályozza a szuperkondenzátor kisülését visszafelé, a rendszer áramforrásán át, amikor a rendszer többi része ki van kapcsolva.

 

Figure 6

6. ábra  Az M41T62 RTCC áramforrásaként újratölthető szuperkondenzátor is használható (A kép forrása: STMicroelectronics)

 

A hőmérséklet-kompenzáció „megszelídíti” a kristályt

Az 1. táblázatban szereplő RTCC modulok közül három (az Adafruit 3013, az Adafruit 255 Chronodot és a Maxim DS3231MPMB1#) a Maxim cég DS3231 jelű RTCC áramkörén alapul (7. ábra). A beépített kristály mellett az eszköz hőérzékelőt is tartalmaz, amely magyarázza az eszköz hosszú hivatalos nevét: Extremely Accurate I²C-Integrated RTC/TCXO/Crystal (Rendkívül pontos, I²C-be beépített valós idejű óra/hőkompenzált kristályoszcillátor/kristály).
Amint a blokkvázlaton látható, a DS3231 hőkompenzált kristályoszcillátor (TXCO) egy belső kristályból, egy hőérzékelőből és egy kapcsolt kondenzátortömbből áll. A DS1307 RTCC-hez hasonlóan a DS3231 esetében is külön láb van a fő tápfeszültség (VCC) és a tartalék áramforrásként használt telep (VBAT) számára.
Akárcsak az STMicroelectronics M41T62 RTCC áramköre, a DS3231 RTCC is mentes a külső kristály használatával járó alkatrészelrendezési problémáktól. Hőkompenzált kristályoszcillátora csökkenti az időmérés hőingadozások miatti pontatlanságát. A DS3231 belső hőkompenzált kristályoszcillátora nagyon széles hőmérséklet-tartományban (–40 °C…+85 °C között) évi 2 percen belül tartja az eszköz időmérési pontosságát.
Népszerűsége miatt a DS3231 RTCC áramkörre épülő modulokhoz Arduino-könyvtárak és különféle Raspberry Pi Raspbian-illesztőprogramok is elérhetőek.

 

Figure 7

7. ábra  A DS3231 típusú RTCC beépítve tartalmaz egy 32 768 Hz-es órakristályt, egy hőérzékelőt és egy kapcsolt kondenzátortömböt, hogy az eszköz időmérési pontosságát évi ±2 perc értéken tartsa (A kép forrása: Maxim Integrated)

 

Meddig bírja a telep?

A telepek olyan karbantartást igénylő alkatrészek, amelyek nem tartanak örökké. Amikor RTCC-t tervezünk egy beágyazott alkalmazásba, fontos tudni, mekkora áramot vesz fel az RTCC a telepből, hogy ennek megfelelően tudjuk méretezni a tartalék áramforrásként használt telepet (elemet vagy akkumulátort).
Azt, hogy az RTCC-alkalmazás mennyi ideig képes telepről működni, az RTCC lapka időmérés közbeni áramfelvétele és az RTCC lapka által igényelt minimális üzemi feszültség határozza meg, valamint az, hogy mennyi ideig tudja a kívánt erősségű áramot szolgáltatni a telep, mielőtt a kapocsfeszültsége a minimális üzemi feszültség alá esik (2. táblázat).
Az 1. táblázatban korábban már látott RTCC modulok esetében a tartalék áramforrásként használt telepek már kiválasztásra kerültek. Néhány modulgyártó megadja a telepek élettartamát is a modul adatlapján, ez szintén látható az 1. táblázatban. Ezekben a modulokban telepként jelenleg lítiumionos gombelemeket használnak. A gombelemek átmérője 10 mm, 12 mm vagy 16 mm. Minél nagyobb a telep kapacitása, annál nagyobb a mérete és a tömege is, egyértelmű előnye viszont, hogy adott áramfelvétel mellett hosszabb a telep élettartama is.

 

Table 2

2. táblázat  A telepek által az RTCC számára szolgáltatott áramerősség ismeretében könnyebb megtalálni a megfelelő méretű telepet tartalék áramforrás céljából (Az adatok forrása: Digi-Key Electronics)

 

Következtetés

A pontos működés érdekében az RTCC eszközök kiválasztását nagyon körültekintően kell végezni, akárcsak a hozzá kapcsolódó kristályét és telepét. Gondosan kell megtervezni az alkatrészek elrendezését is a nyomtatott áramköri lapon. A másik lehetőséget a jelenleg kapható, RTCC áramkörökre épülő modulok jelentik, amelyek lerövidítik a kísérleti áramkörök gyártását és a prototípuskészítést, nagymértékben csökkentve a fejlesztési időt.

 

Szerző: Rich Miron – Digi-Key Electronics

 

Digi-Key Electronics

Angol / német nyelvű kapcsolat
Hermann W. Reiter
Director, Global Strategic Business Development
Digi-Key Electronics Germany
Tel.: +49 151 6286 5934
E-mail: Ez az e-mail-cím a szpemrobotok elleni védelem alatt áll. Megtekintéséhez engedélyeznie kell a JavaScript használatát.

www.digikey.hu



Még több Digi-Key Electronics