POLITECHNIKA BIAŁOSTOCKA

Transkrypt

POLITECHNIKA BIAŁOSTOCKA
Białostocka
Politechnika
WYDZIAŁ ELEKTRYCZNY
KATEDRA TELEKOMUNIKACJI I APARATURY ELEKTRONICZNEJ
Instrukcja do zajęć laboratoryjnych
Temat ćwiczenia: Projekty przemysłowe i sieciowe
Numer ćwiczenia: 5
Laboratorium z przedmiotu:
Systemy mikroprocesorowe w zastosowaniach przemysłowych i sieciowych
KOD: TS1C6
Opracowali:
dr inż. Maciej Szumski
dr inż. Krzysztof Konopko
2017
1
Wprowadzenie
1.1 Konfiguracja interfejsu między układem MAC (Media
Acess Control), a zewnętrznym PHY (external physical layer
device)
Dostępny na ćwiczeniach zestaw ZL29ARM umożliwia przesyłanie i odbiór danych
zgodnie ze standardem IEEE 802.3-2002. Zastosowany w zestawie mikrokontroler
STM32F107 obsługuje dwa warianty interfejsu między MAC a PHY: MII (Media
independent Interface) i RMII (Reduced Media independent Interface). Tabela 1.1 zawiera
opis konfiguracji MII lub RMII w mikrokontrolerze STM32F107. Wyprowadzenie oznaczone
literą I oznacza wyjście pływające, a literą O wyjście przeciwsobne 50 MHz.
Tab. 1.1. Warianty konfiguracji MII/RMII dla mikrokontrolera STM32F107
Sygnał MAC
MII
MII
RMII
RMII
domyślne alternatywne domyślne alternatywne
ETH_MDC
MDC
MDC
ETH_MII_TXD2
TXD2
ETH_MII_TX_CLK
TX_CLK
ETH_MII_CRS
CRS
ETH_MII_RX_CLK
RX_CLK
REF_CLK
Wyprowadzenie
Kierunek
PC1
PC2
PC3
PA0
PA1
O
O
I
I
I
O
I
I
ETH_RMII_REF_CLK
ETH_MDIO
ETH_MII_COL
ETH_MII_RX_DV
MDIO
COL
RX_DV
MDIO
CRS_DV
PA2
PA3
PA7
ETH_RMII_CRS_DV
ETH_MII_RXD0
RXD0
RXD0
PC4
I
ETH_RMII_RXD0
ETH_MII_RXD1
RXD1
RXD1
PC5
I
ETH_RMII_RXD1
ETH_MII_RXD2
ETH_MII_RXD3
ETH_MII_RX_ER
ETH_MII_TX_EN
RXD2
RXD3
RX_ER
TX_EN
TX_EN
PB0
PB1
PB10
PB11
I
I
I
O
ETH_RMII_TX_EN
ETH_MII_TXD0
TXD0
TXD0
PB12
O
ETH_RMII_TXD0
ETH_MII_TXD1
TXD1
TXD1
PB13
O
ETH_RMII_TXD1
ETH_MII_TXD3
TXD3
PB8
O
ETH_RMII_CRS_DV
RX_DV
CRS_DV
PD8
I
ETH_MII_RXD0
RXD0
RXD0
PD9
I
RXD1
RXD1
PD10
I
ETH_RMII_RXD0
ETH_MII_RXD1
ETH_RMII_RXD1
ETH_MII_RXD2
RXD2
PD11
I
ETH_MII_RXD3
RXD3
PD12
I
Interfejs MII używa następujących 17 sygnałów:
 MII_TX_CLK: zegar szyny nadawczej (2.5 MHz dla 10 Mbit/s i 25 MHz dla 100
Mbit/s),
 MII_RX_CLK: zegar szyny odbiorczej (2.5 MHz dla 10 Mbit/s i 25 MHz dla 100
Mbit/s),
 MII_TX_EN: na szynie nadawczej są dane do wysłania,
 MII_TXD[3:0]: czterobitowa szyna danych,
 MII_CRS: sygnał nośny,
 MII_COL: wystąpienie kolizji w trybie half-duplex,
 MII_RXD[3:0]: czterobitowa szyna odbiorcza,
 MII_RX_DV: na szynie odbiorczej są dane odczytu
 MII_RX_ER: odebrano błędny symbol,
 MDIO: dwukierunkowa linia danych interfejsu służącego do konfigurowania
