PYTANIE O BUFOR
Masz problem? Zapytaj na forum elektroda.pl z bramk± pl.misc.elektronika!
From: "Juliusz" <juliusz_at_nospam_wyscigi.multi-ip.com.pl>
Subject: PYTANIE O BUFOR
Date: Fri, 31 Jul 1998 15:45:56 GMT
Czy ma ktos koncepcje jak zrobic bufor z wejsciem szeregowym asynchronicznym
i wyjsciem synchronicznym szeregowym ? Taki specyficzny shift register ?
Przyklad:
1. Mam strumien danych wchodzacych (bez znaczenia jakich) np. lecacych z
predkoscia 200bps
2. Mam uklad, ktory wymaga aby zbocza narastajace tego strumienia byly
synchronizowane w fazie z generatorem odniesienia tego ukladu - powiedzmy
jest to fala prostokatna tak samo 200bps
3. Nie ma mozliwosci wplywania na faze strumienia wchodzacego.
Wszystko chodzi o to, ze znane sa czestotliwosci, a nie zgadza sie faza,
ktora jest wymagana przez odbierajacego.
Poniewaz strumien wchodzacy jest asynchroniczny wiec musze na chwile
zatrzymac w buforze dane wchodzace i czekac na zbocze odniesienia z ukladu
dalej. Ale trzeba to tak zrobic zeby nie tracic jednego bitu danych.
Ma ktos koncepcje ?
Juliusz
From: Stanislaw Sidor <sts_at_nospam_qq.elcompzu.com.pl>
Subject: Re: PYTANIE O BUFOR
Date: Fri, 31 Jul 1998 17:58:56 +0200
Juliusz wrote:
Czy ma ktos koncepcje jak zrobic bufor z wejsciem szeregowym asynchronicznym
i wyjsciem synchronicznym szeregowym ? Taki specyficzny shift register ? [...]
Poniewaz strumien wchodzacy jest asynchroniczny wiec musze na chwile
zatrzymac w buforze dane wchodzace i czekac na zbocze odniesienia z ukladu
dalej. Ale trzeba to tak zrobic zeby nie tracic jednego bitu danych.
Ma ktos koncepcje ?
1. Skoro dane wejsciowe sa asynchroniczne (a moze jeszcze standardowa transmisja
START/DANE/PARZYSTOSC/STOP) to zastosuj UART z FIFO np. MAX3100 (z wyjsciem
szeregowym!!!).
Potem odczytuj synchronicznie do danej czestotliwosci UART i wszystko, no moze
wszystko
przydalby sie jeszcze mP do obslugi tego.
2. Moze przebieg synchronizujacy mozna przestrajac to moze PLL pomoze ?
Domyslam sie jednak, ze problem jest bardziej skomplikowany :-( a nie
powiedziales wszystkiego
(STS)
From: "Juliusz" <juliusz_at_nospam_wyscigi.multi-ip.com.pl>
Subject: Re: PYTANIE O BUFOR
Date: Fri, 31 Jul 1998 16:22:06 GMT
Stanislaw Sidor wrote in message <35C1E9C0.67A9B0ED_at_nospam_qq.elcompzu.com.pl>...
1. Skoro dane wejsciowe sa asynchroniczne (a moze jeszcze standardowa
transmisja
START/DANE/PARZYSTOSC/STOP) to zastosuj UART z FIFO np. MAX3100 (z wyjsciem
szeregowym!!!).
Potem odczytuj synchronicznie do danej czestotliwosci UART i wszystko, no
moze
wszystko
przydalby sie jeszcze mP do obslugi tego.
No wlasnie to wszystko o to chodzi dokladnie, ale format danych nie jest
typu 8N1 czy podobny do UARTu PC.
Jest to przebieg niestandardowy calkowicie ale znana jest jego predkosc i ma
bit startu, ale bez bitu stopu ani parity.
2. Moze przebieg synchronizujacy mozna przestrajac to moze PLL pomoze ?
No WAY to do it !!!! Ten przebieg nie moze byc zmieniany bo jest potrzebny
do innych celow. Zapomnijmy o tym
Domyslam sie jednak, ze problem jest bardziej skomplikowany :-( a nie
powiedziales wszystkiego
Nie tak bardzo jak sie wydaje :)
Juliusz
From: Stanislaw Sidor <sts_at_nospam_qq.elcompzu.com.pl>
Subject: Re: PYTANIE O BUFOR
Date: Fri, 31 Jul 1998 18:40:31 +0200
Juliusz wrote:
No wlasnie to wszystko o to chodzi dokladnie, ale format danych nie jest
typu 8N1 czy podobny do UARTu PC.
Jest to przebieg niestandardowy calkowicie ale znana jest jego predkosc i ma
bit startu, ale bez bitu stopu ani parity.
Cos mi sie tu nie zgadza. Jesli nie ma stopu a ma start to jest to przebieg
synchroniczny
tylko rozfazowany, czyz nie ?
Sprobuj moze sprobkowac przebieg wejsciowy 4-8 razy wieksza czestotliwoscia od
jego
maksymalnej do rejestru przesuwnego.
Z rejestru na sygnal zbocza z gen. odniesienia wybieraj dane do napotkania
przejscia 0->1
i tak do kolejnego zbocza.
(STS)
From: "Juliusz" <juliusz_at_nospam_wyscigi.multi-ip.com.pl>
Subject: Re: PYTANIE O BUFOR
Date: Fri, 31 Jul 1998 17:11:41 GMT
Stanislaw Sidor wrote in message <35C1F37F.2E16C29C_at_nospam_qq.elcompzu.com.pl>...
Juliusz wrote:
No wlasnie to wszystko o to chodzi dokladnie, ale format danych nie jest
typu 8N1 czy podobny do UARTu PC.
Jest to przebieg niestandardowy calkowicie ale znana jest jego predkosc i
ma
bit startu, ale bez bitu stopu ani parity.
Cos mi sie tu nie zgadza. Jesli nie ma stopu a ma start to jest to przebieg
synchroniczny
tylko rozfazowany, czyz nie ?
To nie zawsze jest tak ale mniejsza o to. Potrzeba poprawic w fazie
wchodzace dane do generatora odniesienia. taki jest problem.
A czy majac ten przebieg w formacie 8N1 da sie to zrobic bez
specjalizowanych kosci - na "TTL-ach" z rodziny HC czy HCT.
Sprobuj moze sprobkowac przebieg wejsciowy 4-8 razy wieksza czestotliwoscia
od
jego
maksymalnej do rejestru przesuwnego.
Z rejestru na sygnal zbocza z gen. odniesienia wybieraj dane do napotkania
przejscia 0->1
i tak do kolejnego zbocza.
O samplowaniu myslalem, ale to wymaga procesorka kolejnego i chce tego
uniknac
Juliusz
From: "Juliusz" <juliusz_at_nospam_wyscigi.multi-ip.com.pl>
Subject: Re: PYTANIE O BUFOR
Date: Fri, 31 Jul 1998 17:12:17 GMT
Aha, ile moze kosztowac ten MAX3100 ?? I kto to ma od reki ?
Juliusz
From: Stanislaw Sidor <sts_at_nospam_qq.elcompzu.com.pl>
Subject: Re: PYTANIE O BUFOR
Date: Fri, 31 Jul 1998 19:15:10 +0200
Juliusz wrote:
Aha, ile moze kosztowac ten MAX3100 ?? I kto to ma od reki ?
Juliusz
Ma go np. SE Uniprod w Gliwicach uniprod_at_nospam_zeus.polsl.gliwice.pl
Ceny podane w DM+VAT
1-25 25-100 100+
. MAX 3100 CPD 9.67 9.01 7.84
MAX 3100 CEE 9.67 9.01 7.84
Osoba kontaktowa: Jerzy Weglorz
(STS)
From: "Paweł R" <pawelr_at_nospam_elsat.com.pl>
Subject: Re: PYTANIE O BUFOR
Date: Fri, 31 Jul 1998 19:59:26 +0200
Cze¶ć !
Może rozwi±zaniem będzie zastosowanie pamięci FIFO z rozdzielonymi zegarami
odczytu i zapisu.
Paweł
From: "Juliusz" <juliusz_at_nospam_wyscigi.multi-ip.com.pl>
Subject: Re: PYTANIE O BUFOR
Date: Fri, 31 Jul 1998 18:24:40 GMT
Paweł R wrote in message <6pt0l8$3vj$1_at_nospam_sunsite.icm.edu.pl>...
Cze¶ć !
Może rozwi±zaniem będzie zastosowanie pamięci FIFO z rozdzielonymi zegarami
odczytu i zapisu.
Paweł
Zegar odczytu to nie problem bo ten sygnal, do ktorego chce sie
synchronizowac zawsze jest.
Ale co zrobic z zegarem wejscia? Wpadaja ci bity o znanej ci predkosci
transmisji, ale nie wiesz kiedy one sie pojawia czyli nie znasz fazy tych
impulsow. Na dodatek nie ma zegara dostepnego razem z danymi wejsciowymi
wiec trzeba samplowac jak w UARCI. Zreszta pogubilem sie, bo mam 10
koncepcji na minute.
Juliusz
From: lis_at_nospam_papuga.ict.pwr.wroc.pl (Jaroslaw Lis)
Subject: Re: PYTANIE O BUFOR
Date: Fri, 31 Jul 1998 22:08:33 GMT
On Fri, 31 Jul 1998 18:24:40 GMT, Juliusz wrote:
Ale co zrobic z zegarem wejscia? Wpadaja ci bity o znanej ci predkosci
transmisji, ale nie wiesz kiedy one sie pojawia czyli nie znasz fazy tych
impulsow. Na dodatek nie ma zegara dostepnego razem z danymi wejsciowymi
wiec trzeba samplowac jak w UARCI. Zreszta pogubilem sie, bo mam 10
koncepcji na minute.
Odzyskanie zegara danych to osobne zadanie.
Jest pare metod - PLL, zerowany licznik, dosynchronizowywany licznik -
oczywiscie synchronizujesz do kazdego zbocza miedzy dwoma bitami o
roznej wartosci.
J.
From: lis_at_nospam_papuga.ict.pwr.wroc.pl (Jaroslaw Lis)
Subject: Re: PYTANIE O BUFOR
Date: Fri, 31 Jul 1998 20:07:52 GMT
On Fri, 31 Jul 1998 15:45:56 GMT, Juliusz wrote:
Czy ma ktos koncepcje jak zrobic bufor z wejsciem szeregowym asynchronicznym
i wyjsciem synchronicznym szeregowym ? Taki specyficzny shift register ?
1. Mam strumien danych wchodzacych (bez znaczenia jakich) np. lecacych z
predkoscia 200bps
2. Mam uklad, ktory wymaga aby zbocza narastajace tego strumienia byly
synchronizowane w fazie z generatorem odniesienia tego ukladu - powiedzmy
jest to fala prostokatna tak samo 200bps
3. Nie ma mozliwosci wplywania na faze strumienia wchodzacego.
Wszystko chodzi o to, ze znane sa czestotliwosci, a nie zgadza sie faza,
ktora jest wymagana przez odbierajacego.
Jesli rozmawiamy o fazie - w zalozeniach niewielkie granice zmian - to
moze po prostu zwykly jednobitowy rejestr wystarczy ?
Jesli tam zachodzi potrzeba zapamietania wiecej bitow ... to chyba
lepiej mowic o chwilowejfluktuacji czestotliwosci.
Poniewaz strumien wchodzacy jest asynchroniczny wiec musze na chwile
zatrzymac w buforze dane wchodzace i czekac na zbocze odniesienia z ukladu
dalej. Ale trzeba to tak zrobic zeby nie tracic jednego bitu danych.
Uwazaj tez w druga strone - co bedzie jak uklad na wyjsciu zazyczy
sobie danych, a one jeszcze nie nadejda ?
Ja tu jeszcze czegos nie rozumiem - czy mozesz wplywac na ktorakolwiek
czestotliwosc? Wyglada mi ze nie.
To albo wystarczy Ci jeden bit - choc to wyjatkowo kiepskie,
albo masz gwarantowane ze dane nadejda szybciej ... albo - startujesz
odbiornik dopiero jak w buforze masz pare bitow.
Cos mi sie tu nie zgadza. Jesli nie ma stopu a ma start to jest to przebieg
synchroniczny tylko rozfazowany, czyz nie ?
Jesli on nie ma bitu stopu to uwazaj - co bedzie jak nadejdzie pare
bajtow samych zer czy jaki tam masz bit startu?
A w ogole sygnal ma organizacje bitowa, czy bajtowa ?
Ma ktos koncepcje ?
1) wstaw tam maly procesorek. Naprawde - Atmelka 2051 czy 1051,
PIC16C84 czy najmniejszych motorolek HC05 nic tu nie pobije.
Jesli tylko predkosci starczy, to inny chip bedzie drozszy,
a szukanie go zajmie wiecej czasu niz napisanie programu.
Zlutowanie sobie programatora chwile potrwa, ale i tak szybciej
niz dostawa nietypowego chipu.
2) Sa kosci FIFO - czyli "kolejka" rozmiary najrozniejsze, od 4x64
[do 64 slow 4 bit] do 9*4096 czy moze wieksze.
jesli masz sygnal bitowy, to wiekszosc bedzie sie marnowala, ale
za to masz dokladnie to o co chodzi - bufor, osobny zegar
wejsciowy, osobny wyjsciowy, sygnaly ze full, empty, half
stary katalog Farnela (www.farnel.co.uk) zawiera tego kilka
opcji, w cenie rzedu 5 funtow, AM7200, AM7201, DS2009, MK4501
firm jak widac AMD, Dallas, SGS-Thomson. jeszcze mozesz
sprawdzic TI.
3) takie FIFO to mozna zrobic samemu - mala pamiec, dwa liczniki, i
robisz bufor kolowy. Pamiec dwuportowa, albo po prostu zestaw
niezaleznych rejestrow. Dla wiekszej ilosci bitow, to teoretycznie
sa chyba pasujace pamieci w rodzinie TTL - tam jest taka jedna
"pamiec" (hihi) 64 bity (ha ha :-)
4) taki kilkubitowy bufor to powinien sie dac zmiescic w jedny palu..
J.