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ę

Poroblem z 80c31 i emulacja at89c2051.... Pomocy!!!

atmel_fan
-
-
Posty:46
Rejestracja:30 mar 2003, o 13:39
Lokalizacja:kujawsko-pomorskie
Kontaktowanie:
Poroblem z 80c31 i emulacja at89c2051.... Pomocy!!!

Postautor: atmel_fan » 30 mar 2004, o 21:00

Witajcie, mam spory problem.... Zrobilem sobie uklad Emulator at89c2051 na podstawie schematu z PRAKTYCZNEGO ELEKTRONIKA 10/99, troche go zmodifikowalem ( w zalaczniku jest schemat ), chodzi oto ze czesc ukladu dziala poprwawnie. Procesorek At89c2051 wysyla do pamieci program i veryfikuje go dla 80c31 i to dziala mi dobrze ale juz po wgraniu i po resecie 80c31 ukald nie rusza, tz wgrywam program testowy ze ma zmieniac cyklicznie porty P1 i P3 ale nic po resecie cisza . sprawdzalem z trzema innymi prockami i nic to samo. Zmienialame kwarce i tez nic. Ale testowalem piny nie podlaczone A13..15 ukaldu 80c31 i tam pojawia się sygnal tak jakby procek nie pobieral z pamieci nic tylko tak jak by ciagle pracowal w kolko czyli jakby odyczytywal 'NOP' i krecil się od adresu 0000 do FFFF. Nawet zmienialem pamiec na inna i tez dalem szybszy 74HCT574 i tez nic, co moze byc nie tak. troche mnie to denerwuje ze to nie dziala.... Moze musze dac rezystory podciagajace pod port 'P0' , no nie wiem... chce to zrobic bo mnie denerwuje ze mi to nie wychodzi i ile czasu stracilem na ten uklad...
Dodam ze 80c31 ma nowy ze sklepu.... Wiec poradzcie mi co jest nie tak ...


ps. Dokladnie uzylem :

- TS80c31x2
- ms62256l-70 (ram) dalem wiesza ona dziala dobrze (bo testowalem)
- 74hct574
- at89c2051

no i nic , probowalem dawac inne ramy i nie dziala, 80c31 nie startuje z wgranym programem do ramu.... co moze byc tego przyczyna, probowalem tez zmieniac uklad do resetowania i nic ... jest taki sam obiaw jak opisalem wczesniej.... probowalem tez z innymi prockami 80c31 i tez nic nie pomoglo jaki blad popelnilem.... wszystko sprawdzalem dwa razy i polaczenia sa tak samo jak na schemacie.....

Awatar użytkownika
gawel
-
-
Posty:683
Rejestracja:24 lis 2003, o 11:19
Lokalizacja:Białystok

Postautor: gawel » 31 mar 2004, o 08:01

Pierwsze sugestia to taka, że jako zatrzask szyny adresowaj A0..A7 stosuje się układ 74HCT573 (nie 574). Różnica polega na tym, że 573 jest zatrzaskiem (rejesterm z wpisem poziomem) a 574 jest rejestrem (rejesterm z wpisem zboczem). W aplikacji wymagany jest zatrzask.
Z pewnością sygnał EA masz przyłączony do masy (bo musi być tam logiczne zero). W takiej sytuacji do 'testów życia' dobrze jest obserwować sygnal ALE oraz ewentualnie PSEN.

Awatar użytkownika
gawel
-
-
Posty:683
Rejestracja:24 lis 2003, o 11:19
Lokalizacja:Białystok

Postautor: gawel » 31 mar 2004, o 10:00

Dobrze by było, jak byś podrzucił mi schemat (najlepiej w bitmapie) na
an177@poczta.fm

zyfer
-
-
Posty:15
Rejestracja:24 sty 2004, o 15:19

Postautor: zyfer » 31 mar 2004, o 23:35

witam
Używam takiego emulatora z procesorem 89c51 .
Chodzi bez zarzutu,ale przy urucomieniu były małe problemy.
1. nie wszystkie kwarce chciały się wzbudzićz układem
2. win95 poprawnie obsługuje com dla tego emulatora ,natomiast win98 inaczej obsługuje com i emulator nie będzie działać poprawnie. (należy napisać własny program do przesłania lub skożystać z bascoma)
3. zwracaj uwagę na diody sygnalizacyjne ,czasami gdy komputer jest mocno obciążony pracą ,a w tym czasie następuje przesłanie programu do emulatora ,emulator wykaże błąd.
PZD
ZYFER