interfejsu PHY,
 MDC: linia taktująca interfejs MDIO.
Sygnał zegarowy na liniach MII_RX_CLK i MX_TX_CLK jest generowany przez PHY. Jego
częstotliwość związana jest z szybkością transmisji danych i szerokością szyny danych.
Sposób dołączenia zewnętrznego modułu PHY (np. ZL3ETH z układem DP83848) do zestaw
ZL29ARM przedstawiono na rysunku 1.1.
Rys. 1.1. Sposób dołączenia zewnętrznego modułu PHY do zestaw ZL29ARM
Jak widać ze schematu 1.1 w module zastosowano interfejs MII z alternatywnym układem
wyprowadzeń. Mikrokontroler STM32F107 stosuje własny kontroler DMA do odbierania i
wysyłania ramek ethernetowych. Schemat układu ETH przedstawiony jest na rysunku 1.2.
Rys. 1.2. Schemat bloku ETH [4]
Do obsługi układów MAC STMicroelectronics udostępnia oddzielną bibliotekę, pełniącą
funkcję jego sterownika, czyli STM32 Ethernet Driver.
1.2 Stos TCP/IP
Aby tworzyć aplikacje korzystające z sieci niezbędna jest implementacja stosu TCP/IP czyli
kompletu protokołów intersieci (internet protokol suit). Zazwyczaj nie ma potrzeby
samodzielnej implementacji całego stosu gdyż dostępne są zarówno komercyjne jak i
darmowe jego implementacje. Każda implementacja jest uzupełniona o licencje, w której
zawarto warunki jego wykorzystania zarówno w celach komercyjnych jak i edukacyjnych.
Najbardziej
popularnymi
implementacjami
protokołów
TCP/IP
w
układach
mikroprocesorowych oraz w systemach wbudowanych są:
 μIP (microIP),
 LwIP(lightweight IP),
 NicheLite firmy InterNiche,
 μC/TCP-IP firmy Micrium,
 Ethernut firmy Egnite.
