TFT-LCD Sürme Metodları ?

Başlatan fgokcegoz, 28 Haziran 2013, 11:24:28

fgokcegoz

Merhaba arkadaşlar.
Bu TFT-LCD ler şu sıralar oldukça popüler... Ve birçok kişi uğraşıyor benim gibi. Fakat bununla birlikte bir bilgi karmaşası mevcut. TFT-LCD nedir, nasıl sürülür, hangi şekilde sürme metodları uygulanmaktadır, bunları derli toplu anlatan bir döküman varmıdır acaba ?

Mesela Çinden TFT-LCD modül temin ediyoruz. Üzerinde HX8232 driver var. Bu ne anlama gelmektedir mesela. Bu TFT yi STM32 ile sürmek istesem nasıl bir yöntem izlemeliyim. Arada bir kontrol kartına ihtiyacım var mıdır ? (SSD1963 barındıran bir kart gibi...)

Mesela ILI932x gibi entegreler mevcut. Bu entegreler ne işe yarar ? SSD1963 ile aynı vazifeyi gören başka bir entegremidir bu ILI932x serisi... Elimde STM3220G kiti mevcut. Kitin üzerinde de 3.2" bir TFT var. Ampire marka ILI932x driver varmış üzerinde. Bu entegre TFT nin 'CAM' diye tabir edilen kısmının arkasındamıdır yoksa nerededir ? Kit üzerinde TFT nin yapıştırılmış olduğu bir PCB var, yoksa onun üzeride midir ? Ben anlayamadım doğrusu. Kitin şemalarını incelediğimde böyle bir entegre nerede olduğunuda göremiyorum. Muhtemelen modüle dahil olduğunu düşünüyorum ama emin değilim.

Bir başka edindiğim bilgiye göre, TFT modüller üzerinde camı süren bir entegre var imiş ! Ayrıca SSD1963 gibi bir entegrenin olduğu, bir kontrol borduna ihtiyacımızda var imiş. Yani FPC konnektörlü bir TFT yi elimize aldığımızda bunun üzerinde "cam + camı süren ic + fpc bağlantısı" mı bulunmaktadır ? SSD1963 lü veya ILI932x gibi bir entegre ile oluşturulmuş bir kontrol borduna ihtiyacımız varmıdır, anlayamıyorum...

Ayrıca yazılım tarafında nasıl metodlar uygulanıyor bilmiyorum. STM32 deki FSMC ile sürmek demek ne demek ? Ben mesela ekrana bir resim basmak istiyorum. TFT ye göndermem gereken byte dizisini gönderdikten sonra benim işim (mcu nun işi) bitiyor mu ? Veya farklı olarak 16bit RGB (5-6-5) formatında sürmeyi nasıl anlamak lazım ? gibi birçok soru var kafamda...

Açıkçası kafam fena karışmış durumda...! Bu konuda beni aydınlatacak bir kardeşim var ise beni çok sevindirir...
"Vicdanın ziyası, ulûm-u diniyedir. Aklın nuru, fünun-u medeniyedir. İkisinin imtizacıyla hakikat tecelli eder." (Bediüzzaman Said Nursi)

Burak B

"... a healthy dose of paranoia leads to better systems." Jack Ganssle

pisayisi

Stm32 lerdeki fsmc modülü aynızamanda ram hafızaları sürmek için de kullanılır. Konu tft LCD olunca burda yapılmak istenen hızlı birşekilde tft nin görüntüyü oluşturan atıyorum 320x240 lık data matrisine görüntü bilgisini oluşturan değerleri ram hafıza ya yazıyormuş gibi yazar. LCD ye ait kontrolcüye ise control ve data register değerlerini kullanarak tft nin geriplanda ram hafızasına yazılan piksel bilgisini görünür hale getirirsiniz ve ekrana bir değer basmış olursunuz. Yani siz LCD ye bir bilgi gönderdiğinizde ekrana basılmadan önce fsmc modülü ilgili bilgiyi tft nin ram bölgesine yazmış olacak ve sizin bu bölgeye bilgi yazıldı mı gibi bir derdiniz kalmayacaktır. İli93xx ya da ssdxxx serisi kontrolcüler tft nin rami ile mikroişlemciyi haberleştirirler genelde xpos ypos bilgisi basan register değerleri dışında LCD yi kontrol eden paramaetreleri datasheet den okuyarak driver yazılabilir.

inline void LCD_VSetCursor(u16 Xpos, u16 Ypos)
{
		LCD_WriteReg(R200, Xpos);
		LCD_WriteReg(R201, Ypos);				    
} 