atmel_fan
-
-
Posty:46
Rejestracja:30 mar 2003, o 13:39
Lokalizacja:kujawsko-pomorskie
Kontaktowanie:

Postautor: atmel_fan » 1 kwie 2004, o 15:10

schemat chyba dodalem w pierwszym liscie... wysylam ci na email bo nie moge go dolaczyc na forum, nie wiem czemu, ok....

wczesniej w ukladzie zastosowalem 74ls373 i tez nie dzialalo ....

aha... wina PC tu nic nie zmienia bo narazie program testowy wysylam z flasha At89c2051.... podam wam kod programu.....



;---------------------------------------------------------------
;Projekt : AT-89_SIMULATOR
;Version : v1.00
; Quarz : 24.000 MHz
; Assembler: ASEM51
; Datum : xx.xx.2004
;---------------------------------------------------------------
$MOD51
;
;---------------------------------------------------------------
ver equ 50h

; Begin_program
;---------------------------------------------------------------
org 00h
ljmp start
org 03h
reti
org 0bh
reti
org 13h
reti
org 1bh
reti
org 23h
reti
org 2bh
reti

; Funktions
;***************************************************************

$INCLUDE (UART_2.a51)



;***************************************************************
; Reset_program
;---------------------------------------------------------------
start:

mov r0,#7fh
clr a
m0: mov @r0,a
djnz r0,m0

mov sp,#60h

;***************************************************************
; Main_program
;---------------------------------------------------------------
main:

; call SERIAL_INIT
INC r5
inc r6


setb p3.1
;========================================

setb p3.2

setb p3.5
setb p3.7

setb p3.4


;-----------------------------------

;call FILL

mov dptr,#0000h
mov r0,#0
mov r7,#65h
bak:
mov a,r0

call UPLOAD
mov ver,a
call MEMORY_OUT ; zapis do ramu
call MEMORY_IN ;odczyt z ramu
inc dptr
cjne a,ver,err ;veryfikacja....
inc r0
djnz r7, bak



;-----------------------------------
ok:
call RST
;=====================================

; call SERIAL_IN
ende:

jmp ende

err:
call RST
rrr:
djnz r6,rrr ;error, miga dioda
djnz r5,rrr
mov r5,#120
xrl p3,#00000010b
jmp rrr

RST:


clr p3.3
mov p1,#0ffh ; reset
call tims
call tims
setb p3.3
call tims
setb p3.7
setb p3.5
setb p3.2

clr p3.1
clr p3.4
call tims

ret

;===================================
; WRITE TO MEMORY
;-----------------------------------
MEMORY_IN:

mov p1,dph ; addr hi
clr p3.3
call tims
setb p3.3
nop
nop
nop
mov p1,dpl ; addr lo
setb p3.7
call tims
clr p3.7
nop
nop
nop
mov p1,#255
mov a,#255
clr p3.2
call tims
call tims
mov a,p1 ; get data
setb p3.2

call tims
ret

MEMORY_OUT:

mov p1,dph ; addr hi
clr p3.3
call tims
setb p3.3
nop
nop
nop

mov p1,dpl ; addr lo
setb p3.7
call tims
clr p3.7

nop
nop
nop
setb p3.2
nop
nop
clr p3.5
mov p1,a ; data
call tims
call tims
setb p3.5

call tims
ret
tims:
mov r4,#25
djnz r4,$

ret

FILL:
mov dptr,#0000h
mmm:
mov a,#00
call MEMORY_OUT
inc dptr
mov a,dph
cjne a,#20h,mmm
ret

;-----------------------------------

org 0200h

UPLOAD:
inc a
movc a,@a+pc
ret
db 002h,000h,02Eh,032h,000h,000h,000h,000h,000h,000h,000h,032h,000h,000h,000h,000h,000h,000h,000h
db 032h,000h,000h,000h,000h,000h,000h,000h,032h,000h,000h,000h,000h,000h,000h,000h,032h,000h,000h
db 000h,000h,000h,000h,000h,032h,022h,032h,0E4h,0F5h,0A8h,0F5h,0B8h,075h,0D0h,000h,011h,02Dh,011h
db 02Dh,0F4h,0F5h,080h,0F5h,090h,0F5h,0A0h,0F5h,0B0h,075h,081h,030h,074h,001h,0FEh,0FDh,0DDh,0FEh
db 0DEh,0FCh,07Eh,0F0h,063h,090h,0FFh,063h,0B0h,03Fh,080h,0F2h,0FFh


