Opis funkcjonalny i architektura Modu³ sterownika mikroprocesorowego KM535 Modu³ KM535 jest uniwersalnym systemem mikroprocesorowym do pracy we wszelkiego rodzaju systemach steruj¹cych. Zastosowanie modu³u w uk³adach sterowania umo liwia zawê enie prac konstrukcyjnych tylko do czêsci specjalizowanych, eliminuj¹c koniecznoœæ opracowania typowego systemu mikroprocesorowego. Zaœ w fazie produkcji skraca czas testowania uk³adu. Modu³ KM535 charakteryzuje siê du ¹ elastycznoœci¹ uk³adow¹, umo liwiaj¹c¹ elastyczn¹ rozbudowê systemu zale nie od potrzeb u ytkownika. Modu³ zmontowany jest na dwustronnym obwodzie drukowanym o wymiarach 100 x 88 mm. Elementem centralnym sterownika jest mikrokontroler 80C535 (80C515) zawieraj¹cy 8 bitowy przetwornik A/. Ponadto na p³ytce znajduj¹ siê: - pamiêæ EPROM (27128, 27256, 27512, 27010); - pamiêæ SRAM (62256, 628128); - pamêæ EEPROM (2402, 2404). - programowalny dekoder adresowy GAL16V8; - zegar czasu rzeczywistego RTC72421 lub RTC63421; - interfejs RS232C - MAX232; - uk³ad monitoringu zasilania MAX695; - akumulator; - z³¹cze do bezpoœredniego podl¹czenia wyœwietlacza LC; Konfiguracja procesora i pamiêci jest typowa dla systemów bazuj¹cych na procesorze rodziny 8051. Pod uk³ady pamiêci zastosowano podstawki 32-pinowe. Poniewa dopuszczalne jest u ywanie uk³adów pamiêci w obudowach 28-pinowych (62256, 27128,27256,27512) nale y zwróciæ uwagê by w takim przypadku pin 1 uk³adu 28-nó kowego znajdowa³ siê w pinie 3 podstawki 32-nó kowej. Zawartoœæ pamiêci SRAM (podobnie jak i ci¹g³oœæ pracy zegara czasu rzeczywistego) jest podtrzymywana bateryjnie po
zaniku zasilania. Mo liwoœæ zainstalowania pamiêci EEPROM pozwala stworzyæ uproszczon¹ wersjê modu³u bez uk³adu podtrzymania zasilania co w niektórych zastosowaniach mo e okazaæ siê wystarczaj¹ce. Poniewa mikroprocesor nie ma sprzêtowych mechanizmów obs³ugi magistrali I2C rolê szyn I2C mog¹ pe³niæ porty P1.4 i P1.5 zaœ ich obs³uga musi byæ programowa. Przyk³adowe procedury obs³ugi magistrali do³¹czone s¹ na dyskietce dystrybucyjnej. Funkcjê dekodera adresowego pe³ni programowana struktura logiczna GAL16V8. Standardowo modu³ wykonywany jest w dwóch wersjach dekodera adresów (w zale noœci od wielkoœci stosowanej pamiêci), opisanych w dalszej czêœci. Istnieje oczywiœcie mo liwoœæ indywidualnego skonfigurowania przestrzeni adresowej. Uk³ad dekodera generuje sygna³y selekcji pamiêci, zegara, wyœwietlacza oraz urz¹dzeñ peryferyjnych. Zegar czasu rzeczywistego RTC72421 (RTC63421) posiada funkcje odczytu i zapisu czasu i daty, ustawianie alarmu, generowanie sygna³u przerwania. Uk³ad MAX695 monitoruje napiêcie zasilania, prze³¹cza liniê zasilaj¹c¹ pamiêæ SRAM i zegar na akumulator, generuje sygna³ zerowania. Modu³ wyposa ony jest tak e w interfejs szeregowy RS232C (MAX232) co umo liwia wspó³pracê modu³u z np. mikrokomputerem. Sygna³y przydatne dla u ytkownika zosta³y wyprowadzone na z³¹cza znajduj¹ce siê na brzegu p³ytki, dziêki czemu do modu³u mo na do³¹czyæ dowolny uk³ad aplikacyjny. Przestrzeñ adresowa Standardowo modu³ KM535 wykonywany jest w dwóch wersjach: minimalnej i maksymalnej. W wersji minimalnej modu³ obs³uguje pamiêæ SRAM o wielkoœci 32kB (62256) i pamiêæ EPROM do 64kB (27512). Wersja maksymalna umo liwia zadresowanie pamiêci SRAM do 128kB (628128) i pamiêci EPROM do 128kB (27010), przy czym 64kB pe³ni funkcjê pamiêci danych. Przestrzeñ adresowa dla wesji minimalnej wygl¹da nastêpuj¹co: 0-7FFF pamiêæ SRAM 8000-9FFF A000 - BFFF C000 - FFF E000 - FFFF zegar czasu rzeczywistego RTC72421 wyœwietlacz LC, przy czym A8=1 odczyt, A8=0 zapis urz¹dzenie peryferyjne CS1# urz¹dzenie peryferyjne CS2# W wersji maksymalnej do wyznaczania przestrzeni adresowej wykorzystywane s¹ dwa porty procesora: P1.6 (A16) i P1.7 (I/ O). Pe³ni¹ one rolê rozszerzenia szyny adresowej. Wymusza to od programisty zachowania du ej dyscypliny programowania:
I/O A16 80C535 jak i 80C515, maj¹cych wewnêtrzn¹ pamiêæ programu. W przypadku zastosowania uk³adów 80C535 zwora J12 powinna byæ w po³o eniu 1-2, natomiast dla mikroprocesorów serii 80C515 w po³o eniu 2-3. 0 x 0-1FFFF pamiêæ SRAM 1 0 0-1FFF zegar RTC72421 1 0 2000-3FFF wyœwietlacz LC, przy czym A8=0 zapis, A8=1 odczyt 1 0 4000-5FFF CS1# 1 0 6000-7FFF CS2# 1 0 8000 - FFFF wolne Przerwania INT0# i INT1# o wejœcia mikroprocesora INT1# mo na za pomoc¹ zwory J20 za³¹czyæ wyjœcie przerwañ od uk³adu zegara-kalendarza. W przypadku braku zwory J20 port INT1# jest wolny co umo liwia pod³¹czenie przerwania zewnêtrznego. Podobnie wygl¹da sprawa z wejœciem INT0#. Za pomoc¹ zwory J19 mo liwe jest pod³¹czenie do niego sygna³u PFO# (informacja o zaniku zasilania) z uk³adu monitorowania napiêcia zasilania MAX695 co mo e umo liwiæ programiœcie podjêcie awaryjnych dzia³añ. Przetwornik A/ Mikroprocesor 80C535 wyposa ony jest w 8 bitowy przetwornik A/. Linie steruj¹ce przetwornika AN0-AN7, VREF, AGN wyprowadzone s¹ na z³¹cze modu³u. Istnieje mo liwoœæ pod³¹czenia sygna³u VREF do linii zasilania modu³u (+5V) za pomoc¹ zwory J10 oraz linii AGN do masy modu³u za pomoc¹ J9. Uk³ad powerfail Typ mikroprocesora Modu³ mo e wspó³pracowaæ zarówno z mikroprocesorami Wejœciem uk³adu monitoruj¹cego napiêcie jest wyprowadzona na szynê mudu³u linia PFV. Próg zadzia³ania uk³adu ustalony jest dzielnikiem R3, R4 na 7,5V. Spadek napiêcia poni ej tego progu sygnalizowany jest sygna³em PFO#. Mikroprocesor 80C535 posiada mo liwoœæ pracy z obni onym poborem mocy i pracy ja³owej (Power-own Mode,
Idle Mode). Sprzêtowe przyzwolenie na realizacjê powy szych trybów pracy realizowane jest lini¹ PE# mikroprocesora. Za pomoc¹ zwory J12 mo liwe jest jej pod³¹czenie do masy 2-3 (tryby aktywne) b¹dÿ linii zasilania 1-2 (tryby nieaktywne). Uk³ad watch-dog Modu³ wykorzystuje uk³ad watch-dog znajduj¹cy siê w mikroprocesorze. Interfejs szeregowy RS232C o linii Tx i Rx mikroprocesora pod³¹czony jest uk³ad MAX232, bêd¹cy interfejsem do standardu RS232C. Istnieje mo liwoœæ od³¹czenia uk³adu MAX232 od portu Rx procesora poprzez rozwarcie zwory J7 co umo liwia wykorzystanie portu mikroprocesora jako zwyk³ej linii i/o. Bateria 3V6 Zwora J27 umo liwia od³¹czenie od uk³adu baterii podtrzymuj¹cej zasilanie SRAM i zegara. Zapobiega to wy³adowaniu baterii w czasie d³u szego przechowywania modu³u. Wyœwietlacz LC Sterownik KM535 umo liwia bezpoœrednie pod³¹czenie modu³u wyœwietlacza alfanumerycznego LC typu 1x16, 1x20, 2x16, 2x20, 2x32, 2x40. Poni sza tabela przedstawia spis instrukcji steruj¹cych prac¹ wyœwietlacza: Instr Czyœæ R S R W 7 6 5 0 0 0 0 0 0 0 0 0 1 Home 0 0 0 0 0 0 0 0 1 * Tryb pracy (1) Kurso Przewijanie Tryb pracy (2) 0 0 0 0 0 0 0 1 I/ S 0 0 0 0 0 0 1 C B 4 0 0 0 0 0 1 3 S/ C 2 R/ L 1 0 * * 0 0 0 0 1 N F * * zia³anie Czyœci, RAM, ustawia kursor w po³o enie 0 Ustawia kursor w po³o enie 0 Ustawia tryb przewijania u i kursora Ustawia tryb pracy kursora, w³¹cza-wy³¹c Przesuwa kursor lub Parametry komunikacji z modu³em, liczbê linii i czcionkê
gdzie: RAM - pamiêæ u - 80 bajtów, dla wyœwietlaczy dwuliniowych: pierwsza linia 0-39, druga 40-79. CGRAM - generator znaków - 64 bajty (8 znaków). AC - licznik adresów. B - flaga zajêtoœci, modu³ zajêty (1) / modu³ wolny (0). S - przewijanie (1) / brak przewijania (0). S/C - przewijanie u (1) / przewijanie kursora (0). R/L - w prawo (1) / w lewo (0). - d³ugoœæ s³owa 8 bitów (1) lub 4 bity (0). N - liczba linii, dwie linie (1) / jedna linia (0). F - wielkoœæ czcionki 5x10 (1) / 5x7 (0). Oprogramowanie o³¹czona do modu³u dyskietka zawiera procedury testuj¹ce modu³ oraz steruj¹ce wyœwietlaczem LC i zegarem czasu rzeczywistego gotowe do wykorzystania w innych aplikacjach. Zosta³y one przygotowane pod makroasembler X8051-2500A.. oraz linker tej samej firmy. la wersji minimalnej: LC_1.ASM - procedury steruj¹ce wyœwietlaczem jednoliniowym. LC_2.ASM - procedury steruj¹ce wyœwietlaczem dwuliniowym. LITERY.H - kody polskich liter zdefiniowanych w modu³ach LC_x.ASM. RTC72.ASM - procedury steruj¹ce zegarem RTC72421. RTC63.ASM - procedury steruj¹ce zegarem RTC63421. TEST_MIN.ASM - program testowy dla wersji minimalnej. I2C_BUS.ASM - obs³uga magistrali I2C. la wersji maksymalnej: LC_1M.ASM - procedury steruj¹ce wyœwietlaczem jednoliniowym. LC_2M.ASM - procedury steruj¹ce wyœwietlaczem dwuliniowym. LITERY.H - kody polskich liter zdefiniowanych w modu³ach LC_x.ASM. RTC72M.ASM - procedury steruj¹ce zegarem RTC72421. RTC63M.ASM - procedury steruj¹ce zegarem RTC63421. TEST_MAX.ASM - program testowy dla wersji maksymalnej. I2C_BUS.ASM - obs³uga magistrali I2C. Uk³ad logiczny GAL16V8 Wersja minimalna GAL16V8 in:(a[15~13],wr,r,a16,psen,io,csi), io:(csrom,a16,csrtc,csram,e,nc,cs2,cs1) Active-low:CSROM,CSRTC,CSRAM,CS2,CS1 CSROM=PSEN CSRAM=A[15] & (R # WR ) CSRTC=A[15] & A[14] & A[13] E=A[15] & A[14] & A[13] & (R # WR ) CS1=A[15] & A[14] & A[13] & (R # WR ) CS2=A[15] & A[14] & A[13] & (R # WR ) A16=0 Wersja maksymalna GAL16V8 in:(a[15~13],wr,r,a16,psen,io,csi), io:(csrom,a16,csrtc,csram,e,nc,cs2,cs1)
Active-low:CSROM,CSRTC,CSRAM,CS2,CS1 CSROM=PSEN # (IO & A16 & R ) CSRAM=IO & (R # WR ) CSRTC=IO & A16' & A[15] & A[14] & A[13] E=IO & A16' & A[15] & A[14] & A[13] & (R # WR ) CS1=IO & A16' & A[15] & A[14] & A[13] & (R # WR ) CS2=IO & A16' & A[15] & A[14] & A[13] & (R # WR ) A16=A16 & (R # WR ) Zwory konfiguracyjne Zwora ON (1-2) OFF (2-3) J20 wyjœcie INTR# zegara po³¹czone z INT1# procesora INT1# wolne J19 J7 wyjœcie PFO# pod³¹czone do INT0# procesora Rx procesora pod³¹czone do uk³adu MAX232 INT0# wolne Rx wolne J27 bateria pod³¹czona bateria od³¹czona J9 AGN po³¹czone z mas¹ uk³adu AGN wolne J10 VREF pod³¹czone do linii zasilania VCC VREF wolne