การเชื่อมต่อบัส SPI - เพื่อวนซ้ำหรือไม่วนซ้ำ?


9

ฉันมีคำถามเกี่ยวกับการเชื่อมต่อทางกายภาพของบัส SPI

ฉันมีต้นแบบ SPI (อุปกรณ์ PIC32) และทาสจำนวนหนึ่ง (ในกรณีนี้คืออุปกรณ์ PIC16) ฉันเขียนไปยังทาสเท่านั้นและโปรโตคอลจะดูแลสิ่งที่ทำเมื่อไหร่ดังนั้นจึงไม่มีสัญญาณ MISO หรือ SS ที่ต้องกังวลและฉันแค่ขนานข้อมูลและสายนาฬิกากับทาสทั้งหมด ความยาวรวมของบัสไม่เกินสองสามฟุต (60 ซม.) และฉันใช้ SCK ที่ 8MHz

ตอนนี้ตำแหน่งทางกายภาพของอุปกรณ์สลาฟ (ซึ่งจริง ๆ แล้วเป็นโหนดเชื่อมต่อบนบอร์ดอื่น ๆ ) เป็นเช่นนั้นที่บัส SPI วนกลับไปที่ต้นแบบเพื่อให้สามารถเชื่อมต่อปลายทั้งสองของแต่ละลูปเข้ากับ MOSI และ SCK ตามลำดับ

แผนภาพต่อไปนี้แสดงให้เห็นถึงสิ่งที่ฉันหมายถึง - ฉันกำลังพูดถึงการเชื่อมต่อจุดสีแดง - และคำถามคือ: มันเป็นสิ่งที่ดีที่จะทำสิ่งนี้หรือไม่?

SPI บัส

ฉันมีพลังและพื้นดินในการเดินทางที่คล้ายกันและเห็นได้ชัดว่ามีประโยชน์เพราะมันช่วยลดแรงดันไฟฟ้าตกที่เกิดจากทาส อย่างไรก็ตามฉันไม่รู้ว่ามันเป็นสิ่งที่ดีหรือไม่ดีที่จะทำเช่นเดียวกันกับสายสัญญาณเหล่านี้ ฉันควรอนุญาตให้มีการเลิกจ้างบางประเภท - ตัวต้านทานต่อกราวด์ (?) - หรืออาจเป็นตัวต้านทานแบบอนุกรมเพื่อยับยั้งการสะท้อนกลับหรืออะไร?

ฉันลองทั้งที่มีและไม่มีการเชื่อมต่อจุดดังนั้นพูดและไม่มีความแตกต่างในการทำงานและไม่มีการเปลี่ยนแปลงใด ๆ ที่ฉันสามารถเห็นได้ในขอบเขต 'แต่อาจจะนานกว่า 60 ซม. หรือเร็วกว่า 8Mhz เล็กน้อย ฉันมีปัญหาหรือไม่? ดังนั้นฉันกำลังมองหาคำแนะนำเกี่ยวกับสิ่งที่ต้องทำซึ่งจะทำให้ฉันหมดปัญหาหากมีอะไรเปลี่ยนแปลง

แม้ว่าคำถามนี้ทำให้ฉันหนักใจเป็นพิเศษสำหรับบัส 60 ซม. SPI @ 8Mhz แต่มีหลักการทั่วไปสำหรับสถานการณ์อื่น ๆ หรือไม่? บางทีการดึงรถบัส I2c ควรวางไว้ต่างกันหรือไม่?

ยินดีต้อนรับลิงก์ใด ๆ ไปยังเนื้อหาการอ่านที่เหมาะสม - ฉันไม่พบสิ่งใดที่ครอบคลุมคำถามเฉพาะนี้


ฉันไม่แน่ใจว่าปัญหาใดที่คุณกำลังพยายามแก้ไขด้วยการเชื่อมต่อนั้น
PlasmaHH

