ปัญหาการสิ้นสุด SPI บัส


10

ฉันทำงานเกี่ยวกับโครงการที่ OMAP Linux SPI master โต้ตอบกับอุปกรณ์ต่อพ่วง 6 SPI slaves (ตัวแปลง 5x A / D และ magnetometer เดียว)

ฉันสามารถตั้งค่าความถี่สัญญาณนาฬิกา SPI และทดลองกับ 50 kHz, 100 kHz และ 1MHz

ฉันแนบไดอะแกรมการเดินสาย / กระดานที่แสดงความยาวจากต้นแบบ SPI และอุปกรณ์ต่อพ่วงทั้งหมด ความยาวบัส SPI (ความยาวสายทั้งหมด) อยู่ห่างจากต้นแบบคือประมาณ 970 มม. สำหรับกรณีการทดลองของฉัน

ป้อนคำอธิบายรูปภาพที่นี่

ปัญหาที่ฉันพบคือการสื่อสารกับอุปกรณ์ต่อพ่วง 1 ตัวล้มเหลวเมื่อฉันเพิ่มอุปกรณ์ต่อพ่วงอื่น ๆ บนบัส แม้ว่าการสื่อสารจะผ่านไปยังเครื่องวัดสนามแม่เหล็กที่ด้านไกลของรถบัสการสื่อสารกับเครื่องแปลง A / D ในอีกด้านหนึ่งจะล้มเหลวจนกว่าจะถอดขั้วแม่เหล็กของสนามแม่เหล็กออกแล้วส่วน A / D จะกลับมา

ฉันได้อ่านบางอย่างที่นี่: ข้อควรพิจารณาในการสิ้นสุด SPI Bus และที่นี่: กระดานระยะสั้นเพื่อการสื่อสารของคณะกรรมการ

โดยที่แนะนำให้วาง RC LPF ใกล้กับโหนดขับรถใด ๆ ดังนั้น SCLK และ MOSI บนฝั่งมาสเตอร์และสัญญาณ 6x MISO / SOMI แต่ละอันของฉัน ฉันเห็นวิธีการที่คุ้นเคยสำหรับ USB กับเครือข่าย RC 47pF / 27R ความตั้งใจของฉันคือพยายามทำสิ่งนี้บนวงจรของฉันในความพยายามที่จะลดความคมของขอบอย่างรวดเร็ว ~ 100 การเปลี่ยนแปลงของขอบคม

นี่เป็นขั้นตอนที่ถูกต้องหรือไม่ที่ฉันกำลังติดตามที่นี่ด้วยการเพิ่ม RC LPF ดูเหมือนว่าจะสั่นไหวจริงๆมีวิธีปฏิบัติที่ดีกว่านี้ไหม ฉันเห็นบันทึกย่อของแอพจาก TI ที่พวกเขาพูดคุยเกี่ยวกับการขยาย SPI สำหรับระยะทางที่ยาวกว่าของรถบัสนี่เป็นวิธีแก้ปัญหาที่เหมาะสมที่นี่หรือปัญหาของฉันเป็นเพียงหนึ่งในฮาร์โมนิกความถี่สูงจากการเปลี่ยนขอบความเร็วสูงหรือไม่ http://www.ti.com/lit/an/slyt441/slyt441.pdf

ขอบคุณนิค

การวัด CLK / MISO ที่สะอาดจากสนามแม่เหล็ก

การวัดเวลาการเปลี่ยนนาฬิกาของสัญญาณ CLK

