Mikroprocesorowy interfejs modułu kamery

Podobne dokumenty
dokument DOK wersja 1.0

LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy:

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

ARS3 RZC. z torem radiowym z układem CC1101, zegarem RTC, kartą Micro SD dostosowany do mikro kodu ARS3 Rxx. dokument DOK wersja 1.

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Płytka testowa dla radiowego modemu sterownika

Kod produktu: MP01611

Kod produktu: MP01105T

LITEcomp. Zestaw uruchomieniowy z mikrokontrolerem ST7FLITE19

Rys. 1. Schemat ideowy karty przekaźników. AVT 5250 Karta przekaźników z interfejsem Ethernet

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

Programator ZL2PRG jest uniwersalnym programatorem ISP dla mikrokontrolerów, o budowie zbliżonej do STK200/300 (produkowany przez firmę Kanda).

Kod produktu: MP01105

STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Programator procesorow AVR do kompilatora BASCOM AVR (zgodny z STK200)

Moduł aparatu cyfrowego z rejestracją na SD

SML3 październik

Kod produktu: MP01611-ZK

ZL8AVR. Płyta bazowa dla modułów dipavr

ZL25ARM. Płyta bazowa dla modułów diparm z mikrokontrolerami STR912. [rdzeń ARM966E-S]

Moduł wykonawczy z interfejsem Ethernet Sterowanie 8 przekaźnikami i pomiar napięć przez sieć LAN lub WAN

Modem radiowy sterownik

U W A G I D O M O N T A ś U Z E S T A W U L A B O R A T O R Y J N E G O A B C 0 1 U S B 3, A B C 0 2

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701.

AVR DRAGON. INSTRUKCJA OBSŁUGI (wersja 1.0)

ZL4PIC uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC (v.1.0) Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

ZL29ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Kod produktu: MP01611-ZK

ZL9AVR. Płyta bazowa dla modułów ZL7AVR (ATmega128) i ZL1ETH (RTL8019)

ADuCino 360. Zestaw uruchomieniowy dla mikrokontrolerów ADuCM360/361

ZL10PLD. Moduł dippld z układem XC3S200

ARS3-MODEM dokumentacja modemu radiowego do lokalnej transmisji danych w wolnych pasmach 433MHz i 868MHz

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

ZL5PIC. Zestaw uruchomieniowy dla mikrokontrolerów PIC16F887

KA-NUCLEO-F411CE. Płytka rozwojowa z mikrokontrolerem STM32F411CE

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH. PROCESORY OSADZONE kod kursu: ETD 7211 SEMESTR ZIMOWY 2017

ZL11AVR. Zestaw uruchomieniowy z mikrokontrolerem ATtiny2313

Politechnika Wrocławska

ZL9ARM płytka bazowa dla modułów diparm z mikrokontrolerami LPC213x/214x

Kod produktu: MP-BTM222-5V

ZL27ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103

STM32 dla początkujących (i nie tylko)

ZL2ARM easyarm zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S)

KAmduino UNO. Płytka rozwojowa z mikrokontrolerem ATmega328P, kompatybilna z Arduino UNO

Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów AVR

ZL2ARM easyarm zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S)

SPDIF_Gen generator/ tester sygnału cyfrowego S/PDIF

KAmduino UNO. Rev Źródło:

ZL30ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103

ZL2AVR. Zestaw uruchomieniowy z mikrokontrolerem ATmega8

Tab. 1. Zestawienie najważniejszych parametrów wybranych mikrokontrolerów z rodziny LPC2100, które można zastosować w zestawie ZL3ARM.

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

Sterownik-timer z 8 przekaźnikami

ZL16AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega8/48/88/168

UNO R3 Starter Kit do nauki programowania mikroprocesorów AVR

Programator ICP mikrokontrolerów rodziny ST7. Full MFPST7. Lite. Instrukcja użytkownika 03/09

ARMputer, część 1 AVT 922

Interfejs SPI do programatora PUNCH

AVREVB1. Zestaw uruchomieniowy dla mikrokontrolerów AVR. Zestawy uruchomieniowe

Uniwersalny zestaw uruchomieniowy ZL4PIC

