Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

Iteaduino Plus A20 - część 2

msz
-
-
Posty:6
Rejestracja:15 cze 2014, o 00:37
Iteaduino Plus A20 - część 2

Postautor: msz » 14 sie 2014, o 10:25

2. System operacyjny
System operacyjny może być zainstalowany na karcie microSD, pamięci Flash NAND znajdującej się na płytce procesorowej lub zewnętrznym dysku twardym podłączonym przez interfejs SATA. Na stronie producent umieścił kilka systemów operacyjnych Linux i Android przeznaczonych do uruchomienia na platformach A10/A20. Mamy do dyspozycji Android 4.2, AndroidTV, Lubuntu, IteadOS, Cubian, Arch.

Przed uruchomieniem zestawu Iteaduino należy przygotować kartę pamięci pobierając odpowiednie dla danego procesora archiwum z obrazem. System operacyjny przygotowany dla procesora A10 nie uruchomi się na A20. Podobnie jest w przypadku obrazów dla konkretnego rodzaju pamięci tj. przeznaczonych dla kart SD oraz pamięci NAND. Nie mogą być instalowane zamiennie tzn. obraz dla pamięci NAND na karcie SD. Trzeba też zdawać sobie sprawę z tego, iż niektóre systemy uruchamiane z kart SD mogą modyfikować zawartość wcześniej zaprogramowanych pamięci Flash, co powoduje że system do tej pamięci trzeba wgrać ponownie.
Obraz systemu zajmuje ponad 3,6GB, warto jednak wybrać kartę SD o pojemności co najmniej 8GB, aby nie było później problemu z instalacją dodatkowych pakietów. Po rozpakowaniu obrazu, do jego umieszczenia na karcie SD można wykorzystać program Win32Imager pracujący pod kontrolą systemu Windows.

Po umieszczeniu karty SD w slocie można przystąpić do uruchomienia Iteaduino. Komputer ten wymaga zasilania 5 V o wydajności prądowej przynajmniej 1 A podłączanego do gniazda microUSB. Gdy podłączony zostanie dysk twardy powinien zostać zastosowany zasilacz o wydajności prądowej co najmniej 2,5 A.
IteadOS 2.jpg
Podczas pierwszego uruchomienia nastąpi rozszerzenie partycji do maksymalnego rozmiaru karty SD.
Urządzenie nie posiada żadnych diod sygnalizujących ładowanie systemu operacyjnego i przez pierwsze kilka sekund przy braku widocznych reakcji komputera (wygaszony monitor) może ta sytuacja wprowadzać użytkownika w błąd. System z karty SD uruchamiany jest w ciągu nieco ponad 30 sekund (czas liczony od włączenia zasilania do wyświetlenia ekranu logowania).

3. Biblioteka IteadOS SDK
Dostęp do układów peryferyjnych dołączonych do procesora zapewnia biblioteka IteadOS SDK. Trzeba ją zainstalować osobno po wgraniu systemu na kartę za pomocą poleceń wpisywanych w terminalu:

$ git clone https://github.com/iteadsw/SDK.git
$ cd SDK
$ make Iteaduino_Plus
$ vi config.mk
$ make
$ sudo make install

Wersję zainstalowanego pakietu można zweryfikować przez polecenie:
$ iteadcompile -v

SDK jest często aktualizowane przez twórców, więc warto śledzić blog i githuba (https://github.com/iteadsw).

Aktualna wersja to 2.7. Biblioteka zawiera wsparcie dla obsługi:
- prostych operacji GPIO na pojedynczych liniach portów,
- operacji na 8- lub 16-bitowej szynie danych,
- interfejsu UART,
- interfejsu SPI,
- interfejsu I2C,
- funkcji czasowych (opóźnienia),
- modułów GPS, GSM/GPRS(SIM900, SIM908), NFC (PN532), nRF24L01, wyświetlaczy LCD.
Możliwe jest uruchamianie programów napisanych w językach C/C++, Arduino, python.

Funkcje systemu IteadOS udostępnianie przez SDK

Dostęp do wyprowadzeń GPIO
pinMode ()
digitalWrite ()
digitalRead ()

Obsługa 8-bitowej szyny I/O
Set8BitsBUS()
digitalWrite8()
digitalRead8()

Obsługa 16-bitowej szyny I/O
Set16BitsBUS()
digitalWrite16()
digitalRead16()

Generacja przebiegów PWM
analogWrite ()

Funkcje odmierzające czas
millis ()
micros ()
delay ()
delayMicroseconds ()

Obsługa interfejsów szeregowych
serialWrite ()
serialRead ()
serialEnd ()
serialBegin ()
serialPrint ()
serialPrintln ()
serialAvailable ()
serialFlush ()

Obsługa interfejsu SPI
SPIbegin()
SPIend()
SPIsetClockDivider()
SPIsetDataMode()
SPIsetBitOrder()
SPItransfer()

Obsługa interfejsu TWI/I2C
Wirebegin()
WirebeginTransmission()
Wirewrite()
WireendTransmission()
WirerequestFrom()
Wireavailable()
Wireread()
Wireend()

Kompilację programu przeprowadza się za pomocą polecenia:
$ iteadcompile <Nazwa programu> <Nazwa pliku źródłowego>

Skompilowany program można uruchomić:
$ sudo ./<Nazwa programu>


4. Aplikacja

Korzystając z płytki Iteaduino Plus A20 zamierzam zbudować modułowy system sterująco-pomiarowy. Poza zestawem Iteaduino Plus będzie on zawierał:
- moduł 8-wejść/wyjść z izolacją galwaniczną,
- moduł wejść o dopuszczalnym napięciu do 24V,
- moduł przekaźników,
- moduł triaków,
- moduły interfejsów szeregowych RS232 oraz RS485,
- moduł interfejsu szeregowego CAN,
- moduł przetwornika analogowo-cyfrowego,
- moduł przetwornika cyfrowo-analogowego,
- moduł ekspandera 16 linii I/O ma magistrali SPI i I2C,
- moduł generatora DDS.

Schemat blokowy aplikacji pokazany jest na rysunku:
Aplikacja2.jpg
Wykorzystując wybrane moduły i napisane przez użytkownika oprogramowanie będzie możliwa budowa różnych układów automatyki.

W kolejnych wątkach opiszę moduły oraz przedstawię przykładowe szkice Arduino do ich obsługi. Każdy z opracowanych modułów będzie znajdował się na osobnej płytce. W ramach testów są one budowane na płytkach uniwersalnych lub stykowych.

Wróć do „Opisy i oceny aplikacji”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 4 gości