ในโลกของ Industrial IoT ที่เต็มไปด้วยเทคโนโลยีไร้สายขั้นสูงอย่าง 5G, LoRaWAN หรือ NB-IoT หลายคนอาจลืมไปว่า ทุก Sensor Node บนโลกใบนี้ล้วนพึ่งพาโปรโตคอลสื่อสารระยะสั้น อย่าง SPI (Serial Peripheral Interface) และ I2C (Inter-Integrated Circuit) ในการส่งข้อมูลจากเซ็นเซอร์ไปยัง Microcontroller ก่อนที่ข้อมูลจะถูกส่งต่อไปยัง Cloud หรือ Edge Gateway
SPI คืออะไร? สถาปัตยกรรมแบบ Full-Duplex
SPI เป็นโปรโตคอลสื่อสารแบบ Synchronous Serial ที่พัฒนาโดย Motorola ในปี 1980 ทำงานแบบ Full-Duplex ส่งและรับข้อมูลพร้อมกันได้ ด้วยสถาปัตยกรรม Master-Slave โดยใช้สายสัญญาณ 4 เส้น:
- SCLK (Serial Clock) — สัญญาณ Clock ควบคุมจังหวะการส่งข้อมูล
- MOSI (Master Out Slave In) — ข้อมูลจาก Master ไป Slave
- MISO (Master In Slave Out) — ข้อมูลจาก Slave ไป Master
- CS/SS (Chip Select) — เลือก Slave ที่ต้องการสื่อสาร
จุดเด่นของ SPI คือความเร็วสูงมาก สามารถทำงานที่ สูงสุดถึง 60 MHz ขึ้นอยู่กับฮาร์ดแวร์ ทำให้เหมาะกับอุปกรณ์ที่ต้องการ Transfer Rate สูง เช่น ADC ความละเอียดสูง, SD Card, Display Module และ Flash Memory
I2C คืออะไร? สถาปัตยกรรมแบบ 2-Wire
I2C พัฒนาโดย Philips (ปัจจุบันคือ NXP) ในปี 1982 ใช้สายสัญญาณเพียง 2 เส้น ทำให้ประหยัด Pin บน Microcontroller อย่างมาก:
- SDA (Serial Data) — สายข้อมูลแบบ Bidirectional
- SCL (Serial Clock) — สาย Clock
I2C ใช้ระบบ Addressing แบบ 7-bit หรือ 10-bit ทำให้สามารถต่ออุปกรณ์บน Bus เดียวกันได้หลายตัว (สูงสุด 128 ตัวสำหรับ 7-bit) โดยไม่ต้องเพิ่มสายสัญญาณ ความเร็วมีให้เลือก 4 ระดับ:
| โหมด | ความเร็ว | การใช้งาน |
|---|---|---|
| Standard Mode | 100 kbps | เซ็นเซอร์ทั่วไป, EEPROM |
| Fast Mode | 400 kbps | IMU, Temperature Sensor |
| Fast Mode Plus | 1 Mbps | High-speed Sensor Array |
| High-Speed Mode | 3.4 Mbps | Advanced Industrial Sensor |
เปรียบเทียบ SPI vs I2C: เลือกอย่างไรให้เหมาะกับงาน?
| คุณสมบัติ | SPI | I2C |
|---|---|---|
| จำนวนสาย | 4 + n (ตามจำนวน Slave) | 2 (ไม่ว่าจะมีกี่อุปกรณ์) |
| Duplex | Full-Duplex | Half-Duplex |
| ความเร็วสูงสุด | 60 MHz | 3.4 MHz |
| การ Addressing | ไม่มี (ใช้ CS Pin) | 7-bit / 10-bit Address |
| Flow Control | ไม่มี | Clock Stretching |
| ระยะทาง | สั้นมาก (<30 cm) | สั้น (<1 m) |
| EMI Immunity | ต่ำ (สายเยอะ) | ปานกลาง |
การใช้งานจริงใน IIoT Sensor Node
ใน Industrial IoT Gateway ยุคใหม่ โดยทั่วไปจะใช้ทั้ง SPI และ I2C พร้อมกันบน PCB เดียวกัน:
- High-Speed ADC/DAC สำหรับ Vibration Monitoring → ใช้ SPI เพราะต้องการ Sample Rate สูงถึง 100 kSPS
- Temperature & Humidity Sensor (เช่น SHT3x series) → ใช้ I2C เพราะใช้ Pin น้อย และความเร็วไม่สูงมาก
- IMU (Inertial Measurement Unit) สำหรับ Motion Tracking → ใช้ SPI เพื่อให้ได้ Data Rate สูงถึง 10 kHz
- EEPROM สำหรับเก็บ Calibration Data → ใช้ I2C เพราะข้อมูลไม่ได้เขียนบ่อย
- Display Module (OLED/TFT) → ใช้ SPI สำหรับ Refresh Rate ที่ลื่น
ข้อควรพิจารณาในการออกแบบ PCB สำหรับโรงงานอุตสาหกรรม
ในสภาพแวดล้อมโรงงานที่มี EMI (Electromagnetic Interference) สูง การออกแบบ PCB Trace สำหรับ SPI และ I2C ต้องคำนึงถึง:
- Trace Length — ควรสั้นที่สุดเท่าที่เป็นไปได้ SPI ไม่ควรเกิน 15 cm บน PCB
- Pull-up Resistor สำหรับ I2C — คำนวณจาก Bus Capacitance (ค่ามาตรฐาน 4.7 kΩ สำหรับ 100 kHz, 1 kΩ สำหรับ 400 kHz)
- Ground Plane — ใส่ Ground Plane ชั้นใต้สุดเพื่อลด Crosstalk และ EMI
- Decoupling Capacitor — วาง 100 nF ใกล้ VCC Pin ของทุกอุปกรณ์บน Bus
- Differential Pair Routing — สำหรับ High-Speed SPI (≥20 MHz) ควรพิจารณา Impedance Matching
Key Takeaways — สรุปสิ่งสำคัญ
- SPI เหมาะกับ High-Speed Data Acquisition เช่น Vibration Sensor หรือ High-Resolution ADC ที่ต้องการ Transfer Rate สูง
- I2C เหมาะกับ Multi-Sensor Design ที่มีเซ็นเซอร์หลายตัวบน Bus เดียว ประหยัด Pin บน Microcontroller
- ทั้งสองโปรโตคอลเป็นระยะสั้นเท่านั้น ไม่เกิน 1 เมตร — หากต้องการระยะไกลขึ้นต้องใช้ RS-485, CAN Bus หรือ Ethernet
- EMI ในโรงงานอุตสาหกรรม เป็นศัตรูหลักของ Signal Integrity ต้องออกแบบ PCB อย่างรอบคอบ
- Protocol Selection ส่งผลต่อ BOM Cost — I2C ใช้ Pin น้อยกว่า ช่วยลดขนาด Microcontroller และต้นทุน PCB
- Clock Stretching ของ I2C อาจทำให้เกิง Bottleneck ในระบบ Real-Time ต้องพิจารณาด้วย
- SPI ไม่มี Built-in Flow Control จึงต้องจัดการ Data Rate ที่ Firmware Level
💡 คำแนะนำจาก Honey Corporation: การเลือกโปรโตคอลสื่อสารระหว่างเซ็นเซอร์และ Microcontroller เป็นจุดเริ่มต้นสำคัญของทุกโปรเจกต์ IoT โดยเฉพาะในโรงงานอุตสาหกรรมที่ Signal Integrity มีผลโดยตรงต่อความแม่นยำของข้อมูล ทีมวิศวกรของเราพร้อมให้คำปรึกษาตั้งแต่ขั้น PCB Design จนถึง Firmware Development
