ชุบชีวิตคอมพิวเตอร์ยุคเก่า! สร้างตัวแปลงวิดีโอ TTL เป็น DVI ด้วยบอร์ด RP2350
ก่อนที่โลกจะรู้จักพอร์ตการแสดงผลยุคดิจิทัลอย่าง HDMI หรือ DVI และก่อนหน้าที่พอร์ตแบบอนาล็อกอย่าง VGA จะได้รับความนิยม คอมพิวเตอร์ยุคแรกเริ่มเคยใช้มาตรฐานการแสดงผลวิดีโอแบบ TTL RGB กันมาก่อน ซึ่งในยุคนั้นหน้าจอ TTL ถือว่าหาได้ง่ายและมีราคาถูก
แต่เมื่อเวลาผ่านไปหลายทศวรรษ หน้าจอ TTL ที่รองรับสัญญาณเหล่านี้กลับแทบจะสูญพันธุ์ หากคุณมีคอมพิวเตอร์วินเทจหรือการ์ดจอแบบ TTL อยู่ในมือ การจะหาจอมอนิเตอร์มาเสียบใช้งานกลายเป็นเรื่องที่ยากยิ่งกว่างมเข็มในมหาสมุทร เพื่อแก้ปัญหานี้ นักพัฒนาชื่อ Charlysan จึงได้สร้างโปรเจกต์ TTL-to-DVI converter ขึ้นมา โดยอาศัยขุมพลังของไมโครคอนโทรลเลอร์รุ่นใหม่อย่าง RP2350 มาทำหน้าที่เป็นตัวกลางในการแปลงสัญญาณให้เรา!
Key Takeaways
- แก้ปัญหาจอเก่า: ช่วยให้คอมพิวเตอร์ยุค Retro ที่ส่งภาพเป็นสัญญาณ TTL สามารถต่อออกจอมอนิเตอร์ยุคใหม่ผ่านโปรโตคอล DVI ได้
- ใช้ PIO ของ RP2350: ใช้ความสามารถของ Programmable I/O เพื่อดักจับ (Sample) สัญญาณวิดีโอเข้า Framebuffer ด้วยความเร็วสูง
- ใช้ไลบรารี PicoDVI: เป็นแกนหลักในการประมวลผลและสร้างสัญญาณ DVI ออกสู่จอภาพ
- ฮาร์ดแวร์ที่แนะนำ: โปรเจกต์นี้ตั้งเป้าหมายไปที่บอร์ด Waveshare RP2350-PiZero เนื่องจากมีพอร์ต HDMI ติดตั้งมาให้บนบอร์ดเรียบร้อยแล้ว
TTL RGB คืออะไร? ทำไมถึงเป็นปัญหา?
การส่งสัญญาณภาพแบบ TTL (Transistor-Transistor Logic) แตกต่างจากพอร์ต VGA ที่เราคุ้นเคยกันตรงที่ VGA ใช้วิธีส่งผ่านสัญญาณด้วยระดับแรงดันแบบอนาล็อก (Analogue Voltages) แต่ระบบ TTL RGB จะส่งสัญญาณโดยใช้ระดับแรงดันแบบดิจิทัลลอจิก (TTL Logic Voltages)
ในยุคที่ VGA ครองโลก มอนิเตอร์แบบ TTL ถูกทิ้งและเสื่อมสภาพไปตามกาลเวลา ทำให้ในปัจจุบัน ผู้ที่ชื่นชอบคอมพิวเตอร์แบบ Retro (Retro Computing Aficionado) มักเจอปัญหาโลกแตกคือ "มีการ์ดจอ TTL แต่ไม่มีจอมอนิเตอร์ที่เข้ากันได้"
หลักการทำงาน: ใช้ RP2350 แปลง TTL เป็น DVI
เพื่อนำสัญญาณภาพของคอมพิวเตอร์เก่ามาแสดงบนจอยุคใหม่ โปรเจกต์ของ Charlysan อาศัยฟีเจอร์เด่นของชิป RP2350 นั่นคือ PIO (Programmable I/O)
การทำงานของระบบแบ่งเป็น 2 ส่วนหลัก:
- การดักจับสัญญาณ (Sampling): ขุด PIO จะทำหน้าที่อ่านสัญญาณ TTL RGB ที่ส่งเข้ามาอย่างรวดเร็ว และจัดเก็บข้อมูลลงใน Framebuffer
- การแปลงและส่งออก (Output): ชิป RP2350 ส่วนที่เหลือจะใช้ไลบรารียอดฮิตอย่าง PicoDVI ทำการประมวลผล (DVI Magic) และสร้างสัญญาณดิจิทัลออกไปยังพอร์ตเพื่อให้จอภาพอ่านค่าได้
ฮาร์ดแวร์ที่ต้องใช้และการปรับแต่งซอฟต์แวร์
ตัวโปรเจกต์ไม่ได้จำกัดว่าต้องใช้บอร์ดรุ่นนี้เพียงรุ่นเดียว แต่ที่ Waveshare RP2350-PiZero ถูกใช้เป็นเป้าหมายหลัก (Target Board) ในการพัฒนา เนื่องจากบอร์ดรุ่นนี้มีซ็อกเก็ต HDMI ติดตั้งมาให้จากโรงงาน (Ready-made HDMI socket) ทำให้ส่งสัญญาณ DVI ผ่านสาย HDMI ได้โดยไม่ต้องต่อหัวแปลงเพิ่มให้วุ่นวาย
ในด้านซอฟต์แวร์การจัดการระบบ ผู้พัฒนาได้เตรียม USB Serial Terminal สำหรับการตั้งค่าคอนฟิกูเรชันต่างๆ นอกจากนี้ยังมีสคริปต์ TK GUI ที่ช่วยให้คุณควบคุมการทำงานผ่านอินเทอร์เฟซแบบกราฟิกได้อย่างสะดวกสบายอีกด้วย
ข้อควรระวังเรื่องแรงดันไฟฟ้า (Level Shifting)
ไมโครคอนโทรลเลอร์รุ่นใหม่อย่าง RP2350 ทำงานที่ระดับแรงดันลอจิกที่ต่ำกว่าสัญญาณ TTL ยุคเก่า (ซึ่งโดยมากมักจะเป็น 5V) การนำสายสัญญาณ TTL มาเสียบเข้าขา GPIO ของ RP2350 โดยตรงอาจทำให้บอร์ดพังได้ทันที
ตามเอกสารต้นฉบับระบุอย่างชัดเจนว่า จำเป็นต้องมีฮาร์ดแวร์สำหรับ Level Shifting ซึ่งวิธีที่ง่ายที่สุดที่สามารถทำได้ (At minimum) คือการใช้ชุด ตัวต้านทาน (Resistors) ในการดรอปแรงดันให้อยู่ในระดับที่ RP2350 รับได้
คำถามที่พบบ่อย (FAQ)
Q: โปรเจกต์นี้มีหน้าที่ทำอะไร?
A: รับสัญญาณวิดีโอแบบลอจิก TTL จากการ์ดจอรุ่นเก่า แล้วแปลงให้เป็นสัญญาณ DVI เพื่อต่อออกจอภาพยุคใหม่
Q: แตกต่างจากตัวแปลงวิดีโอทั่วไปอย่างไร?
A: ตัวแปลงทั่วไปมักแปลงสัญญาณแบบอนาล็อก (เช่น VGA หรือ Composite) แต่โปรเจกต์นี้ถูกออกแบบมาเพื่อรองรับสัญญาณดิจิทัลแบบ TTL RGB โดยเฉพาะ
Q: ควรใช้บอร์ดไมโครคอนโทรลเลอร์รุ่นไหน?
A: โปรเจกต์นี้ออกแบบมาสำหรับชิป RP2350 โดยผู้พัฒนาแนะนำให้ใช้บอร์ด Waveshare RP2350-PiZero เนื่องจากมีพอร์ต HDMI มาให้ในตัว
Q: ใช้งานไลบรารีอะไรเป็นแกนหลัก?
A: ใช้ความสามารถของ PIO ควบคู่กับไลบรารี PicoDVI
Q: ต่อสายวิดีโอตรงเข้าบอร์ดเลยได้ไหม?
A: ไม่ได้เด็ดขาด จำเป็นต้องมีวงจรปรับระดับแรงดัน (Level Shifting) เช่น การต่อตัวต้านทาน เพื่อไม่ให้ขา GPIO เสียหาย
Q: วงจร Level Shifter ต้องใช้ตัวต้านทานค่าเท่าไร?
A: Source ต้นฉบับจาก Hackaday ไม่ได้ระบุค่าความต้านทานและแผนผัง Pinout ไว้อย่างชัดเจน ผู้ใช้ต้องเข้าไปดู Wiring Diagram ในหน้า GitHub ของผู้สร้าง
Q: รองรับความละเอียดของจอ (Resolution) เท่าไร?
A: Source ไม่ได้ระบุตัวเลขความละเอียดที่แน่ชัด ขึ้นอยู่กับการตั้งค่าและสัญญาณต้นทาง
Q: ปรับแต่งตั้งค่าระบบได้อย่างไร?
A: สามารถตั้งค่าตัวแปลงได้ผ่าน USB Serial Terminal และสคริปต์ TK GUI ที่มาพร้อมกับโปรเจกต์
References / แหล่งข้อมูลต้นฉบับ
โปรเจกต์นี้อาจจะไม่ได้ดูหรูหราอลังการ แต่สำหรับคนที่กำลังมองหาทางออกให้คอมพิวเตอร์ยุคเก่านี่คือฮีโร่ตัวจริง หากสนใจลงมือสร้างสามารถตามไปศึกษาต่อได้ที่:
กำลังหาบอร์ด RP2350 หรืออุปกรณ์ทดลองอยู่ใช่ไหม?
หากคุณอยากลองทำโปรเจกต์ Retro Computing หรือกำลังมองหาบอร์ดไมโครคอนโทรลเลอร์รุ่นใหม่ล่าสุดที่ใช้ชิป RP2350 รวมถึงอุปกรณ์พื้นฐานอย่างตัวต้านทาน (Resistors) สามารถทักมาพูดคุยให้ทีมงาน Globalbyte ช่วยจัดเซ็ตให้ได้เลยครับ!
ช้อปสินค้า / บริการ สอบถามผ่าน LINE OA เข้ากลุ่ม Communityหมายเหตุเพิ่มเติม: แหล่งข้อมูลต้นฉบับไม่ได้ระบุวงจร Wiring, ค่าของตัวต้านทาน (Resistor), และความละเอียดที่รองรับอย่างครบถ้วน การต่อวงจรที่ระดับแรงดันไฟฟ้าไม่ตรงกัน (TTL มักเป็น 5V ส่วน RP2350 เป็น 3.3V) โดยไม่มี Level Shifting ที่ถูกต้อง อาจทำให้อุปกรณ์ของคุณเสียหายถาวรได้