การจัดเก็บข้อมูล (Data Acquisition) ความเร็วสูงด้วยอินเทอร์เฟส HSTX ของ Raspberry Pi Pico 2 และดองเกิลวีดีโอแคปเจอร์ HDMI to USB 3.0

เราเคยกล่าวถึง อินเทอร์เฟส HSTX (High-Speed ​​Serial Transmit) ของไมโครคอนโทรลเลอร์ Raspberry Pi RP2350 ซึ่งเหมาะสำหรับการส่งสัญญาณวิดีโอและอินเทอร์เฟซหน้าจอ เนื่องจากสามารถส่งข้อมูลได้เท่านั้น แต่ไม่สามารถรับข้อมูลได้

Steve Markgraf ได้ค้นพบการใช้งานอินเทอร์เฟส HSTX ในอีกกรณีหนึ่ง คือ การจัดเก็บรวบรวมข้อมูล (Data Acquisition) แบบความเร็วสูง โดยใช้บอร์ด Raspberry Pi Pico 2 ร่วมกับบอร์ด DVI Sock สำหรับ Pico และดองเกิลวีดีโอแคปเจอร์ HDMI to USB 3.0 ที่ใช้ MS2130 เขาสามารถสตรีมข้อมูลแบบเรียลไทม์ด้วยความเร็วสูงสุดถึง 75 MB/s จาก RP2350 ที่โอเวอร์คล็อกไปยังคอมพิวเตอร์โฮสต์ที่มีพอร์ต USB 3.0 ได้ นอกจากนี้บอร์ด Adafruit Feather RP2350 พร้อมพอร์ต HSTX ที่น่าจะใช้งานได้เช่นกัน แต่ยังไม่ได้ทำการทดสอบ

Raspberry Pi Pico 2 high speed data acquisition

เฟิร์มแวร์ สำหรับ hsdaoh-rp2350″ data acquisition ของ Steve ผ่าน HDMI ถูกพัฒนาบนตัวอย่างโค้ด  dvi_out_hstx_encoder จาก Raspberry Pi ที่ใช้อินเทอร์เฟส HSTX สำหรับสำหรับ DVI output และโค้ดโดย Shuichi Takano ที่ช่วยในการเข้ารหัส HDMI data island ซึ่งจำเป็นสำหรับการส่ง HDMI info frames

ฟังก์ชันหลักถูกพัฒนาโดยใช้ไลบรารี libpicohsdaoh ที่อ่านข้อมูลจาก ringbuffer และส่งออกผ่านพอร์ต HSTX ไปยัง HDMI capture card นอกจากนี้ยังมีตัวอย่างแอปพลิเคชัน 3 แบบที่สามารถพบได้ในโฟลเดอร์ apps บน GitHub ของโครงการนี้:

  • counter – สร้างค่าตัวนับ (counter) ขนาด 16 บิตโดยใช้ Raspberry Pi RP2350 PIO
  • internal_adc – สตรีมข้อมูลจาก ADC ภายในที่ความเร็ว 3.33 MS/s หลังจากโอเวอร์คล็อกและสามารถเพิ่มได้สูงสุดถึง 7.9 MS/s ด้วยเทคนิคเพิ่มเติม เช่น การใช้ USB PLL และการเพิ่มแรงดันไฟฟ้าเกิน VREG_VOLTAGE_MAX
  • external_adc – โปรแกรม PIO ที่อ่านข้อมูลจาก ADC ขนาด 12 บิตที่เชื่อมต่อกับ GP0-GP11 และส่งสัญญาณนาฬิกา ADC ผ่าน GP22 โดยบรรจุข้อมูลตัวอย่าง 12 บิตเป็นคำข้อมูลขนาด 16 บิต เพื่อให้ได้อัตราการส่งข้อมูลสูงสุด ออกแบบมาให้ใช้งานร่วมกับบอร์ด ADC รุ่น AD9226 ตามที่แสดงในภาพตัวอย่าง

Raspberry Pi Pico 2 AD9226 ADC

ชิป MS2130 สามารถรองรับการเก็บข้อมูลได้สูงสุด 298.5 MB/s ในทางทฤษฎี ดังนั้น Raspberry Pi Pico 2 จึงกลายเป็นคอขวดของประสิทธิภาพ และสามารถเพิ่มประสิทธิภาพได้อีกโดยใช้บอร์ด FPGA ราคาประหยัด เช่น Sipeed Tang Nano 20K นอกจากนี้ Steve ยังได้สร้าง SDR (Software Defined Radio) โดยใช้หลักการเดียวกันร่วมกับฮาร์ดแวร์เพิ่มเติม เพื่อจับข้อมูลโดยใช้โปรแกรมโอเพนซอร์ส fosphor สามารถค้นหาซอร์สโค้ดเฟิร์มแวร์สำหรับแพลตฟอร์มต่าง ๆ รวมถึงไลบรารีสำหรับ High-Speed Data Acquisition over HDMI (hsdaoh) ในส่วน userspace ได้จาก GitHub มีรายละเอียดทางเทคนิคเพิ่มเติมและคำอธิบายเกี่ยวกับการทำงานทั้งหมดนี้สามารถรับชมได้ในวิดีโอด้านล่าง

โปรเจกต์นี้ดูน่าสนใจมาก โดยเฉพาะอย่างยิ่งเมื่อฮาร์ดแวร์ที่ใช้งานมีราคาถูกอย่างไม่น่าเชื่อ เช่น Raspberry Pi Pico 2 ที่ราคาเพียง $5 (~170฿) และ MS2130 ดองเกิลแปลงสัญญาณ HDMI to USB 3.0 ที่มีราคาประมาณ $4 (~ 140฿) บน AliExpres (หรือแพงกว่านิดหน่อยบน Amazon ) แค่นี้ก็เพียงพอสำหรับเริ่มต้นแล้ว แต่ถ้าต้องการสร้างอะไรที่มีประโยชน์มากขึ้น อาจจะต้องใช้ฮาร์ดแวร์เพิ่มเติม เช่นโมดูล AD9226 12-bit ADC มีราคาประมาณ $16 (~ 550฿)

แปลจากบทความภาษาอังกฤษ : High-speed data acquisition with Raspberry Pi Pico 2’s HSTX interface and HDMI to USB 3.0 video capture dongle

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
โฆษณา