= HF8V = / = SP8WJT = / = SP0106RZ =
HF-1514
PROJECT: HF-1514
DESCRIPTION: RTC PCF8583
STATUS: u
PROJECT START DATE: near 2011
LOCALISATION: HF-6030 -> HF-5037
DOCUMENTATION: DVC, TM
PCB: TPD42979
DIMENSIONS: 18 x 18 mm
AVR DRIVER: 20341, 20348
Project Info
Moduł uruchomiony najpierw z HF-6030. Napisałem w assemblerze drajwer AVRDRV 20341 który jest typowo niskopoziomowym sterownikiem, o rozmiarze zaledwie 21 słów, tutaj aby uzyskać tak mały rozmiar musiałem użyć kilku tricków, takich jak np. "pożyczenie" podobnej funkcji I2C z innego modułu, na tym jednak Towarzysze polega fascynujące pisanie bardzo wydajnego kodu w assemblerze, nawet po latach znajduje fragmenty kodu które można zoptymalizować...
Sterownik AVRDRV 20341 posiada tylko 4 funkcje: inicjacji, odczytu bajtu, odczytu strukury i zapisu bajtu.
Te dwie funkcje odczytu/zapisu bajtu mogą być użyte do zapisu ostatnich 240 komórek RAM które można wykorzystać jako podtrzywawalną (od 1,0V) pamięć CMOS identycznie jak w zwykłych PCetach...
Implementacja zegara CW została natomiast napisana w HAVR co jest typową strategią bardzo wydajnego programowania w HF-6030 (sterowniki ładowane do flasha ATMEGA8 mogą być bardzo małe a programy użytkowe ładowane z pamięci zewnętrznej są praktycznie ograniczone tylko rozmiarem pamięci zewnętrznych).
Allokacja wektorów w HF-6030 była następująca:
VE6 - hf1514_init
VE7 - hf1514_read_rtc
VE8 - hf1514_read_byte
VE9 - hf1514_write_byte
Te same wektory są używane także w innych sterownikach RTC.
Następnie moduł przeszedł do projektu HF-5037
Oprócz tego posiadam w swoich zbiorach też inne moduły RTC (mojej i zewnętrznej konstrukcji, bez RTC stanowiących integralną część innych płyt, te ostatnie mam zamiar skatalogować wkrótce dla porównania parametrów):
HF-12112 DS3232
HF-12132 DS1225 (p)
HF-17663 DS1647
HF-17764 DS1302
HF-9037 VT82885
Sources:
Prefix 15
HF Register
Microcontrollers in my constructions
UC Database - my CPU collection
Electronics
Main Page