คีย์บอร์ดเมคานิคัลที่ใช้ FPGA ก่อให้เกิดการถกเถียงเรื่องความซับซ้อนทางวิศวกรรมเทียบกับประโยชน์เชิงปฏิบัติ

ทีมชุมชน BigGo
คีย์บอร์ดเมคานิคัลที่ใช้ FPGA ก่อให้เกิดการถกเถียงเรื่องความซับซ้อนทางวิศวกรรมเทียบกับประโยชน์เชิงปฏิบัติ

โครงการคีย์บอร์ดโอเพนซอร์ส Clavier ได้จุดประกายการอภิปรายที่น่าสนใจในชุมชนเทคโนโลยีเกี่ยวกับข้อดีของการใช้ฮาร์ดแวร์ระดับสูงสำหรับงานประจำวัน คีย์บอร์ดที่มีเอกลักษณ์นี้ใช้ชิป FPGA (Field-Programmable Gate Array) แทนไมโครคอนโทรลเลอร์แบบดั้งเดิม ทำให้เกิดคำถามว่าความซับซ้อนทางวิศวกรรมเช่นนี้จะให้ประโยชน์ที่มีความหมายหรือไม่

ข้อมูลจำเพาะของคีย์บอร์ด Clavier

  • ปุ่มกด: 105 ปุ่มแบบ ISO layout + 1 ปุ่มพิเศษ "coffee"
  • ความเข้ากันได้ของสวิตช์: สวิตช์ Cherry MX แบบติดตั้งบน PCB
  • อัตราการสำรวจ: 1000Hz
  • การกดปุ่มพร้อมกัน: N-key rollover (ไม่มี ghosting)
  • USB hub: 2 พอร์ต USB 2.0
  • อินเทอร์เฟซการสื่อสาร: JTAG, SPI, IPC, 2x UART, 8x GPIO
  • FPGA: Lattice LFE5U-25F (~$20 USD จาก Digikey, ~$5 USD จาก LCSC)
  • PCB: ออกแบบ 4 ชั้นพร้อมคอมโพเนนต์ 0402 และบรรจุภัณฑ์ BGA
หน้า GitHub สำหรับโปรเจคคีย์บอร์ด Clavier ที่แสดงให้เห็นการออกแบบแบบโอเพนซอร์สและพื้นฐานทางด้านวิศวกรรม
หน้า GitHub สำหรับโปรเจคคีย์บอร์ด Clavier ที่แสดงให้เห็นการออกแบบแบบโอเพนซอร์สและพื้นฐานทางด้านวิศวกรรม

การอ้างสมรรถนะเทียบกับความเป็นจริง

Clavier สัญญาว่าจะมีสเปกที่น่าประทับใจ: อัตราการสำรวจ 1000Hz ไม่มีปัญหา key ghosting และการเชื่อมต่อแบบ direct pin สำหรับทั้ง 106 ปุ่ม อย่างไรก็ตาม สมาชิกในชุมชนกำลังตั้งคำถามว่าการปรับปรุงเหล่านี้มีความสำคัญในทางปฏิบัติหรือไม่ อัตราการสำรวจ 1000Hz ของคีย์บอร์ดตรงกับสิ่งที่คีย์บอร์ดเกมมิ่งมาตรฐานหลายรุ่นเสนอให้อยู่แล้ว และผู้ผลิตบางรายในปัจจุบันให้อัตราการสำรวจ 8000Hz โดยใช้ไมโครคอนโทรลเลอร์แบบดั้งเดิม

ประโยชน์ด้านความหน่วงแม้จะมีอยู่ในทางทฤษฎี แต่ดูเหมือนจะมีน้อยมากในสถานการณ์จริง ความแตกต่างระหว่างการออกแบบที่ใช้ FPGA และคีย์บอร์ดที่ใช้ไมโครคอนโทรลเลอร์อาจเป็นเพียง 0.005 มิลลิวินาที ซึ่งต่ำกว่าเกณฑ์การรับรู้ของมนุษย์มาก

FPGA: ชิปที่สามารถโปรแกรมได้ซึ่งสามารถกำหนดค่าให้ทำงานฮาร์ดแวร์เฉพาะ ซึ่งแตกต่างจากไมโครคอนโทรลเลอร์ที่รันโปรแกรมซอฟต์แวร์

ข้อกังวลด้านความปลอดภัยกับ Header ที่เปิดออกมา

