Raspberry Pi 5 ต่อกล้อง GMSL2 สองตัวได้ไกลถึง 10 เมตร

Raspberry Pi 5 ต่อกล้องผ่าน CSI-2 ได้อยู่แล้ว แต่ถ้าโจทย์เปลี่ยนจากกล้องที่อยู่ข้างบอร์ด ไปเป็นกล้องที่ต้องติดตั้งห่างออกไปหลายเมตร ระบบสายและการส่งสัญญาณก็เริ่มเป็นอีกเรื่องหนึ่ง

BE-IIS หรือ Brechel Electronic-Industrial Interface Systems จึงพัฒนา BE-IIS-GMSL2-2CAM ซึ่งเป็น Camera HAT สำหรับ Raspberry Pi 5 ที่ใช้ชิป Analog Devices MAX96716A รับสัญญาณจากกล้อง GMSL2 ได้สองช่อง แล้วส่งต่อเข้าพอร์ต CSI-2 ของ Raspberry Pi

จุดที่น่าสนใจคือระบบตัวอย่างได้รับการทดสอบกับกล้องที่ใช้เซนเซอร์ Sony IMX708 สองตัว โดยวางกล้องห่างจาก Raspberry Pi ผ่านสาย Coaxial ยาวถึง 10 เมตร ต่อกล้อง

BE-IIS Dual GMSL2 Camera HAT ติดตั้งบน Raspberry Pi 5
BE-IIS-GMSL2-2CAM เชื่อมต่อกับ Raspberry Pi 5 เพื่อรับกล้อง GMSL2 ได้สองช่อง
สรุปสั้น ๆ:
  • รองรับ GMSL2 Camera Input จำนวน 2 ช่อง
  • ใช้ MAX96716A เป็น Dual GMSL2-to-CSI-2 Deserializer
  • เชื่อมต่อกล้องผ่าน Rosenberger FAKRA และสาย Coaxial
  • Setup ที่รายงานได้รับการทดสอบกับ Sony IMX708 สองตัว
  • การทดสอบใช้สาย Coaxial ความยาว 10 เมตรต่อกล้อง
  • ทำงานร่วมกับ Linux บน Raspberry Pi และมี Driver Installer จากผู้พัฒนา

GMSL2 Camera HAT ตัวนี้คืออะไร?

BE-IIS-GMSL2-2CAM หรือที่ CNX Software เรียกว่า BE-IIS-2CAM เป็นบอร์ดที่ทำหน้าที่เชื่อมโลกของ GMSL2 เข้ากับอินเทอร์เฟซกล้อง MIPI CSI-2 ของ Raspberry Pi 5

หัวใจของบอร์ดคือ MAX96716A จาก Analog Devices ซึ่งเป็น Dual GMSL2-to-CSI-2 Deserializer ดังนั้นบอร์ดจึงสามารถรับข้อมูลจากลิงก์ GMSL2 สองช่อง ก่อนส่งข้อมูลกล้องต่อเข้าสู่ Raspberry Pi ผ่าน CSI-2

ตำแหน่งส่วนประกอบและอินเทอร์เฟซของ BE-IIS-GMSL2-2CAM
ภาพ Specification ของ BE-IIS-GMSL2-2CAM แสดงพอร์ต GMSL2, CSI-2, GPIO และส่วนจ่ายไฟของบอร์ด

จุดสำคัญคือมันไม่ใช่การนำสายกล้อง CSI ธรรมดามาต่อให้ยาวขึ้นโดยตรง แต่เป็น Architecture ที่มีการแปลงสัญญาณฝั่งกล้องก่อนส่งผ่าน GMSL2 แล้วจึงแปลงกลับเป็น CSI-2 ใกล้กับ Raspberry Pi

ทำไม GMSL2 ถึงน่าสนใจกับ Raspberry Pi 5?

ในงาน Maker ทั่วไป กล้องมักติดตั้งอยู่ใกล้กับ SBC แต่โจทย์ในงาน Robotics, Industrial Vision หรือระบบกล้องบนเครื่องจักร อาจต้องแยกตำแหน่งของกล้องออกจากตัวประมวลผล

บทความต้นทางของ CNX Software ระบุทั้งเรื่อง Low Latency และความสามารถในการใช้งานระยะไกล โดยระบบนี้ได้รับการทดสอบกับกล้องสองตัวผ่านสาย Coaxial ความยาว 10 เมตร

