ส่วนนี้ยังคง ระบบสมองกลฝังตัว อีกอินเตอร์เฟสการสื่อสารแบบอนุกรมในโปรโตคอลการสื่อสารฮาร์ดแวร์ - SPI 。เปรียบเทียบกับโปรโตคอลพอร์ตอนุกรม UART, SPI มันมีเอกลักษณ์ของตัวเอง
ที่อยู่จะถูกยกมาดังนี้: Http://www.eepw.com.cn/article/201812/396060.htm
แนะนำสั้น ๆ
SPI (SerialPeripheral Interface), อุปกรณ์ต่อพ่วงแบบอนุกรม
SPI เป็นตัวย่อของ SerialPeripheral Interface SPI เป็นบัสสื่อสารความเร็วสูงเต็มเพล็กซ์ซิงโครนัสและใช้เพียงสี่บรรทัดบนพินของชิป ช่วยประหยัดพินของชิปและประหยัดพื้นที่และความสะดวกในการจัดวาง PCB เนื่องจากคุณสมบัติที่เรียบง่ายและใช้งานง่ายนี้ทำให้ชิปมากขึ้นจึงรวมโปรโตคอลการสื่อสารเช่น AT91RM9200
- จากสารานุกรม Baidu
อินเทอร์เฟซได้รับการพัฒนาโดยโมโตโรล่าในกลางปี 1980 และได้กลายเป็นมาตรฐานจริง
- จาก Wiki
จาก "มาตรฐานความเป็นจริง" ที่ Wikipedia ได้ให้คำปรึกษาเราสามารถรับความรู้ทางวิทยาศาสตร์ได้
มาตรฐานความเป็นจริงหมายถึงมาตรฐานที่ไม่ได้กำหนดโดยองค์กรมาตรฐาน แต่โดยองค์กรและกลุ่มธุรกิจที่อยู่ในตำแหน่งผู้นำด้านเทคโนโลยี บางคนก็ต้องได้รับการอนุมัติจากองค์กรพันธมิตรในอุตสาหกรรมเช่นมาตรฐานดีวีดีที่ต้องได้รับการอนุมัติจากฟอรั่มดีวีดีและมาตรฐานทางเทคนิคที่ได้รับการยอมรับจากตลาด
- จากสารานุกรม Baidu
อินเตอร์เฟส SPI กำหนดโฮสต์และสถาปัตยกรรมการสื่อสารที่มากขึ้น บนบัส SPI เดียวกันมีเพียงโฮสต์เดียวเท่านั้นและมีคอมพิวเตอร์ทาสหลายเครื่อง สถาปัตยกรรมดังกล่าว จำกัด การริเริ่มของการสื่อสารเฉพาะในฝั่งโฮสต์โฮสต์เริ่มการสื่อสารและทาสทำให้ต้องการ
สายสัญญาณ
SPI เรียกว่าบัสอนุกรมสี่สายและสายสัญญาณของมันคือ:
SCLK: นาฬิกาอนุกรม (เอาต์พุตโฮสต์)
MOSI: เอาต์พุตหลักจากอินพุต slave หรือโฮสต์เอาต์พุตอินพุต slave (ข้อมูลเอาต์พุตจากโฮสต์)
MISO: อินพุตหลักจากเอาต์พุตหรืออินพุตหลักจากเอาต์พุต (จากเอาต์พุตข้อมูลเอาต์พุต)
SS: การเลือกใช้ทาส (โดยทั่วไปจะมีประสิทธิภาพต่ำ, เอาต์พุตโฮสต์)
การตั้งชื่อของสายสัญญาณก็หลากหลายเช่นกัน
นาฬิกาพอร์ตอนุกรม:
SCLK: SCK
เอาท์พุทหลัก -> จากอินพุต (MOSI):
SIMO, MTSR - สอดคล้องกับ MOSI ระหว่างอุปกรณ์หลักและอุปกรณ์ทาส
SDI, DI, DIN, SI - จากอุปกรณ์; เชื่อมต่อกับ MOSI บนอุปกรณ์หลักหรือเชื่อมต่อกับการเชื่อมต่อต่อไปนี้
SDO, DO, DOUT, SO - บนอุปกรณ์หลัก; เชื่อมต่อกับ MOSI ของสถานีทาสหรือเชื่อมต่อกับการเชื่อมต่อด้านบน
主输入 <--- 从输出="">--->
SOMI, MRST - สอดคล้องกับ MISO ระหว่างอุปกรณ์หลักและอุปกรณ์ทาส
SDO, DO, DOUT, SO - จากอุปกรณ์ เชื่อมต่อกับ MISO บนอุปกรณ์หลักหรือเชื่อมต่อกับการเชื่อมต่อต่อไปนี้
SDI, DI, DIN, SI - อุปกรณ์หลัก; MISO เชื่อมต่อกับทาสหรือการเชื่อมต่อบน
การเลือกทาส:
SS: SSEL, CS, CE, nSS, / SS, SS #
ชื่อที่สับสนข้างต้นคือ SDO, SDI, DOUT, DIN และอื่น ๆ ซึ่งทั้งหมดนี้จะต้องเห็นแยกต่างหากในอุปกรณ์หลักหรือจากอุปกรณ์เพียงอย่างเดียว แต่โดยทั่วไปแล้วลองเขียนข้อกำหนดที่ชัดเจนซึ่งไม่ใช่เรื่องง่ายที่จะสร้างความคลุมเครือ
SPI ซึ่งเป็นอินเตอร์เฟสแบบซิงโครนัสถือได้ว่ามีสัญญาณซิงโครนัสสองตัว คนแรกคือการเลือกสัญญาณ SS จากเครื่องทาสเพื่อแจ้งทาสที่เลือกเพื่อเตรียมการสื่อสาร SPI และที่สองคือการประสานสัญญาณนาฬิกา SCLK เมื่อตัวรับส่งสัญญาณมีปฏิสัมพันธ์กับข้อมูลพวกเขาจะถูกส่งออกและการสุ่มตัวอย่างโดยบิตขึ้นอยู่กับการกระโดดของ SCLK
สัญญาณสี่สายไม่จำเป็นต้องใช้ทั้งหมดตามโหมดการทำงานสามารถกำหนดค่าเป็นสองบรรทัดและสามบรรทัด
ในหน้าการกำหนดค่าของเครื่องมือ STM32CubeMX คุณสามารถเห็นได้อย่างชัดเจนว่าพินชิปแตกต่างกันอย่างไรสำหรับโหมดการทำงานที่แตกต่างกัน