ZL19PRG. Programator USB dla układów PLD firmy Altera

Konwerter DAN485-MDIP

LDA-8/ Z wyświetlacz tekstowy

Terminal TR01. Terminal jest przeznaczony do montażu naściennego w czystych i suchych pomieszczeniach.

Wielopunktowy termometr z rejestracją

W.J WIELICZKA

PRZYCISK DO PUSZKI UNIV x

ARS3-ER sterownik z serwerem Web (1) Możliwość załączania 4 wyjść oraz kontroli/ wizualizacji poziomu na 4 wejściach

STEROWNIK LAMP LED MS-1 Konwerter sygnału 0-10V. Agropian System

ISP ADAPTER. Instrukcja obsługi rev.1.1. Copyright 2009 SIBIT

Ultradźwiękowy generator mocy MARP wersja Dokumentacja techniczno-ruchowa

Instrukcja obsługi czytnika MM-R32

8 kanałowy przedłużacz analogowy z RS485

dodatkowe materiały na ftp: ftp://ep.com.pl user: 00865, pass: 00664dyt

DS-2410 z zasilaczem 230/12V 2A - bez zasilania rezerwowego do zamontowania w obudowie tripodu, szlabanu. Na płytce kontrolera są zamontowane:

DS-2410 z zasilaczem 230/12V 2A - bez zasilania rezerwowego do zamontowania w obudowie tripodu, szlabanu. Na płytce kontrolera są zamontowane:

Dokumentacja Techniczna. Konwerter USB/RS-232 na RS-285/422 COTER-24I COTER-24N

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

Parametryzacja przetworników analogowocyfrowych

DOKUMENTACJA PROJEKTU

Mikrokontrolery AVR techniczne aspekty programowania

ZL6PLD zestaw uruchomieniowy dla układów FPGA z rodziny Spartan 3 firmy Xilinx

Płyta uruchomieniowa EBX51

Programator-debugger JTAG/SWIM dla mikrokontrolerów STM32 i STM8

usbcat OPTOIZOLOWANY INTERFEJS USB<->CAT OPTOIZOLOWANE STEROWANIE PTT, CW, FSK GALWANICZNA IZOLACJA AUDIO IN, AUDIO OUT Podręcznik użytkownika

MultiTool instrukcja użytkownika 2010 SFAR

Audio_Gen generator sygnału sinusoidalnego z DSP

Technika mikroprocesorowa. Konsola do gier

INTERFEJS RS232C UNIV x

FREEboard. Zestaw startowy z mikrokontrolerem z rodziny Freescale KINETIS L (Cortex-M0+) i sensorami MEMS 7 DoF

To jeszcze prostsze, MMcc1100!

Centrala alarmowa ALOCK-1

Płytka uruchomieniowa XM64

Płytka uruchomieniowa XM32

Instrukcja obsługi. PROGRAMATOR dualavr. redflu Tarnów

Modem Bluetooth MBL-232/UK

CM Konwerter ModBus RTU slave ModBus RTU slave

ALNET USB - RS Konwerter USB RS 232/422/485 Instrukcja obsługi

Transkrypt:

