35 (29)

35 (29)



70 Port szeregowy, tryby 1, 2,3

jest wpisywane do rejestru wejściowego SBUF. W trybach 2 i 3 bit D8 jest pobierany do wysłania z pozycji TB8, a ten odebrany jest wpisywany na pozycję RB8 w rejestrze SCON. Jeżeli w słowie SCON jest SM2 równe 0, to wartość bitu D8 nie jest istotna dla działania układów transmisji szeregowej. Przed wysłaniem znaku może być ona ustalona programowo i wpisana do znacznika TB 8, a po odebraniu znaku -odczytana ze znacznika RB8 i przeanalizowana programowo, zgodnie z dowolnie przyjętym protokołem transmisji, np. jako bit parzystości Jeżeli w słowie SCON jest SM2 równe 1, to w porcie szeregowym jest maskowane odebranie znaku, w którym D8 = 0. Mechanizm ten jest wykorzystany w protokole transmisji dla systemu wieloprocesorowego (patrz punkt 2.7.4).

Drugim elementem wpływającym na różnice między trybami 1, 2 i 3 jest źródło sygnału taktującego, określającego szybkość transmisji szeregowej.

W trybie 2 (rys. 2.21a) układ transmisji szeregowej jest taktowany wewnętrznym sygnałem zegarowym o częstotliwości fxTAL./2, doprowadzonym bezpośrednio lub poprzez dzielnik częstotliwości przez 2 - w zależności od zawartości znacznika SMOD, tzn. PCON.7 (patrz p. 2.10).

W trybach 1 i 3 (rys. 2.21b) sygnałem taktującym układ transmisji szeregowej jest sygnał przepełnienia licznika Tl z układu czasowo-licznikowego (patrz punkt 2.6.1). Jest on doprowadzony bezpośrednio lub poprzez dzielnik częstotliwości przez 2 - zgodnie z zawartością znacznika SMOD. W mikrokomputerach 8052/32 do taktowania portu szeregowego może być wykorzystany sygnał przepełnienia licznika T2 (patrz punkt 2.6.2). Sygnał ten zostaje dołączony do nadajnika, po wpisaniu 1 na pozycję TCLK w słowie T2CON, i do odbiornika, po wpisaniu 1 na pozycję RCLK w słowie T2CON.

We wszystkich trzech trybach właściwy sygnał zegarowy, określający rytm pracy nadajnika (TXC) i odbiornika (RXC), powstaje po podzieleniu przez 16 częstotliwości odpowiedniego, opisanego wyżej, sygnału taktującego. Schemat funkcjonalny portu szeregowego, wspólny dla trybów 1, 2 i 3, pokazano na rys. 2.21c.

Wysłanie znaku jest inicjowane programowo, przez wykonanie dowolnego rozkazu zapisującego dane do rejestru SBUF. Powoduje to również wpisanie do przerzutnika D jedynki logicznej (bit stopu) w trybie 1, a zawartości bitu TB8 (SCON.3) w trybie 2 i 3. Przerzutnik D stanowi „przedłużenie” (dziewiąty, najbardziej znaczący bit) rejestru wyjściowego SBUF. Zapisanie do SBUF uaktywnia blok sterowania nadajnika, który na skutek pojawienia się najbliższego (pierwszego po zapisie do SBUF) impulsu zegarowego TXC wytwarza sygnały wewnętrzne SEND = 1 i DATA = 0. To-z kolei - powoduje wymuszenie zera logicznego na linii P3.1 (TXD), czyli jest wysyłany bit startu. Po następnym impulsie TXC sygnał DATA zmienia się na 1 i do linii TXD zostaje dołączone wyjście szeregowe (bit 0) rejestru SBUF, czyli jest wysyłany pierwszy bit danych (rys. 2.2ld). W czasie, gdy SEND = 1 i DATA = 1, każdy impuls zegarowy TXC powoduje przesunięcie zawartości rejestru wyjściowego SBUF (z prze rzutnikiem D) o jedną pozycję w prawo, czyli są wysyłane kolejne bity danych. Po ośmiokrotnym przesunięciu zawartości SBUF jest wysyłana zawartość przerzutni-ka D, czyli bit stopu w trybie 1, a dziewiąty bit danych w trybie 2 i 3. Kolejny (jedenasty od chwili zapisania do SBUF) impuls TXC powoduje wyzerowanie sygnału SEND i DATA, a więc wymuszenie jedynki na linii TXD, czyli są wysyłane bity stopu. W tej samej chwili do znacznika TI w słowie SCON jest wpisywana jedynka, co jest dla procesora sygnałem końca wysyłania znaku.

Odbieranie znaku jest inicjowane sprzętowo, po wykryciu zmiany 1 na 0 sygnału na linii P3.0 (RXD). Odbywa się to oczywiście tylko wtedy, kiedy jest ustawiony znacznik REN w rejestrze SCON (SCON.4 = 1). Stan linii jest próbkowany z częstotliwością sygnału taktującego odbiornik. Wykrycie zmiany powoduje uaktywnienie bloku sterowania odbiornika oraz wyzerowanie licznika mod 16 (podzielnika częstotliwości), wytwarzającego sygnał zegarowy RXC. Stan linii RXD jest teraz próbkowany trzykrotnie w każdym cyklu (przy odbiorze każdego bitu), gdy zawartość licznika wynosi 7, 8 i 9. Wartość, która wystąpiła co najmniej przy dwóch próbkach, jest przyjmowana jako wartość odbieranego bitu i podawana na wejście szeregowe odbiorczego rejestru przesuwającego. Przesunięcie w prawo zawartości rejestru następuje bezpośrednio po trzecim próbkowaniu linii RXD. Jeżeli wartość bitu odebranego jako pierwszy po wykryciu zmiany 1 na 0 (bit startu) nie jest zerowa, to zmiana ta (inicjująca odbieranie) jest uważana za zakłócenie. Odbiornik przechodzi w stan oczekiwania. Gdy odebrany bit startu jest zerowy, następuje dziewięciokrotne odebranie i wpisanie kolejnych bitów do wejściowego rejestru przesuwającego (rys. 2.2 le). Po odebraniu dziewięciu bitów danych proces pobierania znaku jest zakończony.


Wyszukiwarka

Podobne podstrony:
38033 Untitled34 60 7. Port wyjściowym portu. Informacja wpisywana do rejestru jest przekazywana bez
s085 (2) Drukowanie plików 85 4. I Jpewnij się, że port szeregowy jest obsługiwany przez system - na
Untitled60 12. Port szeregowy Zadaniem portu szeregowego jest zapewnienie komunikacji poprzez łąc
2010 06 17;35;29 jP - Zll*?! p lwitWiW 1=1Ma* 1=1 Pi _/=i Cenowy indeks Paaschego jest ważoną średn
8 (35) 161 Szeregi Fouriera jest JV-tą sumą częściową szeregu Fouriera funkcji/. Nierówność (72) prz
Image144 stany: A = 1, B — C — ... / = 0. Następnie informacja jest wpisywana do rejestru. Po ośmiu
Zadanie 35. Który z profili użytkownika ulega zmianie i jest przechowywany na serwerze dla klienta p
srodowisko 29 Duża wartość współczynnika kształtu (stosunku powierzchni do objętości) jest najbardzi

więcej podobnych podstron