Güç bağlantısı

Todo: Örnek güç bağlantısı görseli
Batarya bağlı durumdayken USB takıldığında, güç kaynağı otomatik olarak USB’ye geçer ve batarya devre dışı kalır. USB çıkarıldığında ise batarya otomatik olarak devreye girer ve geliştirme kartına güç sağlamaya devam eder.
USB bağlantısı yapılmadığında, geliştirme kartı 12V bataryanın ters polarite ile bağlanmasına karşı korumaya sahiptir. Ancak bu koruma tam güvence sağlamaz bu yüzden kullanıcı tarafından dikkatli bağlantı yapılması gerekmektedir.
USB takılıyken 12V batarya ters bağlanırsa, geliştirme kartı ciddi şekilde zarar görebilir hatta yanma riski oluşabilir. Bu nedenle USB ile güç bağlantısı varken batarya bağlantısını yapmadan önce polarite mutlaka kontrol edilmelidir.
1. Pinout

Todo: Kartın GPIO pinlerini belirten görsel
GPIO-7
isimli pin varsayılan konfigürasyonda SPI-MCU0 CS1
olarak belirlenmiş
olup Device Tree Overlay ismi verilen dosya aktif edilerek UART-WKUP0 RX
fonksiyonuna dönüştürülebilmektedir.
Benzer şekilde Gemstone VTOL projesinde Bluetooth ihtiyacı olmadığından, ilgili pinler devre
dışı bırakılarak UART-MAIN6
’ya dönüştürülmüştür.
PINS | PINS | ||
---|---|---|---|
3v3 Power | 3v3 Power | 5v Power | 5v Power |
I2C-MCU0 SDA | GPIO-2 | 5v Power | 5v Power |
I2C-MCU0 SCL | GPIO-3 | GND | GND |
GPIO-4 | GPIO-14 | UART-MAIN1 TX | |
GND | GND | GPIO-15 | UART-MAIN1 RX |
GPIO-17 | GPIO-18 | PCM-McASP0 CLK | |
GPIO-27 | GND | GND | |
GPIO-22 | GPIO-23 | ||
3v3 Power | 3v3 Power | GPIO-24 | |
SPI-MCU0 MOSI | GPIO-10 | GND | GND |
SPI-MCU0 MISO | GPIO-9 | GPIO-25 | |
SPI-MCU0 SCLK | GPIO-11 | GPIO-8 | SPI-MCU0 CS0 |
GND | GND | GPIO-7 | SPI-MCU0 CS1 |
I2C-WKUP0 SDA (reserved) | GPIO-0 | GPIO-1 | I2C-WKUP0 SCL (reserved) |
GPIO-5 | GND | GND | |
GPIO-6 | GPIO-12 | PWM-ECAP0 | |
PWM-1B | GPIO-13 | GND | GND |
PCM-McASP0 FS | GPIO-19 | GPIO-16 | |
GPIO-26 | GPIO-20 | PCM-McASP0 DIN | |
GND | GND | GPIO-21 | PCM-McASP0 DOUT |
1.1. UART-MAIN1
Bu UART arayüzüne Gemstone kartta yer alan/dev/ttyS3
cihazı üzerinden erişilebilmektedir.
Komut satırından UART hattını test etmek için picocom
programından yararlanabilirsiniz.
picocom
seri terminal uygulamasıdır, belirtilen seri porta anlık olarak klavyeden basılan karakterleri
gönderirken karşı taraftan gelen verileri de ekrana basar. TX
ve RX
pinlerini jumper kablo yardımıyla
birbirine bağladıktan sonra aşağıdaki komutu çalıştırabilirsiniz. Eğer bağlantılar düzgünse klavyede anlık
bastığınız karakterleri ekranınızda görmeniz gerekmektedir.
1.2. I2C-MCU0
Bu I2C arayüzüne Gemstone kartta yer alan/dev/i2c-1
cihazı üzerinden erişilebilmektedir.
Hatta bağlı çevre birimleri görüntülemek için i2cdetect
komutundan yararlanabilirsiniz.
Örnek bir çıktı aşağıda verilmiştir. Komutun çıktısında UU
ile belirtilen adreslerdeki (0x30
) çevre birimler
I2C hattına bağlı fakat Linux kernel tarafından kullanılmakta, doğrudan adres numarası yazan (0x6b
) çevre birimler
ise I2C hattına bağlı ve boşta anlamına gelmektedir.
1.3. I2C-WKUP0
Bu I2C arayüzü karta 40-pin expansion header üzerinden bağlanan Hardware Attached on Top (HAT) cihazları
tanımlamak için kullanılır. Boot esnasında HAT üzerinde yer alan EEPROM sorgulanır ve cihaz bilgisi okunur.
Eğer karta HAT bağlanmayacaksa bu pinler boşta bırakılmalıdır.
1.4. SPI-MCU0
Bu SPI arayüzüne Gemstone kartta yer alan/dev/spidev0.0
ve /dev/spidev0.1
cihazları üzerinden erişilebilmektedir.
/dev/spidev0.0
cihazı SPI-MCU0 CS0, /dev/spidev0.1
cihazı ise SPI-MCU0 CS1’e karşılık gelmektedir.
Komut satırından SPI hattını test etmek için spi-pipe
programından yararlanabilirsiniz.
spi-pipe
programı stdin’den gelen verileri --device
ayarıyla belirtilen SPI hattına basıp, hattan gelen veriyi de
stdout’a basmaktadır. MOSI
ve MISO
pinlerini jumper kablo yardımıyla birbirine bağladıktan sonra
aşağıdaki komutu çalıştırabilirsiniz. Eğer bağlantılar düzgünse ekranda “Hello World” yazısını görmeniz gerekmektedir.
1.5. PWM-1B
Bu PWM arayüzüne Gemstone kartta yer alan/sys/class/pwm/pwmchip5/pwm1
cihazı üzerinden erişilebilmektedir.
Bu cihazın oluşması için öncelikle export
komutu çalıştırılmalıdır.
Ardından nanosaniye cinsinden period
ve duty_cycle
değerleri aşağıdaki örnekte gösterildiği şekilde istenen
değerlere ayarlanıp cihaza enable
komutu verildikten sonra PWM çıktısı alınabilir.
1.6. PWM-ECAP0
Bu PWM arayüzüne Gemstone kartta yer alan/sys/class/pwm/pwmchip0/pwm0
cihazı üzerinden erişilebilmektedir.
1.7. PCM-McASP0
Pulse-code Modulation (PCM) ya da Texas Instruments SoC’lerindeki adıyla Multichannel Audio Serial Port (McASP), düşük gecikmeli ve yüksek kaliteli dijital ses akışı gerektiren gerçek zamanlı ses işleme uygulamalarında kullanılabilmektedir.FS
pini DAC gibi harici bir ses cihazına frame-sync sinyali sağlarken CLK
pini de benzer şekilde clock sinyali sağlar.
DIN
pini sayesinde I2S mikrofon gibi bir dijital ses cihazından veri girişi, DOUT
pini sayesinde de DAC gibi bir dijital ses cihazına veri çıkışı sağlanabilmektedir.
2. Device Tree
Kart üzerindeki 40-pin giriş/çıkış portlarının kullanılabileceği konfigürasyonlar (UART, PWM, I2C, GPIO, …) device tree overlay adı verilen dosyalarda tanımlanmıştır. İstenen konfigürasyonun/konfigürasyonların aktif edilebilmesi için ilgili overlay dosyalarının bulunup, bootloader’a liste olarak verilmesi gerekmektedir. Texas Instruments ARM64 tabanlı SoC’ler için tüm overlay dosyalarının kaynak kodları t3gemstone/linux projesi içerisindearch/arm64/boot/dts/ti
dizini altında yer almaktadır. T3-GEM-O1 kartı için olanlar k3-am67a-t3-gem-o1-<overlay_adi>.dtso
biçiminde
isimlendirilmiştir. Her bir overlay dosyasının başında hangi amaçla oluşturulduğuna dair bilgi yer almaktadır.
2.1. Örnek: UART6 sinyallerinin 40-pin HAT’e yönlendirilmesi
T3-GEM-O1’in 40-pin HAT’i üzerinde varsayılan olarak sadece 1 adet seri port bulunmaktadır. Birden fazla seri porta ihtiyaç duyan projeler için 40-pin HAT üzerindeki başka pinlerin de seri porta dönüştürülmesi gerekmektedir.2.1.1. Pinout’un İncelenmesi
T3-GEM-O1’in pinout’u incelendiğinde HAT üzerindeki 7 ve 11 numaralı pinlerin UART6_RX ve UART6_TX olarak kullanılabileceği görülmektedir.2.1.2. İlgili Overlay Dosyasının Bulunması
Sonraki aşamada istenen konfigürasyonu hangi device tree overlay dosyasının yaptığının bulunması gerekmektedir. Device tree overlay dosyalarının tümü geliştirme kartının içerisindeki/boot/overlays
klasöründe bulunmaktadır.
ls /boot/overlays
komutu çalıştırılarak hepsi listelenebilir.
2.1.3. uEnv.txt Dosyasının Güncellenmesi
Bu örnektek3-am67a-t3-gem-o1-uart-ttys6.dtbo
adlı overlay dosyası kullanılacaktır. Bootloader’ın bu dosyayı
işletim sistemi başlatılmadan önce yükleyebilmesi için /boot/uEnv.txt
dosyasındaki overlays
kısmına
aşağıdaki gibi eklenmelidir. Overlay dosya adları arasında bir boşluk kalacak şekilde ekleme yapılmaktadır.
overlays=k3-am67a-t3-gem-o1-spidev0-2cs.dtbo k3-am67a-t3-gem-o1-i2c1-400000.dtbo k3-am67a-t3-gem-o1-uart-ttys6.dtbo
2.1.4. Kontrol
Değişiklikleri kaydettikten sonra kartreboot
komutuyla yeniden başlatılmalıdır.
Ardından ls /proc/device-tree/chosen/overlays
komutuyla ilgili overlay’in eklenip
eklenmediği kontrol edilmelidir.
/dev/ttyS6
cihazı oluşmuş olacaktır.