Nikto si z nás nevie spraviť idiota lepšie ako my sami.
Dlhšiu dobu som sa rozhliadal po 32bitovom procesore. Lákalo ma to a na starú 8051 som už ani nemyslel. Až keď....
V práci sme získali zákazku na jednoduché testovacie zariadenie. Malo merať priebeh trhovej skúšky, vyhodnotiť maximálnu silu a vytlačiť na termotlačiareň spolu s dátumom a časom merania.
Jednoduché. Zostavil som konfiguráciu PLC a objednal diely. Kostru programu som mal jasnú a keď to všetko došlo tak som to zostavil a išiel to spustiť. Toľko pohodová časť príbehu.
To PLC malo v dokumentácii v položke RTC napísané YES (áno). Ale len v dokumentácii. V skutočnosti nie. Keď som v Nemecku zisťoval, ako to RTC oprogramovať, veľmi sa divili, čo všeličo majú v dokumentácii.
Nasleduje už len mierne infarktový týždeň na hranici šialenstva. Naprogramovať aplikáciu, napchať do rozvádzača a vyriešiť to RTC. Na to bol týždeň. Vyvolával som všetkým možným známych, zháňal kto ma aký programátor, redukciu, driver atď... Nakoniec som na univerzále zlepil aplikáciu, ktorá po RS232 posiela údaj o čase. Môj otec sa po takom stresovom týždni obvykle tak opil, že ho nebolo tri dni. Ja som len jeho tieňom a tak som si sadol a povedal“ Môže sa toto zopakovať? Odpoveď je jasná. Takže keď môže, ako byť pripravený? Bolo by dobré mať pripravené kvazi univerzálny modul s RTC, RS232 a možnosť ho implementovať. Programátor ani nie, ideál programovať v aplikácii. Rozsah pracovnej teploty čo najširší, ako i napájacie napätie. No a cena. Po pre prekutaní zásuviek a spomienok to vyznelo takto:
Ja mám desivé skúsenosti s nastavovaním presnosti trimrom, teplotnou stabilitou a podobne. Na trhu je niekoľko riešení. Elegantné je TimeKeeperTM od firmy ST. Žiaľ má to paralelný prístup. To som ináč použil zo starých zásob v tom šialenstve.
Reálne mi vyšli dve riešenia
To bombové sa volá PCF2127A a je od firmy NXP(Philips). Je to batériou zálohovateľný RTC s TCXO, majúci na čipe kryštál a 512Byte RAM.. Na rozsahu -15 až 60°C má typickú presnosť 3ppm. Na celom teplotnom rozsahu. Nie na 1°C. Na celý rozsah. Rozhranie I2C ako i SPI. Môže generovať výpadok napájania, pravidelné prerušenie a iné. Jediná chyba krásy je, že ide len do 4V.
Druhá možnosť je IO M41T81M od ST. K tomuto čipu je treba pripojiť externý kryštál s kapacitou 12,5pF. Napájanie do 5V. Rozhranie I2C.
Takže výsledok je modul majúci na sebe procesor, obvod pre rozhranie 232 a súčasne pre programovanie. Je ho možno osadiť niektorým z oboch RTC obvodov. Ďalej je na doske možnosť použiť miesto kryštálov pre procesor generátor frekvencie. Batéria zálohuje obvod RTC. Na doske je stabilizátor a referencia pre ADC prevodník. Používam P4 na I2C komunikáciu. Výstup z RTC je možné použiť na generáciu prerušenia. Všetky vývody sú vyvedené na piny v rastri univerzálnej dosky, takže ho je možné použiť ako zásuvný modul do širšej aplikácie.
Schéma modulu:
DPS (85x31mm) Pohľad zhora:
Pohľad zospodu:
DPS je pripravený pre dve verzie procesoru (schéma je identická):
AT89C51AC3-RLTUM (púzdro VQFP44)
AT89C51AC3-SLSUM (púzdro PLCC44)
Slovo záverom. Admin uvažuje, že táto doska by mohla byť zaujímavá jak pre začiatočníkov, tak i ostatných. Ak by bol záujem, môžem preveriť koľko by stálo vyrobenie osadených dosiek. Nemalo by to byť veľa. Takže je to na Vás.
Nie je to zle vymyslené, ale hneď z prvého pohľadu na schému - chyba:
Prečo nie je použitá PLCC-52 verzia? Takto sú "odhodené" linky P4.2, 3 a 4! Mimochodom - podobná, aj keď velmi-velmi obsekaná verzia je na [url] - sekcia 8051/8052 - článok MCUmodul-AC2 port...
Noooo, áno, je to od autora tak trochu "fatálka". AT89C51AC3 je v tom prípade zbytočný a autor mohol dať AT89C51AC2.
AC3 má v tomto zapojení pri použití PLCC44 akurát malé plus: 64kB Flash (oproti 32kB) a 2kB XRAM (oproti 1kB).
Ale ak by som si chcel túto aplikáciu postaviť a pripojiť k nej napr. SPI Serial Flash AT25DF641, tak nemám ako, lebo hlavná výhoda obvodu AC3 oproti AC2 je okrem vyššej freq. XTALU aj jeho verzia PLCC52, kde je na už spomínaných chýbajúcich pinoch portu P4 aj zároveň implementované SPI rozhranie.
Tak načo potom AC3 obvod, keď SPI nieje dostupné?! Ak navrhuje niekto aplikáciu, musí si uvedomiť, že to bude chcieť použiť viac ľudí, už tým pádom, že ide o UNIVERZÁLNY modul.
Ako som uz napisal, je to vyborny clanok. Len som chcel upozornit, na mozny problem s takto navrhnutou dps, aj ked tam pravdepodobne nebudu vysoke prudy, a stabilizator to ustoji. To je vsetko. A pre istotu zopakujem este raz, ze autor ma moj obdiv, ze to dal do takej podoby a publikoval.
Mozno som objavil teplu vodu, ale elm-chan, znama japonska macka v oblasti elektroniky a programovania, ma popri famoznemu suborovemu systemu fat-fs (s jeho variantami) aj zjednodusenu nahradu za rodinu printf() [URL adresa]
Dnes je módne používať v jednočipoch multitasking (aka RTOS), lebo to vraj zjednodušuje robotu. No a ako bonus to prináša aj rôzne vtipné problémy, napr. s dynamickou alokáciou pamäti v defaultných knižniciach (najmä v súvislosti s printf a jeho rodinou, čo je u mcu ďalší nešvár v mene pohodlnosti). [URL adresa]
Stránky generuje redakčný systém e107, a údaje do neho nahadzujú EdizonTN a redaktori. Všetky zverejnené informácie si výhradne po dohode s administrátorom, dajte kam chcete.... Príspevky v diskusnom fóre a komentároch, vyjadrujú názory čitateľov. Redakcia serveru nenesie zodpovednosť za ich obsah. Vyhradzuje si však právo ich odstraňovať. (c) 2009-2019 Sledujte nás cez RSS, Twitter, Facebook, MeWe, Mastodon, Tumblr, Pinterest, alebo na YouTube .