Re: Generator czterech impulsów?



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "Juliusz" <jul_at_nospam_fom.pl>
Subject: Re: Generator czterech impulsów?
Date: Fri, 1 Dec 2000 01:15:47 +0100


Raczej bym stawial na poszukanie rejestrow
odpowiedzialnych za to zlacze

???

Kazdy madry procesor ma mozliwosc ustawiania timingow dla roznych obszarow
pamieci czy wejscia wyjscia. Jest do tego rejestr w procesorze, do ktorego
musisz sie dobrac i poprzelaczac bity. Poprzelaczac musisz zeby przyspieszyc
sam zapis do twojego interfejsu, zeby procesorowi zabieralo to mniej czasu.
Przy 320k/s to jest powazna sprawa.

Wracajac do sprawy 4 impulsow. Jezeli chcesz je wygenerowac to musisz byc
pewien, ze opadajace zbocze strobu zapisujacego niesie za soba juz
ustabilizowane dane. Nie zawsze tak jest i czasem dane pojawiaja sie
kilkanascie ns pozniej niz falling edge strobu.

Wiec jak jest ?

Adres zapewne jest wystawiony wczesniej.

Kiedy wystawiony zostaje adres i skad wiesz, ze adres jest juz stabilny ?
Jaki sygnal ci o tym mowi ?

===

Jesli masz tak, ze dane juz sa stabilne gdy wyskakuje zbocze /IOWR to jest
to bardzo proste, jesli nie to sie sprawa bardzo komplikuje.

musisz po pierwsze miec reset do ukladu zeby sie dopasowac do pierwszego
bajtu w paczce.

Robisz maszyne stanow reagujaca na opadajace zbocze strobu.

------| __|----| __|----| __|----| __|----

1 2 3 4 5

Na opadajacych zboczach 1-4 przepisujesz zawartosc 8 bitowego portu do 32
bitowego rejestru przechowujacego. Robisz to kolejno

holding_register(7 downto 0) <= data_in;
holding_register(15 downto 8) <= data_in;
holding_register(23 downto 16) <= data_in;
holding_register(31 downto 24) <= data_in;

twoj holding_register(31 downto 0) przechowuje dane w czasie zbierania ich.

Jak masz je juz tam to czekasz na narastajace zbocze kazdego czwartego /IORW
i tym zboczem przepisujesz dane do rejestru wyjsciowego jednym strzalem. Cos
takiego

if iowr'event and iowr='1' then
if state=BIT4 then
output_reg <= holding_register;
end if;
end if;

To jest najprosciej bez fifo zupelnie

Teraz pytanie czy chcesz FIFO prawdziwe czy zrobione z RAMU ? czy dane maja
sie najpierw wpisac do tego bufora czy chcesz miec do nich dostep zaraz po
pierwszych 4 bajtach, ktore sie tam znajda? A moze damy FIFO 32 bitowe i
problem sam sie rozwiaze co ? Za tym co powyzej wstawisz szerokie FIFO,
wygenerujesz sobie zapis do niego a wyjmiesz z niego juz prockiem.

jakos tak

BUS==Konwerter 8=>32 bit = rejestr chwilowy== piny wyjsciowe==logika
sterujaca FIFO===FIFO 32Bit==twoj uklad.


J.




Poprzedni Następny
Wiadomość
Spis treści
From: misterq_at_nospam_canpol.pl (Marcin =?iso-8859-2?Q?Kielesi=F1ski?=)
Subject: Re: Generator czterech =?iso-8859-2?Q?impuls=F3w??=
Date: 1 Dec 2000 02:00:14 +0100


Witam serdecznie Juliusz ! :)

W dniu 01-Gru-2000, napisałeś(aś):

Kazdy madry procesor ma mozliwosc ustawiania timingow dla roznych
obszarow pamieci czy wejscia wyjscia.

??
Nic takiego nie ma w 68040/60 ani w PPC 603, bądź programista nie ma
do tego dostępu.

Wracajac do sprawy 4 impulsow. Jezeli chcesz je wygenerowac to
musisz byc pewien, ze opadajace zbocze strobu zapisujacego niesie za
soba juz ustabilizowane dane. Nie zawsze tak jest i czasem dane
pojawiaja sie kilkanascie ns pozniej niz falling edge strobu.

