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 เมตร ต่อกล้อง
- รองรับ 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
จุดสำคัญคือมันไม่ใช่การนำสายกล้อง CSI ธรรมดามาต่อให้ยาวขึ้นโดยตรง แต่เป็น Architecture ที่มีการแปลงสัญญาณฝั่งกล้องก่อนส่งผ่าน GMSL2 แล้วจึงแปลงกลับเป็น CSI-2 ใกล้กับ Raspberry Pi
ทำไม GMSL2 ถึงน่าสนใจกับ Raspberry Pi 5?
ในงาน Maker ทั่วไป กล้องมักติดตั้งอยู่ใกล้กับ SBC แต่โจทย์ในงาน Robotics, Industrial Vision หรือระบบกล้องบนเครื่องจักร อาจต้องแยกตำแหน่งของกล้องออกจากตัวประมวลผล
บทความต้นทางของ CNX Software ระบุทั้งเรื่อง Low Latency และความสามารถในการใช้งานระยะไกล โดยระบบนี้ได้รับการทดสอบกับกล้องสองตัวผ่านสาย Coaxial ความยาว 10 เมตร
Source ยืนยันว่ามีการทดสอบ Setup ที่ระยะ 10 เมตร แต่ไม่ได้ระบุผลทดสอบครอบคลุมสายทุกชนิด กล้องทุกแบบ หรือ Configuration ทุกค่า ดังนั้นควรมองตัวเลขนี้เป็นผลจาก Setup ที่รายงาน ไม่ใช่การรับประกันระยะสูงสุดของทุกระบบ
Architecture ของระบบทำงานอย่างไร?
↓
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
Serializer ฝั่งกล้องทำหน้าที่อะไร?
ถ้ามีเพียง Camera HAT ที่ Raspberry Pi ฝั่งเดียว ระบบยังไม่ครบ เพราะกล้อง CSI-2 ต้องมีวงจรที่แปลงข้อมูลให้เข้าสู่ลิงก์ GMSL2 ก่อน
BE-IIS มีบอร์ด BE-IIS-GMSL2-SER ที่บทความ CNX Software ระบุว่าใช้ Serializer ตระกูล MAX96717 สำหรับเชื่อม Camera Module ฝั่ง CSI-2 เข้ากับ GMSL2
นอกจาก Video Link แล้ว Source ยังระบุว่า Serializer Platform รองรับ I2C control, สัญญาณ Camera Reset/Enable และ Power over Coax ซึ่งช่วยรวมฟังก์ชันที่ต้องใช้ระหว่างฝั่งกล้องกับฝั่งประมวลผลไว้ในระบบเดียว
Setup ที่ผ่านการทดสอบจริง
ส่วนนี้สำคัญ เพราะช่วยแยกว่าอะไรคือ Capability ที่คาดหวังได้ กับอะไรคือสิ่งที่มีการทดสอบและรายงานไว้จริง
| รายการ | 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 เมตรต่อกล้อง |
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 ปัจจุบันควบคู่ก่อนใช้งานจริง
./install.sh
make unoverlay
make prepare-a-b
make pipeline-a-b
rpicam-hello --list-cameras
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 เป็นหนึ่งใน 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 / แหล่งข้อมูลต้นฉบับ
- CNX Software — Raspberry Pi 5 gets dual GMSL2 Camera HAT based on MAX96716A deserializer
- BE-IIS — BE-IIS-GMSL2-2CAM Revision A Product Page
- BE-IIS GitHub — be-iis-cam-installer
- Analog Devices — MAX96716A Dual GMSL2 to CSI-2 Deserializer
อยากเริ่ม Project Raspberry Pi หรือ Computer Vision?
ถ้ากำลังวาง Project ที่เกี่ยวกับ Raspberry Pi, Camera, Development Board, Sensor หรือ Maker Accessories สามารถสอบถามทีม Globalbyte เพื่อช่วยดูอุปกรณ์ที่เหมาะกับแนวทางของ Project ได้