@PlasmaHH นั่นคือคำถามของฉันจริง ๆ - ฉันไม่มีปัญหาในการแก้ไข แต่ฉันมีตัวเลือกนั้น ฉันรู้ว่ามันช่วยได้กับสายไฟฉันไม่รู้ว่ามันช่วยด้วยสายสัญญาณหรือไม่ มันเป็นคำถามที่โง่? บางทีฉันอาจจะคิดมาก
Roger Rowland

ฉันจะเพิ่มที่นึกคิด PCB 4 ชั้นและเครื่องบิน Vdd และ Vss โดยเฉพาะจะเป็นความคิดที่ดีที่นี่ด้วยเหตุผลหลายประการพร้อมกับบายพาสเฉพาะหมวกใกล้กับแต่ละอุปกรณ์
rdtsc

1
IMO ฉันจะทำการเชื่อมต่อที่คุณเสนอเป็นสีแดงและกำจัดการเชื่อมต่อจากทาส 3 ไปเป็นทาส 4
lucas92

คำตอบ:


9

ย้อนกลับมา? NO หากบรรทัดยาวพอที่จะต้องมีการเลิกจ้าง (นานกว่า risetime * c / 10 หรือมากกว่านั้น) ให้ขับมันอย่างแรงพอที่จะจบการทำงานอย่างถูกต้องและจับคู่ไลน์และการยุติอย่างสมเหตุสมผล หากบรรทัดสั้นพอที่จะไม่ต้องการยกเลิกก็ไม่จำเป็นต้องมีค่าการนำไฟฟ้า 'พิเศษ' ที่คุณดูเหมือนจะมองหาด้วยการเชื่อมต่อแบบวนกลับ

ตัวต้านทานแบบอนุกรม? NO รูปแบบของการเลิกจ้างต้นทางนั้นใช้งานได้กับเครื่องรับสัญญาณจุดเดียวที่ท้ายบรรทัดเท่านั้น ที่จุดก่อนหน้านี้ในบรรทัดคุณจะได้รับรูปแบบของคลื่นที่แย่ที่สุดสำหรับผู้รับซึ่งเป็นขั้นตอนที่ครึ่งหนึ่งของแรงดันไฟฟ้าตามด้วยที่อยู่อาศัยแล้วตามด้วยอีกขั้นหนึ่งของแรงดันเต็ม


ตกลงขอบคุณ - คุณช่วยอธิบายสิ่งที่คุณหมายถึงโดย"ขับมันมากพอ" ? คุณหมายถึงไม่ตรงจาก PIC แต่ผ่าน MOSFET หรืออะไรนะ? นอกจากนี้หากต้องการ"ยุติอย่างเหมาะสม"คุณหมายถึงตัวต้านทานต่อกราวด์หรือไม่ ฉันเข้าใจเวลาที่เพิ่มขึ้นของจุดมากกว่าความถี่สัญญาณนาฬิกาที่กำหนดความต้องการในการเลิกจ้างคุณสามารถแสดงการคำนวณกฎของหัวแม่มือได้หรือไม่ เพิ่มเวลาในหน่วยใด อะไรนะc/10?
Roger Rowland

@RogerRowland 'แข็งแกร่งเพียงพอ' เพื่อให้มันพัฒนาระดับตรรกะที่ดีในการโหลดของการเลิกจ้าง เอาต์พุต uC อาจแข็งแกร่งพออาจไม่ขึ้นกับการเลิกจ้างและความแรงของไดรฟ์ ใช้บัฟเฟอร์หนึ่งหรือสองแบบขนานหากกระแสไดรฟ์ไม่เพียงพอ 'ถูกต้อง' หมายถึงปัดความต้านทานทาน ไม่ว่าจะเป็นดินหรือรถไฟกลางหรือ AC ควบคู่ขึ้นอยู่กับระบบ หากคุณเคยขับ 3 สถานะมันจะต้องมีการกราวด์เพื่อรักษาระดับตรรกะที่ถูกต้อง ไม่เช่นนั้นการหยุดรถไฟกลางจะโหลดผู้ขับขี่น้อยลง
Neil_UK

