Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięROM, PROM, EPROM...
Moderatorzy:Jacek Bogusz, Moderatorzy
Potrzebuję jak najprostszą i najmniejszą pamięć, która posiadałaby, własnymi słowami, takie cechy:
1) Pojemność tylko 256B (256 słów 8-bitowych),
2) 5V,
3) Równoległe, 8-bitowe wyjście, na którym w takt na wejściu zegarowym pojawiałyby się w pętli kolejne, zaprogramowane słowa.
Pewnie namąciłem, ale na ROM-ach w ogóle się nie znam.
Może inaczej - chcę taką pamięć zaprogramować np. pełnym okresem sinusa, połączyć z przetwornikiem DAC08 i taktując z odpowiednią częstotliwością tylko jedno jej wejście, na wyjściu DAC mieć sinusoidę o częstotliwości 256x mniejszej.
Czy są tego typu pamięci?
1) Pojemność tylko 256B (256 słów 8-bitowych),
2) 5V,
3) Równoległe, 8-bitowe wyjście, na którym w takt na wejściu zegarowym pojawiałyby się w pętli kolejne, zaprogramowane słowa.
Pewnie namąciłem, ale na ROM-ach w ogóle się nie znam.
Może inaczej - chcę taką pamięć zaprogramować np. pełnym okresem sinusa, połączyć z przetwornikiem DAC08 i taktując z odpowiednią częstotliwością tylko jedno jej wejście, na wyjściu DAC mieć sinusoidę o częstotliwości 256x mniejszej.
Czy są tego typu pamięci?
jest kość, która odpowiada dokładnie temu co mówisz - MM1702 - 256 bajtów EPROM
tylko że może być ciężko o programator do niej - to straszna staroć (fotka w załączniku)
najmniejszy sensowny EPROM dający się zaprogramować w większości
typowych programałek to chyba 2716 - 2048 bajtów...
wada: EPROM - kasowanie UV, programowanie - potrzebny programator.
a może inaczej - EEPROM? - AT28C64
http://stuff.mit.edu/~6.115/datasheets/AT28C64.pdf
tak z grubsza, w trybie 'write' zachowuje się jak zwykły RAM, więc ją możesz
zaprogramować w jakimkolwiek systemie uP...
na WGE lub na Wolumenie ją dostaniesz, to jest wprawdzie 8192 bajty,
ale możesz nieużywane linie adresowe zapiąć do GND lub wgrać sobie kilka przebiegów....
prostokąty, trójkąty, kółka...
a to że ona jest EEPROM i udaje zwykłą statyczną RAM, to otwiera jeszcze jedną możliwość...
generator przebiegów zdefiniowanych przez użytkownika (to tak BTW tego DAC-ka)
a jeżeli chodzi o wybieranie kolejnych wartości - zrób zwykły licznik binarny
8-bitowy (lub więcej-bitowy), wyjścia liczników zapnij do wejść adresowych kostki, inne wejścia typu /OE, /CE
zgodnie ze dokumentacją układu i gotowe
pa,
tasza
tylko że może być ciężko o programator do niej - to straszna staroć (fotka w załączniku)
najmniejszy sensowny EPROM dający się zaprogramować w większości
typowych programałek to chyba 2716 - 2048 bajtów...
wada: EPROM - kasowanie UV, programowanie - potrzebny programator.
a może inaczej - EEPROM? - AT28C64
http://stuff.mit.edu/~6.115/datasheets/AT28C64.pdf
tak z grubsza, w trybie 'write' zachowuje się jak zwykły RAM, więc ją możesz
zaprogramować w jakimkolwiek systemie uP...
na WGE lub na Wolumenie ją dostaniesz, to jest wprawdzie 8192 bajty,
ale możesz nieużywane linie adresowe zapiąć do GND lub wgrać sobie kilka przebiegów....
prostokąty, trójkąty, kółka...
a to że ona jest EEPROM i udaje zwykłą statyczną RAM, to otwiera jeszcze jedną możliwość...
generator przebiegów zdefiniowanych przez użytkownika (to tak BTW tego DAC-ka)
a jeżeli chodzi o wybieranie kolejnych wartości - zrób zwykły licznik binarny
8-bitowy (lub więcej-bitowy), wyjścia liczników zapnij do wejść adresowych kostki, inne wejścia typu /OE, /CE
zgodnie ze dokumentacją układu i gotowe
pa,
tasza
- Załączniki
-
- MM1702
- IMG_0583.JPG (8.49KiB)Przejrzano 4059 razy
A to skoro AT28C64 ma więcej tych całych bajtów, to zasugerowałaś mi Taszko sprytne rozwiązanie, ponieważ potrzebuję właściwie dwie sinusoidy... Jedna o częstotliwości 38kHz, druga 19kHz, z możliwością nieznacznego pszesunięcia ich w fazie (dobranego raz na stałe).
Planuję tak - w AT28C64 będzie 768 bajtów: dwa okresy 38kHz przeplecione jednym okresem 19kHz. Wyjścia AT28C64 rozdzielę między DACe np. dwoma 74LS374 i całość będę sterował jakimś kontrolerkiem.
Potrzebowałbym wtedy 19000*768=15MHz, czyli 66.(6)ns - dobrze się doliczyłem?
"Read Access Time - 120ns"...
Planuję tak - w AT28C64 będzie 768 bajtów: dwa okresy 38kHz przeplecione jednym okresem 19kHz. Wyjścia AT28C64 rozdzielę między DACe np. dwoma 74LS374 i całość będę sterował jakimś kontrolerkiem.
Potrzebowałbym wtedy 19000*768=15MHz, czyli 66.(6)ns - dobrze się doliczyłem?
"Read Access Time - 120ns"...
A może całkowicie inaczej: zrobić te generatory na tanim (ale szybkim) procesorku. Np. odpowiednim PIC-u. Wtedy odpada robienie liczników i sterowania. Dla każdej sinusoidy osobny PIC. Dla rozwiązania ze stałą tablicą to dane będą zaszyte w programie (moze byc ich kilka). Mozna tez pokusić się o tablice dynamiczne,ładowane wg potrzeb. Tu jest sporo mozliwości, albo większy ram i zapamiętywać całe słowa, albo tylko przyrosty (można by wtedy zaoszczędzić pamięć)
a moze porzucic droge cyfrowa i zwrocic sie w kierunku analogowym
np. zrealizowac generator na ukladach np. ICL8038, MAX038 itp.
Takie rozwiazanie ma duzo plusow:
-przegieg sinus jest mniej znieksztalcony
-aplikacja ukladow wymaga bardzo malej ilosci elementow zewnetrznych
-prostota ukadu
-krotki czas realizacji projektu
Wada takiego rozwiazania jest oczywiscie cena.
-ICL8038 to wydatek okolo 15zl
-MAX038 to juz okolo 120zl, ale czesto mozna go kupic na allegro za 15zl albo "sample z Maxima"
taka jest moja propozycja
np. zrealizowac generator na ukladach np. ICL8038, MAX038 itp.
Takie rozwiazanie ma duzo plusow:
-przegieg sinus jest mniej znieksztalcony
-aplikacja ukladow wymaga bardzo malej ilosci elementow zewnetrznych
-prostota ukadu
-krotki czas realizacji projektu
Wada takiego rozwiazania jest oczywiscie cena.
-ICL8038 to wydatek okolo 15zl
-MAX038 to juz okolo 120zl, ale czesto mozna go kupic na allegro za 15zl albo "sample z Maxima"
taka jest moja propozycja
Tak zacząłem, ale na Atmelu. Niestety, odczyt z pamięci programu trwa 3 takty, z pamięci danych 2 takty. Z jedną sinusoidą 19kHz nie ma problemu, ale z 38kHz już są. A z obiema na raz, na przetaktowanym do 25MHz ATmega48, mam 3,5 oraz 7kHz. Najszybciej działa 'na pałę', czyli np. LDI R16,wartość oraz OUT Port,r16, ale wtedy dla dwóch sinusoid brakuje pamięci programu. Próbowałem też na przetaktowanym ATmega16 16PI z osobnych portów, ale też się nie wyrabia...A może całkowicie inaczej: zrobić te generatory na tanim (ale szybkim) procesorku...
PICów nie znam, nic do nich nie mam.
Sinusoida jest niestety brzydka. Nie wiem skąd oni wytrzasnęli sobie ten bodajże 1% błędu. Co by nie regulować, ekstrema są szpiczaste...... ICL8038 ...
Dwa procki sterowane wspólnym generatorem (wtedy nie rozjadą sie częstotliwości i faza, a jak będą pływać to współbieżnie) - przy odpowiednim napisaniu programu nawet fazę będzie można regulować.... Najszybciej działa 'na pałę', czyli np. LDI R16,wartość oraz OUT Port,r16, ale wtedy dla dwóch sinusoid brakuje pamięci programu. ...
Pozdrawiam,
Adam.
Tak informacyjnie - 55ns - powinno starczyć. Z tym że ze wzgledu na typ pamięci skomplikuje układ i program - ale coś za coś.
Zerknij tutaj.
Adam.
Zerknij tutaj.
Adam.
Np. coś takiego
SR62256LLP55M Układ scalony SRAM LLP 5V 32k x8 55ns SOP28 znajdziesz w TME o godzinie 11.13 mieli w magazynie 10 sztuk, ale myślę że nie będziesz miał problemu z kupieniem tego na Wolumenie i pewnie w DIP.
Pozdrawiam,
Adam.
SR62256LLP55M Układ scalony SRAM LLP 5V 32k x8 55ns SOP28 znajdziesz w TME o godzinie 11.13 mieli w magazynie 10 sztuk, ale myślę że nie będziesz miał problemu z kupieniem tego na Wolumenie i pewnie w DIP.
Pozdrawiam,
Adam.
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 100 gości