Powrót

Mikroprocesorowa ośla łączka, część 3

Aby ruszyć do przodu i napisać pierwszy prosty program warto zaznajomić się z „przeciwnikiem”. Wiedza o tym, co może dany moduł pozwala na jego efektywne zastosowanie. Tutaj równie istotne jest (a może nawet najistotniejsze) czego dany moduł nie może, aby nie „zmuszać” go do działań skazanych na porażkę.

Poznajemy mikrokontroler

Aby efektywnie posługiwać się modułem Arduino Nano, należy wcześniej zapoznać się z nim. Jak wiadomo, moduł ten oparty jest na mikrokontrolerze ATMEGA328 w obudowie QFP32 – płaska obudowa kwadratowa z wyprowadzeniami z każdej strony (rysunek 1, dokumentacja do mikrokontrolera i wszystkie przydatne linki podane są na końcu artykułu).

Rysunek 1

Wszystko to, co jest w stanie zaoferować moduł w gruncie rzeczy zawdzięczamy przede wszystkim mikrokontrolerowi użytemu do budowy modułu. W jego konstrukcji występuje dosyć duża dowolność, dotycząca sposobu użycia jego zasobów, czyli elementów mikrokontrolera oferowanych do wykorzystania przez konstruktora. Najczęściej dotyczy to jego portów, jako uniwersalnych wyprowadzeń przeznaczonych do współpracy z otoczeniem. Porty te są identyfikowane na rysunkach schematów jako PORT<literka>, i w przypadku naszego układu (ATMEGA328) są to PORTB, PORTC i PORTD – wewnętrzną budowę układu pokazuje rysunek 2.

Rysunek 2

Piny portów mogą pełnić funkcję wejściową lub wyjściową i jest to determinowane przez realizowany program (o szczegółach będę pisać w kolejnych częściach). Generalnie porty są 8-bitowe, jednak zdarza się, że są „krótsze”, a takim przykładem w ATMEGA328 jest PORTC, który dysponuje tylko siedmioma bitami. W oprogramowaniu porty są identyfikowane przez swój adres. Jest to unikalna liczba przyporządkowana każdemu rejestrowi będącego na „wyposażeniu” mikrokontrolera (do adresacji jeszcze wrócimy). Uważny Czytelnik zapewne dostrzeże, że oprócz portów wejścia/wyjścia mikrokontroler dysponuje dodatkowymi podzespołami, które pełnią bardziej złożone funkcje. Tu należy wskazać przede wszystkim na (rysunek 2):

  • kontroler transmisji szeregowej (na rysunku oznaczony jako USART 0), pozwalający na wysyłanie oraz odbieranie danych, powszechnie stosowany do komunikacji z mikrokontrolerem,
  • dwa 8-bitowe układy licznikowo-czasowe (na rysunku oznaczone jako T/C 0 oraz T/C 2), pozwalające na zliczanie dowolnych impulsów lub na odmierzanie interwałów czasu poprzez zliczanie impulsów o określonej częstotliwości, stosowane również do generowania ciągu impulsów, w tym przebiegów PWM (fali prostokątnej o ustalonym wypełnieniu impulsów),
  • jeden 16-bitowy układ licznikowo-czasowy (na rysunku oznaczony jako T/C 1) o podobnym znaczeniu jak 8-bitowe układy licznikowo-czasowe,
  • 10-bitowy przetwornik analogowo-cyfrowy (na rysunku oznaczony jako A/D Conv) o ośmiu wejściach pozwalający na pomiar ośmiu niezależnych sygnałów analogowych, w tym również temperatury,
  • interfejs szeregowy SPI, pozwalający na obsługę innych zewnętrznych układów przyłączonych do mikrokontrolera, posiadających wspomniany interfejs (do tej grupy między innymi można zaliczyć przetworniki cyfrowo-analogowe, układy pamięci nieulotnych, układy RTC, układy MEMS [Micro-Electro-Mechanical Systems – miniaturowe urządzenia elektromechaniczne] przykładowo do pomiaru ciśnienia, wilgotności czy przyśpieszenia),
  • interfejs TWI kompatybilny z rozwiązaniem I2C opracowanym w firmie Philips pozwalający na obsługę układów wyposażonych w ten interfejs komunikacyjny, podobnie jak SPI przeznaczony do obsługi zewnętrznych podzespołów z tym interfejsem.

(…)

——– ciach! ——–

To jest tylko fragment artykułu, którego pełna wersja ukazała się w numerze sierpniowym czasopisma Zrozumieć Elektronikę (ZE 8/2024). Pełną wersję czasopisma znajdziesz pod tym linkiem. Natomiast niepełna, okrojona wersja, pozwalająca zapoznać się z zawartością numeru ZE 8/2024 znajduje się tutaj.

Andrzej Pawluczuk
apawluczuk@vp.pl

 

Uwaga! Osoby, które nie są (jeszcze) stałymi Patronami ZE, mogą nabyć PDF-y z pełną wersję tego numeru oraz wszystkich innych numerów czasopisma wydanych od stycznia 2023, „stawiając kawę” (10 złotych za jeden numer czasopisma w postaci pliku PDF).
W tym celu należy kliknąć link (https://buycoffee.to/piotr-gorecki), lub poniższy obrazek
Postaw mi kawę na buycoffee.to
Następnie wybrać:
– jeśli jeden numer ZE – 10 zł,
– jeśli kilka numerów ZE – WSPIERAM ZA. I tu wpisać kwotę zależną od liczby zamawianych numerów – wydań (N x 10 zł),
Wpisać imię nazwisko.
Podać adres e-mail.
Koniecznie zaznaczyć: „Chcę dołączyć wiadomość dla Twórcy” i tu wpisać, który numer lub numery mamy wysłać na podany adres e-mailowy. Jeśli ma to być numer z tym artykułem trzeba zaznaczyć, że chodzi o ZE 8/2024.
UWAGA!!! E-mail z linkiem do materiałów (weTransfer) wysyłamy zazwyczaj w ciągu 24 godzin. Czasem zdarza się jednak, że trafia do spamu. Jeśli więc nie pojawi się w ciągu 48 godzin prosimy sprawdzić w folderze spam, a ewentualny problem zgłosić na adres: kontakt@piotr-gorecki.pl.