Mikroprocesorowy interfejs modułu PROJEKTY kamery Mikroprocesorowy interfejs modułu kamery Możliwość dołączenia modułu kamery do układu mikroproc esorowego otwiera nowe możliwości przed urządzeniem. W porównaniu z kamerą użytą w telefonie komórkowym czy laptopie, zyskuje się pełną kontrolę nad modułem i możliwość dostępu do danych obrazu. Takie urządzenie daje możliwość automatycznego wykonywania zdjęć oraz przetwarzania danych obrazu, umożliwiając zastosowanie modułu jako czujnika optycznego o rozszerzonych możliwościach. Rekomendacje: doskonały zestaw do samodzielnego eksperymentowania np. z algorytmami przetwarzania i oceny obrazu. Do niedawna użycie modułu kamery w systemie mikroprocesorowym stanowiło niemałe wyzwanie. Trudności wynikają ze sporej objętości danych obrazu, które trzeba odebrać i zmagazynować w pamięci oraz znacznej szybkości ich transmisji. Jednak teraz nawet małe mikrokontrolery mają duże moce obliczeniowe, a niektóre z nich, jak te z rodziny STM32F2xx i STM32F4xx, wyposażono w specjalny interfejs do współpracy z kamerami przeznaczonymi do wbudowania we własne urządzenie. Ponieważ w dostępnych źródłach nie natknąłem się na wyczerpujący, praktyczny opis sposobu dołączenia modułu kamery, zrodził się pomysł wykonania prezentowanego urządzenia. Jest to płytka z mikrokontrolerem, do którego można dołączyć większość modułów kamer. Płytka może posłużyć do testowania tych modułów i oprogramowania do ich sterowania. Jednak można jej użyć nie tylko jako zestawu ewaluacyjnego, ale również może pełnić funkcje pełnosprawnego urządzenia do wykonywania pojedynczych zdjęć o parametrach kontrolowanych przez użytkownika. Wystarczy skorzystać z przykładowego, dołączonego oprogramowania. Oprócz opisu interfejsu sprzętowego, w kolejnych artykułach krok po kroku zostaną omówione naj- AVT 5391 ważniejsze procedury obsługi modułu, które powinien zawierać program sterujący. Ogólna budowa modułów kamer Ponieważ projekt opisuje praktyczny sposób użycia modułu kamery, należy podać niezbędne informacji o jego budowie, konieczne do zrozumienia zasady działania interfejsu. Głównym elementem każdego modułu kamery jest sensor obrazu. Angielskie określenie tego elementu spotykane to System-On- -A-Chip (SOC) Digital Image Sensor. Sensory mogą być wytwarzane przez różnych producentów, najbardziej popularne są elementy takich firm, jak Micron i Aptina. Producent modułu montuje sensor na płytce drukowanej, dodając do niego niezbędne elementy, takie jak stabilizatory zasilania, elementy bierne, czasami optykę w postaci prostego obiektywu. Dostęp do sterowania modułem (a w gruncie rzeczy sensorem) zapewnia złącze z wyprowadzonymi wszystkimi sygnałami, w tym także liniami zasilającymi. Na ogół różne moduły mają bardzo podobny zestaw sygnałów dostępnych na złączu i mogą być dołączane do opisywanego interfejsu. Największe różnice, nawet w obrębie sensorów tego samego producenta, dotyczą budowy wewnętrznej i adresów rejestrów sterujących, co jest istotne przy tworzeniu oprogramowania sterującego. Opisany w dalszej części artykułu mechanizm transmisji danych obrazka pomiędzy modułem a mikrokontrolerem pozostanie taki sam dla różnych typów modułów. W ofercie AVT* AVT-5391 A Podstawowe informacje: Za pomocą zewnętrznego zasilacza 5 9 V DC lub za pomocą napięcia stabilizowanego 3,3 V DC. Możliwość dołączenia dowolnego, standardowego modułu kamery z interfejsem 8-bitowym. Mikrokontroler STM32F217VGT ze sprzętowym interfejsem kamery. Oprogramowanie, które umożliwia wykonanie i zapisanie zdjęcia. Komunikacja z systemem nadrzędnym za pomocą interfejsu UART. Dodatkowe materiały na CD/FTP: ftp://ep.com.pl, user: 75282, pass: 852sjb64 wzory płytek PCB karty katalogowe i noty aplikacyjne elementów oznaczonych w Wykazie elementów kolorem czerwonym Projekty pokrewne na CD/FTP: (wymienione artykuły są w całości dostępne na CD) AVT-2950 Sterownik kamery OKO (EdW 8/2010) AVT-1467 Wideodetektor ruchu (EP 7/2008) AVT-2341 System nadzoru z kamerami przemysłowymi TV (EdW 1/1999) AVT-368 Automatyczny przełącznik kamer wideo (EP 12/1997) * Uwaga: Zestawy AVT mogą występować w następujących wersjach: AVT xxxx UK to zaprogramowany układ. Tylko i wyłącznie. Bez elementów dodatkowych. AVT xxxx A płytka drukowana PCB (lub płytki drukowane, jeśli w opisie wyraźnie zaznaczono), bez elementów dodatkowych. AVT xxxx A+ płytka drukowana i zaprogramowany układ (czyli połączenie wersji A i wersji UK) bez elementów dodatkowych. AVT xxxx B płytka drukowana (lub płytki) oraz komplet elementów wymieniony w załączniku pdf AVT xxxx C to nic innego jak zmontowany zestaw B, czyli elementy wlutowane w PCB. Należy mieć na uwadze, że o ile nie zaznaczono wyraźnie w opisie, zestaw ten nie ma obudowy ani elementów dodatkowych, które nie zostały wymienione w załączniku pdf AVT xxxx CD oprogramowanie (nieczęsto spotykana wersja, lecz jeśli występuje, to niezbędne oprogramowanie można ściągnąć, klikając w link umieszczony w opisie kitu) Nie każdy zestaw AVT występuje we wszystkich wersjach! Każda wersja ma załączony ten sam plik pdf! Podczas składania zamówienia upewnij się, którą wersję zamawiasz! (UK, A, A+, B lub C). http://sklep.avt.pl REKLAMA 25