การเปรียบเทียบพบว่าความแตกต่างระหว่างสี่และสามบรรทัดของ full duplex คือสัญญาณทาส NSS สถานการณ์นี้เป็นปกติเนื่องจากบัส SPI มีสถาปัตยกรรมการสื่อสารหลักเดียวและหนึ่งสถาปัตยกรรมเท่านั้นและสัญญาณ slave NSS อยู่ในระดับต่ำเสมอ
สัญญาณเวลา
ลำดับเวลาของอินเทอร์เฟซ SPI แบบลวดสี่เส้นมักจะอยู่ในระดับต่ำเสมอก่อนเลือกสายสัญญาณ SS จากเครื่องจากนั้นส่งออก SCLK และใช้ข้อมูล MOSI ในเวลานี้ MISO เป็นสถานะอิมพีแดนซ์สูง ดังนี้

โดยปกติจะมีอุปกรณ์อินเตอร์เฟส SPI และจะมีไดอะแกรมลำดับที่สอดคล้องกันบน Spec อินเตอร์เฟส SPI ถูกดักจับตามลำดับ รุ่น FLASH คือ GD25Q32C, ส่วนต่อประสาน SPI รุ่น OLED คือ QG-2832TLBFG04 และมีการแนะนำชิ้นส่วน Spec ของอุปกรณ์ทั้งสองดังต่อไปนี้: ภาพหน้าจอสองภาพ:


