การสื่อสารมีบทบาทสำคัญในการออกแบบระบบฝังตัว การขยายอุปกรณ์ต่อพ่วงมีความซับซ้อนสูงและใช้พลังงานสูงโดยไม่ต้องใช้โปรโตคอล ระบบฝังตัว โดยทั่วไปจะใช้การสื่อสารแบบอนุกรมเพื่อสื่อสารกับอุปกรณ์ต่อพ่วง
มีโปรโตคอลการสื่อสารแบบอนุกรมมากมายเช่นการสื่อสาร UART, CAN, USB, I2C และ SPI อนุกรม โปรโตคอลการสื่อสาร ลักษณะเฉพาะ ได้แก่ ความเร็วสูงและการสูญเสียข้อมูลต่ำ ช่วยให้การออกแบบระดับระบบง่ายขึ้นและมั่นใจได้ว่าการถ่ายโอนข้อมูลที่เชื่อถือได้
การสื่อสารข้อมูลแบบอนุกรม
ข้อมูลที่เข้ารหัสด้วยไฟฟ้าเรียกว่าข้อมูลอนุกรมซึ่งส่งทีละบิตจากอุปกรณ์เครื่องหนึ่งไปยังอีกเครื่องหนึ่งผ่านชุดของโปรโตคอล ในระบบฝังตัวเซ็นเซอร์ควบคุมและข้อมูลแอคชูเอเตอร์จะได้รับหรือส่งไปยังอุปกรณ์ควบคุมเช่นไมโครคอนโทรลเลอร์เพื่อให้ข้อมูลได้รับการวิเคราะห์และประมวลผลเพิ่มเติม เนื่องจากไมโครคอนโทรลเลอร์ทำงานกับข้อมูลดิจิทัลข้อมูลจากไฟล์ เซ็นเซอร์อนาล็อก ตัวกระตุ้นและอุปกรณ์ต่อพ่วงอื่น ๆ จะถูกแปลงเป็นไบนารีคำหนึ่งไบต์ (8 บิต) ก่อนที่จะส่งไปยังไมโครคอนโทรลเลอร์
การสื่อสารข้อมูลแบบอนุกรม
ข้อมูลอนุกรมนี้ถูกส่งโดยเกี่ยวกับพัลส์นาฬิกาบางอย่าง อัตราการส่งข้อมูลเรียกว่าอัตราการส่งข้อมูล จำนวนบิตข้อมูลที่สามารถส่งต่อวินาทีเรียกว่าอัตรารับส่งข้อมูล สมมติว่าข้อมูลมีขนาด 12 ไบต์จากนั้นแต่ละไบต์จะถูกแปลงเป็น 8 บิตเพื่อให้ขนาดทั้งหมดของการรับส่งข้อมูลอยู่ที่ประมาณ 96 บิต / วินาทีของข้อมูล (12 ไบต์ * 8 บิตต่อไบต์) หากสามารถส่งข้อมูลได้ทุกๆวินาทีอัตราการส่งข้อมูลจะอยู่ที่ประมาณ 96 บิต / วินาทีหรือ 96 บอด หน้าจอแสดงผลจะรีเฟรชค่าข้อมูลทุกๆวินาที
ข้อมูลพื้นฐานเกี่ยวกับอินเทอร์เฟซอุปกรณ์ต่อพ่วงแบบอนุกรม
การสื่อสาร SPI ย่อมาจากอินเทอร์เฟซอุปกรณ์ต่อพ่วงแบบอนุกรม โปรโตคอลการสื่อสาร ซึ่งได้รับการพัฒนาโดย Motorola ในปี 1972 อินเทอร์เฟซ SPI พร้อมใช้งานบนตัวควบคุมการสื่อสารยอดนิยมเช่น PIC, AVR และ ตัวควบคุม ARM ฯลฯ มีลิงค์ข้อมูลการสื่อสารอนุกรมแบบซิงโครนัสที่ทำงานในฟูลดูเพล็กซ์ซึ่งหมายความว่าสัญญาณข้อมูลจะส่งต่อทั้งสองทิศทางพร้อมกัน
โปรโตคอล SPI ประกอบด้วยสายไฟสี่สายเช่น MISO, MOSI, CLK, SS ที่ใช้สำหรับการสื่อสารหลัก / ทาส ต้นแบบคือไมโครคอนโทรลเลอร์และทาสเป็นอุปกรณ์ต่อพ่วงอื่น ๆ เช่นเซ็นเซอร์ โมเด็ม GSM และโมเด็ม GPS เป็นต้นทาสหลายตัวเชื่อมต่อกับต้นแบบผ่านบัสอนุกรม SPI โปรโตคอล SPI ไม่รองรับการสื่อสารแบบ Multi-master และใช้เป็นระยะทางสั้น ๆ ภายในแผงวงจร
ข้อมูลพื้นฐานเกี่ยวกับอินเทอร์เฟซอุปกรณ์ต่อพ่วงแบบอนุกรม
เส้น SPI
MISO (Master in Slave out) : สาย MISO ถูกกำหนดค่าเป็นอินพุตในอุปกรณ์หลักและเป็นเอาต์พุตในอุปกรณ์ทาส
MOSI (Master out Slave in) : MOSI เป็นสายที่กำหนดค่าเป็นเอาต์พุตในอุปกรณ์หลักและเป็นอินพุตในอุปกรณ์ทาสซึ่งใช้ในการซิงโครไนซ์การเคลื่อนย้ายข้อมูล
SCK (นาฬิกาอนุกรม) : สัญญาณนี้ถูกขับเคลื่อนโดยต้นแบบเสมอสำหรับการถ่ายโอนข้อมูลแบบซิงโครนัสระหว่างต้นแบบและทาส ใช้เพื่อซิงโครไนซ์การเคลื่อนย้ายข้อมูลทั้งเข้าและออกผ่านสาย MOSI และ MISO
SS (Slave Select) และ CS (Chip Select) : สัญญาณนี้ขับเคลื่อนโดยต้นแบบเพื่อเลือกทาส / อุปกรณ์ต่อพ่วงแต่ละตัว เป็นสายป้อนข้อมูลที่ใช้เพื่อเลือกอุปกรณ์ทาส
การสื่อสาร Master Slave กับ SPI Serial Bus
การใช้งาน SPI Master เดี่ยวและ Single Slave
ที่นี่การสื่อสารจะเริ่มต้นโดยผู้เชี่ยวชาญเสมอ อุปกรณ์หลักจะกำหนดค่าความถี่สัญญาณนาฬิกาซึ่งน้อยกว่าหรือเท่ากับความถี่สูงสุดที่อุปกรณ์ทาสรองรับก่อน จากนั้นต้นแบบจะเลือกทาสที่ต้องการสำหรับการสื่อสารโดยการลากสายเลือกชิป (SS) ของอุปกรณ์ทาสนั้น ๆ เพื่อให้อยู่ในสถานะต่ำและทำงานอยู่ ต้นแบบสร้างข้อมูลไปยังบรรทัด MOSI ที่นำข้อมูลจากต้นแบบไปยังทาส
การสื่อสารของ Master Slave
การใช้งาน Master เดี่ยวและการใช้งาน Slave หลายตัว
นี่คือคอนฟิกูเรชันทาสหลายตัวที่มีมาสเตอร์หนึ่งตัวและทาสหลายตัวผ่านบัสอนุกรม SPI ทาสหลายตัวเชื่อมต่อแบบขนานกับอุปกรณ์หลักด้วยบัสอนุกรม SPI ที่นี่สายนาฬิกาและสายข้อมูลทั้งหมดเชื่อมต่อเข้าด้วยกัน แต่พินเลือกชิปจากอุปกรณ์ทาสแต่ละเครื่องจะต้องเชื่อมต่อกับหมุดเลือกทาสแยกต่างหากบนอุปกรณ์มาเซอร์
นายเดี่ยวและทาสหลายคน
ในกระบวนการนี้การควบคุมอุปกรณ์ทาสแต่ละเครื่องจะดำเนินการโดยสายการเลือกชิป (SS) พินเลือกชิปลดลงเพื่อเปิดใช้งานอุปกรณ์ทาสและไปที่ระดับสูงเพื่อปิดใช้งานอุปกรณ์ทาส
การถ่ายโอนข้อมูลจะจัดระเบียบโดยใช้ shift register ที่ทั้งอุปกรณ์หลักและอุปกรณ์ทาสโดยมีขนาดคำที่กำหนดประมาณ 8 บิตและ 16 บิตตามลำดับ อุปกรณ์ทั้งสองเชื่อมต่อกันในรูปวงแหวนเพื่อให้ค่าทะเบียนกะของ maser ถูกส่งผ่านสาย MOSI จากนั้นทาสจะเลื่อนข้อมูลในทะเบียนกะ โดยปกติข้อมูลจะถูกย้ายออกด้วย MSB ก่อนและเปลี่ยน LSB ใหม่ลงในทะเบียนเดียวกัน
การถ่ายโอนข้อมูลระหว่าง Master และ Slave
ความสำคัญของขั้วนาฬิกาและเฟส
โดยทั่วไปการส่งและรับข้อมูลจะดำเนินการตามจังหวะนาฬิกาที่ขอบขึ้นและขอบตก ไมโครคอนโทรลเลอร์ขั้นสูงมีสองความถี่: ความถี่ภายในและความถี่ภายนอก สามารถเพิ่มอุปกรณ์ต่อพ่วง SPI ได้โดยแชร์สาย MISO, MOSI และ SCLK อุปกรณ์ต่อพ่วงมีประเภทหรือความเร็วที่แตกต่างกันเช่น ADC, DAC เป็นต้นดังนั้นเราจำเป็นต้องเปลี่ยนการตั้งค่า SPCR ระหว่างการถ่ายโอนไปยังอุปกรณ์ต่อพ่วงต่างๆ
ลงทะเบียน SPCR
บัส SPI ทำงานในหนึ่งใน 4 โหมดถ่ายโอนที่แตกต่างกันโดยมีขั้วสัญญาณนาฬิกา (CPOL) และเฟสนาฬิกา (CPHA) ซึ่งกำหนดรูปแบบนาฬิกาที่จะใช้ ขั้วนาฬิกาและอัตรานาฬิกาเฟสขึ้นอยู่กับอุปกรณ์ต่อพ่วงที่คุณพยายามสื่อสารกับอุปกรณ์หลัก
CPHA = 0, CPOL = 0: บิตแรกเริ่มต้นด้วยสัญญาณที่ต่ำกว่า - ข้อมูลจะถูกสุ่มตัวอย่างที่ขอบที่เพิ่มขึ้นและข้อมูลจะเปลี่ยนไปที่ขอบที่ตกลงมา
CPHA = 0, CPOL = 1: บิตแรกเริ่มต้นด้วยนาฬิกาที่ต่ำกว่า - ข้อมูลจะถูกสุ่มตัวอย่างที่ขอบลดลงและข้อมูลจะเปลี่ยนไปตามขอบที่เพิ่มขึ้น
CPHA = 1, CPOL = 0: บิตแรกเริ่มต้นด้วยนาฬิกาที่สูงขึ้น - ข้อมูลจะถูกสุ่มตัวอย่างที่ขอบลดลงและข้อมูลจะเปลี่ยนไปตามขอบที่เพิ่มขึ้น
CPHA = 1, CPOL = 1: บิตแรกเริ่มต้นด้วยนาฬิกาที่สูงขึ้น - ข้อมูลจะถูกสุ่มตัวอย่างที่ขอบที่เพิ่มขึ้นและข้อมูลจะเปลี่ยนไปตามขอบที่ตกลงมา
การกำหนดเวลา SPI Bus
โปรโตคอลการสื่อสาร SPI
ไมโครคอนโทรลเลอร์หลายตัวมีโปรโตคอล SPI ในตัวซึ่งจัดการข้อมูลการส่งและรับข้อมูลทั้งหมด การดำเนินการโหมดข้อมูล (R / W) ใด ๆ ถูกควบคุมโดยการควบคุมและการลงทะเบียนสถานะของโปรโตคอล SPI ที่นี่คุณสามารถสังเกตอินเทอร์เฟซ EEPROM กับไมโครคอนโทรลเลอร์ PIC16f877a ผ่านโปรโตคอล SPI
ที่นี่ 25LC104 EEROM เป็นหน่วยความจำ 131072 ไบต์ซึ่งไมโครคอนโทรลเลอร์จะถ่ายโอนข้อมูลสองไบต์ไปยัง หน่วยความจำ EEROM ผ่านบัสอนุกรม SPI โปรแกรมสำหรับการเชื่อมต่อนี้ได้รับด้านล่าง
การสื่อสาร Master to Slave ผ่านบัสอนุกรม SPI
# รวม
Sbit SS = RC ^ 2
Sbit SCK = RC ^ 3
Sbit SDI = RC ^ 4
Sbit SDO = RC ^ 5
โมฆะเริ่มต้น EEROM ()
โมฆะ main ()
{
SSPSPAT = 0x00
SSPCON = 0x31
SMP = 0
SCK = 0
SDO = 0
SS = 1
EE_adress = 0x00
SPI_write (0x80)
SPI_write (1234)
SS = 0
}
ข้อดีของ SPI Protocol
- เป็นการสื่อสารแบบฟูลดูเพล็กซ์
- เป็นบัสข้อมูลความเร็วสูง 10MHz
- ไม่ จำกัด เพียง 8 บิตในขณะที่โอน
- การเชื่อมต่อฮาร์ดแวร์ทำได้ง่ายผ่าน SPI
- Slave ใช้นาฬิกาหลักและไม่จำเป็นต้องมีออสซิลเลเตอร์ล้ำค่า
ทั้งหมดนี้เกี่ยวกับการสื่อสาร SPI และของมัน การเชื่อมต่อกับไมโครคอนโทรลเลอร์ . ขอขอบคุณสำหรับความสนใจและความสนใจของคุณสำหรับบทความนี้และด้วยเหตุนี้จึงคาดหวังมุมมองของคุณเกี่ยวกับบทความนี้ นอกจากนี้สำหรับการเชื่อมต่อการเข้ารหัสและความช่วยเหลือคุณสามารถถามเราได้โดยแสดงความคิดเห็นด้านล่าง
เครดิตภาพ:
- การสื่อสารข้อมูลแบบอนุกรมโดย เรืองแสง
- ข้อมูลพื้นฐานเกี่ยวกับอินเทอร์เฟซอุปกรณ์ต่อพ่วงแบบอนุกรมโดย พรรณี
- นายเดี่ยวและทาสหลายคนโดย กิน
- การถ่ายโอนข้อมูลระหว่าง Master และ Slave โดย วิศวกร
- การกำหนดเวลา SPI Bus โดย maximintegrated