Oldschoolowy projekt

Kącik dla elektroniki retro - układy, urządzenia, podzespoły, literatura itp.
Awatar użytkownika
gaweł
Expert
Expert
Posty: 792
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Oldschoolowy projekt

Postautor: gaweł » piątek 08 lis 2019, 02:24

Tajemniczy projekt na Z80

Oldschoolowe projekty wymagają olschoolowych rozwiązań. Taki powrót do przeszłości,
to może być zabawą wartą wszystkiego. Nabyty w międzyczasie bagaż doświadczeń
i wiedzy może stanowić pomocną dłoń i w sumie wracając do remake dawnych konstrukcji,
nie warto się oglądać, bo wyjdzie kopia tego co było. A przecież chodzi o co innego,
ma być fajna zabawa i nowe rozkosze łamania głowy. Nowe spojrzenie to również nowe
problemy, więc nie wszystko da się wymyślić „tak na żywca”. Niezbędna jest faza
„research & development”, bo jeszcze się nie urodził taki, co by wiedział wszystko
na dzień dobry. Przykładowo jakiś systemik na Z80 dzisiaj to bym zrobił na pamięciach
statycznych, bo są łatwo dostępne, dużej pojemności i łatwo się je obsługuje. Kiedyś
tak nie było, więc... skoro wszystko ma być klimatyczne, to należy zabrać się do
roboty: research.


Wszystko jest do uzyskania bazując na TTL'ach, jednak chcąc zrobić coś fajnego, może się okazać, że PCB zajmie 2500m2 powierzchni. No cóż, pewne rzeczy warto skrócić. Takim skrótem jest zastosowanie układów PLD, ale... również takich oldschoolowych. Będzie klimatycznie. W mojej szufladzie wala się kilka układów CPLD chyba z ubiegłego wieku, obecnie już nieprodukowanych (więc się nadają ;) ).
latl01_ilu01.jpg
Tak prawdę mówiąc to moje pierwsze doświadczenia z tego rodzajem układów właśnie zaczęły się od takich. Poza tym są na +5V, ważny argument. No więc trzeba odświeżyć technologię, tamta trochę odbiega od obecnej.
Do obróbki tych układów stosuje się oprogramowanie od LATTICE, o czym pisałem już TU. Z szuflady wyciągam, lekko przykurzone układy do eksperymentów
latl01_ilu02.jpg
i odpowiedni osprzęt (programator, choć to zbyt szumna nazwa, więc prosty interfejs do programowania).
latl01_ilu03.jpg
Rzeczywiście jest prosty, zawiera w sobie 74HC244 i jest przyłączany do portu CENTRONIX.
latl01_ilu04.jpg
latl01_ilu05.jpg
Na stronie LATTICE można odnaleźć dokument o takim interfejsie. Lattice'owe układy CPLD można programować w docelowym środowisku, tylko ichni JTAG jest lekko śmieszny, bo złączka do interfejsu programującego jest 8-pinowa (choć w gruncie rzeczy jest 7-pinowa).
latl01_ilu06.jpg
Pierwszy eksperyment to następujące środowisko:
latl01_ilu07.png
Jest generator fali prostokątnej zbudowany na bazie NE555, którego impulsy wchodzą na licznik binarny (CD4040). Wyjście licznika (wystarczy 8 bitów) wchodzą na układ CPLD a ten retransmituje je do wyświetlenia na LED'ach. Najprostsze użycie z możliwych, by nie walczyć z jakimiś duchami.
Rzeczywiste środowisko:
latl01_ilu08.jpg
latl01_ilu09.jpg
latl01_ilu10.jpg
Wklepanie opisu w VHDL'u to chwila nieuwagi:

Kod: Zaznacz cały

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;

entity ispLSI1016Demo is port ( InCnt  : in std_logic_vector ( 7 downto 0 ) ;
                                OutCnt : out std_logic_vector ( 7 downto 0 ) ) ;
end ispLSI1016Demo ;

architecture behavioral of ispLSI1016Demo is

begin

  OutCnt <= InCnt ;

end behavioral ;
Posługiwanie się narzędziem opisałem przy okazji GAL'i. Tu dodam jedynie kwestię przyporządkowania pinów do określonych sygnałów. Więc należy wybrać:
latl01_ilu11.png
To uruchomi soft do przydziału zasobów:
latl01_ilu12.png
Klikając na plusiki, rozwinie się lista sygnałów wejściowych i wyjściowych użyta w opisie w VHDL'u. Po kliknięciu na nazwę sygnału, powstaje możliwość przypisania numeru pinu (w kolumnie Pin).
latl01_ilu13.png
I tak dla każdego i zgodnie z wyżej pokazanym schematem. Można sobie nawet obejrzeć jak to wygląda.
latl01_ilu14.png
Syntezę odpala się klikając na:
latl01_ilu15.png
No i nadeszła chwila prawdy i coś... nie poszło tak jak powinno. Soft do programowania zastosowanego układu nie chciał się skumać z interfejsem programującym, twierdzi, że nie ma portu LPT1. Ktoś tu oszukuje, w kompie jest port LPT1, w końcu używam programatora od Elnec, który właśnie takiego używa. Lattice nie chciał, a Elnec stanął na wysokości zadania i potrafił zaprogramować układ (co prawda wymagał przełożenia do odpowiedniej podstawi w programatorze). Trzeba będzie zrobić jakieś badania i ustalić przyczynę problemów i podejść jeszcze raz, w najbliższym czasie. Na razie zaprogramowany układ „mruga diodami LED”.
W sumie sukces połowiczny, coś wyszło, ale nie wszystko odbyło się zgodnie z planem. Ach te rozkosze łamania głowy...
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Wróć do „Retro”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość