มีปัญหาในการเข้าถึงการ์ด microSD ผ่าน SPI เมื่อมีอุปกรณ์ SPI แบบทาสอื่น ๆ หรือไม่?


10

ฉันกำลังออกแบบที่มี CPU พร้อมพอร์ต SPI เพียงพอร์ตเดียว ฉันมีทาสหลายตัว (3) เชื่อมต่อกับพอร์ตนี้หนึ่งในนั้นคือการ์ด microSD

นี่คือรายงานจากวิศวกรผู้หนึ่งที่กล่าวว่าการ์ด SD ได้รับการออกแบบมาให้ทำงานเป็นทาสตัวเดียวของ SPI

มีใครอีกบ้างที่สามารถใช้ microSD ตามทาส SPI อื่น ๆ บนรถบัสเดียวกันได้หรือไม่? บางทีรายงานนี้อาจมาจากการ์ด miniSD ที่เป็นปัญหาหรือไม่

ใครบ้างแนะนำให้ gating บรรทัด SPI CLK ด้วย Slave Select line ที่ไปยังการ์ด miniSD เพื่อความปลอดภัย?

คำตอบ:


12

ตามหน้านี้ไดรฟ์การ์ด SD และหรือปล่อยสาย DO พร้อมกันกับสาย sclk:

ในบัส SPI อุปกรณ์สลาฟแต่ละตัวจะถูกเลือกพร้อมกับสัญญาณ CS แยกและอุปกรณ์พหูพจน์สามารถเชื่อมต่อกับบัส SPI ได้ อุปกรณ์ทาส SPI ทั่วไปขับ / ปล่อยสัญญาณ DO ด้วยสัญญาณ CS แบบอะซิงโครนัสเพื่อแชร์บัส SPI อย่างไรก็ตามไดรฟ์ MMC / SDC / ปล่อยสัญญาณ DO ในการซิงโครไนซ์กับ SCLK ซึ่งหมายความว่ามีความเป็นไปได้ของความขัดแย้งของบัสกับ MMC / SDC และทาส SPI อื่น ๆ ที่ติดอยู่กับบัส SPI ภาพด้านขวาแสดงเวลาขับ / ปล่อยของ MMC / SDC (สัญญาณ DO จะถูกดึงไปที่ 1/2 vcc เพื่อดูสถานะบัส) ดังนั้นในการสร้างสัญญาณ DO MMC / SDC อุปกรณ์หลักจะต้องส่งไบต์หลังจากสัญญาณ CS ถูกยกเลิก

ดังนั้นเพียงแค่ส่ง dummy byte ไปยัง SPI หลังจากเพิ่ม CS line high ควรใช้งานได้ ไซต์ด้านบนมีไดอะแกรมการกำหนดเวลาของบัส SPI เมื่อเพิ่มสาย CS ที่สูงบนการ์ด SD

นอกจากนี้เป็นความคิดที่ดีที่จะตรวจสอบให้แน่ใจว่าในการเพิ่มกำลังไฟ / การใส่การ์ดไมโครคอนโทรลเลอร์จะต่อรองการใช้โหมด SPI กับการ์ด รายละเอียดเหล่านี้อยู่ที่นี่

โดยสรุปคุณควรตกลงแบ่งปันบัส SPI กับอุปกรณ์ต่อพ่วงหลายตัวตราบใดที่มีการใช้ข้อควรระวังข้างต้น


แหล่งข้อมูลที่ดีจัสติน ขอบคุณ! ฉันหวังว่าจะเป็นสิ่งที่ฉันต้องทำเพื่อจัดการกับความขัดแย้งของทาสกับ SD
jpeskin
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.