Hardware Interfacing

การติดต่อสื่อสารด้วย SPI : Serial Peripheral Interface

ภาพรวมของ SPI 
SPI หรือ Serial Peripheral Interface เป็นวิธีการสื่อสารรูปแบบหนึ่ง ที่ใช้ในการติดต่อสื่อสารกับอุปกรณ์ ตัวอย่างเช่น พริ้นเตอร์ กล้องถ่ายรูป เครื่องสแกนเนอร์ และอื่นๆ อีกมามาย ถึงแม้ว่าการสื่อสารของ USB ที่มีฟังก์ชั่นการทำงานที่กว้างกว่า แต่การสื่อสารในรูปแบบ SPI ก็ยังถูกใช้งานกันอยู่ในบาง Application 

SPI ทำงานในรูปแบบที่ให้อุปกรณ์ตัวหนึ่งทำหน้าที่เป็น  MASTER ในขณะที่อีกตัวหนึ่งทำหน้าที่เป็น SLAVE และส่งข้อมูลในโหมด Full-duplex นั่นหมายความว่า สัญญาณสามารถส่งหากันได้ระหว่าง MASTER และ SLAVE ได้อย่างต่อเนื่อง ในการสื่อสารแบบ SPI นี้ ไม่ได้มาตรฐานกำหนดตายตัว ว่าข้อมูลที่ส่งหากันต้องอยู่ในรูปแบบหรือ format แบบไหน เป็นการคิด protocol การสื่อสารกันเอาเอง 

อุปกรณ์ที่ยังคงมีการใช้การสื่อสารแบบ SPI อยู่ 
  • การแปลงข้อมูลจาก Analog to Digital หรือจาก Digital to Analog
  • การติดต่อกับหน่วยความจำ EEPROM และ FLASH 
  • ไอซีประเภท Real Time Clock : RTC
  • เซ็นเซอร์ จำพวก Temperature sensor , Pressure sensor 
  • อื่น ๆ เช่น signal mixer , Potentiometer , LCD controller , USART , CAN controller , USB controller , Amplifier 
พื้นฐานการทำงาน 
SPI ต้องการสายสัญญาณ สี่เส้น บางครั้งเราเรียกว่าบัสอนุกรม "four wire" เส้นสัญญาณทั้่งสี่เส้น ได้แก่ 

Line Name Description
SCLK Serial Clock Output from master
MOSI/SIMO Master Output, Slave Input Output from master
MISO/SOMI Master Input, Slave Output Output from slave
SS Slave Select Output from master (active low)

ที่เราเรียกว่า master ก็เพราะว่า ตัวที่เป็นมาสเตอร์ ทำหน้าที่เป็นตัวควบคุมการสื่้อสารทั้งหมด โดยควบคุมการสื่อสารตามสัญญาณนาฬิกา ตัวมาสเตอร์จะเป็นตัวที่ตัดสินใจ รับ หรือ ส่งข้อมูล ภายในการสื่อสาร จะเป็นการสื่อสารแบบ full duplex ในการนำส่งข้อมูล  

เราใช้ สัญญาณเส้น SS หรือ Slave select ในกรณี ที่เรามีตัว slave มากกว่า 1 ตัว โดยการทำให้เส้น SS มีระดับสัญญาณเป็น Low เมื่อต้องการติดต่อกับ Slave ตัวใด จากรูปด้านล่างหากเราต้องการติดต่อสื่อสารกับ Slave ตัวใด ก็เพียงทำให้สัญญาณ SS ของ Slave ตัวนั้น มีระดับสัญญาณเป็น Low 



รูปวงจรการต่อมาสเตอร์ 1 ตัวกับ สลาฟ 3 ตัว 

โค๊ดตัวอย่างการนำไปใช้งาน 
 
 

รายการหน้าเว็บย่อย

Comments