Dwie pierwsze implementacje są w pełni darmowe. Projekt μIP oryginalnie stworzono dla
mikrokontrolerów 8-bitowych, ale także przeniesiono na architekturę ARM. Jego
implementacja wymaga niewielkiej pamięci RAM i Flash. Zawiera podstawowy zestaw
protokołów: IP, TCP, UDP, ICMP, ARP, SLIP. Jednak mając do dyspozycji dużo bogatsze
zasoby mikrokontrolera STM32 możliwe jest użycie bardziej rozwiniętej implementacji stosu
TCP/IP, jaką jest LwIP. Biblioteka ta charakteryzuje się elastycznością pozwalającą na jej
implementację na mikrokontrolerach o rożnych architekturach, oraz dzięki dużemu zbiorowi
opcji konfiguracyjnych, pozwala na jej optymalizację dla konkretnych zastosowań
sprzętowych i aplikacyjnych. Biblioteka LwIP udostępnia interfejsy programistyczne
umożliwiające realizację stosu zarówno bez kontroli systemu operacyjnego jak i w postaci
bibliotek i aplikacji działających w osobnych wątkach potrzebujących systemu operacyjnego.
2
Cel i zakres ćwiczenia
Celem ćwiczenia jest ugruntowanie wiedzy studentów oraz nabycie przez nich
umiejętności z zakresu podstaw programowania mikroprocesorów. W ramach zajęć studenci
stosują nabytą wiedzę i umiejętności z zakresu konfiguracji moduł RCC, obsługi portów
GPIO, zastosowania przetworników ADC i DAC, obsługi systemu przerwań, wykorzystania
układów licznikowo-czasowych oraz obsługi mechanizmu bezpośredniego dostępu do
pamięci do realizacji zadań projektowych.
Z zastosowaniem zestawu ZL29ARM z mikrokontrolerem STM32F107VCT6 oraz
dodatkowych urządzeń peryferyjnych studenci realizują aplikacje o zastosowaniach
przemysłowych i sieciowych.
3
Zagadnienia do opracowania przed
przystąpieniem do zajęć
Przed przystąpieniem do zajęć studenci określają, na podstawie zgłoszonych przez
prowadzącego zajęcia tematów, podstawowe parametry i funkcje tworzonych aplikacji.
4
Przebieg ćwiczenia
Ćwiczenia laboratoryjne prowadzone są w oparciu o zestaw ZL29ARM [2] umożliwiający
realizację aplikacji dla mikrokontrolera STM32F107 (rodzina Connectivity Line).
W trakcie ćwiczeń należy zrealizować założenia projektowe dotyczące funkcji tworzonych
aplikacji. Przykładowe tematy projektów dotyczą aplikacji przemysłowych związanych z
implementacją algorytmów regulacji [1 rozdz. 20], realizacją systemów czasu rzeczywistego
[1 rozdz. 22], komunikacją i sterowaniem urządzeniami z zastosowaniem interfejsów I 2C [1
rozdz. 18.6], SPI [1 rozdz. 18.6] czy implementacją przemysłowych protokołów
komunikacyjnych np. Modbus [1 rozdz. 18.2.2]. Projekty sieciowe dotyczą zastosowania
zestawu ZL29ARM rozszerzonego o moduł PHY (interfejs Ethernet ZL3ETH z układem
DP83848) do realizacji aplikacji wymagających implementacji stosu TCP/IP [8, 9, 12].
5
Opracowanie sprawozdania
Przygotowane sprawozdanie z zajęć powinno zawierać opis przebiegu ćwiczenia
laboratoryjnego w tym kody źródłowe procedur wraz z opisem i analizą działania.
Sprawozdanie powinno też zawierać wnioski dotyczące realizacji poszczególnych punktów
ćwiczenia laboratoryjnego.
6
Wymagania BHP
W trakcie realizacji programu ćwiczenia należy przestrzegać zasad omówionych we
wstępie do ćwiczeń, zawartych w: „Regulaminie porządkowym w laboratorium” oraz
w „Instrukcji obsługi urządzeń elektronicznych znajdujących się w laboratorium z
uwzględnieniem przepisów BHP”. Regulamin i instrukcja są dostępne w
pomieszczeniu laboratoryjnym w widocznym miejscu.
7
Literatura
Maciej Szumski, „Systemy Mikroprocesorowe w Sterowaniu. Część I.
ARM Cortex-M3”, PLUM, 2016
2. Dokumentacja zestawu ZL29ARM: http://kamami.pl/dl/zl29arm.pdf
3. STM32F107VC Datasheet: http://www.st.com/resource/en/datasheet/stm32f107vc.pdf,
2015
4. RM0008: STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and
STM32F107xx advanced ARM®-based 32-bit MCUs:
http://www.st.com/resource/en/reference_manual/cd00171190.pdf, 2015
5. PM0075: STM32F10xxx Flash memory microcontrollers:
http://www.st.com/resource/en/reference_manual/cd00171190.pdf, 2012
6. PM0056: STM32F10xxx/20xxx/21xxx/L1xxxx Cortex-M3 programming manual:
http://www.st.com/resource/en/programming_manual/cd00228163.pdf, 2013
7. STM32F105xx and STM32F107xx revision Z connectivity line device limitations:
http://www.st.com/resource/en/errata_sheet/cd00238166.pdf, 2013
8. lwIP TCP/IP stack demonstration for STM32F107xx connectivity line microcontrollers:
http://www.st.com/resource/en/application_note/cd00255062.pdf, 2009
9. Configuring the NicheLite™ TCP/IP stack for the STM32F107xx microcontroller:
http://www.st.com/resource/en/application_note/cd00238932.pdf, 2009
10. Krzysztof Paprocki, „Mikrokontrolery STM32 w praktyce”, BTC, 2011.
11. Marek Galewski, „STM 32 : aplikacje i ćwiczenia w języku C”, BTC, 2011.
12. Marcin Peczarski, „Mikrokontrolery STM32 w sieci Ethernet w przykładach”, BTC 2011
1.

Podobne dokumenty