PROJEKTY Przy opisie projektu interfejsu oparłem się na aktualnie dostępnych, typowych modułach kamer z sensorami obrazu typu MT9D111/MT9D131. Schemat blokowy sensora obrazu pokazano na rysunku 1. Sygnały pod względem pełnionej funkcji można podzielić na cztery grupy: magistralę danych obrazu Data Out, dwustronną magistralę do transmisji danych do rejestrów wewnętrznych Serial I/O, linie sterujące Sync Signals oraz zasilanie, sygnał zegarowy i pozostałe linie sterujące, które nie są tak istotnie dla standardowej aplikacji modułu. Magistralą danych jest przesyłany strumień odpowiadający kolejnym pikselom obrazu. W niektórych modułach szerokość (liczba bitów) magistrali może być programowana. Prezentowany projekt urządzenia jest przystosowany do współpracy z 8-bitową magistralą równoległą. Dwukierunkowa, szeregowa magistrala I/O daje dostęp do wewnętrznych rejestrów sensora. Za jej pośrednictwem przesyłane są nowe wartości konfigurujące parametry modułu, takie jak: wielkość obrazka, jaskrawość, nasycenie itp. Również poprzez ten interfejs przesyłane są rozkazy inicjujące wykonanie zdjęcia i jego transmisję. W modułach kamer MT9D111/MT9D131 tę rolę pełni są interfejs I 2 C. Linie sterujące dostarczają do mikrokontrolera sygnały synchronizujące transmisję danych obrazu. Bez względu na typ stosowanego modułu powinny być dostępne 4 sygnały sterujące: PIXCLK, którego zbocze służy do odczytu przez mikrokontroler danych kolejnego piksela obrazu. HSYNC, którego aktywny poziom oznacza, że trwa przesyłanie danych kolejnej linii obrazu. VSYNC, którego aktywny poziom oznacza, że magistralą są przesyłane dane kolejnych linii ramki obrazu (określenie ramka oznacza zbiór kompletnych danych jednego obrazu). Do linii sterujących można także zaliczyć sygnał zegara taktującego podawanego z zewnątrz do modułu. Wszystkie wymienione sygnały są dostępne na złączu modułu. Dodatkowo, poprzez złącze jest podawane napięcie zasilające. Wewnętrzny Interfejs DCMI mikrokontrolera Na płytce interfejsu modułu kamery jest zamontowany mikrokontroler STM- 32F217VGT. Ma on wewnętrzny, sprzętowy interfejs DCMI przeznaczony do dołączenia kamery. Składa się on z magistrali danych oraz linii sterujących. Może obsłużyć transfer danych obrazu o szybkości 20 MB/s, a jego działanie w niewielkim stopniu obciąża oprogramowanie. Sposób tworzenia programu, w tym inicjowanie i użycie in- Rysunek 1. Schemat blokowy czujnika obrazu Tabela 1. Przejściówka 20-pin JTAG na 9-pin\ Wtyk miniaturowy 9-pin Złącze IDC20 Opis sygnału JTAG 1 1 +3,3 V (zasilanie JTAG) 2 3 TRST 3 5 TDI 4 7 TMS 5 9 TCK 6 11 Można pozostawić niepodłączone 7 13 TDO 8 15 RESET mikrokontrolera 9 20 GND terfejsu, zostanie opisane w dalszej części artykułu. Schemat ideowy płytki interfejsu Schemat ideowy interfejsu modułu kamery pokazano na rysunku 2. Elementy obrysowane linią przerywaną w najprostszej wersji nie muszą być montowane. Mikrokontroler STM32F217VG działa z zewnętrznym rezonatorem kwarcowym o częstotliwości 25 MHz. Na 18-stykowym złączu JP9 wyprowadzono opisane wcześniej magistrale i sygnały sterujące. Rezystory R7 R10 mają za zadanie tłumienie szkodliwych oscylacji na liniach sygnałów sterujących. Sygnały na złączu są tak rozmieszczone, aby można było bezpośrednio (jeden do jednego) połączyć płytkę z modułem za pomocą 20-żyłowej taśmy ze złączami zaciśniętymi na obu końcach. Rozmieszczenie sygnałów na złączu modułu kamery pokazano na rysunku 3. Sygnały doprowadzone do styków 19 i 20 nie są wykorzystywane i nie muszą być dołączane do interfejsu. Główne napięcie zasilające układy interfejsu o wartości +3,3 V jest dostarczane przez stabilizator U3. Do zasilania modułu kamery użyto napięcia stabilizowanego przez układ U1. Moduł kamery wymaga do zasilania napięcia +2,8 V. Ponieważ stabilizatory o takim napięciu wyjściowym są niepopularne, można zastosować stabilizator +2,5 V i podnieść jego napięcie za pomocą diody lub rezystora. Na płytce dzięki rezy- storowi R10 napięcie wyjściowe U1 zostało podwyższone do oczekiwanego poziomu. Stosując stabilizator +2,8 V, w miejsce R10 należy wlutować zworę. Pamięć EEPROM (U6) może służyć do przechowywania parametrów konfiguracyjnych interfejsu. Złącze JP6 służy do dołączenia dwukolorowej diody sygnalizacyjnej. Kolor jej świecenia może sygnalizować tryb pracy interfejsu. Oprócz typowych elementów biernych, takich jak oporniki i kondensatory filtrujące, na płytce interfejsu powinny jeszcze zostać zamontowane dwa złącza JP2 i JP4. Złącze komunikacyjne Złącze Z2 umożliwia współpracę płytki z dołączonymi urządzeniami zewnętrznymi. Jest to wtyk IDC10 wlutowany w płytkę, do którego łatwo dołączyć taśmę przewodów z gniazdem zaciśniętym na jej końcu. Do styków 1 i 3 złącza JP2 należy doprowadzić napięcie zasilania. Możliwe są dwie konfiguracje: Płytka interfejsowa jest zasilana napięciem stałym z zakresu +5 9 V. W tym wypadku na płytce interfejsu powinny zostać zamontowane zwory Z3 i Z4, zwora Z2 powinna być otwarta. Płytka interfejsowa jest zasilana za pomocą zewnętrznego napięcia stabilizowanego +3,3 V. W tej sytuacji na płytce interfejsu powinna być zamontowana zwora Z2, a zwory Z3 i Z4 powinny być rozwarte. Wówczas stabilizator U3 nie pracuje i można go nie montować. Na stykach 7 i 8 złącza wyprowadzone są linie RxD i TxD interfejsu szeregowego USART mikrokontrolera. Z jego użyciem jest możliwe komunikowanie się z systemem nadrzędnym, a więc sterowanie płytką interfejsową i transmisja danych np. w celu odczytania plików wykonanych zdjęć. Pozostałe wyprowadzenia złącza przewidziane są do wykorzystania w późniejszych rozszerzeniach interfejsu. Aby uzyskać połączenie pomiędzy płytką interfejsu a komputerem jest potrzebny jeszcze układ dopasowujący poziomy napięć (konwerter USART/RS232 albo USART/ USB). Autor w czasie prób używał opisanej 26