örneğin R200 ve R201 register değerleriniin farklı kontrolcülerde değştiğini gördüm. Örneğin ssd1289 için xpos 4e değerini isterken ypos 4f değerini alır. Katalog larda hepsi mevcut ancak LCD için driver  yazmak çok zaman kaybettirir buna girmeye lüzum yok hazır yazılmış çizilmiş herşey mevcut...
Murat

polleme

Aşağıda linkte verdiğim de bir TFT LCD modül ama sürmeye gerek yok. Sarı girişinden bildiğimiz kompozit video sinyalini veriyorsunuz, LCD monitör gibi çalışıyor. Sizin kastettiğiniz bu mudur? Eğer bu değilse bahsettiğiniz TFT LCD'nin iletişim arayüzü nedir? (SPI, I2C, UART, vs)

http://www.elektrovadi.com/35-RENKLI-TFT-MODUL,PR-479.html

Nedenler

ILI serisi driver kullanan bir iki TFT ekran sürmüştüm zamanında. PIC 18F452 ile üstelik. Sürme hızı olarak tabiki kullanılabilir değil fakat görmek açısından. LPCxpresso kit de almıştım iki tane fakat projeye devam etmek kısmet olmadı.
Ekranların pin dizilimlerini bulmak problem oluyor. Pin dizilimlerini ve üzerindeki driverı bildikten sonra gerisi sizin yazılımcılığınıza kalıyor.
Driverın pdf dosyasında kontrol bitleri ve ilitişim arayüz bilgileri mevcut.
PDF'den yardım alarak data gönder, komut gönder gibi bir iki fonksiyon yazacaksınız 2x16 lcd ekran sürüyor gibi.
Daha sonra yine pdf'de mevcut olan ekran ayarlarını yapmak için (iletişim arayüzü seçimi, ekran boyutu ayarlaması, parlaklık vs) init kodları göndereceksiniz. Bunlar da basit.
Gerisi ekranla sizin aranızda. Yazı yazdırmak isterseniz değişik boyutlarda font dizileri tanımlayacaksınız. İnternetteki projelerde hazır bulmak mümkün.
Resim göstermek için jpg, png gibi dosya türlerinden bytelar halinde dizilere çeviren programlar mevcut. Image2Lcd kullanmıştım sanırım.
Daha ileriki aşamalarda sd kartta bulunan resimler de direk karttan gösterilebilir.
TFT hakkında tüm bilgi ve dökümanları şu konudan bulmuştum. https://www.picproje.org/index.php/topic,27569.msg354061/topicseen.html#msg354061

polleme

Bu LCD veya GLCD ekranlarda ekrana gönderilecek grafik datayı hesaplayacak işe yarayacak yazılımlar var mı? Örneğin bir resim veya metni ben uğraşmadan diziye çevirsin ve o bilgiyi program içinde kullanayım.

LukeSkywalker

"Visiual tft" tam belirttiğiniz gibi bir program.

polleme

Alıntı yapılan: LukeSkywalker - 29 Haziran 2013, 17:10:15
"Visiual tft" tam belirttiğiniz gibi bir program.

Şimdi indirip yükleyip baktım, beklentimin de çok ötesinde inanılmaz özellikleri olan bir program. Sadece oluşturulan ekrana ait datayı oluşturmakla kalmıyor, ana programın tüm şablonunu da oluşturuyor. Buna ekrana buton ekleme gibi özellikler de dahil. Tek kötü yanı, seçilebilecek mikroişlemciler için kod oluşturması. Ben o işlemcilerden birini kullanmayacaksam (örneğin Arduino kullanacaksam) oluşan o kodun içinden gerekli olanları ayıklayıp almam gerekiyor. Bu program kesinlikle çok işe yarar. Ücretli ve 100 USD civarında, demo versiyonu 2K'ya kadar kullanılabiliyor.

Ben küçük tek dosyadan oluşan EXE formatında birşey hayal etmiştim, böylece işlemci bağımsız üretilen dataları kullanabilirdim ama sanırım gerek yok, Visual TFT ile de aynı işlem yapılabilir.


LukeSkywalker


Veli B.

Arama yapınca çıkmıyor. Link verebilir misiniz?


polleme

Bir deneyeyim. Bu arada Mikroe web sitesine bakarken MikroC for PIC'in v.6.0.0 versiyonunu gördüm, aşağıdaki ifade var, bu versiyon ile ILI serisi dahil olmak üzere TFT desteği veriyorlar. Bör önceki versiyonda durum nasıldı bilmiyorum ama güzel gelişme.

New Libraries
TFT library now supports HX8347G, ILI9340 and ILI9481 controllers. We provided source code of low level TFT functions.