@RogerRowland เวลาที่เพิ่มขึ้นในไม่กี่วินาที, ความเร็วแสง c ในหน่วย m / วินาที, risetime ดังนั้น * c ในหน่วยเมตร, / 10 เป็น handwavy บิตสำหรับ 'เศษส่วนที่ไม่มีนัยสำคัญของปัจจุบัน risumes simulataneuosly บนสายสัญญาณ'
Neil_UK

ขอบคุณ Neil อีกครั้งนี่เป็นประโยชน์จริงๆ! ฉันคิดว่าฉันจะได้รับประโยชน์จากการทำการทดลองบางอย่างเพื่อให้แน่ใจว่าสิ่งที่คุณพูดในอ่างล้างจาน - อาจจะใช้เวลาช่วงวันหยุดสุดสัปดาห์ที่ฝนตก
Roger Rowland

3

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

กรณีเดียวที่ฉันเห็นว่าเส้นประที่สามารถช่วยได้คืออะไรเมื่อการแพร่กระจายเกิดความล่าช้าจากต้นแบบไปSLAVE 6เป็นที่ยอมรับไม่ได้ ในกรณีดังกล่าวคุณจะต้องเชื่อมต่อเส้นประ แต่จะแบ่งลูปที่ตรงกลาง (พูดระหว่างSLAVE 3และSLAVE 4) และยุติแต่ละสาขาอย่างอิสระ


2

ด้วยสัญญาณที่รวดเร็วหรือเส้นยาวการสะท้อนสัญญาณจะกลายเป็นปัญหา ในกรณีดังกล่าวคุณจะต้องยกเลิกสายอย่างถูกต้องโดยใส่ตัวต้านทานที่เชื่อมต่อจุดสิ้นสุดของเส้นและพื้นดิน (ไม่ใช่จุดเริ่มต้นของบรรทัด) การเลิกจ้างทำให้บรรทัด "ดูไม่สิ้นสุดด้วยไฟฟ้า" ดังนั้นสัญญาณจะไม่กลับมา การเลิกจ้างบางครั้งยังต้องการองค์ประกอบ LC เพื่อต่อต้านความต้านทานปฏิกิริยา

อย่างไรก็ตามสำหรับกรณีของคุณไม่จำเป็นต้องมีการยกเลิก (สายสั้น ๆ สำหรับคุณความเร็วสัญญาณสมมติว่าคุณไม่ได้ทำงานในสภาพแวดล้อมที่มีเสียงดังไฟฟ้า) นั่นเป็นเหตุผลที่คุณไม่เห็นความแตกต่าง นอกจากนี้ยังเป็นการออกแบบที่ไม่ดีในการวนรอบสัญญาณของคุณ การทำเช่นนี้ทำให้วงสัญญาณแนะนำเสียงรบกวนในวงจรของคุณ (และมันวนรอบทั้งสองทิศทาง) นอกจากนี้ยังทำให้ง่ายต่อการจับสัญญาณรบกวน RF ในสายของคุณ

นอกจากนี้มักจะไม่ดีในการวนลูปกราวด์และสายไฟ เสียงการสลับแบบดิจิตอลและลูปกราวนด์ก็มีเช่นกันและอาจส่งผลกระทบอย่างมากต่อวงจรอะนาล็อก หากจำเป็นคุณสามารถใช้ Y ส้อม (ไม่มีการเชื่อมต่อในปลายสุด) เพื่อลดแรงดันไฟฟ้าตก หากยังไม่เพียงพอให้ใช้การติดตามที่กว้างขึ้น (การติดตามที่กว้างกว่า -> ความต้านทานน้อยกว่า -> แรงดันไฟฟ้าตกที่น้อยลง)

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