LPC2138 Tek Çipli VGA Bilgisayar

LPC2138 Tek Çipli VGA Bilgisayar

Bu çalışma, klasik anlamda bir PC kullanmadan VGA monitör, klavye, fare, SD kart depolama ve seri haberleşme gibi işlevleri tek bir gömülü sistemde bir araya getirmeyi hedefleyen ilginç bir projedir. Sistemin merkezinde LPC2138 ARM7 tabanlı mikrodenetleyici bulunur ve görüntü üretimi, giriş işleme, depolama erişimi ve temel kullanıcı arayüzü doğrudan bu işlemci üzerinden yürütülür.

Projenin temel fikri, küçük karakter LCD’ler yerine standart bir VGA monitör kullanarak daha okunabilir ve daha işlevsel bir kullanıcı arayüzü oluşturmaktır. Bu sayede tek amaçlı bir gömülü kart, yazı gösterebilen, grafik çizebilen, SD karttan veri okuyabilen ve klavye ile kontrol edilebilen düşük maliyetli bir mini sisteme dönüşür.

arm-vga-arm7-LPC2138

VGA çıkışı nasıl üretiliyor?

Bu projede ayrı bir ekran sürücü entegresi kullanılmadan, LPC2138 yazılım yardımıyla VGA sinyallerini üretir.

Yatay senkron işareti bir PWM kanalı ile oluşturulur; bu kesme yapısı içinde her satırın görüntü verisi dışarı verilir ve dikey senkron da yine yazılım akışı içinde yönetilir.

Böylece işlemci yalnızca veri hesaplamakla kalmaz, aynı zamanda ekran zamanlamasını da doğrudan üstlenir.

Verilen VGA alt şemasında kırmızı, yeşil ve mavi hatlarının seri dirençler üzerinden konnektöre götürüldüğü, yatay ve düşey senkron hatlarının ise doğrudan sürüldüğü görülür.

Bu, dışarıda ayrı bir video DAC katı kurmadan daha sade bir tasarım elde etmek için seçilmiş pratik bir çözümdür.

Benzer mantıkla hazırlanmış başka bir çalışmaya bakmak isteyenler için LPC2138 ile VGA sinyali üreten proje de fikir verebilir.

PS/2 klavye, RTC ve SD kart bölümleri

isp-ps2+rtc-sdcard-vga-lpc2138-single-chip-vga-computer

Kullanıcı girişi tarafında PS/2 klavye arabirimi tercih edilmiş.

Bu yapı yalnızca veri ve saat hattı ile çalıştığı için ek donanım yükü düşüktür.

Proje açıklamasına göre klavye girişleri ASCII karşılıklarına çevrilir ve genişletilmiş tuşlar yazılım içinde ayrı kodlarla işlenir.

Gerçek zaman bilgisi için kartta DS1302 harici RTC entegresi yer alır. Verilen alt şemada 32.768 kHz kristal ve yedek besleme tarafı da görülüyor.

Bu bölüm, saat-tarih bilgisinin ana sistem kapatılsa bile korunabilmesi açısından önemlidir.

Depolama tarafında SD kart kullanılmış ve erişim SPI benzeri seri yapı üzerinden gerçekleştirilmiştir.

Kaynak metinde FAT16 dosya sistemi özellikle vurgulanır; amaç kartın PC tarafında da kolay okunabilmesidir.

Bu mantık, gömülü sistemde dosya tabanlı çalışma isteyenler için oldukça kullanışlıdır.

Firmware tarafında neden Forth tercih edilmiş?

Bu proje sadece sabit fonksiyonlu bir donanım kartı olarak düşünülmemiş.

Kaynak açıklamada, sistemin üzerinde çalışan yerleşik bir Forth ortamı bulunduğu ve bunun aynı zamanda işletim sistemi, editör ve hata ayıklama altyapısı gibi davrandığı anlatılıyor. Böylece kullanıcı sadece önceden derlenmiş kod çalıştırmakla kalmıyor, sistem üzerinde etkileşimli geliştirme de yapabiliyor.

Bu yaklaşım özellikle 32 kB gibi sınırlı dahili RAM ile daha verimli çalışabilmek için seçilmiş.

Metinde görülen komut listeleri de projenin yalnızca ekran üreten bir demo olmadığını, dosya erişimi, saat fonksiyonları, VGA komutları, seri haberleşme ve depolama işlemleri için geniş bir yazılım altyapısı sunduğunu gösteriyor.