Wiec jak jest ?

Z listy dotyczącej hardware Amigi wiem, że logika płyty głównej
ustawia IORD bądź IOWR dopiero wtedy, gdy adres i dane są już
ustabilizowane.

Adres zapewne jest wystawiony wczesniej.

Kiedy wystawiony zostaje adres i skad wiesz, ze adres jest juz
stabilny ? Jaki sygnal ci o tym mowi ?

IOWR bądź IORD.....

musisz po pierwsze miec reset do ukladu zeby sie dopasowac do
pierwszego bajtu w paczce.

A gdy go nie ma? ;)

Robisz maszyne stanow reagujaca na opadajace zbocze strobu.

------| __|----| __|----| __|----| __|----

1 2 3 4 5

Na opadajacych zboczach 1-4 przepisujesz zawartosc 8 bitowego portu
do 32 bitowego rejestru przechowujacego. Robisz to kolejno

[...]

To wszystko jest bardzo ciekawe i wogóle, ale To nie jest to o co mi chodzi.....

Teraz pytanie czy chcesz FIFO prawdziwe czy zrobione z RAMU ?

Tańsze.
Jednak IDT 72220 jest "w sam raz" na moją sytuację.

czy
dane maja sie najpierw wpisac do tego bufora czy chcesz miec do nich
dostep zaraz po pierwszych 4 bajtach, ktore sie tam znajda?

Najpierw zapisać.

A moze
damy FIFO 32 bitowe i problem sam sie rozwiaze co ?

Propozycje konkretnych układów?

J.

Pozdrawiam,
--
Marcin Kielesiński
e-mail: misterq_at_nospam_canpol.pl, www: http://www.viper.pl/~reborn/
IRC: MisterQ ICQ:67690939 *martina-sfx_at_nospam_egroups.com* owner

--
Archiwum grupy dyskusyjnej pl.misc.elektronika
http://niusy.onet.pl/pl.misc.elektronika

Poprzedni Następny
Wiadomość
Spis treści
From: "Juliusz" <jul_at_nospam_fom.pl>
Subject: Re: Generator czterech impulsów?
Date: Fri, 1 Dec 2000 03:20:01 +0100



Marcin Kielesiński <misterq_at_nospam_canpol.pl> wrote in message
news:yam8370.856.1722226896_at_nospam_canpol.pl...
Witam serdecznie Juliusz ! :)

W dniu 01-Gru-2000, napisałeś(aś):

Kazdy madry procesor ma mozliwosc ustawiania timingow dla roznych
obszarow pamieci czy wejscia wyjscia.

??
Nic takiego nie ma w 68040/60 ani w PPC 603, bądź programista nie ma
do tego dostępu.

Wracajac do sprawy 4 impulsow. Jezeli chcesz je wygenerowac to
musisz byc pewien, ze opadajace zbocze strobu zapisujacego niesie za
soba juz ustabilizowane dane. Nie zawsze tak jest i czasem dane
pojawiaja sie kilkanascie ns pozniej niz falling edge strobu.

Wiec jak jest ?

Z listy dotyczącej hardware Amigi wiem, że logika płyty głównej
ustawia IORD bądź IOWR dopiero wtedy, gdy adres i dane są już
ustabilizowane.

O ile mi wiadomo to w przypadku /IORD ty podajesz dane i obawiam sie jednak,
ze na opadajacym zboczu danych byc nie musi. Jest parametr zwykle "data
setup to /RD rising" i "data hold time after /RD rising", ten drugi zwykle
jest zerem, a pierwszy kilkanascie ns. Wiec jak masz stroba 100ns to
wystarczy, ze dane podasz powiedzmy 15ns wczesniej niz koniec impulsu /RD
przed jego zboczem narastajacym.

Zacytuje ci cos:

"Historically, the NMOS/CMOS version latched the data
bus on the falling edge of /WR. However, many CPUs do
not guarantee that the data bus is valid at the time when
the /WR pin goes low, so the data bus timing have to be modified
to allow a maximum delay from the falling edge of /WR to
the latching of the data bus. AC Timing parameter, Write Data to /WR falling
min-
imum, has been changed to: /WR falling to Write Data Val-
id maximum. Refer to the AC Timing Characteristic section..."