ประเด็นการอภิปรายที่ไม่คาดคิดเกิดขึ้นเกี่ยวกับอินเทอร์เฟซการสื่อสารหลายแบบของคีย์บอร์ด บอร์ดมีการเชื่อมต่อ JTAG, SPI, UART และพิน GPIO ซึ่งมีประโยชน์สำหรับผู้ที่ชื่นชอบอิเล็กทรอนิกส์ แต่อาจเป็นอันตราย สมาชิกในชุมชนหลายคนแบ่งปันประสบการณ์การบาดเจ็บโดยอุบัติเหตุจากพิน header ที่เปิดออกมา โดยเฉพาะเมื่อทำงานรอบๆ ฮาร์ดแวร์คอมพิวเตอร์

หลังจากอุบัติเหตุโง่ๆ สองสามครั้งที่เกี่ยวข้องกับพิน header ฉันได้ข้อสรุปว่าพิน header ตัวผู้ที่เปิดออกมาบนโต๊ะทำงานของฉันเป็นอันตราย

การสนทนาขยายไปเกินกว่าความปลอดภัยทางกายภาพไปถึงความกังวลเกี่ยวกับการทำลายชิป FPGA โดยอุบัติเหตุผ่านการเชื่อมต่อที่ไม่ถูกต้อง

การแลกเปลี่ยนระหว่างต้นทุนและความซับซ้อน

โครงการใช้ Lattice LFE5U-25F FPGA ซึ่งมีราคาประมาณ 20 ดอลลาร์สหรัฐจากผู้จัดจำหน่ายรายใหญ่ หรือ 5 ดอลลาร์สหรัฐจากซัพพลายเออร์จีน แม้จะไม่แพงมากเกินไป แต่ชิปต้องการ PCB 4 ชั้นที่ซับซ้อนด้วยคอมโพเนนต์ขนาด 0402 และบรรจุภัณฑ์ BGA ทำให้การประกอบด้วยมือเป็นเรื่องท้าทายสำหรับนักสมัครเล่นส่วนใหญ่

สมาชิกในชุมชนสังเกตว่าการบรรลุฟังก์ชันการทำงานที่คล้ายกันด้วยไมโครคอนโทรลเลอร์มาตรฐานจะง่ายและถูกกว่ามาก จึงตั้งคำถามว่าแนวทาง FPGA ให้ข้อได้เปรียบเพียงพอที่จะชดเชยความซับซ้อนที่เพิ่มขึ้นหรือไม่

เครื่องมือออกแบบที่จำเป็น (ทั้งหมดเป็น Open Source)

  • การออกแบบ PCB: KiCad
  • การออกแบบตัวเครื่อง: FreeCAD หรือ OpenSCAD
  • การพัฒนา FPGA: OSS CAD Suite ( GHDL , Yosys , nextpnr-ecp5 , ecppack , openFPGALoader )
  • ระบบ Build: GNU Make

ปรัชญาเครื่องมือการออกแบบ

ความมุ่งมั่นของโครงการต่อเครื่องมือโอเพนซอร์สตลอดกระบวนการออกแบบทั้งหมดได้รับการชื่นชม การใช้ KiCad สำหรับการออกแบบ PCB, FreeCAD หรือ OpenSCAD สำหรับตัวเรือน และ OSS CAD Suite สำหรับการพัฒนา FPGA แสดงให้เห็นว่าฮาร์ดแวร์คุณภาพระดับมืออาชีพสามารถสร้างได้โดยไม่ต้องใช้ซอฟต์แวร์ที่เป็นกรรมสิทธิ์ราคาแพง

อย่างไรก็ตาม การอภิปรายเผยให้เห็นความคิดเห็นที่หลากหลายเกี่ยวกับ OpenSCAD เทียบกับ FreeCAD สำหรับการออกแบบเชิงกล โดยหลายคนชอบ FreeCAD สำหรับโครงการที่ซับซ้อน

Clavier เป็นตัวแทนของการทดลองที่น่าสนใจในการประยุกต์ใช้ฮาร์ดแวร์ประสิทธิภาพสูงกับอุปกรณ์ต่อพ่วงคอมพิวเตอร์ในชีวิตประจำวัน แม้ว่าประโยชน์เชิงปฏิบัติอาจเป็นที่น่าสงสัย แต่โครงการนี้ทำหน้าที่เป็นแพลตฟอร์มการเรียนรู้ที่ยอดเยี่ยมสำหรับการพัฒนา FPGA และแสดงให้เห็นถึงความเป็นไปได้เมื่อข้อจำกัดทางวิศวกรรมถูกนำออกไปเพื่อให้ทางแก่การสำรวจทางเทคนิค

อ้างอิง: Clavier