@delimawi, şu cihazın HDMI to HDMI Pal blending lisi olsaydı
epey işime yarardı.
Şimdi bu dediğiniz iş aslında hedefi oldukça genişletiyor. Bu çapta bir donanımla olacak gibi değil. Zaten sadece bulabildiğim en bol ve ucuz FPGA olan bu chip ile, 800x600 üzerinde bir timing üretmek de pek olası değil. Aynı şekilde HDMI sample etmek de oldukça zor ve meşakkatli.
Burada yaptığımız olay aslında C64 çıkış sinyaline en yakın HDMI format olan 720x576p@50Hz formatını üretmek. Bu sayede C64'ten tek bir satır bilgisini alıp, bunu iki misli hızla HDMI'a iki satır olarak gönderiyoruz. Yani sadece scan doubling yapıyoruz. C64 64uS içinde tam bir satır gönderdiği anda biz tam iki satır göndermiş olmalıyız ki bir sonraki satırda senkronizasyon bozulmadan işlem devam etsin.
Hatta C64 625 satır göndermesi gerekirken, 624 satır gönderiyor ve bu konuda arada buffer kullanmadığımız için yapabileceğimiz çok birşey yok, aynen olduğu gibi bunu da HDMI'a 624 satır olarak gönderiyoruz. Bu aslında HDMI formatından saptığımız nokta ve benim de endişeli olduğum yer burası. Eğer herhangi bir TV yada monitor bu gelen sinyal tam olarak standarda uygun değil diye göstermemzlik yaparsa gol yeriz.
Ben elimdeki iki adet LG, iki adet ASUS, bir adet Viewsonic ile denedim, hiçbiri sıkıntı çıkarmadı. Müsait olduğumda Samsung ile de deneyeceğim. Gördüğüm kadarı ile ASUS'lar timing konusunda daha hassas, çok sağını solunu çekmeye gelmiyorlar, mızıtabiliyorlar. Buna rağmen bu sinyali sorunsuz gösterdiler. Zaten üretim falan yapacak olursak bir çok TV ve monitörde önceden test ederiz.
Bu arada ben bu topic'i FPGA ağırlıklı tecrübe paylaşmak için açmıştım. Hatta projenin son durumundaki FPGA/Verilog kısımlarını teknik makale şeklinde paylaşmak istiyorum. Ama gördüğüm kadarıyla bu kısımlarla pek ilgilenen olmuyor. Yazması da açıkçası hem zaman alıyor hem de çok keyifli değil. Bu sebeple kısa kısa geçtim teknik yerleri. Amacım bilgi saklamak değil yanlış anlaşılmasın, bilginin paylaşarak çoğalacağına inanan biriyim. Eğer talep varsa hiç çekinmeden son duruma ait teknik bir makale yazıp yayınlarım burada. Birazcık konuya yakın olan ve üzerinde birşeyler geliştirmek isteyen arkadaşlar da yararlanabilir. Hatta projeyi replike edebilirler.
İşin ürün ve proje kısmı için ayrıca bir topik açacağım ve final üründe olması gereken talepleri önceden toplayacağım. Örneğin Yavuz Abi'nin NTSC talebi, belki bir RGB girişi? Ses anladığım kadarıyla isteniyor, buna değineceğim. Ayrıca birçok parametre var bence ayarlanabilir olan. Ve hakikaten bir göze güzel gelen diğer hoş gelmeyebiliyor. Bu sayfalarda bir arkadaş dile getirmişti, scanlines kapatılabilsin diye mesela. Bu ve buna benzer, scanline yüzdesi, pal blending miktarı, renk, kontrast, ışık ayarları vb vb parametreler eklenmeli.
Üzerinde bir LCD olsun istemiyorum, bu sebeple tüm bu ayarlar OSD gibi bir interface üzerinde yapılabilse güzel olur. Tabi bu durumda FPGA içinde bir de OSD modülü gerçekleştirmek gerekecek. Şu anda %11'i kullanılmış durumda, yani bol bol yer var hala.
HDMI hatları üzerinden video sinyali haricinde data paketleri de gönderilebiliyor. Ancak data paketlerini göndermek daha zor. Video paketleri herhangi bir algoritme olmadan sıra ile gönderilirken, data paketleri H ve V blanking zamanlarında gönderiliyor ve daha sofistike bir kodlama ile transfer ediliyor. Malesef ses paketleri de buna dahil. Yapılabilir görünüyor ama çok kolay değil. Önümüzdeki hafta bu konuya vaktim olduğunca bakacağım. Eğer data paketlerini görüntü olmayan zamanlarda formatı bozmadan enjekte edebilirsek sesi de hallederiz. Ses için sadece analog dijital çevirici bir entegreye daha ihtiyacımız olacak.
Profesyonel hayatımda yaptığım işe değinecek olursam, üretici firmalar için yazılım ve donanım ağırlıklı projeler geliştiriyorum. Kendi şirketim var. Üretim yapmıyorum. Ürün prototip aşamasına geldikten sonra gerekli olan tüm üretim bilgisi ile beraber müşteri firmaya teslim ediliyor. Sadece sonrasında isteniyor ise üretim ile ilgili danışmanlık veriyorum. Dolayısı ile herhangi bir elektronik donanımın tüm üretim süreçlerine hakimim. Ancak bu tarz profesyonel ürünlerin fiyatlandırması bambaşka bir konu ve açıkçası benim verdiğim hizmetin dışında kalıyor. Normalde seri üretimi yapılan bir ürün, torba maliyeti tabir ettiğimiz ham maliyetin yaklaşık üç katına satışa sunuluyor. Ancak dediğim gibi pazara ve üretim miktarına bağlı olarak çok daha yüksek kar marjlarıyla satılan ürünler de geliştirdim.
Burada geliştirilmiş herhangi bir proje ürün haline gelse bile, eğer çok yüksek satış adetlerine ulaşmıyorsa, ki burada bahsettiğim adetler 1000 ve üzeri, ne otomatik dizgi hizmeti veren firmalardan yararlanabiliriz, ne de yüksek adetli ham madde siparişi avantajlarından yararlanmak mümkün olur. Dolayısı ile bu tarz bir ürünü benim ticari olarak görmem pek mümkün değil. Zira elde dizgi, testler ve lojistik planlama (siparişlerin takibi, postalama vb...) için harcanan zaman, bu hizmetlere biçilecek bedel, az miktarda ürün için anlamsız yüksek olacaktır.
Düşük adetli ticari olmayan üretimler ise mümkün olabilir. Örneğin uzakdoğudan 20-30 PCB sipariş edilir. Gene aliexpress, ebay vb kaynaklardan entegreler, parçalar toplanır. Tamamen boş olduğum zamanlarda birer ikişer dizgi yaparak, özellikle buradan tanış olduğumuz kişilere ticari bir beklenti olmadan ulaştırabilirim. Şimdilik benim üretimler adına oluşturabildiğim plan bu şekilde.
Ha bu noktada eğer bir arkadaş çıkar da, belli bir bedel karşılığında veya bilabedel, dizgisini de yaparım, gönderimleri de sağlarım, işin bu kısmında sana destek olurum derse, bence güzel olur. Hayır demem açıkçası. Zaten demek istediğim formülize edemediğim kısım da buydu. Bu konuda çözüm üretmek için bazı girişimlerim olabilir, şimdilik önce projeler ürün haline gelsin,
yukarıda sözünü ettiğim ticari olmayan düşük adetli üretimleri yapalım. Sonrasında siparişler olursa düşünürüz...