Mikroprocesorowy interfejs modułu kamery Rysunek 2. Schemat ideowy płytki interfejsu modułu kamery 27

PROJEKTY Tabela 2. Warianty polecenia ATS400 Pytanie o zakres parametru +++ ATS400?(CR) AT$S400=0-100 jaskrawość Przesłanie nowego parametru +++ ATS400=39(CR) Odczyt ustawionej wartości +++ ATS400>(CR) ATS400<39(CR) w EP 11/2012 Płytki testowej dla radiowego modemu-sterownika wyposażonej w układy dopasowujące poziomy napięć, gniazda oraz zasilacz dostarczający napięcie +5 V. Do połączenia z Płytką testową służy 10-żyłowa taśma przewodów o długości do 1m. Do dołączenia płytki interfejsowej należy wykorzystać gniazdo oznaczone jako ARS3. Za pomocą zwory wybiera się zasilanie napięciem o wartości +5 V. Interfejs JTAG Na złączu JP4 zostały wyprowadzone sygnały interfejsu JTAG mikrokontrolera STM32. Korzystając z programatora (np. ST- -Link) zapisać pamięć Flash mikrokontrolera oraz uruchamiać program w trybie debugera. Jako gniazdo JTAG użyto miniaturowego złącza o rastrze 1,5 mm. Jeśli posiadany programator ma inne złącze, to należy za pomocą przewodów dołączyć odpowiednie Rysunek 3. Złącze modułu kamery lub wykonać przejściówkę składającą się z 9 przewodów oraz złączy dopasowanych do programatora i gniazda na płytce interfejsowej. Autor z powodzeniem od kilku lat używa takiej łączówki, która okazała się trwała i pewna, pomimo wielokrotnego dołączania i odłączania programatora, a miniaturowe, 9-stykowe złącze zajmuje na płytce drukowanej bardzo mało miejsca w porównaniu ze standardowym, 20-stykowym złączem JTAG. Jest to zresztą rozwiązanie stosowane przez wielu producentów sprzętu elektronicznego. Wszystkie elementy potrzebne do zmontowania miniaturowej łączówki portu JTAG można nabyć w handlu. Poszczególne elementy mogą nosić następujące nazwy: gniazdo męskie proste lub kątowe do wlutowania w płytkę (JP4) może nazywać się Pico Blade 9 Pin lub WN09R. wtyk przejściówki składa się z obudowy Pico Blade 9 Pin i może również nosić nazwę korpus złącza żeńskiego HN09. korpus uzupełniany jest kupowanymi oddzielnie stykami Pico Blade lub stykami żeńskimi do korpusu HN. Od strony programatora potrzebne będzie 20 stykowe złącze IDC. W wersji zaciskanej o symbolu IDE20-LF lub IDM20-LF. Styki do korpusu żeńskiego przeznaczone są do zaciskania na przewodzie AWG28 o zewnętrznej średnicy izolacji 0,8 1,2 mm. Dla uniknięcia konieczności zakupu prasy do złącz można posłużyć się domowym Tabela 3. Sekwencja poleceń wyzwalająca wykonanie zdjęcia i jego przesłanie za pomocą UART Transmisja do interfejsu Opis $1P1(CR)2 $A1P/ozo.jpg(CR) Polecenie: wykonaj zdjęcie formatu 2 Odpowiedź: wykonane zdjęcie zostanie umieszczone w wirtualnym katalogu / interfejsu pod tymczasową nazwą ozo.jpg $2D8(CR)/ozo.jpg $B24(CR)1000(CR) Polecenie: inicjacja odczytu pliku /ozo.jpg Odpowiedź: interfejs jest niegotowy i prosi o pauzę 1000 ms $3D8(CR)/ozo.jpg $A3Ds:7543 p:512 d:0 t:0(cr) Polecenie: inicjacja odczytu pliku /ozo.jpg Odpowiedź: rozmiar przesyłanego pliku 7543 bajtów w paczkach o rozmiarze 512 bajtów (parametry data i godzina utworzenia pliku zdjęcia nieużywane) $4D0(CR) $A4dxxxxxxxxxxx... x Polecenie: odczyt pierwszej paczki pliku Odpowiedź: przesłanie 512 bajtów danych xxxxxxxxxxx... x $5D0(CR) $A5dxxxxxxxxxxx... x Odpowiedź: przesłanie 512 kolejnych bajtów danych xxxxxxxxxxx... x......... $2D0(CR) $A2dxxx... x Odpowiedź: przesłanie ostatniej paczki bajtów danych xxx... x $3D0(CR) $A3(CR) Odpowiedź: wszystkie dane zostały przesłane Wykaz elementów Rezystory: (SMD 0805) R1, R3: 100 kv R2, R6: 10 kv R4, R5: 3 kv R7, R8, R90: 100 V R10: 30 V R15, R16: 1 kv Kondensatory: C2, C5: 10 mf (elektr. SMD) C3, C4: 2,2 mf (SMD 0805) C6: 1 mf (elektr. SMD) C8, C9: 15 pf (SMD 0805) C10, C12, C18, C19, C20 C28: 100 nf (SMD 0805) C31, C320: 27 pf (SMD 0805) Półprzewodniki: U1: LM1117-2,5 (SOT223) U3: LM1117-3,3 (TO-252) U4: STM32F217VGT (LQFP100) U6: AT24C256 (SO8) Inne: BT1: bateria CR2032 (3 V) JP2: IDC10 JP9: złącze Pico Blade 9-pin JP5: złącze DNF-15 JP6, JP9: goldpin SD1: gniazdo microsd SD2: gniazdo SD X1: kwarc 25 MHz X2: kwarc 32,768 khz Z1 Z4: zwory (0 V/ SMD 0805) sposobem montażu. W środkowej części styku, która normalnie jest zaciskana, należy przylutować żyłę przewodu stosując jak najmniejszą ilość cyny. Natomiast małe łapki styku za pomocą pęsety należy możliwie najciaśniej zacisnąć na izolacji przewodu tuż powyżej miejsca lutowania. Tak przygotowane 9 przewodów należy wsunąć w kolejne otwory korpusu wtyku, aby się zatrzasnęły. Z drugiej strony przewody należy połączyć ze stykami gniazda IDC20, do którego będzie przyłączony programator. W tabeli 1 umieszczono odpowiednie numery styków przejściówki. Schemat montażowy płytki interfejsowej pokazano na rysunku 4. Jej montaż jest typowy, chociaż może sprawić problem niewprawnym elektronikom ze względu np. na dużą gęstość wyprowadzeń mikrokontrolera STM32. Możliwości przykładowego oprogramowania ARS3 sterującego interfejsem Po zmontowaniu interfejsu można zaprogramować mikrokontroler na płytce przykładowym oprogramowaniem sterującym o nazwie ARS3. Po dołączeniu modułu kamery zostanie utworzona aplikacji kamery-aparatu cyfrowego o następujących możliwościach: wykonanie zdjęcia na żądanie użytkownika, przesłanie pliku zdjęcia do komputera za pomocą UART, wybór rozdzielczości obrazka i jego formatu (BMP/JPG), 28

