=?utf-8?Q?CY7C68013_--_szczeg=C3=B3=C5=82y?=
Masz problem? Zapytaj na forum elektroda.pl
From: "Piotr Wyderski" <wyderskiREMOVE_at_nospam_ii.uni.wroc.pl>
Subject: =?utf-8?Q?CY7C68013_--_szczeg=C3=B3=C5=82y?=
Date: Fri, 27 May 2005 20:55:25 +0200
Witam,
chciałbym uzyskać odpowiedzi na kilka dość nietypowych
pytań na temat tytułowego chipu. Niestety w datasheecie
niewiele znalazłem, więc liczę na pomoc osób używających
tej kostki. Oto one:
1. Przeznaczenie linii CTL3--5 podczas wewnętrznego
masteringu jest dobrze określone. A co się z nimi dzieje,
gdy FIFO pracuje w trybie slave? Manual mówi, że:
"The state of the GPIF signals during the Idle State is
determined by the contents of the GPIFIDLECS and
GPIFIDLECTL registers."
ale to dotyczy trybu master. Czy jeśli używam trybu slave,
to GPIF znajduje siÄ™ stale w trybie idle i czy w takim razie
mogę używać linii CTL jako dodatkowych pinów wyjściowych
przez zapisywanie rejestru GPIFIDLECTL?
2. Co siÄ™ stanie, gdy pin #WAKEUP zostanie aktywowany podczas
pracy chipu? Zostanie to zignorowane, czy mogę liczyć na zgłoszenie
zwiÄ…zanego z tym przerwania?
3. W którym momencie zostaje wystawiony bit danych na linii
RXDnOUT względem zegara na linii TXD, jeśli UART pracuje w
trybie synchronicznym (tj. nr 0) z szybkim taktowaniem (CLK/4
zamiast CLK/12)? Niestety rysunek w PDF jest bardzo
nieczytelny. Czy mogę zatrzaskiwać w zewnętrznym rejestrze
stan RXDOUT podczas _opadajÄ…cego_ zbocza na linii TXD?
4. Czy przy wewnętrznym masteringu istnieje możliwość
automatycznego wyzwalania transmisji na podstawie zajścia
określonego stanu na liniach RDY? Chodzi mi o zasymulowanie
trybu "pseudo-slave", tj. mastering jest wewnętrzny, ale z
widziany z zewnątrz przypomina slave: układ czeka na przejście
co najmniej jednej z dwóch linii RDY, powiedzmy nr 1 i 2, w stan
aktywny. Jeśli na RDY1 pojawia się stan niski, to Cypress pobiera
z zewnętrznego FIFO blok danych i wysyła go przez USB i wraca
do oczekiwania na ponowną aktywację. Jeśli stan niski pojawia
się na RDY2, to Cypress wysyła ze swojego FIFO dane do
FIFO zewnętrznego i przechodzi do trybu oczekowania. Jeśli
obie linie są aktywne, to układ wykonuje powyższe czynności
w dowolnej kolejności. Oczywiście całość powinna się odbywać
bez ingerencji CPU, np. być zaszyta w programie GPIF, który
nigdy się nie konczy. Czy to jest w ogóle do zrobienia?
Pozdrawiam
Piotr Wyderski
From: "Greg" <xgrzes_at_nospam_poczta.onet.pl>
Subject: Re: CY7C68013 -- szczegó³y
Date: Sat, 28 May 2005 23:31:10 +0200
ze tak sie zapytam..doktorat piszesz z tej kostki?:)
uzywalem i uzywam ja do kilku zastosowan..i jesli bardzo chcesz, to moge
niektore rzeczy sprawdzic..ale pytanie - po co ci to wszystko wiedziec??
BTW,ostatnio pojawila sie texasowa wersja tego scalaczka, filozofia
dokladnei ta sama..rozni sie szczegilami,
dostalem juz probki..
From: "Piotr Wyderski" <wyderskiREMOVE_at_nospam_ii.uni.wroc.pl>
Subject: Re: CY7C68013 -- szczegó³y
Date: Sun, 29 May 2005 00:53:59 +0200
Greg wrote:
ze tak sie zapytam..doktorat piszesz z tej kostki?:)
uzywalem i uzywam ja do kilku zastosowan..i jesli bardzo chcesz, to moge
niektore rzeczy sprawdzic..ale pytanie - po co ci to wszystko wiedziec??
Bo uczyni³em go odpowedzialnym za obs³ugê sporej liczby peryferiów
i chcê wiedzieæ, czy on da radê. A poniewa¿ planujê u¿ywaæ czê¶æ
z nich w sposób, który raczej nie przyszed³ do g³owy projektantom
tej kostki, to i pytania wykraczaj± nieco poza to, co mo¿na wyczytaæ
w manualu. :-)
Je¶li ¿yczysz sobie bardziej szczegó³owych wyja¶nieñ -- oto one:
1. Przeznaczenie linii CTL3--5 podczas wewnêtrznego
masteringu jest dobrze okre¶lone. A co siê z nimi dzieje,
gdy FIFO pracuje w trybie slave?
Potrzebujê kilku linii wyj¶ciowych do realizowania prostych funkcji:
a) sterowanie przeka¼nikiem dostarczaj±cym zasilanie do
przetwornic zasilaj±cych g³ówny uk³ad; Cypress ma pomocnicze
zasilanie do trybu standby.
b) informowanie o przyczynach b³êdów wykrytych podczas
procesu autodiagnostyki urz±dzenia. Informacja bêdzie przekazywana
poprzez miganie diod± LED wed³ug odpowiedniego dla b³êdu kodu.
Nie chcê marnowaæ GPIO do tak prostych funkcji, wiêc
niepotrzebne mi linie CTL idealnie by siê do tego nadawa³y.
2. Co siê stanie, gdy pin #WAKEUP zostanie aktywowany podczas
pracy chipu?
Do pinu #WAKEUP bêd± podpiête linie IRQ z panelu dotykowego
oraz RTC -- urz±dzenie powinno siê samo w³±czyæ po dotkniêciu
ekranu albo o okre¶lonej porze.
3. W którym momencie zostaje wystawiony bit danych na linii
RXDnOUT wzglêdem zegara na linii TXD, je¶li UART pracuje w
trybie synchronicznym (tj. nr 0) z szybkim taktowaniem (CLK/4
zamiast CLK/12)?
To jest barzdo wa¿ne: Cypress bêdzie odpowiada³ m.in. za
wczytanie z pe³ni±cej rolê wewnêtrznego dysku twardego
karty CompactFlash odpowiedniego w danej sytuacji pliku
konfiguracyjnego FPGA i przes³anie go do Cyclone'a w trybie
Passive Serial. Poniewa¿ CPU to klon mojego "ulubionego" 8051,
to mimo taktowania go zegarem 48MHz i skrócenia cyklu
rozkazowego do 4 taktów zegara, programowe konfigurowanie
FPGA potrwa³oby oko³o sekundy, czyli niezno¶nie d³ugo.
Dlatego wymy¶li³em sposób sprzêtowy, polegaj±cy na pod³±czeniu
linii RXDOUT CPU do linii DATA0 w FPGA i taktowanie zanegowanym
sygna³em z linii TXD portu szeregowego pracuj±cego w trybie
synchronicznym. Przyspieszy to ³adowanie konfiguracji FPGA oko³o
10-krotnie, tylko problem polega na tym, ¿e FPGA zatrzaskuje dane
na zboczu narastaj±cym zegara DCLK, a wiêc opadaj±cym zanegowanego
zegara z linii TXD. No i teraz nie mam stuprocentowej pewno¶ci, czy
dane na RXDOUT bêd± poprawne podczas zbocza opadaj±cego na
TXD -- z rysunku nic sensownego nie umiem odczytaæ, zw³aszcza
na temat pierwszego bitu.
BTW, po skonfigurowaniu FPGA UART zostanie "odzyskany" do
normalnego u¿ycia, bo linia TXD jest te¿ po³±czona z MAX3232
przez MOSFET, którego bramka jest z kolei pod³±czona do linii
CONFIG_DONE, która po zakoñczeniu konfiguracji FPGA automatycznie
przejdzie ze stanu 0 do 1, co pod³±czy TXD do MAXa. :-)
BTW,ostatnio pojawila sie texasowa wersja tego scalaczka, filozofia
dokladnei ta sama..rozni sie szczegilami,
dostalem juz probki..
Je¶li mamy na my¶li ten sam chip, to wersja z TI jest znacznie
ubo¿sza, m.in. nie ma trybu slave.
Pozdrawiam
Piotr Wyderski