Seri haberleşme, USB ve programlama altyapısı

Kaynak açıklamaya göre kart, iki UART üzerinden farklı haberleşme seçenekleri sunuyor.

RS232 bağlantısı temel haberleşme için düşünülürken, daha yüksek hız gereken durumlarda CP2102 tabanlı USB-UART köprüsü kullanılıyor.

Bu yapı sayesinde sistem, PC ile daha rahat veri alışverişi yapabiliyor. Test ve izleme tarafında kullanılabilecek bir seri port terminal programı bu tarz projelerde doğal olarak işe yarar.

Programlama tarafında ise ilginç bir yardımcı denetleyici çözümü bulunuyor.

Amaç, LPC2138’i uzak bağlantılarda bile resetlemek veya ISP moduna almak için RTS ve DTR gibi klasik PC el sıkışma hatlarına mecbur kalmamak.

Bu yüzden ayrı bir küçük mikrodenetleyici üzerinden reset ve programlama kontrolü yapılmış.

Not: Proje metninde bu yardımcı ISP denetleyicisi PIC12F529 olarak anılıyor.

Ancak verilen ISP alt şemasında çizilen entegre PIC12F675 olarak etiketlenmiş.

Bu nedenle yeniden üretim yapılacaksa bu yardımcı bölüm, orijinal PCB dosyası veya kaynak kodla ayrıca doğrulanmalıdır.

Şemalardan çıkarılan ana bloklar

BölümKullanılan elemanlarGörev
Ana işlemciLPC2138VGA üretimi, giriş işleme, dosya sistemi ve haberleşme kontrolünü üstlenir.
RTCDS1302, 32.768 kHz kristalSaat ve tarih bilgisini tutar.
PS/2 arayüzüPS/2 konnektörü, pull-up dirençleriKlavye veya benzeri giriş cihazlarını sisteme bağlar.
SD kart bölümüSD kart konnektörü, SPI hatları, güç anahtarlama elemanlarıFAT16 tabanlı dosya depolama alanı sağlar.
VGA çıkışıRGB seri dirençleri, HSYNC ve VSYNC hatlarıStandart VGA monitöre görüntü aktarır.
ISP yardımcı denetleyiciPIC12F529 veya PIC12F675 olarak geçen alt blokLPC2138 reset ve programlama modunu kontrol eder.

Bu proje neden dikkat çekici?

Asıl ilginç nokta, harici ekran denetleyicisi, büyük RAM veya ayrı depolama işlemcisi kullanmadan bir LPC2138 ile kullanılabilir seviyede görüntü, giriş ve depolama altyapısı kurulmuş olmasıdır.

Bugün çok daha güçlü mikrodenetleyicilerle benzeri işler daha rahat yapılabiliyor olsa da, bu tasarımın değeri sade donanımla iyi düşünülmüş yazılımın neler başarabileceğini göstermesidir.

Özellikle aynı işlemci ailesi ile hazırlanmış başka projeler görmek isteyenler için LPC2138 tabanlı dijital ses oynatıcı içeriği de ilgi çekebilir.

waveform philips arm design contest 2005 nopc a single chip vga computer

Dikkat edilmesi gerekenler

  • Verilen şemalar tam ana kart şeması değil, daha çok alt blokları gösteriyor. Bu yüzden birebir üretimden önce PCB ve kaynak dosyaların da kontrol edilmesi gerekir.
  • ISP yardımcı denetleyici için metin ve şema arasında parça kodu uyuşmazlığı vardır.
  • VGA çıkışı doğrudan işlemci zamanlamasına dayandığı için yazılım zamanlaması bozulursa görüntü kararlılığı da bozulur.
  • FAT16 tercihinin nedeni düşük bellek yüküdür; bu yapı modern büyük kartlar yerine dönemin daha küçük kapasiteli SD kartlarıyla daha uyumludur.

noPC, adı gibi gerçekten PC olmadan çalışan küçük bir gömülü bilgisayar fikrini pratiğe döken etkileyici bir projedir.

LPC2138 ile VGA sinyali üretmek, PS/2 girişleri okumak, SD kart üzerinde FAT16 dosya sistemi kullanmak, DS1302 ile saat tutmak ve seri haberleşme üzerinden sistemle etkileşmek aynı kart üzerinde toplanmıştır.

Paylaş:

Yorum Yap