-
41. Data: 2011-04-13 08:12:52
Temat: Re: Troll na grupie - Michoo się zowie
Od: RoMan Mandziejewicz <r...@p...pl>
Hello Michoo,
Wednesday, April 13, 2011, 9:32:43 AM, you wrote:
>> Kto to napisał? I dlaczego nazwał rejestr UDR który jest tylko buforem
>> rejestrem FIFO?
> UDR to jest rejestr (bufor) z i/o równoległym - co tego się zgadzamy?
> UDR tworzy KOLEJKĘ FIFO o szerokości BAJTU - tu się zgadzamy?
> NIKT nie twierdzi, że UDR to FIFO BITOWE ~~ rejestr przesuwny z
> wejściem/wyjściem szeregowym. Tylko ty podkreślasz, że NIE JEST takie.
Daj spokój - on się tak zapętlił, że warunku końca znaleźć nie potrafi
;) Przecież on sam z sobą polemizował...
[...]
--
Best regards,
RoMan mailto:r...@p...pl
Nowa strona: http://www.elektronika.squadack.com (w budowie!)
-
42. Data: 2011-04-13 08:28:54
Temat: Re: Troll na grupie - Michoo się zowie
Od: "4CX250" <taunusmtv@poćta.łonet.pl>
Użytkownik "RoMan Mandziejewicz" <r...@p...pl> napisał w wiadomości
news:889101980.20110413101252@pik-net.pl...
> Hello Michoo,
>
> Wednesday, April 13, 2011, 9:32:43 AM, you wrote:
>
>>> Kto to napisał? I dlaczego nazwał rejestr UDR który jest tylko buforem
>>> rejestrem FIFO?
>> UDR to jest rejestr (bufor) z i/o równoległym - co tego się zgadzamy?
>> UDR tworzy KOLEJKĘ FIFO o szerokości BAJTU - tu się zgadzamy?
>> NIKT nie twierdzi, że UDR to FIFO BITOWE ~~ rejestr przesuwny z
>> wejściem/wyjściem szeregowym. Tylko ty podkreślasz, że NIE JEST takie.
>
> Daj spokój - on się tak zapętlił, że warunku końca znaleźć nie potrafi
> ;) Przecież on sam z sobą polemizował...
Temu panu już podziękujmy. Dostałem kilka maili osztrzegawczych że przenosi
z elektrody swoje zwyczaje opluwania każdego kto śmie podważyć jego raz
wypowiedziane słowa, mimo że sa mylne lub nei na temat.
Marek
-
43. Data: 2011-04-13 13:04:47
Temat: Re: Troll na grupie - Michoo się zowie
Od: Michoo <m...@v...pl>
W dniu 13.04.2011 10:12, 4CX250 pisze:
> Użytkownik "Michoo" <m...@v...pl> napisał w wiadomości
>> wejściem/wyjściem szeregowym. Tylko ty podkreślasz, że NIE JEST takie.
>
> Nie. Ja podkreślam że nie jest wogóle rejestrem przesuwnym a tym
STOP. Co do tego się WSZYSCY zgadzamy.
> bardziej FIFO z jednoczesnym wskazaniem na rejestr Transmit Shift
> register że to on jest FIFO z przesuwaniem bitowym.
>
> FIFO (8-bitowe w tym przypadku) musi w takt zegara wpierw wystawić całe
> słowo 8bitowe na wyjście i dopiero wtedy gotowe jest zatrzasnąć kolejne
> nowe słowo z wejścia. Inaczej nastapi utrata informacji.
FIFO nie ma _zegara_ (rozumianego jako _cykliczne_ wyzwalanie) a ma w
ogólności 2 sygnały wyzwalające:
- włóż dane na pierwsze wolne pole
- wyjmij dane z pierwszego pola i przesuń wszystkie o jedno pole
oczywiście te sygnały mogą być ze sobą spięte.
Zastosowanie typowego sygnału zegarowego nie kluczowanego niczym jest
conajmniej dziwne, bo przy braku danych będziemy pakować do FIFO śmieci.
> Jeżeli nie ma sygnału zegarowego to znaczy że tego mechanizmu tam nie
> ma.
Jeżeli już włazimy w implementację samego procesora (a przynajmniej jak
się to zazwyczaj realizuje) to tam za dwa wspomniane wcześniej sygnały
sterujące FIFO robią odpowiednio:
- synchronizujący wewnętrzną pracę całego procesora zegar systemowy
(którego się zazwyczaj nie rysuje), kluczowany odpowiednim selektorem
adresu (zapis do UDR) - wstawienie danych
- zegar systemowy kluczowany sygnałem Transmit Register Empty i sygnałem
informującym, czy coś jest w FIFO - pobranie kolejnego bajtu
Schematycznie wygląda to tak:
BUS <-> FIFO <-> TSR
Ilość bajtów w FIFO nie ma znaczenia - działanie jest takie samo.
--
Pozdrawiam
Michoo
-
44. Data: 2011-04-14 08:29:06
Temat: Re: Troll na grupie - Michoo się zowie
Od: "4CX250" <taunusmtv@poćta.łonet.pl>
Użytkownik "Michoo" <m...@v...pl> napisał w wiadomości
news:io471f$q2v$1@news.onet.pl...
> FIFO nie ma _zegara_ (rozumianego jako _cykliczne_ wyzwalanie) a ma w
> ogólności 2 sygnały wyzwalające:
> - włóż dane na pierwsze wolne pole
> - wyjmij dane z pierwszego pola i przesuń wszystkie o jedno pole
W definicji rejestru FIFO z angielskiego i niemieckiego języka jaką podałem
wcześniej jest że rejestr FIFO przesuwa elementy w takt zegara. Na rysunku
rejestru przesuwnego TSR jest nawet taki znaczek >
> oczywiście te sygnały mogą być ze sobą spięte.
Oczywiście.
> Zastosowanie typowego sygnału zegarowego nie kluczowanego niczym jest
> conajmniej dziwne, bo przy braku danych będziemy pakować do FIFO śmieci.
Oczywiście, ale od tego jest dodatkowy sygnał zezwalający na przesuwanie.
Taki sygnał dodatkowy jak widać na dyskutowanym rysunku jest doprowadzony do
bramki która jest tuż przed Transmit Shift Register.
Do tej bramki dochodzi więc zegar oraz sygnal zezwalający. Nałożenie tych
dwóch sygnałów, zezwalającego i zegarowego w bramce daje na jej wyjściu
sygnał zegarowy decydujący kiedy i z jaką prędkością mają dane opuścić port
UART.
> Jeżeli już włazimy w implementację samego procesora (a przynajmniej jak
> się to zazwyczaj realizuje) to tam za dwa wspomniane wcześniej sygnały
> sterujące FIFO robią odpowiednio:
> - synchronizujący wewnętrzną pracę całego procesora zegar systemowy
> (którego się zazwyczaj nie rysuje), kluczowany odpowiednim selektorem
> adresu (zapis do UDR) - wstawienie danych
> - zegar systemowy kluczowany sygnałem Transmit Register Empty i sygnałem
> informującym, czy coś jest w FIFO - pobranie kolejnego bajtu
>
> Schematycznie wygląda to tak:
> BUS <-> FIFO <-> TSR
> Ilość bajtów w FIFO nie ma znaczenia - działanie jest takie samo.
Ano właśnie! Doszliśmy do momentu w którym napisałeś niemal to co ja gdzieś
na początku napisałem.
Ja uważam że sam rejestr UDR nie jest rejestrem FIFO. Dopiero oba te
rejestry UDR i TSR połączone razem pracują jako FIFO z wejściem równoległym
i wyjściem szeregowym. Rejestr UDR nie ma pojemności dwóch bajtów
Taraz pora wrócić do cytatu co napisał Lelek@
"Tam są 2 rejestry. Jeden jako poczekalnia, o którym mówimy fifo, a
drugi przesuwny ze skrajnym bitem wystawionym do pinu. Tam są 2 rejestry
mieszczące w sumie 2 bajty"
Jak widzisz Lelek@ pisze o _dwóch_rejestrach_ mieszczących w sumie
_dwa_bajty_ ale ten który jest poczekalnią nazywa FIFO.
Według mnie i definicji, ten pierwszy nie może być FIFO bo FIFO z natury
musi posiadać pojemność minimum dwóch elementów - w tym przypadku bajtów.
W datasheet jest mowa o rejestrze FIFO odbiornika i zauważyłem że tam
faktycznie UDR jest podzielony co sugeruje pojemność dwóch elementów. Przy
opisie nadajniku nie ma takiej nazwy a i też rejestr UDR nie jest
podzielony.
Marek
>
> --
> Pozdrawiam
> Michoo
-
45. Data: 2011-04-14 09:31:50
Temat: Re: Troll na grupie - Michoo się zowie
Od: "4CX250" <taunusmtv@poćta.łonet.pl>
Użytkownik "4CX250" <taunusmtv@poćta.łonet.pl> napisał w wiadomości
news:4da6b054$0$2491$65785112@news.neostrada.pl...
> W datasheet jest mowa o rejestrze FIFO ale odbiornika i zauważyłem na
> rysunku że tam faktycznie UDR jest podzielony co sugeruje pojemność dwóch
> elementów.
Jeszcze coś dopiszę.
A to cytat z datasheet:
"However, the receive buffering has two improvements that will affect the
compatibility in some
special cases:
. A _second_Buffer_Register_ has been added. The two Buffer Registers
operate as a circular
FIFO buffer. Therefore the UDR must only be read once for each incoming
data!"
Dodano drugi rejestr buforujący - co widać na rysunku jako podzielonu na
dwie części UDR - w całym
datasheet tylko o nim mowa że jest to FIFO. Ale jest to bufor odbiornika a
nie nadajnika o który cały
czas mi się rozchodzi.
A to cytat opisujący wysyłanie danych na pin TX
"A data transmission is initiated by loading the _transmit_buffer_ with the
data to be transmitted. The
CPU can load the transmit buffer by writing to the UDR I/O location. The
buffered data in the
transmit buffer will be moved to the Shift Register when the Shift Register
is ready to send a new
frame. The Shift Register is loaded with new data if it is in idle state (no
ongoing transmission) or
immediately after the last stop bit of the previous frame is transmitted.
When the Shift Register is
loaded with new data, it will transfer one complete frame at the rate given
by the Baud Register,
U2X bit or by XCK depending on mode of operation."
Czyli że UDR sam w sobie nie jest żadnym rejestrem przesuwnym, tymbardziej
nie FIFO.
Oba razem rejestry czyli bufor UDR raz TSR tworzą rejestr FIFO z wejściem
równoległym
i wyjściem szeregowym.
Marek