To jak w koncu jest na tej twojej magistrali ?

Adres zapewne jest wystawiony wczesniej.

Kiedy wystawiony zostaje adres i skad wiesz, ze adres jest juz
stabilny ? Jaki sygnal ci o tym mowi ?

IOWR bądź IORD.....

Ty nie sciemniaj, to jesli iord, iowr ci o tym mowi to kiedy jest czas na
zdekodowanie adresu ? jesli wszystko juz jest wg. ciebie ustawione na
opadajacym ? Przeciez najpierw dekodujesz adres, a pozniej zabierasz sie za
zapis czy odczyt.
To jak jest z tym timingiem w koncu ?
To co robi ten /CS u ciebie ? Dali go bez powodu czy do czego ?


musisz po pierwsze miec reset do ukladu zeby sie dopasowac do
pierwszego bajtu w paczce.

A gdy go nie ma? ;)


To sobie go zrob. jeden z 16 adresow poswiecisz na to i zapisujac pod ten
adres twoja elektronika zrozumie to jako reset. Nie bedziesz analizowal
danych, zrobisz prosty zapis dowolna wartoscia, tyle ze pod wlasciwy adres.

Robisz maszyne stanow reagujaca na opadajace zbocze strobu.

------| __|----| __|----| __|----| __|----

1 2 3 4 5

Na opadajacych zboczach 1-4 przepisujesz zawartosc 8 bitowego portu
do 32 bitowego rejestru przechowujacego. Robisz to kolejno

[...]

To wszystko jest bardzo ciekawe i wogóle, ale To nie jest to o co mi
chodzi.....


To o co ?
Staram ci sie wyjasnic, ze interfejsy do magistral to cos innego niz 2
bramki nand. Twoje FIFO musi byc polaczone do kupy z magistrala i wyjsciem w
odpowiedni sposob.

Teraz pytanie czy chcesz FIFO prawdziwe czy zrobione z RAMU ?

Tańsze.
Jednak IDT 72220 jest "w sam raz" na moją sytuację.

Jak tansze to zrobic to ze static RAMu i PLD i wyjdzie taniej niz samo FIFO,
zaoszedzisz na plytce i na ilosci scalakow noo i na robocie..

Jak napisalem 2 kosci i kilka kondonkow 100n plus jakis generatorek
ewentualnie chyba, ze masz gdzies w ukladzie zegar, ktorym mozesz sie
podzielic.

czy
dane maja sie najpierw wpisac do tego bufora czy chcesz miec do nich
dostep zaraz po pierwszych 4 bajtach, ktore sie tam znajda?

Najpierw zapisać.

Tym bardziej przemawia to za SRAMem.

A moze
damy FIFO 32 bitowe i problem sam sie rozwiaze co ?

Propozycje konkretnych układów?

Tu nie tyle o konkretne scalaki chodzi co o koncepcje.

=====
To teraz pomijajac kwestie jak to zrobic zeby 4 bajty ustawic w jednego
dword'a...

masz juz dane w tym buforku, nazwijmy go 32bitowym, bo z punktu widzenia
dalszego ukladu bedzie to widziane jako 32 bity.

Jak chcesz wybierac kolejne dwordy z tego ?

1. Chcesz to robic strobem cos jak /IORD ?
np:
wystawiasz niski stan, pojawia ci sie pierwszy dword
dalej zwalniasz stan niski i te 32 druty ida w stan wysokiej impedancji
walisz nastepny stan i masz kolejnego dworda
?

2. Chcesz zeby same sie pokazywaly jakos z jakas czestotliwoscia zalezna od
zegara ?

I teraz jak wyciagniesz ostatniego to co robimy dalej ? czy ta maszynka ma
od razu wygenerowac przerwanie sama ? Moze to bylby niezly pomysl ?

I na koniec.. Jak maksymalnie szybko bedziesz zapisywal dane przez ta
magistrale ? Ile trwa /IOWR w stanie niskim ? Oraz co ile bedziesz takiego
/IOWR'a generowal przez Amige dla jednego bursta ?


Juliusz




