Czesc ostatnioogladajac moje zbiory znalazlem kilka uP z fabrycznych urzadzen i tak siezastanawiam czy dalo by je sie urzyc do wlasnym projektow napoczatku interesuje mnie
M83C154B-907 http://pdf1.alldatasheet.com/datasheet- ... C154S.html
ORAZ
S87C196KC16 - http://pdf1.alldatasheet.com/datasheet- ... 196KC.html
najlepiej zeby je szlo programowac wjezyku wysokiego poziomu
programowanie "komercyjnych" uP?
Pierwszy jest to lekko usprawniony 8051 z pamięcią ROM programowaną podczas produkcji. Aby mgógł pracować z programem przez nas napisanym trzeba mu podpiąć zewnętrzną pamieć EPROM -> https://elportal.pl/index.php?module=Co ... y&ceid=218
Drugi to 16bitowiec intela, zupełnie mniej popularny niz 8051.
Drugi to 16bitowiec intela, zupełnie mniej popularny niz 8051.
Wszystko da się zrobić, wszelkie chwyty są dozwolone... tylko trzeba to zrobić sprzętowo poprawnie. Właśnie na podobnej zasadzie kiedyś wykombinowałem emulator epromów. Pamięć SRAM kontrolowana przez 8051, która potem jest poprzez łączniki 3-stanowe przepinana na drugiego procka.azuri pisze:spodobal mi sie ten pomysl z emulatorem i mam kilka pyta co do niego czy mozna zamiec ten eprom sramem programowanym przez inny uP polaczony znia i np. RS-232 ??
witam,
jeżeli można coś zasugerować: zainteresuj się zestawem AVT270 - emulator pamięci EPROM
http://sklep.avt.com.pl/go/_info/?id=2819
http://sklep.avt.com.pl/photo/_pdf/AVT270.pdf
używam go od dłuższego czasu i nie nastręcza żadnych problemów
wtedy jedyne otoczenie sprzętowe Twojego kontrolera to będzie taka nazwijmy to 'książkowa' architektura:
•ROM (w tym przypadku podstawka, do której będzie zapięty emulator) - jako segment CODE
•statyczny RAM (radzę jakiś większy 62256/61256 - 32kB) - XDATA
cały układ będzie klarowny, ponieważ nie będzie zawierał w swoim schemacie
tych wszystkich rzeczy, które są potrzebne do wgrania kodu z komputera nadrzędnego.
Inne podejście, to takie zaprojektowanie układu aby uzyskać następującą mapę pamięci,
(z podziałem linią adresową A15 na dwa banki):
• 0x0000...0x7FFF - CODE
• 0x8000...0xFFFF - XDATA/CODE
w pierwszym banku jest kod maszynowy umożliwiający komunikację z PC, ładowanie
plików bin/hex pod zadany adres, może jakiś prosty monitor kodu maszynowego.
dane z PC są ładowane do drugiego (górnego) segmentu, do RAM i tam są wykonywane.
Jeżeli chcesz wykorzystać system przerwań - wystarczy przemapować wektory przerwań
kontrolera, tak aby trafić w adekwatne adresy w górnym banku, przykładowo:
pod adresem 0x000B (przerwanie od Timer 0) należy umieścić rozkaz skoku pod adres
0x800B.
Drobną wadą rozwiązania jest to, że własne programy nalezy pisac tak, aby rozpoczynały
się od adresu 0x8000 (dyrektywa assemblera org 8000h)
Takie monitory-loadery można wyszukac w sieci, w formie źródeł lub już skompilowane.
Trzecia, chyba najbardziej skomplikowana możliwość to takie zaprojektowanie
układu aby umożliwiał niejako w locie reorganizację mapy pamięci:
a) tryb ładowania kodu z PC
• 0x0000...0x7FFF - CODE / ROM (zawierający loader)
• 0x0000...0x7FFF - XDATA 32kB SRAM (kość A) (w którym składowane są ładowane z PC dane)
• 0x0000...0x7FFF - XDATA 32kB SRAM (kość B) (w tym trybie nieaktywna)
b) tryb wykonywania załadowanego kodu
• 0x0000...0x7FFF - CODE / ROM (w tym trybie nieaktywna)
• 0x0000...0x7FFF - CODE 32kB SRAM (kość A) (program)
• 0x0000...0x7FFF - XDATA 32kB SRAM (kość B) (w tym trybie jako pamięć danych)
Oczywiście ciągle pozostaje zagadnienie - jak ewentualnie zaprogramować eprom.
Proponuję zainteresować się układami Atmela AT28C256
http://www.atmel.com/dyn/resources/prod ... oc0006.pdf
to jest 32kB pamięci EEPROM, o tyle sympatycznej w użyciu, że zachowuje się
jak zwykła pamięć RAM (tyle że trwale zapamietuje dane), jej programowanie nie wymaga jakichś szczególnych środków.
Wadą jest cena, ja te kostki kupowałam rok temu po jakieś 25pln...
pozdrawiam,
tasza
jeżeli można coś zasugerować: zainteresuj się zestawem AVT270 - emulator pamięci EPROM
używam go od dłuższego czasu i nie nastręcza żadnych problemów
wtedy jedyne otoczenie sprzętowe Twojego kontrolera to będzie taka nazwijmy to 'książkowa' architektura:
•ROM (w tym przypadku podstawka, do której będzie zapięty emulator) - jako segment CODE
•statyczny RAM (radzę jakiś większy 62256/61256 - 32kB) - XDATA
cały układ będzie klarowny, ponieważ nie będzie zawierał w swoim schemacie
tych wszystkich rzeczy, które są potrzebne do wgrania kodu z komputera nadrzędnego.
Inne podejście, to takie zaprojektowanie układu aby uzyskać następującą mapę pamięci,
(z podziałem linią adresową A15 na dwa banki):
• 0x0000...0x7FFF - CODE
• 0x8000...0xFFFF - XDATA/CODE
w pierwszym banku jest kod maszynowy umożliwiający komunikację z PC, ładowanie
plików bin/hex pod zadany adres, może jakiś prosty monitor kodu maszynowego.
dane z PC są ładowane do drugiego (górnego) segmentu, do RAM i tam są wykonywane.
Jeżeli chcesz wykorzystać system przerwań - wystarczy przemapować wektory przerwań
kontrolera, tak aby trafić w adekwatne adresy w górnym banku, przykładowo:
pod adresem 0x000B (przerwanie od Timer 0) należy umieścić rozkaz skoku pod adres
0x800B.
Drobną wadą rozwiązania jest to, że własne programy nalezy pisac tak, aby rozpoczynały
się od adresu 0x8000 (dyrektywa assemblera org 8000h)
Takie monitory-loadery można wyszukac w sieci, w formie źródeł lub już skompilowane.
Trzecia, chyba najbardziej skomplikowana możliwość to takie zaprojektowanie
układu aby umożliwiał niejako w locie reorganizację mapy pamięci:
a) tryb ładowania kodu z PC
• 0x0000...0x7FFF - CODE / ROM (zawierający loader)
• 0x0000...0x7FFF - XDATA 32kB SRAM (kość A) (w którym składowane są ładowane z PC dane)
• 0x0000...0x7FFF - XDATA 32kB SRAM (kość B) (w tym trybie nieaktywna)
b) tryb wykonywania załadowanego kodu
• 0x0000...0x7FFF - CODE / ROM (w tym trybie nieaktywna)
• 0x0000...0x7FFF - CODE 32kB SRAM (kość A) (program)
• 0x0000...0x7FFF - XDATA 32kB SRAM (kość B) (w tym trybie jako pamięć danych)
Oczywiście ciągle pozostaje zagadnienie - jak ewentualnie zaprogramować eprom.
Proponuję zainteresować się układami Atmela AT28C256
to jest 32kB pamięci EEPROM, o tyle sympatycznej w użyciu, że zachowuje się
jak zwykła pamięć RAM (tyle że trwale zapamietuje dane), jej programowanie nie wymaga jakichś szczególnych środków.
Wadą jest cena, ja te kostki kupowałam rok temu po jakieś 25pln...
pozdrawiam,
tasza