Mikroprocesorowy interfejs modułu kamery zmiana takich parametrów, jak jaskrawość, kontrast, nasycenie, zmiany szybkości transmisji interfejsu szeregowego. Płytka interfejsu modułu kamery zaprojektowano w taki sposób, aby wraz z modułem można ją było zamontować w obudowie G410 o wymiarach 120 mm 60 mm 40 mm. Do sterowania interfejsem z oprogramowaniem sterującym ARS3 można użyć programu narzędziowego miniarset. Po zasileniu interfejsu i połączeniu z interfejsem RS232/USB komputera, na pierwszej zakładce programu miniarset należy wybrać opcję automatycznego wykrywania dołączonego urządzenia. Gdy to się stanie i zostaną wyświetlone informacje o urządzeniu, będzie można przejść do zakładki test Kamery. Są w niej dostępne opcje wyboru i ustawienia nowych parametrów zdjęcia. Po ich zmianie można wykonać zdjęcie oraz wybrać katalog na dysku, w którym będzie ono zapisane. Po dokonaniu wyboru, plik zdjęcia zostanie automatycznie przesłany i zapisany w wybranym katalogu. ARS3 rozkazy sterujące Do sterowania interfejsem z oprogramowaniem ARS3 nie jest konieczne użycie programu miniarset. Wystarczy znajomość kliku rozkazów i komend, które można wysyłać za pomocą dowolnego programu typu terminal. Rozkazy serwisowe są używane do przesłania nowych ustawień, które zostają zapisane w pamięci EEPROM interfejsu. Takimi ustawieniami są np. poziomy jaskrawości, nasycenia, kontrastu czy wybór szybkości transmisji portu szeregowego interfejsu. Ich wartości są pamiętane nawet po wyłączeniu zasilania. Inicjacja trybu serwisowego następuje przez wysłanie do interfejsu trzech znaków +++. Przed i po transmisji na złączu szeregowym powinna panować przerwa o czasie odpowiadającym przesłaniu 2 znaków. Jeżeli interfejs odpowie komunikatem OK oznacza to, że w ciągu najbliższych 10 s pozostanie w trybie serwisowym i będzie reagował na kolejne rozkazy. Czas automatycznie wydłuża się po każdej prawidłowej transmisji. Tryb serwisowy można zakończyć w dowolnym momencie wysyłając rozkaz ATO. Sekwencja rozkazu kończona jest kodem powrotu karetki CR (13 dziesiętnie). Po rozpoznaniu i wykonaniu rozkazu urządzenie wysyła potwierdzenie OK. W przypadku błędu odsyłany jest komunikat ERROR z numerem błędu. Prawie wszystkie rozkazy serwisowe występują w trzech wariantach. Gdy do interfejsu jest przesyłana nowa wartość po kodzie rozkazu występuje znak =. Gdy Rysunek 4. Schemat montażowy płytki interfejsu modułu kamery chcemy odczytać aktualną wartość parametru po kodzie rozkazu wystąpi znak >. W trzecim wariancie, gdy po kodzie rozkazu zostanie umieszczony znak?, urządzenie w odpowiedzi powinno przesłać zwięzłą informację o przeznaczeniu ustawianego parametru i zakresie jego nastaw. W ten sposób bez konieczności wertowania dokumentacji urządzenie samo się przedstawia użytkownikowi. Jako przykład umieszczono w tabeli 2 użycie trzech wariantów rozkazu ATS400 odpowiadającego za regulację jaskrawości kamery. Listę wszystkich obsługiwanych przez system ARS3 rozkazów serwisowych interfejsu można obejrzeć po uruchomieniu zakładki Rejestry programu miniarset. Polecenia sterujące Polecenia sterujące wymuszają na interfejsie wykonanie określonego działania np. wykonania zdjęcia, przesłania pliku. Interfejs reaguje na dwa polecenia: wykonanie zdjęcia P i przesłanie pliku zdjęcia D. W odpowiedzi przesyłane jest potwierdzenie wykonania rozkazu i kolejne porcje danych pliku zdjęcia. Składnia każdego polecenia jest następująca: $izxxrddd...d gdzie: $ znak oznaczający początek polecenia i znak ASCII z przedziału 1 7 identyfikatora kolejnej transmisji identyfikator kolejnej transmisji powinien być inny od identyfikatora poprzedniej transmisji w przypadku powtórnego wysłania tej samej transmisji identyfikator powinien być taki sam Z znak ASCII określający rodzaj polecenia xx cyfry dziesiętne określające ilość przesyłanych danych (0 brak danych) r znak CR rozdzielający ostatnią cyfrę ilości danych od pierwszego bajtu danych ddd bajty danych W tabeli 3 umieszczono przykład sekwencji poleceń wykonania zdjęcia i przesłania jego pliku z interfejsu do komputera. W kolejnej części artykułu zostanie omówione oprogramowanie mikrokontrolera sterującego dołączonym do interfejsu modułem kamery. Zostaną podane przykłady inicjacji interfejsu DCMI, DMA, modułu kamery. Ryszard Szymaniak REKLAMA 29