ในโลกของ 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 เดียวกัน:

  1. High-Speed ADC/DAC สำหรับ Vibration Monitoring → ใช้ SPI เพราะต้องการ Sample Rate สูงถึง 100 kSPS
  2. Temperature & Humidity Sensor (เช่น SHT3x series) → ใช้ I2C เพราะใช้ Pin น้อย และความเร็วไม่สูงมาก
  3. IMU (Inertial Measurement Unit) สำหรับ Motion Tracking → ใช้ SPI เพื่อให้ได้ Data Rate สูงถึง 10 kHz
  4. EEPROM สำหรับเก็บ Calibration Data → ใช้ I2C เพราะข้อมูลไม่ได้เขียนบ่อย
  5. 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 — สรุปสิ่งสำคัญ

  1. SPI เหมาะกับ High-Speed Data Acquisition เช่น Vibration Sensor หรือ High-Resolution ADC ที่ต้องการ Transfer Rate สูง
  2. I2C เหมาะกับ Multi-Sensor Design ที่มีเซ็นเซอร์หลายตัวบน Bus เดียว ประหยัด Pin บน Microcontroller
  3. ทั้งสองโปรโตคอลเป็นระยะสั้นเท่านั้น ไม่เกิน 1 เมตร — หากต้องการระยะไกลขึ้นต้องใช้ RS-485, CAN Bus หรือ Ethernet
  4. EMI ในโรงงานอุตสาหกรรม เป็นศัตรูหลักของ Signal Integrity ต้องออกแบบ PCB อย่างรอบคอบ
  5. Protocol Selection ส่งผลต่อ BOM Cost — I2C ใช้ Pin น้อยกว่า ช่วยลดขนาด Microcontroller และต้นทุน PCB
  6. Clock Stretching ของ I2C อาจทำให้เกิง Bottleneck ในระบบ Real-Time ต้องพิจารณาด้วย
  7. SPI ไม่มี Built-in Flow Control จึงต้องจัดการ Data Rate ที่ Firmware Level

💡 คำแนะนำจาก Honey Corporation: การเลือกโปรโตคอลสื่อสารระหว่างเซ็นเซอร์และ Microcontroller เป็นจุดเริ่มต้นสำคัญของทุกโปรเจกต์ IoT โดยเฉพาะในโรงงานอุตสาหกรรมที่ Signal Integrity มีผลโดยตรงต่อความแม่นยำของข้อมูล ทีมวิศวกรของเราพร้อมให้คำปรึกษาตั้งแต่ขั้น PCB Design จนถึง Firmware Development