อย่าแปลความว่า “รองรับ 10 เมตรทุกกรณี”
Source ยืนยันว่ามีการทดสอบ Setup ที่ระยะ 10 เมตร แต่ไม่ได้ระบุผลทดสอบครอบคลุมสายทุกชนิด กล้องทุกแบบ หรือ Configuration ทุกค่า ดังนั้นควรมองตัวเลขนี้เป็นผลจาก Setup ที่รายงาน ไม่ใช่การรับประกันระยะสูงสุดของทุกระบบ

Architecture ของระบบทำงานอย่างไร?

Block diagram ระบบ Dual GMSL2 Camera HAT สำหรับ Raspberry Pi 5
Block Diagram แสดงเส้นทางสัญญาณระหว่างกล้อง Serializer, GMSL2, MAX96716A และ Raspberry Pi
Camera / MIPI CSI-2

BE-IIS-GMSL2-SER + MAX96717

GMSL2 ผ่าน Coaxial Cable

BE-IIS-GMSL2-2CAM + MAX96716A

MIPI CSI-2

Raspberry Pi 5

ฝั่งกล้องต้องมี Serializer ทำหน้าที่รับข้อมูล CSI-2 จาก Camera Module แล้วส่งออกผ่าน GMSL2

เมื่อข้อมูลเดินทางมาถึงบอร์ดที่ติดกับ Raspberry Pi MAX96716A จะทำหน้าที่เป็น Deserializer และส่งข้อมูลออกไปยังอินเทอร์เฟซ CSI-2 ของ Raspberry Pi

เพราะฉะนั้น BE-IIS-GMSL2-2CAM เพียงตัวเดียวไม่ใช่ระบบทั้งหมด หากใช้กล้อง CSI-2 ทั่วไป ฝั่งกล้องยังต้องมี Serializer ที่เข้ากับระบบด้วย

เจาะ Hardware ของ BE-IIS-GMSL2-2CAM

หัวข้อ ข้อมูลจาก Source
Main IC Analog Devices MAX96716A
GMSL2 Input 2 ช่อง
Connector 2 × Rosenberger FAKRA
GMSL2 Data Rate สูงสุด 6 Gbps ต่อช่อง ตามข้อมูลที่ CNX Software รายงาน
Camera Output Dual MIPI CSI ที่เข้ากับ Raspberry Pi CSI interface
GPIO 40-pin Raspberry Pi GPIO Header
Board Power 5V ผ่าน GPIO Header หรือ 5V ผ่าน USB-C
Camera Supply Selection 5V, 9V, 12V, 16V หรือ 24V เลือกผ่าน Jumper
Camera Link มี PoC Filter และ Protection แยกต่อ Connector
Mechanical Format ออกแบบให้ใช้งานในรูปแบบบอร์ดสำหรับ Raspberry Pi
เรื่องแรงดันกล้องต้องเช็กก่อนเสียบจริง
บอร์ดเปิดให้เลือก Camera Supply ได้หลายระดับ แต่ Source ไม่ได้บอกว่า Camera Module ทุกตัวต้องใช้แรงดันค่าใด ดังนั้นต้องตรวจสอบเอกสารของกล้อง Serializer และ Hardware Revision ที่ใช้งานจริงก่อนตั้ง Jumper
BE-IIS-GMSL2-2CAM พร้อมอุปกรณ์ที่แสดงในบทความต้นทาง
ตัวบอร์ด BE-IIS-GMSL2-2CAM และอุปกรณ์ที่แสดงร่วมกันในบทความต้นทาง

Serializer ฝั่งกล้องทำหน้าที่อะไร?

ถ้ามีเพียง Camera HAT ที่ Raspberry Pi ฝั่งเดียว ระบบยังไม่ครบ เพราะกล้อง CSI-2 ต้องมีวงจรที่แปลงข้อมูลให้เข้าสู่ลิงก์ GMSL2 ก่อน

BE-IIS มีบอร์ด BE-IIS-GMSL2-SER ที่บทความ CNX Software ระบุว่าใช้ Serializer ตระกูล MAX96717 สำหรับเชื่อม Camera Module ฝั่ง CSI-2 เข้ากับ GMSL2

BE-IIS-GMSL2-SER Serializer board สำหรับกล้อง CSI-2
Serializer Board อยู่ฝั่งกล้อง ทำหน้าที่เชื่อมกล้อง CSI-2 เข้ากับลิงก์ GMSL2

นอกจาก Video Link แล้ว Source ยังระบุว่า Serializer Platform รองรับ I2C control, สัญญาณ Camera Reset/Enable และ Power over Coax ซึ่งช่วยรวมฟังก์ชันที่ต้องใช้ระหว่างฝั่งกล้องกับฝั่งประมวลผลไว้ในระบบเดียว