ไม่ยากที่จะพบว่าข้อกำหนดของไดอะแกรมกำหนดเวลากำหนดลำดับและหน่วงเวลาของแต่ละระดับสัญญาณออกของสายสัญญาณและกำหนด "การจัดตำแหน่ง" ของสัญญาณนาฬิกากระโดดพร้อมกับสัญญาณข้อมูล "การจัดตำแหน่ง" ที่นี่เป็นจริงการส่งออกและการสุ่มตัวอย่างของข้อมูล
ในทำนองเดียวกันข้อกำหนดคุณสมบัติเวลานี้ระบุลักษณะสัญญาณอินเทอร์เฟซ SPI ของอุปกรณ์ SPI รวมถึงการเพิ่มขึ้นของนาฬิกาเวลาของขอบล้มความล่าช้าระหว่างการเลือกชิปและขอบกระโดดนาฬิกาและระยะเวลาของขอบนาฬิกาและสายข้อมูล
ลักษณะเวลาเหล่านี้กำหนดขอบเขตของโฮสต์ SPI เมื่อสื่อสารกับมันหรือไม่เกินขอบเขตของคำจำกัดความมิฉะนั้นจะนำไปสู่การสื่อสารที่ผิดปกติจากการตอบสนองของชิ้นส่วนเครื่องจักร
อุปกรณ์ต่าง ๆ มีข้อกำหนดด้านเวลาที่แตกต่างกันสำหรับอินเตอร์เฟส SPI ไดอะแกรมลำดับแรกอย่างง่ายและตามไดอะแกรมลำดับนี้อินเตอร์เฟส SPI ยังสามารถกำหนดค่าพารามิเตอร์การกำหนดค่าอินเตอร์เฟสที่แตกต่างกัน
รายการการกำหนดค่าส่วนต่อประสาน
โดยทั่วไปการกำหนดค่าเพิ่มเติมของอินเทอร์เฟซคือ: โหมดอินเทอร์เฟซ (การกำหนดค่าที่แท้จริงคือการเลือกโหมดเดี่ยวและโหมดดูเพล็กซ์) โหมดโหมดทาสอุปกรณ์, ความกว้างของข้อมูล, ขั้วนาฬิกา (CPOL :), ขนาดและการเลือกขั้ว
โหมดอินเตอร์เฟส
ส่วนต่อประสานสายสี่ SPI มาตรฐานใช้การสื่อสารระหว่างโฮสต์และสลาฟสำหรับการโต้ตอบข้อมูลและทั้งสองฝ่ายมีกระบวนการรับและส่งข้อมูล ในอินเทอร์เฟซ LCD / OLED SPI ไม่จำเป็นต้องส่งคืนข้อมูลไปยังโฮสต์เป็นอุปกรณ์ของอุปกรณ์ เพียงต้องการรับข้อมูลการควบคุมและแสดงข้อมูลจากโฮสต์
ขึ้นอยู่กับสถานการณ์นี้มันสามารถกำหนดค่าเป็นการสื่อสารลวด Simplex สามสายนั่นคือมีเพียง SS, SCLK นาฬิกาและเอาต์พุตข้อมูล MOSI เท่านั้นที่สามารถเลือกได้จากเครื่อง
โหมดทาสอุปกรณ์หลัก
โดยทั่วไปการกำหนดค่านี้จำเป็นต้องดูว่าชิปรองรับหรือไม่และสามารถกำหนดค่าเป็นโฮสต์ SPI หรือเครื่องทาสเพื่อให้สามารถรวมเข้ากับระบบโครงการได้ดีขึ้น
ความกว้างของข้อมูล
ตามชื่อหมายถึงการส่งข้อมูลสามารถกำหนดค่าเป็น 8 บิต, 16 บิตและอื่น ๆ ซึ่งจะถูกกำหนดตามชิป
ขั้วนาฬิกาและเฟสสัญญาณนาฬิกา
ทั้งสองคือ CPOL (ขั้วนาฬิกา) และ CPHA (เฟสนาฬิกา) ขั้วหมายถึงระดับสูงและต่ำ สิ่งนี้กำหนดบัส SPI ในสถานะว่างนาฬิการักษาระดับสูงหรือต่ำเพราะเมื่อพูดถึงการสื่อสาร SPI ขอบกระโดดนาฬิกาแรกจะเพิ่มขึ้นและลดลง เฟสหมายถึงการข้ามขอบของนาฬิการะบุเอาต์พุตของสัญญาณข้อมูลและวิธีการสุ่มตัวอย่างที่สอดคล้องกับนาฬิกา
การกำหนดค่าทั้งสองได้รับการตีความอย่างชัดเจนในวิกิพีเดียสารานุกรม Wiki และ Baidu


อัตรานาฬิกา
การเลือกอัตรากำหนดอัตราการหมุนของสายสัญญาณนาฬิกาในการส่งข้อมูลซึ่งเป็นช่วงอัตราที่สามารถอยู่ในแผนภาพลำดับอินเทอร์เฟซที่กำหนดโดยชิปแต่ละตัว หากความเร็วของโฮสต์ตั้งไว้เร็วเกินไปและการตอบสนองของเครื่อง Slave ช้าเกินไปการสื่อสารจะล้มเหลว
ข้อมูลบิตบิตขนาดและการเลือกที่สิ้นสุด
การส่งบิตที่มีความสำคัญสามารถกำหนดค่าได้จากโพรโทคอล UART แรกที่สามารถทราบได้ UART ที่ระบุลำดับความสำคัญของข้อมูลบิต 0 และ SPI นี้เป็นลำดับความสำคัญที่สามารถกำหนดค่าได้เพื่อส่งบิต
จากหน้าจออนุกรมเวลาของ FLASH รุ่น GD25Q32 และ OLED QG-2832TLBFG04 เราจะเห็นได้ว่าอุปกรณ์ทั้งสองนี้ให้ความสำคัญกับ MSB นั่นคือลำดับความสำคัญสูงสุด
จากนั้นเปรียบเทียบคำแนะนำของชิปตัวอักษร GT21L16S2W สำหรับการอ่าน:

จะเห็นว่าลำดับความสำคัญการส่งของ MSB ถูกนำมาใช้กันทั่วไปในอุปกรณ์ SPI
สรุปอินเตอร์เฟสการสื่อสาร SPI หนึ่งโฮสต์และสถาปัตยกรรมการสื่อสารสเลฟหลายอัน โหมดมาตรฐานมีสี่สายสัญญาณเริ่มสื่อสารกับสัญญาณที่เลือก SS สัญญาณนาฬิกา SCLK จะทำการส่งออกบิตและการสุ่มตัวอย่างกำหนดค่าเวลาการสุ่มตัวอย่างและให้ความสำคัญกับการออกบิต
