-
11. Data: 2011-04-08 14:10:59
Temat: Re: USART w atmega - pytanie
Od: "AK" <_...@w...pl>
> Ale zrozum człowieku że ty pisałeś o rejestrze bajtowym jako bajt za
> bajtem.
> Palnąłeś o rejestrze fifo a to co jest w atmedze nie jest żadnym fifo.
> Nawet nie pseudo fifo.
Gwoli ścisłości kolego 4CX250, Atmel nazywa to FIFO, wiec stosujmy
nazewnictwo producenta:
"...The two Buffer Registers operate as a circular FIFO buffer....."
-
12. Data: 2011-04-08 14:13:45
Temat: Re: USART w atmega - pytanie
Od: "Lelek@" <r...@i...iw>
"AK" <_...@w...pl> wrote in message
news:4d9f177f$0$2437$65785112@news.neostrada.pl...
>> Ale zrozum człowieku że ty pisałeś o rejestrze bajtowym jako bajt za
>> bajtem.
>> Palnąłeś o rejestrze fifo a to co jest w atmedze nie jest żadnym fifo.
>> Nawet nie pseudo fifo.
>
> Gwoli ścisłości kolego 4CX250, Atmel nazywa to FIFO, wiec stosujmy
> nazewnictwo producenta:
> "...The two Buffer Registers operate as a circular FIFO buffer....."
Ale to Rx. Tx ma 1 bajt
-
13. Data: 2011-04-08 14:52:30
Temat: Re: USART w atmega - pytanie
Od: Michoo <m...@v...pl>
W dniu 08.04.2011 15:31, 4CX250 pisze:
> Ale zrozum człowieku że ty pisałeś o rejestrze bajtowym jako bajt za
> bajtem.
Tak działa fifo - z jednej strony bajty wchodzą a z drugiej wychodzą.
> Palnąłeś o rejestrze fifo a to co jest w atmedze nie jest żadnym fifo.
Jest FIFO. Doucz się ;)
> Nawet nie pseudo fifo.
Nawet nie pseudo, bo klasyczne, ale krótkie.
> To jest zwykły rejestr przesuwny 8-bitowy z presetem równoległym.
Jest przesuwny rejestr wyjściowy do którego dane trafiają z rejestru
danych. Dzięki temu możesz wyekspediować do wysyłki DWA bajty jeden po
drugim.
> Czy masz tam choćby jedno wejście bitowe szeregowe do niego za pomocą
> którego bitu po bicie jesteś go w stanie całego załadować? No nie, więc
> o czym ty piszesz?
A ty wiesz o czym piszesz? Jesteś agresywny wobec kogoś kto próbuje Ci
pomóc a przy tym Twoja wiedza przedstawia poziom gruntu... Jednym słowem
zachowujesz się jak klasyczny lamer.
--
Pozdrawiam
Michoo
-
14. Data: 2011-04-08 15:18:36
Temat: Re: USART w atmega - pytanie
Od: Konop <k...@g...pl>
W dniu 08.04.2011 14:52, 4CX250 pisze:
> No nie do końca FIFO gdyż FIFO z założenia jest ładowany i opróżniany
> _szeregowo_ bit po bicie
I tu własnie kolega popełnił błąd... FIFO nie jest opróżniane "szeregowo
bit po bicie"! Szerokość słowa w FIFO może być dowolna... tutaj jest
fifo 8-bitowe. Czyli kolejne dane wchodzą jedna za drugą i w tej samej
kolejności wychodzą... Ale są to dane 8-bitowe. I wszystkie 8-bitów
wchodzi i wychodzi jednocześnie!! I dlatego to jest FIFO.
Powiem tak - gdyby nie było tej "poczekalni" fifo, to wówczas mógłbyś
wpisać 1 bajt i dopiero po jego wysłaniu mógłbyś wpisać kolejny.
Wcześniej nie możesz, bo nie masz gdzie :)
W innych prockach mamy np. 16-bajtowe FIFO... To znaczy, wrzucasz
pierwszy bajt, on idzie do nadawania, a w tym czasie (nim się on wyśle)
możesz wrzucić do UARTA (do FIFO) jeszcze 16 kolejnych bjatów. Wchodzą
one szeregowo, jeden za drugim, ale jako całe bajty, a nie bit po
bicie... .
W ATMGA masz FIFO, ale "1 bajtowe", przez co możesz wpisać 1 bajt w
czasie nadawania. Faktem jest, że pojećie FIFO jednobajtowe jest trochę
śmieszne, bo FIFO 1-bajtowe niczym nie różni się od stosu (FILO)
jednobajtowego. Dlatego może nie czujesz, gdzie jest ta kolejka FIFO.
Mam nadzieję, że powyższe przykłady Ci to wyjaśnią :).
Pozdrawiam
Konop
-
15. Data: 2011-04-08 16:15:21
Temat: Re: USART w atmega - pytanie
Od: RoMan Mandziejewicz <r...@p...pl>
Hello Lelek,
Friday, April 8, 2011, 4:13:45 PM, you wrote:
>>> Ale zrozum człowieku że ty pisałeś o rejestrze bajtowym jako bajt za
>>> bajtem.
>>> Palnąłeś o rejestrze fifo a to co jest w atmedze nie jest żadnym fifo.
>>> Nawet nie pseudo fifo.
>> Gwoli ścisłości kolego 4CX250, Atmel nazywa to FIFO, wiec stosujmy
>> nazewnictwo producenta:
>> "...The two Buffer Registers operate as a circular FIFO buffer....."
> Ale to Rx. Tx ma 1 bajt
W USART'cie? Niemożliwe - musi mieć co najmniej dwa bajty. Mogę sobie
wyobrazić UARTa na jednym rejestrze - USARTa nie da rady.
--
Best regards,
RoMan mailto:r...@p...pl
Nowa strona: http://www.elektronika.squadack.com (w budowie!)
-
16. Data: 2011-04-08 16:20:39
Temat: Re: USART w atmega - pytanie
Od: "Lelek@" <r...@i...iw>
"RoMan Mandziejewicz" <r...@p...pl> wrote in message
news:1248700338.20110408181521@pik-net.pl...
> Hello Lelek,
>
> Friday, April 8, 2011, 4:13:45 PM, you wrote:
>
>>>> Ale zrozum człowieku że ty pisałeś o rejestrze bajtowym jako bajt za
>>>> bajtem.
>>>> Palnąłeś o rejestrze fifo a to co jest w atmedze nie jest żadnym fifo.
>>>> Nawet nie pseudo fifo.
>>> Gwoli ścisłości kolego 4CX250, Atmel nazywa to FIFO, wiec stosujmy
>>> nazewnictwo producenta:
>>> "...The two Buffer Registers operate as a circular FIFO buffer....."
>> Ale to Rx. Tx ma 1 bajt
>
> W USART'cie? Niemożliwe - musi mieć co najmniej dwa bajty. Mogę sobie
> wyobrazić UARTa na jednym rejestrze - USARTa nie da rady.
1 bajt holding register Tx
-
17. Data: 2011-04-08 16:50:01
Temat: Re: USART w atmega - pytanie
Od: "4CX250" <t...@p...onet.pl>
Użytkownik "Michoo" <m...@v...pl> napisał w wiadomości
news:inn7fe$om8$1@news.onet.pl...
>W dniu 08.04.2011 15:31, 4CX250 pisze:
> Tak działa fifo - z jednej strony bajty wchodzą a z drugiej
> wychodzą.
Nadajnika?
> Jest FIFO. Doucz się ;)
W dataschicie mowa o FIFO odbiornika ja poruszam problem nadajnika.
> Jest przesuwny rejestr wyjściowy do którego dane trafiają z rejestru
> danych. Dzięki temu możesz wyekspediować do wysyłki DWA bajty jeden
> po drugim.
Gdyby był FIFO to byłby ładowany szeregowo bit po bicie a nie jest.
W nadajniku rejestr ten ładowany jest tylko i wyłącznie równolegle z
rejestru UDR.
Oczywiście cały czas mowa o rejestrze przesuwnym nadajnika.
Marek
-
18. Data: 2011-04-08 17:12:27
Temat: Re: USART w atmega - pytanie
Od: "4CX250" <t...@p...onet.pl>
Uzytkownik "Marcin" <m...@o...pl> napisal w wiadomosci
news:1ec35702-68fd-44eb-8fca-3b7e611bdb48@m13g2000yq
b.googlegroups.com...
> >
>> > Gwoli cis o ci fifo mo e by r wnoleg e, bajtowe.
>>
>> Piszesz zupe nie o czyms innym. Transmisja USART jest bitowa nie
>> bajtowa i
>> rejestr jest bitowy a nie bajtowy.
>
> Ale sa _dwa_ rejestry bajtowe. Mmozna wpisac do wyslania dwa bajty,
> nie czekajac na transmisje pierwszego.
> Inne uP ( np ADuC7026 maja 3 najtowa kolejke FIFO)
Ale polaczone równolegle nie szeregowo. Zobacz na rysunek. Zawartosc
rejestru UDR (transmit) kopiowana jest _równolegle_ do Transmit Shift
Register czyli do rejestru przesuwnego. Jak widzisz nie wystepuje tu
ladowanie tego rejestru bit po bicie szeregowo.
Z rejestru tego w takt zegara bit po bicie wysuwany jest bajt do Pin
Control i dalej na nózke procka. Miedzu czasie Parity Generator zlicza
bity i na koncu kiedy ostatni bit nadawanego bajtu wyjdzie z rejestru
przesuwnego dokleja swój bit parzystosci.
Gdy ostatni bit wysylanego bajtu opusci rejestr przesuwny kopiowany
jest do tego rejestru drugi bajt który oczekiwal w rejestrze UDR.
Czy pisze tu gdzies o rejestrze FIFO nadajnika?
"The Transmitter consists of a single write buffer, a serial
Shift Register, parity generator and control logic for handling
different serial frame formats"
Ten rejestr przesuwny ladowany jest równolegle nie szeregowo a idea
rejestru FIFO to first input first output. W rejestrze FIFO dane
dopisywane sa na koncu kolejki. Jezeli ja wpisuje równolegle do
rejestru cale 8 bitów to jak to mozna nazwac dopisywaniem na koncu
kolejki?
Marek
Marek
-
19. Data: 2011-04-08 17:22:30
Temat: Re: USART w atmega - pytanie
Od: "4CX250" <t...@p...onet.pl>
Użytkownik "Konop" <k...@g...pl> napisał w wiadomości
news:inn90d$92n$1@inews.gazeta.pl...
>W dniu 08.04.2011 14:52, 4CX250 pisze:
> W ATMGA masz FIFO, ale "1 bajtowe", przez co możesz wpisać 1 bajt w
> czasie nadawania. Faktem jest, że pojećie FIFO jednobajtowe jest
> trochę śmieszne, bo FIFO 1-bajtowe niczym nie różni się od stosu
> (FILO) jednobajtowego. Dlatego może nie czujesz, gdzie jest ta
> kolejka FIFO. Mam nadzieję, że powyższe przykłady Ci to wyjaśnią :).
Czuję czuję. Spoko.
W USART dane wysyłane mogą składać się z 5 do 9 bitów więc nawet nie
można mówić o bajcie lecz o bitach, jakims słowie n-bitowym.
Na stronie 140 Datasheet ATmega 32 jest rysunek. Odpowiedz mi co
widzisz?
Czy TRANSMIT SHIFT REGISTER jest rejestrem przesuwnym ładowanym
równolegle, czy ładowanym szeregowo rejestrem FIFO? Czy widzisz w nim
gdzieś wejście szeregowe? Jeżeli tak by było to rejestr UDR (Transmit)
także musiał by być rejestrem przesuwnym z drugim wejściem zegarowym
ale tego nie ma.
Więc?
Marek
-
20. Data: 2011-04-08 17:32:11
Temat: Re: USART w atmega - pytanie
Od: "Lelek@" <r...@i...iw>
"4CX250" <t...@p...onet.pl> wrote in message
news:innfld$nrh$1@news2.ipartners.pl...
Nic z ciebie bie bedzie, ani konstruktor ani programista :-)
Proponuje nie karmic trola :-)