BE-IIS-GMSL2-SER ประกอบร่วมกับ Arducam IMX708 Camera Module
ตัวอย่าง BE-IIS-GMSL2-SER ที่ประกอบร่วมกับ Camera Module ซึ่งใช้เซนเซอร์ IMX708

Setup ที่ผ่านการทดสอบจริง

ส่วนนี้สำคัญ เพราะช่วยแยกว่าอะไรคือ Capability ที่คาดหวังได้ กับอะไรคือสิ่งที่มีการทดสอบและรายงานไว้จริง

Raspberry Pi 5 ทดสอบกล้อง GMSL2 สองตัวผ่าน BE-IIS-GMSL2-2CAM
Full Setup ที่ประกอบด้วย Raspberry Pi 5, Dual GMSL2 Camera HAT และกล้อง IMX708 สองตัว
รายการ Setup ที่ Source ระบุ
Computer Raspberry Pi 5
Camera Sensor Sony IMX708
จำนวนกล้อง 2 ตัว
Resolution 2304 × 1296
Pixel Format RAW10
CSI-2 Lanes 2 Lanes ต่อกล้อง
Lane Bitrate ที่ระบุใน Official GitHub 900 Mbit/s ต่อ Lane สำหรับ Configuration ที่อธิบายไว้
Coaxial Cable ทดสอบที่ความยาว 10 เมตรต่อกล้อง
Source ไม่ได้ระบุ FPS ของ Setup 2304 × 1296 RAW10, ตัวเลข End-to-End Latency, CPU Load, GPU Load หรือ Power Consumption ของระบบทั้งหมด ดังนั้นบทความนี้จะไม่เติมค่าดังกล่าวจากการคาดเดา

Linux และ Driver Setup

Philipp Brechel ให้ข้อมูลกับ CNX Software ว่า Linux Integration เป็นส่วนสำคัญของ Project นี้ และระบบทำงานบน Linux Kernel ที่ใช้กับ Raspberry Pi OS

ตามบทความต้นทาง ผู้ใช้ไม่จำเป็นต้องสร้าง Kernel ทั้งชุดใหม่ หรือติดตั้ง Custom Kernel Image เพียงเพื่อใช้งานระบบนี้ โดยผู้พัฒนามี Official GitHub Repository สำหรับติดตั้ง Driver และ Device Tree ที่เกี่ยวข้อง

อย่างไรก็ตาม การรัน Installer ไม่ได้หมายความว่า GMSL Link และ Video Pipeline จะถูก Bring-up ให้เสร็จทุกขั้นตอนโดยอัตโนมัติ ผู้ใช้ควรทำตาม Instructions ของ Revision และ Repository ปัจจุบัน

ตัวอย่างคำสั่งจาก Workflow ของ Official GitHub

คำสั่งด้านล่างยกเฉพาะรายการที่ระบุใน Official Repository และควรอ่าน README ปัจจุบันควบคู่ก่อนใช้งานจริง

BE-IIS Camera Installer / Dual Camera Workflow
./install.sh

make unoverlay
make prepare-a-b
make pipeline-a-b

rpicam-hello --list-cameras
อย่าคัดลอกคำสั่งแล้วรันทันทีโดยไม่ดู README
Repository และ Driver สามารถเปลี่ยนตาม Hardware Revision, Kernel หรือ Software Version ได้ ควรตรวจ Instructions ปัจจุบันจากผู้พัฒนา ก่อน Setup ทุกครั้ง

เมื่อระบบถูกตั้งค่าครบแล้ว CNX Software ระบุว่าสามารถใช้เครื่องมือมาตรฐาน เช่น rpicam-hello เพื่อทำงานกับกล้องได้

เอาไปใช้ทำ Project อะไรได้บ้าง?

ผู้พัฒนาและบทความต้นทางวาง Platform นี้ไว้สำหรับงานที่ต้องการ Camera Link แบบ GMSL2 มากกว่าการทำ Webcam ธรรมดา

  • GMSL2 Evaluation
  • Industrial Vision
  • Robotics
  • Automotive Camera Prototyping
  • Stereo Vision
  • Remote Camera Application

สำหรับ Maker จุดน่าสนใจคือ Raspberry Pi 5 สามารถถูกใช้เป็น Host ในการทดลอง Architecture ที่ใกล้เคียงกับระบบกล้องอุตสาหกรรมมากขึ้น โดยไม่ต้องวาง Camera Module ชิดกับตัว SBC ตลอดเวลา

