12.07.2015 Views

telra r/c - Serwis Elektroniki

telra r/c - Serwis Elektroniki

telra r/c - Serwis Elektroniki

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Opis magistrali szeregowej 1-wire64 stronypo 8 bajtówka¿da8 bajtówBity zabezpieczenia przedzapisem pamiêci danychBity zabezpieczeniadla bajtów przekierowania“bit -mapa” u¿ytychstron pamiêciZarezerwowaneBajty przekierowaniaRys.10.4. Mapa pamiêci statusu.000H01FH020H03FH040H05FH060H0FFH100H1FFHznaczyæ, ¿e o ile czêœæ nazwana „bit-map¹” wspomaga dzia³aniesystemu operacyjnego, zarz¹dzaj¹cego systemem 1-wire,to pozosta³e fragmenty zwi¹zane s¹ bezpoœrednio z logik¹ uk³adu(slave). Ta z góry ustalona struktura ma swoje wyj¹tki. Zewzglêdu na ograniczon¹ objêtoœæ artyku³u, nie bêd¹ one jednakomówione.Pamiêæ statusu ma pojemnoœæ 512 bajtów. Jest to wystarczaj¹cedla 256 stron informacyjnych. Pierwsze 32 bajty, tj.256 bitów stanowi¹ tzw. byte write protect, czyli zabezpieczeniaprzed zapisem. Bit nr 0 jest bitem „ochronnym” dla stronyo numerze 0, itd.Nastêpne 32 bajty s¹ u¿ywane jako bity write protect dlabajtów przekierowania (redirection byte). Znaczenie bajtówredirection zostanie wyjaœnione dalej. Kolejne 32 bajty to tzw.„bit-mapa” u¿ytych (wykorzystanych) stron. Zakres adresowyod 60H do 0FFH nie jest wykorzystany, ale jest zarezerwowanydla ewentualnych rozszerzeñ na przysz³oœæ.Druga po³owa pamiêci, adresy od 100H do 1FFH (dziesiêtnieod 256 do 512) to bajty przekierowania. Ich koniecznoœæstanie siê jasna, jeœli zdaæ sobie sprawê ze specyfiki strukturyAdd-Only w przypadku koniecznoœci zmiany choæ jednego bituw pamiêci. W przeciwnym wypadku uk³ad trzeba by wyrzuciæ izaprogramowaæ nowy element. Architektura z bajtami przekierowaniaumo¿liwia jednak pewn¹ elastycznoœæ. Chc¹c zmieniæzawartoœæ jakiejœ komórki, trzeba spisaæ na straty jedn¹ stronê,ale jeœli jest ich 256, to nie jest to znowu taka du¿a strata. Systemmusi jednak wiedzieæ jak¹ stron¹ zosta³a ona zast¹piona ido tego s³u¿y bajt redirection, który jest fizycznie jej adresem.Oczywiœcie nie wszystkie elementy 1-wire z pamiêci¹ Add-Only zawieraj¹ 256 stron. To maksymalna pojemnoœæ i ograniczeniez góry narzucone architektur¹ systemu. Jeœli stron jestmniej, niewykorzystane adresy s¹ swoistego rodzaju „pustymidziurami”. Próba skomunikowania siê z nimi nie generuje ¿adnegob³êdu. Odczyt rozpozna same logiczne jedynki, a zapiszostanie zignorowany.Pamiêæ statusu jest w zasadzie zapisywana tak samo jakpamiêæ danych. Dla przyœpieszenia i usprawnienia kontrolipoprawnoœci przesy³anych informacji pojemnoœæ strony pamiêcistatusu zosta³a ograniczona do 8 bajtów (standardowa stronadanych to 32 bajty). Zawsze po osi¹gniêciu górnej granicystrony generowany jest (przez uk³ad slave) kod CRC i w dwóchbajtach wystawiany na magistralê.10.2.3. Czytanie pamiêci Add-OnlyCzytanie pamiêci EPROM ma bardzo podobn¹ strukturê jakw przypadku uk³adów z pamiêci¹ NVRAM. Ma³a ró¿nica polegana tym, ¿e gdy zostanie osi¹gniêta górna granica pamiêciuk³ad Add-Only, generuje kolejny kod CRC16. Dopiero nastêpneRead Time Sloty poka¿¹ same jedynki. Uk³ady NVRAM wtakim przypadku kodu CRC nie generuj¹. Poniewa¿ kod rozkazuczytania danych jest dla obu pamiêci taki sam, dodatkowainformacja pojawiaj¹ca siê na magistrali musi byæ przez softwarerozpoznana lub odrzucona. Dodatkowy, nawet jeden bit lub jegobrak totalnie zak³óci strukturê i prawid³ow¹ interpretacjê tego,co na magistrali wystêpuje (jak na wstêpie podkreœlono - jedendrut, stany tylko „0” lub „1”, a informacja bardzo bogata).W sytuacji kiedy uk³ady pamiêci Add-Only s³u¿¹ po prostujako noœnik danych (a tak w systemie 1-wire, szczególnie zzastosowaniem iButton-ów zwykle bywa), nale¿y zwróciæ uwagêna to, ¿e uk³ad pamiêci zawiera równoczeœnie dane wa¿ne iniewa¿ne (dlatego, ¿e tych niewa¿nych nie da siê wykasowaæ).Oczywiœcie jest mo¿liwa taka struktura czytania danych, abynajpierw przeczytaæ pamiêæ statusu, aby testuj¹c odpowiedniebity stwierdziæ, czy strona, któr¹ master chce przeczytaæ zawieradane aktualne i nastêpnie odwo³aæ siê dopiero do pamiêcizawartoœci danych. Taka organizacja by³aby jednak bardzo„niezdarna” i wyd³u¿a³a znacznie efektywn¹ szybkoœæ transmisji.Dlatego w systemie 1-wire do³o¿ono dodatkow¹ instrukcjêczytania pamiêci Extended Read Memory, która dotyczytylko uk³adów Add-Only.G³ówna ró¿nica miêdzy „zwyk³ym” i „rozszerzonym”(extended) czytaniem polega na tym, ¿e instrukcja „ExtendedRead” wykorzystuje bajty przekierowania zawarte w pamiêcistatusu. W tym ca³ym procesie kod CRC pojawia siê na magistralikilka razy. Jest on generowany na podstawie strumieniadanych z³o¿onego z kodu instrukcji, adresu i bajtu przekierowaniaoraz na koñcu strony na podstawie danych z tej stronyodczytanych. Jeœli uk³ad nadzoruj¹cy system kontynuuje czytaniedanych, chc¹c przeczytaæ nastêpn¹ stronê „dostanie” najpierwbajt przekierowania tej strony, potem kod CRC16 wygenerowanyna podstawie danych tylko tego jednego bajtu, adopiero nastêpne bity bêd¹ bitami danych.Bajt przekierowania wymaga jeszcze paru s³ów wyjaœnienia.Bajt „czysty” to FF (same jedynki). Jeœli wiêc zawartoœæjest inna, jest to ju¿ sygna³em dla mastera, ¿e strona, do którejsiê odwo³a³ zawiera dane nieaktualne. Zanegowana wartoœæbajtu przekierowania stanowi równoczeœnie adres strony, którazast¹pi³a tê niewa¿n¹. A wiêc bez zbyt du¿ej straty czasu(jedynie strata czasu zwi¹zana z przeczytaniem bajtu przekierowania)master mo¿e przyst¹piæ do czytania nowej (zaktualizowanej)strony. Jeœli strona by³a kilka razy aktualizowana,wy¿ej opisany proces mo¿e siê oczywiœcie powtarzaæ, a¿ zostanieosi¹gniêta strona bez przekierowania (z czystym bajtemprzekierowania równym FF). Ponadto w systemie 1-wire jestmo¿liwe przeczytanie strony, która ma ustawiony bajt przekierowania,jeœli np. s¹ „interesuj¹ce” poœrednie wersje danychczy oprogramowania zawartego w uk³adzie.Wykonanie instrukcji czytania pamiêci typu „ExtendedRead Memory” generuje dwa ró¿ne kody CRC (pod wzglêdemsprawdzanej zawartoœci danych) w zale¿noœci od etapuwykonania instrukcji. Kod CRC generowany na koñcu strony8 SERWIS ELEKTRONIKI 4/2003

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!