END

Awatar użytkownika
gawel
-
-
Posty:683
Rejestracja:24 lis 2003, o 11:19
Lokalizacja:Białystok

Postautor: gawel » 2 kwie 2004, o 08:21

Potrzebuję trochę czasu, na przeanalizowanie. Cierpliwości.

atmel_fan
-
-
Posty:46
Rejestracja:30 mar 2003, o 13:39
Lokalizacja:kujawsko-pomorskie
Kontaktowanie:

Postautor: atmel_fan » 2 kwie 2004, o 18:22

ok... bede czekal....

atmel_fan
-
-
Posty:46
Rejestracja:30 mar 2003, o 13:39
Lokalizacja:kujawsko-pomorskie
Kontaktowanie:

Postautor: atmel_fan » 12 kwie 2004, o 22:03

dzieki za analize kodu, ale to nie wina softu, bo on dziala dobrze... sam go pisalem, a ten kod binarny co uploadudej do 80c31 to prosty program z zerowaniem ramu od 0-7f i zmiana cyklicznie portow p3 i p1 co pare sekund... aby sprawdzic czy chodzi procaek, veryfikacja jest ok, bo jak by cos bylo nie tak z ramem to by mi sygnalizowalo miganiem diody... to chyba ze program sie wgrywa od innego adresu nie od 0000, przeciez zapisuje pod 0000, wiec powinnien sie uruchomic tylko sa takie objawy jak w pierwszym liscie.... na pinach a12-a15 zmienia sie cyklicznie jakby krecil sie w kolko od adresu 0000-ffff i nie mogl odczytac danych tylko jakby laecial na samym NOP... moze jest blad w schemacie....

Awatar użytkownika
gawel
-
-
Posty:683
Rejestracja:24 lis 2003, o 11:19
Lokalizacja:Białystok

Postautor: gawel » 13 kwie 2004, o 08:06

Zrób takie badanie:
zamiast pamięci RAM zastosuj EPROM zaprogramowany tym co masz do zapisania w RAM i porównaj wyniki, to ci wyeliminuje ewentualne przesunięcia w pamięci.

atmel_fan
-
-
Posty:46
Rejestracja:30 mar 2003, o 13:39
Lokalizacja:kujawsko-pomorskie
Kontaktowanie:

Postautor: atmel_fan » 22 kwie 2004, o 17:42

no chyba bede tak musial zrobic...

Awatar użytkownika
gawel
-
-
Posty:683
Rejestracja:24 lis 2003, o 11:19
Lokalizacja:Białystok

Postautor: gawel » 23 kwie 2004, o 07:35

Wykonaj takie badanie:
zapętlij swój program do wpisywania wybranego bajtu do pamięci RAM (tak aby ciągle był zapisywany ten sam bajt w te same miejsce), obejrzyj na oscyloskopie przebiegi wszystkich sygnałów, może nasuną ci się wtedy jakieś sugestie.

atmel_fan
-
-
Posty:46
Rejestracja:30 mar 2003, o 13:39
Lokalizacja:kujawsko-pomorskie
Kontaktowanie:

Postautor: atmel_fan » 23 kwie 2004, o 18:34

no tak, ale ja nie mam oscyloskopu....

Awatar użytkownika
gawel
-
-
Posty:683
Rejestracja:24 lis 2003, o 11:19
Lokalizacja:Białystok

Postautor: gawel » 26 kwie 2004, o 08:21

Szkoda, bo oscyloskop jest bardzo przydatnym narzędziem dla programistów.

atmel_fan
-
-
Posty:46
Rejestracja:30 mar 2003, o 13:39
Lokalizacja:kujawsko-pomorskie
Kontaktowanie:

Postautor: atmel_fan » 30 cze 2004, o 21:45

