Zkuste se vžít do následující situace : Jste návrhář zařízení např. pro regulaci a sběr dat z 12 kovadlin v poloautomatizované kovárně. Navrhl jste zařízení s jednočipem, které sbírá data z oněch 12 kovadlin, nějaká data jim posílá zpět a zbylá posílá po RS 232 do PC. Stolní počítač z toho vyhodnocuje výkonnost jednotlivých pracovníků.
Po dvou měsících se ale ukáže, že díky reorganizaci firmy není vzhledem k délce a ceně kabelů možné mít nadále vaši „krabičku“ u vyhodnocujícího PC. To je nutné přestěhovat někam jinam a vůbec, „proč si to ta vaše krabička nemůže pamatovat všechno“ zeptá se vás zadavatel projektu.
Po překonání chuti uškrtit jej (protože při zadávání tvrdil „ne, PC bude hned vedle, žádný problém, nebude dělat nic jiného“) si pomyslíte něco o lidské nepředvídavosti a neschopnosti.
Pak ale začnete dumat nad technickým řešením. V zařízení je sice SRAM, kterou jste chytře použili v rozsahu od 8 do 32 kB, ale není tam kde vzít zdroj hodin a zadavatel potřebuje vědět v kolik hodin který dělník zapnul stroj, jak dlouho a jak intenzivně pracoval atd.
Zpočátku se zdá nejchytřejší použít I2C Timekeeper, např PCF 8583, protože I2C EEPROM máte v zařízení osazenou, ale zjistíte že to obnáší problémy se stabilitou poskytovaného času, SRAM v tomto obvodu je pro vaše data malá a při ukládání do sériové EEPROM byste museli používat SRAM jako cache na příchozí události. Osazená EEPROM navíc nedosahuje potřebné velikosti, a vůbec, asi to bude chtít udělat novou desku.
Nebude, protože máte SRAM v precizní patici, nebudete muset dělat do hardwaru naprosto žádné zásahy. Stačí nahradit SRAM obvodem TIMEKEEPER ZEROPOWER SRAM M48T35. Jedná se vlastně o obyčejnou SRAMku, která je doplněná „čepičkou“ V této „čepičce“ je přesný oscilátor 32.768 kHz a lithiová baterie. Tahle „čepička„ je o 4 mm vyšší než obyčejná SRAM.
Schéma rozvržení pinů a porovnání s pouzdrem EPROM a SRAM.
Elektricky se obvod chová jako zcela běžná SRAM, ale posledních 8 bytů je určeno pro speciální funkce. Můžete si tam přečíst kolikátého je, kolik je hodin, atd… :-)
Obvod je nadále rychlý jako SRAM, takže narozdíl od EEPROM nemusíte zápasit s problémem, kam uložíte těch XY bytů, než to ta EEPROM zapíše. Spotřeba se pohybuje v rozmezí 1 – 3 mA, ale výstupy umějí dát slušný proud (cca 20 mA / pin).
Na rozdíl od EEPROM nebo SRAM je navíc uvnitř obvodu hardwarově vyřešeno hlídání napájení, PowerDown ochrana atd.. Díky tomu se vám nemůže stát, ze byste zapsali nesmysl na nesmyslnou adresu při neočekávaném pádu napájení, nebo dokonce nechtěně celou paměť vymazali.
A to jsem ještě nenapsal to, co tento obvod opravdu povyšuje na profesionální úroveň. Nejvíc PROFI je na tom totiž to, že obvod umí softwarově sám v sobě korigovat nepřesnosti oscilátoru. Ano čtete dobře. Nejen že nemusíte oscilátor korigovat pomocí kapacitních trimrů a řešit stabilitu napájecího napětí, jak je tomu u zmíněné PCF 8583, ale dokonce můžete za měsíc, nebo za dva zjistit, o kolik se posunul reálný čas, tento posun poslat do speciálního bytu uvnitř obvodu a nadále to nemusíte řešit.
Pokud potřebujete vyexpedovat zařízení dřív, lze napsat jednoduchý kalibrační SW, který bude číst jeden BIT z konfiguračního bytu. Tento bit osciluje na frekvenci 512 Hz. Při použití speciálního kalibrační rutiny, lze na čítači zjistit skutečnou frekvenci těchto „512 Hz“ a posun od skutečné frekvence ihned vykompenzovat nastavením konfiguračního bytu. (korekce se provádí v obvodu softwarově, takže na měřených „512 Hz“ se to samozřejmě neprojeví.)
Algoritmus korekce je vidět na obrázku. Obvody korekcí jenom počítají kolikátý puls z oscilátoru mají upravit tak, jak je znázorněno. Podrobnější popis kalibrace si můžete stáhnout zde.
Náš návrhář zmíněný v úvodu v duchu zajásal, koupil M48T35, během dvou dnů doplnil SW. Na hardware s výjimkou výměny obvodu v patici nemusel ani sáhnout. Do softwaru v PC doplnil posílání reálného času při každé inicializaci. Zadávajícímu „předvídavému“ manažerovi vystavil fakturu na dvacetinásobek ceny obvodu. Manažer jí rád zaplatil, protože tím ušetřil ještě dvě třetiny nákladů a návrhář jel s dětmi pod stan.
No není to Happy-End jak z amerického filmu ??
Dokumentace k M48T35
Dokumentace k M28256 - EPROM
Abych však pouze nevyprávěl zábavné příběhy ze života, musím dodat, že cena tohoto obvodu není příliš interesantní. Skoro bych jí nazval jeho jedinou vadou. Zatímco hodiny reálného času vytvoříte s PCF 8583, zenerovou diodou a odporem, a vyjdou vás maximálně na 200 Kč, přinášíme ceny tohoto obvodu u několika dodavatelů v ČR na konci článku.
Bohužel použití tohoto obvodu v náročných podmínkách (vojenský a automobilový průmysl) vylučuje nedostatečný rozsah pracovních teplot. Zbývá tedy pouze možné průmyslové použití.
Výhodou také je šířka vyráběné kapacity od 2Kx8 do 128Kx8 a verze bez obvodů reálného času.
Důležité také je, že ST-Microelectronics vyrábí tyto obvody ve dvou verzích.
První má povolenou toleranci napájecího napětí 5% a druhá 10%. Tato tolerance v podstatě určuje od jakého poklesu napájecího napětí je paměť cháněna před zápisem. Takže riziko
5% obvodu je to, že už zablokuje zápis v době, když ještě procesor provádí poslední úklid registrů po výpadku napájení, riziko 10% je, že už při nižším napětí začne zapojení blbnout a v nedefinovaném stavu zapíše do paměti nesmysly. Toto hledisko je třeba zohlednit při návrhu aplikace.
M48T36
Zatímco univerzálnost M48T35 tkvěla v její kompatibilitě s SRAM, nebo EPROM, vyrábí ST-Microelectronics ještě podobný obvod, tentokrát pod názvem M48T36.
Jedná se o naprosto shodný obvod, doplněný obvodem pro alarm a watchdog. Zatímco watchdog není nic objevného, funkce alarmu jsou zde přinejmenším příjemné.
Alarm lze nastavit na volání přerušení v návaznosti na zdroji napájení (funkční externí napájení, nebo funkce z vestavěné lithiové baterie), lze nastavit vyvolání přerušení, lze nastavit, zda se alarm bude opakovat a jak často, nebo zd se jedná o jednorázový puls.
Watchdog lze poměrně široce konfigurovat a čas je velmi jemně nastavitelný od 62 ms do 128 sekund. Jako výstup lze použít IRQ, sdílené s funkcí alarm, nebo výstup RST.
Blokové schéma zapojení
Nevýhodou je použití 44 pinového pouzdra (ačkoli 12 pinů je nepoužito), které je vzhledem k výšce obvodu přece jenom už docela monstrum na desce plošného spoje.
Shrnutí : Pokud nepočítám využití obvodu, jaké bylo popsáno v úvodu, je tento obvod vzhledem k ceně použitelný pouze do aplikací střední a vyšší třídy, kde jsou vysoké nároky na spolehlivost.
Podobné obvody vyrábějí i firmy Dallas a Benchmarq, ale oba ekvivalenty jsou dražší.
Obvody zakoupíte v následujcích firmách za uvedené ceny (+DPH) :
Cena M48T35 | 1 Kus | Balicí jednotka (25) | 100 kusů |
Alfatronic | 997,10 | 808,30 | 727,30 |
Ryston | 479 | ||
Ele electronics | 855 | ||
ATD elektronik | 417,90 | 399,00 |
Cena PCF 8583 | 1 Kus | Balicí jednotka (25 kusů) | 200 kusů |
Ryston | 82,80 | ||
Alfatronic | 260,50 | 170,90 | 154,90 |
PS electronic | 95 | 87,18 | 79,97 |
Ele electronics | 125 | 118 | |
ATD elektronik | 129,00 | 78,00 |