Stereo Vision ไม่ได้แปลว่า Source ยืนยัน Stereo Accuracy หรือ Frame Sync แล้ว
ผู้พัฒนาระบุ Stereo Vision เป็นหนึ่งใน Application ของ Platform แต่ Source ที่ใช้ในบทความนี้ไม่ได้ให้ตัวเลขเรื่อง Synchronization Accuracy, Calibration Accuracy หรือ Depth Performance

สิ่งที่ควรรู้ก่อนเริ่ม

1. Camera HAT อย่างเดียวไม่พอ

ถ้า Camera Module ของคุณเป็น CSI-2 ทั่วไป ยังต้องมี Serializer ฝั่งกล้องที่เข้ากันกับ GMSL2 Platform

2. อย่า Assume ว่ากล้อง MIPI ทุกตัวรองรับ

Setup ที่ Source ยืนยันใช้ Sony IMX708 แต่ Source ไม่ได้ระบุว่ากล้อง MIPI CSI-2 ทุก Sensor สามารถนำมาเสียบแล้วทำงานได้ทันที

3. ตรวจ Camera Supply Voltage

บอร์ดสามารถเลือก Camera Supply ได้หลายระดับ จึงต้องตรวจ Voltage Requirement ของ Hardware ฝั่งกล้องก่อนตั้ง Jumper

4. Driver เป็นเพียงส่วนหนึ่งของ Setup

Official Repository มี Installer แต่ยังมีขั้นตอน Bring-up ของ GMSL และ Video Pipeline ที่ต้องทำตาม Instructions

5. เช็กคำว่า HAT กับ HAT+

CNX Software ใช้คำว่า HAT+ form factor ใน Specification ขณะที่หน้า Compatibility ของผู้ผลิตแยกสถานะ HAT และ HAT+ ไว้ต่างกัน ดังนั้นก่อนออกแบบ Enclosure, Stack หรือระบบจริง ควรอ้างอิงข้อมูล Mechanical และ Compatibility จากหน้า Official Revision ที่กำลังใช้งาน

FAQ: คำถามที่พบบ่อย

1. Raspberry Pi 5 ต่อกล้อง GMSL2 สองตัวได้จริงหรือ?

ได้ใน Platform ที่บทความนี้กล่าวถึง โดย BE-IIS-GMSL2-2CAM รับ GMSL2 ได้สองช่องและเชื่อมต่อเข้ากับ CSI Interface ของ Raspberry Pi 5

2. ใช้ชิปอะไรเป็น GMSL2 Deserializer?

ใช้ Analog Devices MAX96716A ซึ่งเป็น Dual GMSL2-to-CSI-2 Deserializer

3. กล้องที่ทดสอบใช้ Sensor อะไร?

Setup ที่รายงานใช้กล้องที่มี Sony IMX708 12MP Sensor ซึ่งเป็น Sensor รุ่นเดียวกับที่พบใน Raspberry Pi Camera Module 3

4. ทดสอบที่ Resolution เท่าไร?

Source ระบุ 2304 × 1296, RAW10 และใช้สอง CSI-2 Lanes ต่อกล้อง

5. ใช้สายกล้องยาว 10 เมตรได้เลยหรือ?

มีการทดสอบระบบด้วยสาย Coaxial 10 เมตรต่อกล้องจริง แต่ Source ไม่ได้ระบุว่าความยาวนี้เป็น Maximum Distance ของทุก Cable และทุก Configuration

6. ต้องมี Serializer ฝั่งกล้องหรือไม่?

ต้องมีสำหรับ Architecture ที่นำกล้อง CSI-2 มาต่อเข้ากับ GMSL2 โดย BE-IIS มี BE-IIS-GMSL2-SER สำหรับงานดังกล่าว

7. ระบบส่งไฟไปฝั่งกล้องผ่านสายเดียวกันได้หรือไม่?

Source ระบุการรองรับ Power over Coax และตัว HAT มี PoC Filter และ Protection ต่อ GMSL2 Connector

8. ต้อง Compile Kernel ใหม่ทั้งชุดหรือไม่?

ตามข้อมูลที่ Philipp Brechel ให้กับ CNX Software ไม่จำเป็นต้อง Rebuild Kernel ทั้งชุดหรือติดตั้ง Custom Kernel Image เพียงเพื่อใช้งานระบบนี้ โดยมี Driver Installer ให้ใช้งาน

9. ใช้ rpicam-hello ได้หรือไม่?