Po wielkiej przerwie udalo mi sie uruchomic ten symulator AT2051 wg, mojej przerobki.... NO i DZIALA !!!!!!! HURAAAAAA.....
Chyba to byla moja wina bo caly uklad zrobilem narazie na plytce uniwersalnej i laczylem kabelkami i chyba zrobilem blad w polaczeniach i
widocznie program sie wgrywal pod inny adress i 80c31 nie mogl sie uruchomic... no i musialem tez dac HCT 373 bo na LS'ach nie chodzil bo za wolne.... teraz moge sobie emulowac nawet programy na 24MHz...
I napisalem sobie do tego program w delphi i downloaduje sobie hex'a do AT2051 i potem uruchamiam... ale jestem zadowolony...
Super..... pozdrawiam .... Nara...

Awatar użytkownika
gawel
-
-
Posty:683
Rejestracja:24 lis 2003, o 11:19
Lokalizacja:Białystok

Postautor: gawel » 30 cze 2004, o 22:41

No to tylko pogratulować.

atmel_fan
-
-
Posty:46
Rejestracja:30 mar 2003, o 13:39
Lokalizacja:kujawsko-pomorskie
Kontaktowanie:

Postautor: atmel_fan » 2 lis 2004, o 22:04

Witam, po przerwie,,,,
znow mam dylemat.... symulator dziala ok... ale jak daje wiekszy kwarc to nie uruchmia sie program ale wgrywa sie ok... jak ten sam program daje na np.12Mhz to chodzi dobrze ale przy 24Mhz juz nie... czy to wina procka czy pamieci SRAM... bo procek pisze ze moze pracowac do 40Mhz,,, 87c51 taki mam....

Awatar użytkownika
gawel
-
-
Posty:683
Rejestracja:24 lis 2003, o 11:19
Lokalizacja:Białystok

Postautor: gawel » 5 lis 2004, o 13:34

Nie sądzę, aby przyczyną była pamięć SRAM. 24 MHz dla typowego mikrokontrolera, gdzie częstotliwość zegara systemowego jest dzielona przez 12, raczej oznacza, że pamięć więcej leniuchuje niż pracuje. Typowo w procesorach z rodziny C51 max częstotlowość pracy zegara wynosi 12 MHz. Niektóre modele (jak przykładowo ATMEL czy DALLAS) mają możliwość pracy z zegarem o większej częstltliwości. Podany symbol mikrokontrolera raczej informuje, że jest to mikrokontroler z pamięcią EPROM na program i nic więcej. Należy sięgnąć do oryginalnej dokumentacji tego procesora (model procesora + producent tego procesora) i sprawdzić, czy dopuszczalna jest dla niego praca z takim zegarem.

atmel_fan
-
-
Posty:46
Rejestracja:30 mar 2003, o 13:39
Lokalizacja:kujawsko-pomorskie
Kontaktowanie:

Postautor: atmel_fan » 5 lis 2004, o 16:09

Bo pamiec ktora dalem jest 8k z ActionReplay z demontazu... od c64.... sprobuje dac inna 32k... 65256... moze ta bedzie odpowiednia....

Awatar użytkownika
gawel
-
-
Posty:683
Rejestracja:24 lis 2003, o 11:19
Lokalizacja:Białystok

Postautor: gawel » 5 lis 2004, o 18:28

Nie jestem przekonany, by coś to zmieniło, ale ze sprawdzenia pozostaje wiedza.
Dobrze by było, gdybyś podał częstotliwość zegara i dokładny sybmol procesora (łącznie z producentem).

atmel_fan
-
-
Posty:46
Rejestracja:30 mar 2003, o 13:39
Lokalizacja:kujawsko-pomorskie
Kontaktowanie:

Postautor: atmel_fan » 6 lis 2004, o 13:32

przy kwarcu 12Mhz chodzi OK, ale przy 24Mhz juz nie moge uruchomic programu... ale raz mi sie udalo moze to winna kondensatorow... bo na kilku ukladach ma 33p, 30p moze to tez ma jakis zwiazek... a procesorek to wkladalem rozne 80c31x2 ale ten cos spalilem go bo dalem za duze napiecie i stabilizator siadl hehe... pozniej dalem 87c51winbound czy jakos ta firma sie nazywa.... no i dalem tez 80c51....

Wróć do „Elektronika - tematy dowolne”

Kto jest online

Użytkownicy przeglądający to forum: Google [Bot] i 23 gości