Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Czy da sie zaprogramowac EPROM recznie??

16 Feb 2007 07:25 4314 28
  • Level 21  
    Witam
    kompletnie nie znam sie na programowaniu a chcialbym zrzucic wav do EPROMu i zastanawiam sie czy mozna zrobic to recznie wklepujac bajt po bajcie 0 i 1

    ew czy moglby mi ktos pomoc jak to zrobic w jakis prostszy sposob?? nie mam pojecia jakie programy potrafia skonwertowac na postac binarna pliki WAV
    pozdrawiam
  • Level 38  
    jest to mozliwe ale recznie bedzie trwalo wieki mowimy o epromach zapisywanych rownolegle? ustawiasz adres ustawiasz 8bitow i zalaczasz napiecie programujace i zaczynasz od nowa adres dane prog itd......
  • Level 21  
    np 27C256 chcialem wbic np kolumne... przesunac wiersz i znowu wbic kolumne itd
    w sumie to 3kb ponad mam do wpisania a programatory do tego takie drogie

    hmm a zrobic taki reczny programator chyba by bylo prosto bo 8 przeacznikow do zadawania 0 albo 1 i liczniki jakies przesuwajace do nastepnego bajtu

    inna sprawa ze nie mam pojecia jak sie do tego zabrac
    zapisalem WAV jako plik TXT no i mam cos takiego (fragment)
    i tyle z tego wiem ze 80 znaczy ze plik jest 8 bitowy a kiedy jest 00 jest 16 bitowy i dane zaczynaja sie od 00000032:

    00000000: 52 49 46 46 F4 33 00 00|57 41 56 45 66 6D 74 20 | RIFFô3WAVEfmt
    00000016: 10 00 00 00 01 00 02 00|40 1F 00 00 00 7D 00 00 | @}
    00000032: 04 00 10 00 64 61 74 61|D0 33 00 00 00 00 00 00 | dataĐ3
    00000048: 00 00 00 00 00 0C 00 0C|00 FD 00 FD 00 27 00 27 |   ýý''
    00000064: 00 F9 00 F9 00 E3 00 E3|00 DD 00 DD 00 F4 00 F4 | ůůăăÝÝôô
    00000080: 00 EB 00 EB 00 DE 00 DE|00 3D 00 3D 00 85 00 85 | ëëŢŢ==……
    00000096: 00 E3 00 E3 00 13 00 13|00 A3 00 A3 00 EA 00 EA | ă㣣ęę
    00000112: 00 31 00 31 00 A1 00 A1|00 18 00 18 00 40 00 40 | 11ˇˇ@@
    00000128: 00 6D 00 6D 00 64 00 64|00 65 00 65 00 63 00 63 | mmddeecc
    00000144: 00 6D 00 6D 00 5F 00 5F|00 23 00 23 00 FE 00 FE | mm__##ţţ
    00000160: 00 DF 00 DF 00 CC 00 CC|00 C5 00 C5 00 FE 00 FE | ßßĚĚĹĹţţ
    00000176: 00 47 00 47 00 07 00 07|00 FD 00 FD 00 A1 00 A1 | GGýýˇˇ
    00000192: 00 85 00 85 00 85 00 85|00 CD 00 CD 00 85 00 85 | …………ÍÍ……
    00000208: 00 85 00 85 00 85 00 85|00 C0 00 C0 00 D9 00 D9 | …………ŔŔŮŮ
    00000224: 00 E5 00 E5 00 21 00 21|00 7A 00 7A 00 73 00 73 | ĺĺ!!zzss
    00000240: 00 7C 00 7C 00 5F 00 5F|00 65 00 65 00 75 00 75 | ||__eeuu
    00000256: 00 6E 00 6E 00 6E 00 6E|00 6F 00 6F 00 68 00 68 | nnnnoohh
    00000272: 00 75 00 75 00 6F 00 6F|00 6C 00 6C 00 5F 00 5F | uuooll__
    00000288: 00 55 00 55 00 3F 00 3F|00 F6 00 F6 00 C9 00 C9 | UU??ööÉÉ
    00000304: 00 A9 00 A9 00 87 00 87|00 85 00 85 00 8C 00 8C | ©©‡‡……ŚŚ
    00000320: 00 8E 00 8E 00 85 00 85|00 87 00 87 00 88 00 88 | ŽŽ……‡‡ˆˆ
    00000336: 00 8C 00 8C 00 87 00 87|00 85 00 85 00 8A 00 8A | ŚŚ‡‡……ŠŠ
    00000352: 00 8F 00 8F 00 92 00 92|00 B6 00 B6 00 F0 00 F0 | ŹŹ’’¶¶đđ
    00000368: 00 18 00 18 00 3D 00 3D|00 58 00 58 00 6A 00 6A | ==XXjj
    00000384: 00 72 00 72 00 7C 00 7C|00 6A 00 6A 00 6B 00 6B | rr||jjkk
  • Level 18  
    Może by podpiąć pod lpt i przez niego programować, masz 8 bitów do dyspozycji, do tego jakiś zatrzask na adres i powinno działać ale mogę się mylić
  • Level 21  
    do lpt bym musial znowu miec jakis program specjalnie napisany zemy mi obslugiwal takie wlasnie pamieci i w taki sposob:(
  • Level 18  
    W nocie katalogowej powinno pisać jakie są słowa inicjujące i jak podawać poszczególne sygnały więc napisanie programu niepowinno być problemem
  • Level 31  
    c_04 wrote:
    w sumie to 3kb ponad mam do wpisania a programatory do tego takie drogie

    hmm a zrobic taki reczny programator chyba by bylo prosto bo 8 przeacznikow do zadawania 0 albo 1 i liczniki jakies przesuwajace do nastepnego bajtu

    inna sprawa ze nie mam pojecia jak sie do tego zabrac
    zapisalem WAV jako plik TXT no i mam cos takiego (fragment)
    i tyle z tego wiem ze 80 znaczy ze plik jest 8 bitowy a kiedy jest 00 jest 16 bitowy i dane zaczynaja sie od 00000032:

    00000000: 52 49 46 46 F4 33 00 00|57 41 56 45 66 6D 74 20 | RIFFô3WAVEfmt

    52(hex) = 01010010(bin)
    Ustawiasz przełączniki, zapisz, następny adres - ile to zajmie? z 5 sek. minimum...
    5 s * 3000 ≈ ponad 4 godziny ;) (bez weryfikacji, a można się przecież pomylić)
    Skoro i tak musisz zrobić do tego programator (ręczny), to może już lepiej poświęcić te 4 h na wykorzystanie portu LPT.
  • Level 21  
    witam ponownie
    ogladam te noty katalogowe i nic mi sie tam nie zgadza bo np na pamieci 27c256 jest 15 wejsc adresowych a powinno byc 14 a jest 15 tj nawet 13 by wystarczylo

    hmm programu napisac nie umiem... dopiero bede sie probowal nauczyc - myslalem ze pamiec to sprawa elementarna i 0 i 1 ja ustawie tak jak chce a tu nie za bardzo wiadomo o co chodzi:(

    koledzy a z tym portem lpt to jak??? i skad program do tego???
  • Level 18  
    https://www.elektroda.pl/rtvforum/topic328008.html
    choć najprościej jest w asemblerze

    co do wejść adresowych to jest tyle ile powinno być (niemusisz wszystkich używać) 15 wynika z tego, że 32k to 2^15 = 2^10 * 2^5
    a do wpisania masz 3kb (potrzebujesz 9 lini) czy 3kB (12 lini).
    w specyfikacji lpt masz 2 porty 8bitowe I/O do wykożystania. Czyli 8bitów na dane + 3 sterujące lub 12 adresowych + 3 sterujace (linia danych i adresowa są wykożystywane na przemian z tego co pamiętam) + 2 linie zasilania
  • Level 29  
    Też kiedyś miałem taki problem. Od razu jedna uwaga. Pamięć typu 27c256 to EPROM który możesz wprawdzie wielokrotnie zapisywać (np. w przypadku pomyłki) ale trzeba go skasować a kasowanie EPROM odbywa się za pomocą lampy ultrafioletowej! Lepiej zastąpić tę kość układem EEPROM (28c256) to to samo tyle że kasowana elektrycznie. Ręczne programowanie odpada (kiedyś w EP był schemat z opisem "ręcznego" programatora) bo za dużo roboty i duża możliwość pomyłek. Zrobiłem więc własny programator pamięci równoległej w oparciu o port LPT do podawania danych i zwykły licznik do adresowania. jeden z pinów LPT podawał kolejno impulsy na licznik zwiększając za każdym razem adres o jeden. Sygnał do podania napięcia programującego również pochodził z LPT. Oczywiście trzeba było napisać specjalny program do obsługi LTP. Jeśli poczytasz jak działa LPT (są szczegółowe opisy w necie) to wykonanie takiego programatora nie jest trudne. Mój niestety dla uproszczenia działał bez weryfikacji. Ale jeśli się go odpowiednio spowolni programowo to nie występują przekłamania. A teraz trochę Cię załamię, mój programator leży już dawno gdzieś w lamusie a schemat miałem w głowie kupę lat temu (wywietrzał).
  • Level 28  
    Wg. mnie takie programowanie to wyważanie otwartych drzwi.
    W każdym chyba punkcie gdzie naprawiają RTV i w co drugim GSM jest jakiś programator. Za drobną opłatą napewno ci to ktoś zaprogramuje.
    Zapewne na tym forum posiadaczy programatora jest też wieeelu a i pewnie znalazł by się ktoś z twojej okolicy kto ci to zaprogramuje. W ostateczności koperta + znaczek i wysłać gdzieś.
    Chyba że ci się śpieszy, aczkolwiek nie sądzę bo już masz cały dzień zmarnowany na szukaniu łoma do otwartych na ościerz drzwi ;)

    Pozdrawiam Willy.
  • Level 21  
    witam
    milo ze koledzy staracie sie pomoc ale ja nie znam sie na programowaniu kompletnie... jeszcze 0 i 1 wbije i rejestry poprzesuwam ale napisac program obslugujacy pport lpt to troche za duzo

    no co tu ukrywac w jezykach programowania jestem zielony

    co do dawania komus zeby mi wrzucil w kostke cos co chce to nie za bardzo wchodiz w rachube bo ja tych kostek chcialbym kilkanascie i w kazdej co innego - dla kogos to po prostu beznadziejna zabawa a dla mnie kupa radochy jak po zlozeniu to zadziala

    spieszyc mi sie nie spieszy ale chcialbym sie nauczyc jak zaprogramowac taka pamiec zeby mogla pozniej wspolpracowac z procesorem 8031 (80C31) a to dlatego ze nie ma on pamieci wew wiec teoretycznie nie byloby ograniczen w podpinanej zewnetrznie

    moze ma ktos jakis schemat i jakis kawalek programy ktory zrobi mi zrzuty do takich kostek... moze sie jedna kostka programowac 10 min byle sie programowala no i myslalem o tych jednorazowego zapisu one akurat sa taniocha... no i moze jedna bym kupil albo kilka tych kasowalnych zeby sprawdzac czy to co zrzucam dziala w ukladzie i jak dziala

    pozdrawiam

    p.s. ponizej zamieszczam przyklad jak sobie wyobrazam odtwarzanie tych sampli to juz jest zrobione w 8 bitach i 16khz (probkowanie) i petle wykonalem sam podobnie brzmienia sa przeze mnie rasowane:)
    rozszerzenie trzeba zmienic z bin na wav
  • Level 18  
    c_04 wrote:
    witam
    spieszyc mi sie nie spieszy ale chcialbym sie nauczyc jak zaprogramowac taka pamiec zeby mogla pozniej wspolpracowac z procesorem 8031 (80C31) a to dlatego ze nie ma on pamieci wew wiec teoretycznie nie byloby ograniczen w podpinanej zewnetrznie

    Ten mikrokontroler obsługuje do 64k słów w pamięci (słowa są 8bitowe) więc pamięć jest ograniczona, chyba ze programowo będziesz przełączał bloki pamięci wtedy możesz podłączyć kilka razy więcej ale to wymaga już więcej zaangażowania i dość rozbudowanej elektroniki
  • Level 21  
    wiec wynika z tego ze nie jest konieczna az pamiec 256 k wystarczylaby 27C64??

    czy moglby mi ktos dac rozpis jak nastepuja kolejne bajty po sobie rzy zapisie takiej pamieci?? chcialbym zobaczyc ktory bit jest za co odpowiedzialny bo cos mi sie zdaje ze jak dla mnie bedzie prosciej poswiecic te 4h na wbijanie cyferek niz napisanie programu ktory mi to zrobi:(
    moglbym przeciez zrobic klawiature numeryczna do wpisywania w hex prosty koder na diodach juz kiedys robilem cos takiego z dec na bin wiec hex na bin zaden problem
  • Admin of Design group
    Najbardziej "hardkodowy" pomysł o jakim słyszałem.
    Przypomina mi się obrazek z żartem
    gdzie programista ma klawiaturę z dwoma klawiszami 0 1.

    Załączam plik wav załączony przez Ciebie przekodowany na bin hex dec w trzech plikach,z odstępem co 10 pozycji.

    Jakby były jakieś inne wav do przerobienia to wrzuć.
    Acha, jest późno, plik przekodowałem na kolanie, jedną ręką trzymając kubek z kawą, więc proszę aby przed ew "programowaniem" eprom ktoś zweryfikował zawartość, gdyż byłoby szkoda tyle wklepywania do eprom z błędem.
  • Level 21  
    Witaj And! jakis znajomy masz ten nick;)

    ale niepotrzebnie sie namordowales z przekodowywaniem tego bo to byl tylko przyklad co chce uzyskiwac z poszczegolnych probek wiec tak naprawde ten moj wynalazek ma byc oparty na samplach z ktorych dopiero bedzie mozna robic takie rytmy
    tzn np takie

    sample zamieszcze pozniej.. moze spakuje je zipem zeby nie bylo jakichs problemow

    tylko ze czytalen na stronie jakiegos Jana (Janka) ze skawiny ze zeby wrzucic sampla do pamoeci eprom trzeba usunac jakis wpis do 0000030 no i nie wiem tn mniej wiecej wiem o co chodzi... tylko nie wiem czy liczyc kady bajt jako osobny i wtedy dokladnie od 30 czy usunac pierwsze linie i zostawic ta 32

    wrzucilem z powrotem ta wersje ktora przekonwertowales na hex w cool edita... nie pojawia sie tak jak ma byc za to dodalem od 30 bajtu dane i jest ok

    to jest brakujace:

    00
    00
    01
    00
    08
    00
    64
    61
    74
    61
    A0
    9E
    01
    00
    82

    nie wiem czy tam ma byc zachowana jakas parzystosc czy co
  • Level 38  
    jak chcesz tego robic wiecej to moze zlozyc jakis prosty programator dla epromow? bedzie tanio i szybko. to co stracisz na zaprogramowanie jednego sampla to w tym czasie zbudujesz programator . wiec reszte zrobisz w kilka minut. :)
  • Level 21  
    witam
    znalazlem jakis schemat tylko ze pisze tam ze to jest dla 28C64 wiec moze byc malo no i nie wiem co teraz

    poza tym jak zamieniac na hex pliki?? jakis kompilator czy cos by trzeba bo ten schemat mam razem z jakims programem go obslugujacym

    no i zamiast 27 jest 28:(
    ehh chyba uzbieram jakas kase i kupie jakiegos willema tylko znowu ten sam problem a wlasciwie 2 bo jak mam skonwertowac wav do hex no i ktory sie nadaje z tych willemow bo tam duzo wersji rozych jest i do tego jakies adaptery
    strasznie to zakrecone

    czy te pamieci 27C256 programuje sie tak jak np 6516?? wejsciami adresujacymi ustawia sie kolumny i wiersze a wyjsciami adresowymi ustawia dane?? tzn w notach aplikacyjnych dla 6516, 6116 mozna wyczytac ktore wejscia adresujace sa za co odpowiedzialne i ze wyjscia danych w trybie programowania sa wejsciami a z tych 27C256 nic nie wiem
  • Admin of Design group
    Pliki po konwersji które zamieściłem, konwertowałem omijając nagłówek pliku wav, dlatego zgadza się od momentu danych.

    Można spróbować zapisać plik wav jako raw (GoldWave, Audiity, Cooledit itp)
    a następnie wykorzystać programator który przyjmuje również dane raw (czyli bin).
    Można by spróbować zrobić programator działający jak drukarka,
    polecenie w linni komend
    cp plik.raw LPT
    spowoduje wysłanie pliku na port równoległy (w systemach dosopodobnych).
  • Level 21  
    And! ja nei kumam co Ty do mnie piszesz... tzn kumam o co Ci chodzi ale jak to zrobic to nie mam pojecia
    Co do plikow to tak jak Ci pisalem gdzies wyzej to co otrzymalem od Cibeie brakowalo tak chyba z 10 bajtow i wtedy dane byly kompletne dalo sie je odtwarzac... natomiast w takiej postaci jak sa to pojawilo sie jakies przesuniecie calosci na - sinusoidy i jeden wielki przester z szumem tylko to byl... ale to nie problem bo te brakujace dane moge sobie dopisac
    hmm zrobilem tak jak mowiles - zapisalem wav jako raw... no i tam to dopiero jest massacra - kompletnie nei wiem co jest odpowiedzialene za co... ja robilem wczesniej tak ze zapisywalem wav jako wav i zmienialem rozszerzenie na txt zeby moc obejrzec zawartosc no i wtedy jest tak jak dostalem od Ciebie tylko ze Ty mi dales ciag w pionie a tam leca w poziomie te dane linijkami
    hmm a plik hex tez ogladalem jako jakis wsad do procesora jak to ma wygladac... no i tam jest tak ze sa dwukropki przed kazda linia a pozniej bajty leca i znowu nastepna linia, bajty... i tak do konca

    hmm moze jakis program obslugujacy ladowanie do pamieci tych programowanych potrafi to zapisac tak jak chce... albo jakis program do pisania programow... kompilator czy jak sie to tam zwie... zebym wrzucal wav w postaci txt a on pokazywalby mi tylko bajty... po czym wywalalbym to co mi niepotzrebne i robil zrzut albo do hex albo od razu do kotski pamieci... wymyslilem jeszcze tak ze moglbym podzielic te pamieci na jakies rowne porcje np operujac najstarszymi bitami
    i nie wiem jakie tam sa bo kazda pamiec zaleznie od pojenosci ma wiecej tych bitow adresujacych... wiec zalozmy ze ma A12 A11
    i np kiedy jest 0 0 dta tych wejsc to jest 1 bank... kiedy 0 1 - drugi, 1 0 - trzeci, 1 1 - czwarty a to juz moglbym zrealizowac na przelacznikach recznie... tzn juz w gotowym urzadzniu
    heh pozostaje tylko ta nieszczesna sprawa zaprogramiwania tej pamieci i konwersji z wav na hex ew plik wsadowy np sample1.hex...bo takie pliki podobno obsluguje ten programator ktory zamiescilem powyzej tzn jego program go oblugujacy...
    hmm mysle ze zaprogramowanie innych pamieci to tylk kwestia wykorzystania wyjsc z tych ukladow i zmiany w programie obslugujacym ten programator... ale tego neistety juz nie wymysle... o ile ten programator bym przebudowal to napisanie softu... no nie potrafie - w kazdym razie szukam po necie czegos z czego mozna by sie nauczyc programowania a to wszystko jest tak jak juz bym umial programowac - tymczasem ja nawet nie wiem gdzie ja mam pisac te programy bo przeciez chyba nei w notatniku heeh

    najlepiej by bylo jak bym chyba zbudowal programator reczny przynajmniej wszystko wiem ale powiedzmy ze wszystko jest ok kiedy mam wbic 4kb... a co kiedy mam do wbicia 103kb?? rok bym to wpisywal:(
  • Level 31  
    Gdybyś przebudował programator do standardu Centronics , to nie musiałbyś już pisać żadnego programu, tylko spod dos'a wysłać plik na "drukarkę":
    copy plik.raw lpt
    tudzież z linuksa:
    cp plik.raw /dev/lp0
    Programator musi mieć licznik adresu i przyjmować pełne bajty oraz generować sygnał BUSY i nACK (nie wiem, czy busy jest konieczne).
  • Admin of Design group
    Pliki które wygenerowałem algorytmem, nie dadzą się odtwarzać dając dźwięk gdyż jest tam zapis ASCI dla wklepywania ręcznego.
    W przypadku raw, nie masz żadnych zależności poprostu dane (w przypadku mono 8b).
    Opisy formatu wav dostępne są w internecie.

    Jeżeli chodzi o raw, można puścić go na LPT, i programator "drukarkowy" da sobie z nimi radę. Jeżeli chodzi o raw można go użyć dla programów obsługujących programatory obsługujących pliki bin.

    Dla hex, trzeba przekonwertować wav lub raw dla formatu intelhex, również opisy dostępne w internecie.

    Należy się zdecydować czy temat dojrzał już do działu mikrokontrolery,
    czy też będzie się rozwijał w stronę pisania programatora i pozostanie w tym dziale.
  • Level 21  
    Witam koledzy

    przeczytalem te posty, obejrzalem tak pobieznie informacje dotyczace portu centronics no wnioski mam takie... ze najprosciej chyba zapisac plik wav w cool edicie jako pcm raw (jest tez mozliwosc do ASCII chyba) - chyba dokladnie tak jest to tam oznaczone, po otwarciu takiego pliku w notatniku zapis podobny jest do zapisu wav tylko ze roznia sie calkowicie dane np nie znalazlem tych zaczynajacych sie w linii 0000032 ale mniejsza z tym

    mam rozumiec ze zeby zaczac programowac pamiec wystarczy wlaczyc komp wsadzajac mu dyskietke startowa zeby mi wszedl w dosa po czym podac lokalizacje np cd/a:
    zeby mi przeszedl na dyskietke na ktorej mam plik raw... nastepnie pojawi mi sie cos takiego a:/
    i tu wpisuje cp nazwa.raw lpt
    i to wszystko?

    a jeszcze mam takie pytanie bo wydaje mi sie ze programowanie zacznie sie od najmlodszych bitow - da sie jakos ustalic adres poczatkowy? czy trzeba zapisac wavy nastepujaco po sobie i zapisac to jako jeden raw a nastepnie wrzucic jako jeden plik?... tylko jak ja pozniej znajde adresy poczatkowe kazdego z nich?
    poza tym chcialbym zeby byl po kazdym jakis fragment ciszy tak zeby komorki w pamieci byly rowno podzielone

    no i czy ten programator ktory zamiescilem nie nadaje sie jako obslugujacy port centronics?? tzn roznica jest taka ze operuje on tylko na kilku bitach wyjsciowych z portu i chyba tam bylo wyjscie d2 jest uzywane jako wyjscie zegarowe, d1 jako wyjscie danych programujacych pamiec

    nie wiem do konca jak jest przekazywana informacja z portu lpt poniewaz nie potrzebne sa tam zadne wejscia adresujace - leca tylko dane...
    hmm czyl nalezaloby zbudowac programator ktory ustawia dane wysyla do komputera informacje busy zeby zatrzymac nastene dane a w tym czasie ustawia adres i wlacza tryb programowanie... po zapisaniu do komorki pamieci tj bajta przestaje wysylac busy co uaktywnia transfer nastepnych danych pin 1 w centronicsie mozna by uzyc jako wyjscie zegarowe, ale nie wiem jeszcze jak dzialaja pozostale z we/wy np mode czy trzeba by ustawic na 0 czy na 1... tak samo nAck, paper out, auto linefeed, nerror, ninitialize itd
    dobrze mysle czy gdzies jest blad??
  • Helpful post
    Level 18  
    Elektronika Praktyczna 3/97 kit AVT-112.
    Jest to sterownik świateł wykorzystujący pamięć eprom.
    W tym projekcie wykorzystano "ręczne" programowanie sekwencji świetlnych. Jednak takie programowanie zajmie dużo czasu.
  • Admin of Design group
    Wykorzystanie Start->uruchom->cmd
    cp plik.raw LPT
    nie wymaga programu programatora, oraz wykorzystuje prosty układ programatora,
    lecz nie umożliwia programowania danych adresami,
    jedynie od początku do końca.

    Czyli plik do programowania trzeba przygotować w całości.

    Adres można wyliczyć z wielkości plików składowych.
  • Level 21  
    no to jeszcze programator bedzie malym problemem bo nie wiem jak to ma do konca dzialac... wczoraj zaglebilem sie w lekture tego portu lpt no i jest tam troche niejasnosci... chcialbym zobaczyc to na obrazku jak co sie dzieje kiedy na poszczegolnych we/wy pojawia sie stan niski lub wysoki
    czy np faktycznie zmieniajac stan na wejsciu busy dane sa zatrzymywane z komputera albo nAck co to wlasciwie robi... czytalem ze chodzi o cos podobnego do weryfikacji ale kiedy kest ustawiony tryb szybszy 150kb/s nie jest ten pin brany pod uwage - jedynie przy predkosci 50kb/s.

    mysle wiec ze adresowanie mogloby sie odbywac z jakiegos prostego licznika ktory wyzwalany impulsem zegarowym ustawialby wejscia adresujace po czym z wyjsc adresujacych d1-d8 ustawiane bylyby bajty danych... cos musialoby przelaczac pamiec programowana w tryb programowania no i wysylac do komputera busy... po zaprogramowaniu bajtu powinien sie wylaczac tryb programowania pamieci - stan busy przechodzil na stan normalnej practy czyli zezwalal znowu na wysylanie danych z komputera i tak w kolko
    az do konca
    tylko nie wiem czy wszedzie sie by zgadzalo ustawianie adresowania poniewaz najprosciej by bylo zrealizowac to jako ciag: 00001, 00010, 00011 itd... zaleznie od tego ile jest wejsc adresujacych ale to nie problem bo mozna zrobic licznik 16 bitowy i wtedy chyba nei ma nawet takiej pamieci z tyloma wejsciami adresowymi
    hmm mozna by nawet zrobic odczyt na wyswietlaczach np w celu zobaczenia ostatniego adresu:) po zakonczeniu programowania

    hmm mozna by nawet sie pokusic wtedy o programator pamieci 16 bitowych tylko wtedy problemem jest jak polowe bitow z jednego bajta przerzycic na nastepny cykl zegara?... no ale to wywod na nastepny watek na forum heh
    najpierw chcialbym zbudowac ten programator tylko nie wiem od czego zaczac - tzn wiem ale nie wiem czy to zadziala bo np wy d0 ma normalnie stan 1 i od takiego tez zaczyna sie taktowanie... a nie wiem jaki ma byc zeby to dzialalo bez problemow no i nie wiem co zrobic z poszczegolnymi wyjsciami kontrolujacymi w porcie lpt... hmm dzisiaj moze sie wybiore po jakies eepromy to pomysle... no i tez jakies liczniki chyba kupie te ktore sa powszechnie uzywane w takich programatorach albo poszukam moze mam...
    i jeszcze jedno pytanie... czy gdybym zastosowal liczniki zezwalajace na ustawienie stanu wyjscia przed rozpoczeciem liczenia a na wejsice podal wyjscie z innych licznikow zaczynajacycj liczenie od 0000 to czy te ustawione liczniki wroca mi z powrotem na 0000 czy zaczna odliczanie od ustawionego miejsca np gdybym ustawil 1000 a z wyjsc licznikow ktore przyjmuja dane z kompuetra by szlo od 0000 to czy nastepnym w kolejnosci bedzie 1001 czy 0000??
    pozdrawiam
  • Admin of Design group
    W odpowiedzi na ostatnie pytanie,
    jeżeli licznik ma możliwość zaprogramowania stanu początkowego,
    to do stanu 0 powraca po resecie,
    więc jeżeli nie zresetujesz to kolejne impulsy clk,
    spowodują inkrementację, stanu początkowego niezależnie czy jest to 0,
    czy też wpisany stan, lub stan po poprzednim taktowaniu.
    Rst można realizować po włączeniu zasilania przez kondensator,
    lub dodatkowym przyciskiem.
    Czyli bez resetu możnaby teoretycznie puszczać kolejne pliki aż do zapełnienia eprom.

    Można rozważyć zastosowanie EEPROM zamiat EPROM aby unknąć kasownika UV w razie błędu, lub upgreadu.

    Istnieją też szeregowe pamięci dataflash (szybkie i pojemne), które można wykorzystać do takiego celu. Tyle że słowa trzeba formować w 8 lub 16b i dopiero wystawiać na C/A (chyba że również szeregowy). Peogramowane i kasowane elektronicznie, ale protokół dostępu znacznie bardziej skomplikowany.
  • Level 21  
    witam
    kupilem dzisiaj tych epromow 27c512, 27c256 kilkadziescia nawet wzialem jeden 4mb na probe... do tego jakies ramym 3 procesory th 2x 80c31 i jeden 87c51 - wszystko intela... po jakichs smiesznych cenach 1-2 pln ale epromy sa do skasowania no i teraz tak czytam o tych kasowanikach i ludzie pisza zeby z lampy rteciowej czy cos takiego zrobic ale zastanawiam sie czy nei daloby rady kupic jakiejs zarowki uv i swiecic np 30min z tym samym rezultatem... mniejsza z tym

    co do licznikow wyglada na to zeby dzialalohm mogblym wsadzic tam tez wyswietlacze zeby mi pokazywaly stan i np jakas reczna kontrile adresow przez co mozna by ustalac miejsce adresowania nastepnego wpisu - czyli tak jak chcialem

    reasumujac uklad powinien wygladac mniej wiecej tak: liczniki 8bit pospinane np x2 (np4029) zeby liczyly na 16 bitach przez co mam mozliwosc ustawienia 16 wejsc adresujacychod wyjscia d0 z porty lpt tez wysylam impulsy zegarowe ktore przy jakims tam zboczu by mi wlaczaly zapis i wysylaly do komputera busy... i teraz nie wiem jak zrobic przechodzenie do nastepnej komorki... moze jakos tranzystor z kondensatorem ktory np ladujac sie powodowalby reset przerzutnika
    musze nad tym jescze pomyslec... hmm a czy cos sie moze zmienic kiedy w pamieci juz znajduje sie jakis wpis a ja zmienie dane wejsciowe?
    bo jezeli nic to mozna by programowac w ten sposob ze ustawic wejscia adresujace wyslac data, zmienic data, zmienic wejsca adresujace czyli data zapisze sie do nastepnej komorki... zmienic dane i przesunac znowu adres i tak w kolko... potrzebny by byl tylko jeden przerzutnik dzielacy zegarowe impulsyi moze jakis latch podtrzymujacy stan zeby mi sei dane nie skasowaly juz po przejsciu do nastepnej komorki pamieci... ile tam moze byc wysylane impulsow zegarowych na jeden bajt danych?
  • Admin of Design group
    http://alfa.iele.polsl.gliwice.pl/elenota/Fairchild/fm27c256x150.pdf
    str 5, wynika z tego że ustawiamy adres, wystawiamy dane,
    ustawiamy !CE na stan niski na 105uS,
    ustawiamy !CE na stan wysoki czekamy 3uS
    i jedziemy dalej.
pcbway logo