Poprzedni Następny
Wiadomość
Spis treści
From: jfox_at_nospam_friko6.onet.pl (J.F.)
Subject: Re: Generator czterech =?iso-8859-1?Q?impuls=F3w=3F?=
Date: 1 Dec 2000 12:06:35 GMT


On 1 Dec 2000 02:00:14 +0100, Marcin Kielesiński <misterq_at_nospam_canpol.pl> wrote:
Wracajac do sprawy 4 impulsow. Jezeli chcesz je wygenerowac to
musisz byc pewien, ze opadajace zbocze strobu zapisujacego niesie za
soba juz ustabilizowane dane. Nie zawsze tak jest i czasem dane
pojawiaja sie kilkanascie ns pozniej niz falling edge strobu.

Wiec jak jest ?

Z listy dotyczącej hardware Amigi wiem, że logika płyty głównej
ustawia IORD bądź IOWR dopiero wtedy, gdy adres i dane są już
ustabilizowane.

Ale tam nie masz IORD ani IOWR. Jak znam Motorole -
dane, adresy i R/!W sa ustabilizowane kiedy pojawia sie ten CS

musisz po pierwsze miec reset do ukladu zeby sie dopasowac do
pierwszego bajtu w paczce.

A gdy go nie ma? ;)

To masz klopot :-)
Z FIFO nie byloby problemow - impulsy wejsciowe wyczyscilyby FIFO
do zera, potem zapisujesz juz paczkami po n*4 ..

Swoja droga - co sie dzieje jak zapiszesz slowo 32bit pod ten
adres ? Komputer przypadkiem nie zamieni tego na 4 zapisy
pod kolejne adresy ?

Teraz pytanie czy chcesz FIFO prawdziwe czy zrobione z RAMU ?

Tańsze.
Jednak IDT 72220 jest "w sam raz" na moją sytuację.

Zastanow sie. Inne wcale nie beda tansze w praktyce :-)

A moze damy FIFO 32 bitowe i problem sam sie rozwiaze co ?

Propozycje konkretnych układów?

A jak bedziesz zapisywal ? Jesli juz to 4 male FIFO po 8 bit -
moze nawet tansze beda ... co prawda teraz chyba nikt tego nie robi ..


J.


Poprzedni Następny
Wiadomość
Spis treści
From: "Juliusz" <jul_at_nospam_fom.pl>
Subject: Re: Generator czterech impulsów?
Date: Fri, 1 Dec 2000 17:50:25 +0100



J.F. <jfox_at_nospam_friko6.onet.pl> wrote in message
news:slrn92f52c.3b3.jfox_at_nospam_mars.planconsult.com.pl...
On 1 Dec 2000 02:00:14 +0100, Marcin Kielesiński <misterq_at_nospam_canpol.pl>
wrote:
Wracajac do sprawy 4 impulsow. Jezeli chcesz je wygenerowac to
musisz byc pewien, ze opadajace zbocze strobu zapisujacego niesie za
soba juz ustabilizowane dane. Nie zawsze tak jest i czasem dane
pojawiaja sie kilkanascie ns pozniej niz falling edge strobu.

Wiec jak jest ?

Z listy dotyczącej hardware Amigi wiem, że logika płyty głównej
ustawia IORD bądź IOWR dopiero wtedy, gdy adres i dane są już
ustabilizowane.

Ale tam nie masz IORD ani IOWR. Jak znam Motorole -
dane, adresy i R/!W sa ustabilizowane kiedy pojawia sie ten CS

Ja tez w to powatpiewam ale moze sie poprawili w nowych kompach z PPC.

Juliusz




Poprzedni Następny
Wiadomość
Spis treści
From: jfox_at_nospam_friko6.onet.pl (J.F.)
Subject: Re: Generator czterech =?iso-8859-1?Q?impuls=F3w=3F?=
Date: 1 Dec 2000 12:12:51 GMT


On Fri, 1 Dec 2000 01:15:47 +0100, Juliusz <jul_at_nospam_fom.pl> wrote:
Kazdy madry procesor ma mozliwosc ustawiania timingow dla roznych obszarow
pamieci czy wejscia wyjscia.


Duzo znasz tych "madrych" ? :-)

J.