Güç bağlantısı

USB-C ile

Harici güç kaynağı ile
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 CS2 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.
| 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 CS2 |
| 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
1.4. SPI-MCU0
Bu SPI arayüzüne Gemstone kartta yer alan/dev/spidev0.0 ve /dev/spidev0.2 cihazları üzerinden erişilebilmektedir.
/dev/spidev0.0 cihazı SPI-MCU0 CS0, /dev/spidev0.2 cihazı ise SPI-MCU0 CS2’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, bu 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.