บรรทัด MISO นี้ (ช่อง # 1) แสดงภาพสะท้อนไหม  ระดับไม่ได้ดูเป็นดิจิตอลด้วยตัวบันไดเป็นภาพสะท้อนนี้


คุณมีความสามารถในการเพิ่มตัวต้านทานแบบอนุกรมและเปลี่ยนการเดินสายไฟหรือไม่?
efox29

สวัสดี efox29 ใช่ แต่มันจะสกปรกไปหน่อย SPI หลักของฉันอยู่บน SOM ซึ่งติดตั้งอยู่กับบอร์ดของฉัน ความตั้งใจของฉันคือการตัดการติดตามสำหรับ SCK และ MOSI และติดตั้ง 330-ohm / 47pF 0603/0805 RC สำหรับแต่ละการใช้อีพ็อกซี่ / กาวและทำสิ่งที่คล้ายกันใน A / D และบอร์ดแม่เหล็กสำหรับ MISO ฉันจะพยายามทำให้ต้นขั้ว GND ใกล้เคียงกับแผ่นหรือเครื่องบิน GND ที่ฉันสามารถหาได้ กดค้างไว้ที่นี่จนกว่าฉันจะได้ยินมากขึ้น แต่วางแผนที่จะลองในวันพรุ่งนี้ ฉันไม่มีความสามารถในการเปลี่ยน SPI เป็นโซ่เดซี่หรืออะไรก็ตาม จะไม่ทำดีมากเลยกระดานต้องการอยู่ที่ปลายตรงข้าม
shraken

ระบบของคุณใช้กับนาฬิกาที่ช้าลงเช่น 50Khz อย่างไร ไมโครคอนโทรลเลอร์ที่คุณใช้คืออะไร
efox29

ฉันขอแนะนำให้เริ่มต้นด้วยบรรทัด SCK ก่อนที่จะเพิ่ม Rs และ Cs ไปยังบรรทัดอื่น ท้ายที่สุดขอบเพียงเรื่องบนบรรทัดนาฬิกาบรรทัดอื่น ๆ จะทนต่อการสะท้อน
alex.forencich

2
และด้วยปัญหาแบบนี้อัตราการฆ่าที่เป็นปัญหาไม่ใช่ความถี่สัญญาณนาฬิกา หากคุณเห็นปัญหาเดียวกันโดยไม่ขึ้นกับความถี่สัญญาณนาฬิกาขอบอย่างรวดเร็วจะเป็นปัญหาและจำเป็นต้องชะลอความเร็วลง
alex.forencich

คำตอบ:


5

เป็นการยากที่จะตอบคำถามนี้โดยไม่มีรายละเอียดทั้งหมด แต่นี่เป็นปัญหาทั่วไปที่ฉันเชื่อว่าอาจเป็นคำตอบที่มีประโยชน์มากกว่าสำหรับไซต์นี้

ควรทำการจำลองเครือข่ายหลายโหนดเสมอ พวกเขายากที่จะทำนาย และใช้เวลาประมาณ 3 นาทีเพื่อดูว่าการออกแบบของคุณอาจไม่เหมาะสม

นี่คือการตั้งค่าการจำลองสำหรับนาฬิกาจากต้นแบบไปยังอุปกรณ์ทาสทั้งหมด (ค่าเป็นเพียงการประมาณการคร่าวๆเช่นเดียวกับกรณีที่คุณทำสิ่งนี้ก่อนสร้างสิ่งใด ๆ ):

ป้อนคำอธิบายรูปภาพที่นี่

และพล็อตการจำลองที่เกิดขึ้น (เราไม่สนใจสิ่งที่หน่วย ฯลฯ เพราะเห็นได้ชัดว่ามันไม่คุ้มค่าในการสร้าง):

ป้อนคำอธิบายรูปภาพที่นี่

ความคิดแรกที่นึกถึงคือห่วงโซ่เดซี่ของอินพุตทั้งหมดและการสิ้นสุดแบบขนานอย่างง่าย ๆ รูปแบบการบินโดยหากคุณต้องการ สิ่งนี้มีลักษณะเช่นนี้ในการตั้งค่าการจำลอง:

ป้อนคำอธิบายรูปภาพที่นี่

และพล็อตผลลัพธ์ดูดีกว่ามาก:

ป้อนคำอธิบายรูปภาพที่นี่

หากคุณสามารถอยู่กับการใช้พลังงานที่เพิ่มขึ้นของการสิ้นสุด thevenin และแรงดันไฟฟ้าที่ลดลงในอินพุตนาฬิกาของอุปกรณ์ต่าง ๆ และ ... (เฉพาะคุณเท่านั้นที่รู้ข้อ จำกัด จริง ๆ ) ... ดังนั้นรูปแบบบางอย่างของจริงนี้อาจคุ้มค่า อาคาร.

มีวิธีแก้ไขปัญหาอื่น ๆ ที่ใช้งานได้ แต่ที่สำคัญคือต้องเข้าใจว่าอวนหลายโหนดไม่ใช่เรื่องง่ายที่จะทำนาย 5 นาทีของการจำลองที่นี่ก่อนที่คุณจะสร้างบางสิ่งสามารถประหยัดเวลาได้มากในภายหลัง น่าเสียดายที่เครื่องมือจำลองประเภทนี้ไม่ได้ราคาถูก

ฉันใช้ Cadence SigXplorer ที่นี่ ข้อจำกัดความรับผิดชอบตามปกติ: ฉันสอนชั้นเรียนเกี่ยวกับความสมบูรณ์ของสัญญาณและมักจะมีลิขสิทธิ์ซอฟต์แวร์ของ Cadence หรือผู้ให้คำปรึกษาสำหรับชั้นเรียนเหล่านั้น


คุณใช้ซอฟต์แวร์อะไรในสายส่งซิม
efox29

@ efox29 Cadence SigXplorer และ Mentor Hyperlynx
Rolf Ostergaard

@nickishere (OP) นี่ตอบคำถามของคุณหรือไม่?
Rolf Ostergaard

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