Часовник в реално време

За поддържането на точно време е избран да се грижи интегрален часовник и календар PCF8583 базиран на 2048 битов статичен CMOS RAM организиран като 256 думи по 8 бита. Адресите и информацията се пренасят серийно по дву-проводна I$ ^{2}$ C шина. Вградения регистър на адреси на думите се инкрементира автоматично след всеки записан или прочетен информационен байт. Вградения 32,768 kHz осцилатор и първите 8 байта от рамта се използват за часовник, календар и брояч. Следващите 8 байта могат да бъдат програмирани като регистри за аларма или просто използвани като свободна RAM памет.

Figure: Блокова схема на часовника в реално време PCF8583 [13]
\includegraphics[width=320pt]{figs/Fig23.pdf.ps}

За комуникация с часовника е използвана софтуерна I$ ^{2}$ C библиотека, тъй като хардуерния I$ ^{2}$ C модул е мултиплексиран с SPI модула, който вече се използва. По-лесно бе да се използва софтуерен I$ ^{2}$ C още повече, че информацията течаща по шината от часовника е с малък обем. Автоматичното инкрементиране на вградения регистър на адреси на думите след всеки записан или прочетен информационен байт улеснява много работата с часовника. Нужно бе да се изведат точните адреси от даташита на интегралната схема и да се спазва подредност на четенията и записите. По-долу са показани извадки от кода с обяснения за четенето на времето.



Subsections

Deyan Levski 2013-06-22