CNX Software ระบุว่าสามารถใช้ Standard Tool เช่น rpicam-hello ได้หลังจาก Setup ระบบเรียบร้อยแล้ว

10. รองรับกล้อง MIPI CSI-2 ทุกตัวหรือไม่?

Source ไม่ได้ระบุว่ารองรับ Camera Sensor หรือ Module ทุกตัว จึงควรตรวจ Compatibility กับผู้พัฒนาและ Driver ของ Sensor ที่ต้องการใช้ก่อน

11. กล้องสองตัวทำ Hardware Synchronization ได้แม่นแค่ไหน?

Source ที่ใช้ในบทความนี้ไม่ได้ระบุตัวเลข Synchronization Accuracy หรือ Timing Skew ระหว่างกล้อง

12. Setup นี้ได้กี่ FPS?

Source ที่ใช้ในบทความนี้ไม่ได้ระบุ FPS ของ Setup 2304 × 1296 RAW10 ที่รายงาน

13. ใช้กับงาน Stereo Vision ได้หรือไม่?

ผู้พัฒนาระบุ Stereo Vision เป็นหนึ่งใน Application ของ Platform แต่ Source ไม่ได้ให้ผลทดสอบ Depth Accuracy หรือ Stereo Calibration Performance

14. บอร์ดนี้เป็น Raspberry Pi HAT หรือ HAT+?

CNX Software ใช้คำว่า HAT+ form factor ในบทความ แต่หน้า Official Compatibility ของผู้ผลิตมีการแยก HAT และ HAT+ จึงควรตรวจหน้า Product Revision ปัจจุบันก่อนอ้างอิง Mechanical Compatibility หรือออกแบบ Stack จริง

Raspberry Pi เริ่มเข้าใกล้โลกของ Remote Camera มากขึ้น

สิ่งที่น่าสนใจของ BE-IIS-GMSL2-2CAM ไม่ได้อยู่แค่คำว่า “ต่อกล้องได้สองตัว” แต่คือการเปิดทางให้ Raspberry Pi 5 เข้าไปทดลอง Architecture แบบ Serializer → GMSL2 → Deserializer → CSI-2 ได้เป็นระบบมากขึ้น

Setup ที่รายงานด้วย IMX708 สองตัวและสาย Coaxial 10 เมตร แสดงให้เห็นว่า Raspberry Pi สามารถถูกนำไปทดลองงาน Remote Camera, Robotics และ Industrial Vision ในรูปแบบที่ต่างจาก Camera Ribbon Cable ทั่วไปได้

แต่ก่อนเลือก Hardware ต้องดูทั้ง Camera Compatibility, Serializer, Driver, Power Supply และ Software Pipeline เพราะ Source ไม่ได้ยืนยันว่ากล้องหรือ Configuration ทุกแบบ จะทำงานร่วมกันได้โดยอัตโนมัติ

โปรเจกต์นี้มีหลายขั้น แนะนำอ่านต้นฉบับควบคู่กัน

บทความนี้สรุป Architecture และข้อมูลสำคัญเพื่อให้เข้าใจภาพรวมได้เร็วขึ้น แต่หากจะลงมือ Setup จริง ควรตรวจเอกสารของผู้พัฒนาและ Repository เวอร์ชันล่าสุดควบคู่กันเสมอ

References / แหล่งข้อมูลต้นฉบับ

อยากเริ่ม Project Raspberry Pi หรือ Computer Vision?

ถ้ากำลังวาง Project ที่เกี่ยวกับ Raspberry Pi, Camera, Development Board, Sensor หรือ Maker Accessories สามารถสอบถามทีม Globalbyte เพื่อช่วยดูอุปกรณ์ที่เหมาะกับแนวทางของ Project ได้

Disclaimer: บทความนี้เป็นการสรุปและเรียบเรียงจากแหล่งข้อมูลภาษาอังกฤษ อาจมีความคลาดเคลื่อน กรุณาตรวจสอบ Source ต้นฉบับก่อนลงมือทำ โดยเฉพาะ Hardware Revision, Camera Compatibility, Driver, Linux Kernel, Device Tree, Power Supply และการตั้งค่า Jumper ซึ่งสามารถเปลี่ยนแปลงได้ตาม Revision และ Software Version นอกจากนี้ Source ที่ใช้อ้างอิงไม่ได้ระบุ FPS, End-to-End Latency, Power Consumption, Stereo Synchronization Accuracy หรือ Compatibility กับ Camera Module ทุกประเภท

 

แท็ก


Blog posts