8-bitowy monitor szyny danych
: sobota 10 cze 2017, 01:06
Zastosowanie pamięci EPROM.
Jednym z zastosowań układów pamięci stałych (pamięci tylko do odczytu) jest realizacja różnego rodzaju przekodowań. Opisane niżej urządzenie przetwarza liczbę o regulowanej liczbie bitów (od 3 bitów do 8 bitów) na postać, która jest prezentowana na wyświetlaczu 7-segmentowym w kilku formatach zapisu. Pozornie zagadnienie wygląda na dosyć złożone, gdyż przetworzenie liczby binarnej przykładowo 8-bitowej na postać znakową wymaga realizacji złożonych operacji związanych z konwersją z postaci binarnej na znakową wygodną do przedstawienia na wyświetlaczu 7-segmentowym. Realizacja bazująca na użyciu mikrokontrolera nie jest zagadnieniem skomplikowanym, jednak w tym przypadku urządzenie nie zawiera żadnego mikrokontrolera.
Trudno jest sobie wyobrazić prostsze rozwiązanie, w którym dokonywane są operacje pozwalające na zamianę jednego kodu na inny. Koncepcyjnie zagadnienie nie jest skomplikowane i możliwa jest jego realizacja w oparciu o typowe bramki logiczne, jednak wymaga zastosowania dużej liczby funktorów logicznych. Użycie pamięci stałej (przykładowo EPROM) sprowadza zespół przetwarzający kod do jednego układu scalonego. Koncepcja działania jest banalnie prosta, w pamięci stałej zawarte są wszystkie możliwe przypadki w jaki sposób ma być wyświetlana informacja na wyświetlaczu. Pozostaje jedynie utworzyć prosty układ, którego zadaniem jest odczyt danych z określonych komórek pamięci EPROM i wyświetlenie ich na wyświetlaczu.
Zadaniem urządzenia jest przedstawienie na 8-cyfrowym 7-segmentowym wyświetlaczu LED analizowanej liczby 8-bitowej w kilku różnych formatach:
Składa się ono z kilku zespołów, schemat blokowy pokazuje ilustracja 1. Zespół wejściowy zawiera wzmacniacz logiczny separujący „wnętrze” urządzenia od monitorowanej szyny. Schemat pokazuje ilustracja 2.Wejście na każdym bicie monitorowanej szyny zawiera rezystor wymuszający stan logicznego zera. Każde nieużyte do monitorowania wejście jest „widziane” przez monitor jak stan logicznego zera. Dodatkowo pozwala to na przyłączenie urządzenia monitorującego do zespołów zasilanych ze źródła napięcie o wartości 3.3V, które nie tolerują wyższych napięć niż 3.3V.Na ilustracji 3 pokazany jest schemat panelu konfiguracyjnego, którego zadaniem jest określenie sposobu wyświetlania danych oraz liczby bitów branych pod uwagę przy przetwarzaniu informacji (szerokość monitorowanej szyny danych). Obrotowy wielosekcyjny przełącznik SW201 służy do określenie formatu wyświetlanych danych (binarnie, dziesiętnie...) steruje włączaniem świecenia odpowiedniej diody LED, co pozwoli na podświetlenie na frontpanelu ustawionego trybu oraz wypracowaniu kodu (2 bitowe dane na linii MS → Mode Select), każda pozycja ustawienia przełącznika daje na liniach wyboru inną kombinację stanów. Drugi obrotowy przełącznik wielosekcyjny SW202 służy do określenia szerokości monitorowanej szyny danych. Steruje on włączaniem świecenia odpowiedniej diody LED, co pozwoli na podświetlenie na frontpanelu ustawionej szerokości monitorowanej szyny oraz generuje 3-bitowy kod ustawionej pozycji. Przełącznik jest sześciopozycyjny i zaczynając od 8 bitów możliwości ustawień kończą się na 3 bitach (3 bitowe dane na linii BW → Bus Width), każda pozycja ustawienia daje inną kombinację stanów. Mając do dyspozycji 3 bity, istnieje możliwość uzyskania 8 różnych kombinacji, jednak tylko 6 kombinacji jest wykorzystanych (implikuje to obszary w pamięci EPROM „leżące odłogiem”).„Mózgiem” zespołu przetwarzającego jest pamięć EPROM (U301). Do układu tego doprowadzony jest stan monitorowanej szyny danych (od A0 do A7) oraz ustawiony na frontpanelu tryb wyświetlania MS0 i MS1, stan 3-bitowego licznika służącego do multipleksowanego wyświetlania danych oraz ustawioną na frontpanelu informację o szerokości monitorowanej szyny danych. Wszystkie informacje są w kodzie naturalnym binarnym. Zapisane dane służą do odpowiedniego sterowania świeceniem poszczególnych segmentów na wyświetlaczu. Samo wyświetlanie w trybie multipleksowanym jest realizowane w oparciu o generator sygnału zegarowego (U305), 3-bitowy licznik binarny (U303), dekoder sterujący włączaniem poszczególnych cyfr na wyświetlaczu (U304). Sumaryczna liczba wejściowych danych wynosi 16 bitów, co implikuje konieczność użycia pamięci EPROM o pojemności 64kB (27C512, ilustracja 5).
Schemat samego wyświetlacza pokazany jest na ilustracji 6.Do kompletu dochodzi zasilacz impulsowy mający „na wlocie” mostek prostowniczy, co pozwala na zasilanie nawet bezpośrednio z transformatora.Do schematu została zaprojektowana płytka PCB.Układ zmontowany.
Jednym z zastosowań układów pamięci stałych (pamięci tylko do odczytu) jest realizacja różnego rodzaju przekodowań. Opisane niżej urządzenie przetwarza liczbę o regulowanej liczbie bitów (od 3 bitów do 8 bitów) na postać, która jest prezentowana na wyświetlaczu 7-segmentowym w kilku formatach zapisu. Pozornie zagadnienie wygląda na dosyć złożone, gdyż przetworzenie liczby binarnej przykładowo 8-bitowej na postać znakową wymaga realizacji złożonych operacji związanych z konwersją z postaci binarnej na znakową wygodną do przedstawienia na wyświetlaczu 7-segmentowym. Realizacja bazująca na użyciu mikrokontrolera nie jest zagadnieniem skomplikowanym, jednak w tym przypadku urządzenie nie zawiera żadnego mikrokontrolera.
Trudno jest sobie wyobrazić prostsze rozwiązanie, w którym dokonywane są operacje pozwalające na zamianę jednego kodu na inny. Koncepcyjnie zagadnienie nie jest skomplikowane i możliwa jest jego realizacja w oparciu o typowe bramki logiczne, jednak wymaga zastosowania dużej liczby funktorów logicznych. Użycie pamięci stałej (przykładowo EPROM) sprowadza zespół przetwarzający kod do jednego układu scalonego. Koncepcja działania jest banalnie prosta, w pamięci stałej zawarte są wszystkie możliwe przypadki w jaki sposób ma być wyświetlana informacja na wyświetlaczu. Pozostaje jedynie utworzyć prosty układ, którego zadaniem jest odczyt danych z określonych komórek pamięci EPROM i wyświetlenie ich na wyświetlaczu.
Zadaniem urządzenia jest przedstawienie na 8-cyfrowym 7-segmentowym wyświetlaczu LED analizowanej liczby 8-bitowej w kilku różnych formatach:
- liczbę w kodzie naturalnym binarnym wyświetloną w notacji dwójkowej,
- liczbę w kodzie naturalnym binarnym wyświetlaną w notacji liczby szesnastkowej,
- liczbę w kodzie naturalnym binarnym wyświetloną w notacji dziesiętnej,
- liczbę w kodzie U2 wyświetloną w notacji dziesiętnej.
Składa się ono z kilku zespołów, schemat blokowy pokazuje ilustracja 1. Zespół wejściowy zawiera wzmacniacz logiczny separujący „wnętrze” urządzenia od monitorowanej szyny. Schemat pokazuje ilustracja 2.Wejście na każdym bicie monitorowanej szyny zawiera rezystor wymuszający stan logicznego zera. Każde nieużyte do monitorowania wejście jest „widziane” przez monitor jak stan logicznego zera. Dodatkowo pozwala to na przyłączenie urządzenia monitorującego do zespołów zasilanych ze źródła napięcie o wartości 3.3V, które nie tolerują wyższych napięć niż 3.3V.Na ilustracji 3 pokazany jest schemat panelu konfiguracyjnego, którego zadaniem jest określenie sposobu wyświetlania danych oraz liczby bitów branych pod uwagę przy przetwarzaniu informacji (szerokość monitorowanej szyny danych). Obrotowy wielosekcyjny przełącznik SW201 służy do określenie formatu wyświetlanych danych (binarnie, dziesiętnie...) steruje włączaniem świecenia odpowiedniej diody LED, co pozwoli na podświetlenie na frontpanelu ustawionego trybu oraz wypracowaniu kodu (2 bitowe dane na linii MS → Mode Select), każda pozycja ustawienia przełącznika daje na liniach wyboru inną kombinację stanów. Drugi obrotowy przełącznik wielosekcyjny SW202 służy do określenia szerokości monitorowanej szyny danych. Steruje on włączaniem świecenia odpowiedniej diody LED, co pozwoli na podświetlenie na frontpanelu ustawionej szerokości monitorowanej szyny oraz generuje 3-bitowy kod ustawionej pozycji. Przełącznik jest sześciopozycyjny i zaczynając od 8 bitów możliwości ustawień kończą się na 3 bitach (3 bitowe dane na linii BW → Bus Width), każda pozycja ustawienia daje inną kombinację stanów. Mając do dyspozycji 3 bity, istnieje możliwość uzyskania 8 różnych kombinacji, jednak tylko 6 kombinacji jest wykorzystanych (implikuje to obszary w pamięci EPROM „leżące odłogiem”).„Mózgiem” zespołu przetwarzającego jest pamięć EPROM (U301). Do układu tego doprowadzony jest stan monitorowanej szyny danych (od A0 do A7) oraz ustawiony na frontpanelu tryb wyświetlania MS0 i MS1, stan 3-bitowego licznika służącego do multipleksowanego wyświetlania danych oraz ustawioną na frontpanelu informację o szerokości monitorowanej szyny danych. Wszystkie informacje są w kodzie naturalnym binarnym. Zapisane dane służą do odpowiedniego sterowania świeceniem poszczególnych segmentów na wyświetlaczu. Samo wyświetlanie w trybie multipleksowanym jest realizowane w oparciu o generator sygnału zegarowego (U305), 3-bitowy licznik binarny (U303), dekoder sterujący włączaniem poszczególnych cyfr na wyświetlaczu (U304). Sumaryczna liczba wejściowych danych wynosi 16 bitów, co implikuje konieczność użycia pamięci EPROM o pojemności 64kB (27C512, ilustracja 5).
Schemat samego wyświetlacza pokazany jest na ilustracji 6.Do kompletu dochodzi zasilacz impulsowy mający „na wlocie” mostek prostowniczy, co pozwala na zasilanie nawet bezpośrednio z transformatora.Do schematu została zaprojektowana płytka PCB.Układ zmontowany.