Ribbon Cable Cross Talk - มีการแก้ไขหลังจากข้อเท็จจริงหรือไม่


18

ฉันเกี่ยวข้องกับโครงการที่ลูกค้ากำหนดพินในสายริบบิ้นโดยไม่คำนึงถึงปัญหาการพูดคุยข้ามที่เป็นไปได้ สัญญาณคือสัญญาณข้อมูล 1 MHz โดยไม่มีสายดินแยกออกจากกัน ฉันไม่เคยมีประสบการณ์กับการคุยข้ามและรู้สึกประหลาดใจกับขนาดของข้อบกพร่องที่เกิดขึ้น (0.5 ถึง 0.65 โวลต์) ด้านที่รับนั้นใช้ไดรเวอร์สาย 74HCxx (ระดับการสลับ CMOS) ซึ่งส่งผลให้ขยะในสตรีมข้อมูล ลูกค้ากำลังเปลี่ยนไปใช้ไดรเวอร์ 74HCT เพื่อย้ายระดับการสลับ "สูง" ที่ต่ำกว่าระดับความผิดพลาด แต่ฉันมีข้อกังวลใจ

เป็นสิ่งที่สามารถทำได้นอกเหนือจากการเปลี่ยนไปใช้ชิ้นส่วน HCT หรือเพียงแค่ออกแบบบอร์ดอย่างถูกต้องเพื่อกู้สิ่งที่เรามี?


3
คุณเป็นคนเลอะเทอะเล็กน้อยกับเงื่อนไข / ไดรเวอร์ของคุณ ไดรเวอร์ CMOS ที่มีตัวรับสัญญาณ CMOS มีอัตราเสียงรบกวนที่ดี ไดรเวอร์จะขับไปยัง GND + 0.5V และ Vcc - 0.5V พร้อมกับโหลดและใกล้กับรางโดยไม่ต้องโหลด เกณฑ์ตัวรับสัญญาณที่รับประกันมักจะเป็น 30% และ 70% ของ Vcc และโดยทั่วไปจะอยู่ใกล้ 50% คุณควรมี> = 1V ของระยะขอบ ตัวรับสัญญาณ HCT มีเกณฑ์อินพุตต่ำตรรกะที่ 0.8V ส่วนต่างเพียง 0.3V การเปลี่ยนมาใช้ HCT จะทำให้แย่ลงสำหรับลอจิก 0
Mattman944

1
ข้อบกพร่องมีความกว้างเพียงใด
Sascha

6
สัญญาณเพิ่มขึ้น / ตกคืออะไร? หากคุณสามารถเพิ่มความต้านทานแบบอนุกรมที่แหล่งกำเนิดเพื่อชะลอเวลาขอบนั่นน่าจะเป็นการแก้ไขที่ดีที่สุดของคุณ
โฟตอน

3
สายเคเบิลยาวเท่าไหร่? ใช้ตัวเชื่อมต่อชนิดใด IDC 0.100 "?
Ale..chenski

3
ส่วนใดในระบบของคุณที่เปลี่ยนได้ยากที่สุด สิ่งที่ฉันหมายถึงคือสายเคเบิลติดตั้งอยู่แล้วในผนัง? หรือคุณมีแท่นวางของแบบสำเร็จรูป? เป็นที่ชัดเจนว่าทั้งสองไม่สามารถอยู่ได้ หากคุณมีสายสมมาตร (2 สายที่มีเฟสตรงกันข้าม) 1 MHz จะยังคงง่ายกว่าสายริบบิ้น มีชิปสำหรับขับและรับ 10Base-T เก่าที่ทำเพื่อคุณ - แปลงความแตกต่างเป็นหนึ่งเอาต์พุตปรับการสูญเสียแอมพลิจูด ... อย่าคิดค้นล้อใหม่
Zdenek

คำตอบ:


27

คุณสามารถเปลี่ยนสายริบบิ้นหรือเสียบอะแดปเตอร์เป็นสายพินนับที่สูงขึ้นได้หรือไม่? พิจารณาว่า IDE / ATA ทำอะไรเพื่อเพิ่มแบนด์วิดท์ - มันถูกเปลี่ยนจากสายเคเบิล 40 สายเป็นสาย 80 สายโดยมีสายอื่น ๆ ทุกสายในสายที่ผูกติดกับกราวด์ภายในตัวเชื่อมต่อ วิธีการแก้ปัญหาที่คล้ายกันสามารถนำไปใช้ที่นี่

หรือคุณสามารถลดอัตราการฆ่าได้หรือไม่ ที่ 1 MHz ปัญหาของคุณน่าจะน้อยลงเกี่ยวกับความถี่ของสัญญาณเองและเกี่ยวกับความเร็วที่รวดเร็ว เครือข่ายตัวกรองทางด้านการส่งข้อมูลอาจช่วยได้


18

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

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


12

สัญญาณคือสัญญาณข้อมูล 1 MHz โดยไม่มีสายดินแยกออกจากกัน

นี่ค่อนข้างช้าดังนั้นก่อนอื่นให้ตรวจดูว่ามีตัวต้านทานการยกเลิกแหล่งกำเนิดที่ด้านการขับขี่หรือไม่ หากมีตัวต้านทานคุณสามารถเพิ่มมูลค่าเพื่อลดอัตราการฆ่า

หากไม่มีตัวต้านทานการยกเลิกแหล่งที่มาสิ่งใดก็ตามที่กำลังขับสายเคเบิลนี้จะส่งสัญญาณพัลส์กระแสไฟฟ้าขนาดใหญ่ที่น่าประหลาดใจไปสู่ความจุของสายเคเบิลในแต่ละช่วงการเปลี่ยนภาพซึ่งจะทำให้แหล่งจ่ายไฟของชิปขับรถทำงานผิดปกติ ดังนั้นตรวจสอบขอบเขตว่าคุณได้รับ "crosstalk" บนขอบทั้งสองหรือเพียงหนึ่ง edge หรือจำนวน crosstalk บนขอบทั้งสองที่แตกต่างกันตรวจสอบพาวเวอร์ซัพพลายของไดร์เวอร์เคเบิลรวมทั้งตรวจสอบขา GND กับระนาบ GND ลองพลิกสัญญาณหนึ่งโดยทิ้งสัญญาณอื่นไว้ตามลำพัง หากมันเป็น "crosstalks" จากสายหนึ่งที่ด้านหนึ่งของสายเคเบิลไปยังสายอื่น ๆ ทั้งหมดในจำนวนที่ใกล้เคียงกันมันไม่ใช่ crosstalk แต่เป็นชิปขับที่มีการตีกลับพื้นหรือการแยกส่วนที่ไม่ดีดังนั้นคุณต้องแก้ไข

หากสัญญาณซิงโครนัสและคุณมีสายนาฬิกาคุณสามารถเล่นกับเวลาของนาฬิกา หากข้อมูลถูกดึงเข้าสู่รีจิสเตอร์ที่จุดสิ้นสุดการรับระดับจะมีความสำคัญเฉพาะภายในหน้าต่างเซ็ตอัพ / พัก ดังนั้นหากคุณเลื่อนนาฬิกาเล็กน้อยเพื่อให้มันทริกเกอร์หลังจากสัญญาณถูกตัดสินแล้วก็สามารถช่วยได้ นอกจากว่าคุณได้ crosstalk ในสัญญาณนาฬิกาด้วยในกรณีนี้มันจะเป็นสองเท่าของนาฬิกาและนั่นก็ไม่ดี

ลูกค้ากำลังเปลี่ยนไปใช้ไดรเวอร์ 74HCT เพื่อย้ายระดับการสลับ "สูง" ที่ต่ำกว่าระดับความผิดพลาด แต่ฉันมีข้อกังวลใจ

ใช่ แต่มันจะย้ายระดับอินพุต "ต่ำ" ลงและทำให้เสียงมีความไวต่อเสียงรบกวนมากขึ้นดังนั้นจึงอาจ "แก้ไข" crosstalk ที่ขอบหนึ่ง แต่ก็แย่ลงอีกด้านหนึ่ง! ฉันเดาว่านี่อาจใช้งานได้หากสัญญาณของคุณซิงโครนัสและใช้ขอบนาฬิกาสูงถึงต่ำ แต่ ... mehhh ... ควรใช้ประตูไกชิตท์ชิตต์

เป็นสิ่งที่สามารถทำได้นอกเหนือจากการเปลี่ยนไปใช้ชิ้นส่วน HCT หรือเพียงแค่ออกแบบบอร์ดอย่างถูกต้องเพื่อกู้สิ่งที่เรามี?

ก่อนที่จะออกแบบใหม่ตรวจสอบให้แน่ใจว่าคุณยืนยันว่ามันเป็น crosstalk จริง ๆ ... หรือตีกลับพื้นหรือ decoupling ไม่ดีในชิปขับ

ตรวจสอบให้แน่ใจว่าไม่ได้ต่อสายดินระหว่างสองบอร์ดที่เกิดจากกระแสที่ไหลในสาย GND และสร้างความแตกต่างของแรงดันไฟฟ้าระหว่างบอร์ด

หากคุณออกจากพินและใช้สัญญาณซิงโครนัส (กับนาฬิกา) คุณสามารถใส่บรรทัด GND ระหว่างนาฬิกาและสายข้อมูลเพื่อป้องกันไม่ให้ขอบข้อมูลรั่วซึมในนาฬิกา


9

หลังจากความจริงคุณมีตัวเลือกน้อย:

  1. ใช้เครื่องรับสัญญาณทริกเกอร์ Schmitt
  2. ใช้สายริบบิ้นฟอยล์ป้องกัน
    • แก้ไข: @Duskwolf มีทางออกที่ดีที่สุด: ฉันลืมทุกอย่างเกี่ยวกับสายเคเบิล 80 เส้น (ช่วงเวลาอาวุโส) ป้อนคำอธิบายรูปภาพที่นี่
  3. ยุติด้วย 470 pF เป็นค่าเริ่มต้น
  4. ยุติด้วยความต้านทานสายเคเบิล 110-120 โอห์มกับพื้น
  5. ยุติด้วยอิมพีแดนซ์ไดรเวอร์ ~ 50 Ohms ถึง Vcc / 2 ore equiv pull / down

การเพิ่มความต้านทานแหล่งจ่ายลดค่าอายุการใช้งาน แต่จะไม่ลด crosstalk เนื่องจากอัตราส่วนอิมพีแดนซ์ของค่าความจุ crosstalk Xc / Rs เพิ่มขึ้นเนื่องจากอัตราการไหลของกระแสไฟฟ้าลดลง

แก้ไข

พิสูจน์ความคิดโดยใช้สายริบบิ้นยาว 1 ม. ประเมิน ESL และ C

ที่นี่ใช้สัญญาณที่แตกต่างกัน 5 สัญญาณใกล้กับคลื่นสี่เหลี่ยม 1MHz แต่ต่างกันเพื่อให้ได้ชื่อแทนแบบไขว้กับแหล่งต่าง ๆ และความต้านทานโหลด โดยปกติฉันจำได้ว่าสายริบบิ้นเป็น 120 โอห์มเดี่ยวจบซึ่งแปลเป็นตัวเหนี่ยวนำก้อนและความจุต่อเมตร แต่ขึ้นอยู่กับ AWG และระยะห่างอิเล็กทริก

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


6

สำหรับ crosstalk ที่น้อยที่สุดคุณต้องการ

(1) wirings สายริบบิ้นระยะห่างกันอย่างแพร่หลาย, แจ็คเก็ตพลาสติกขนาดใหญ่เส้นผ่าศูนย์กลาง; สิ่งนี้ให้ picoFarads น้อยที่สุด / เมตรและลดกระแสเคเบิล (สนามแม่เหล็กน้อยที่สุด)

(2) โล่ฟอยล์โลหะรอบ ๆ สายริบบิ้นเพื่อจับภาพส่วนใหญ่ของ Efields บดเกียดฟอยล์เหล่านี้

(3) กระแสเคเบิลน้อยที่สุดและความเร็วขอบที่ช้าที่สุด (ช้า slewrates) ดังนั้น dI / dT จึงช้าและ coupling สนามแม่เหล็กมีน้อยที่สุด จึงใช้ไดรเวอร์ที่อ่อนแอ

(4) การยุติแหล่งข้อมูลอาจเป็น 100ohms

สังเกตเห็นความคิด: (A) ลด crosstalk สนามไฟฟ้า, ใช้ spacings ลวดลวดขนาดใหญ่และใช้โล่เพื่อจับฟลักซ์ไฟฟ้าส่วนใหญ่และในความเป็นจริงลดความจุลวดลวด ยังลด dV / dT และ (B) ลด crosstalk สนามแม่เหล็ก, โดยการเพิ่มระยะห่างของลวด - ลวด, โดยการลด "พื้นที่วนรอบ" ด้วยเส้นทางกลับ (โล่, ฟอยล์) ที่อยู่ใกล้มาก, โดยลด dI / dT เพราะ dV / dT จะลดลงและลดกระแสโดยไม่สิ้นสุดที่จุดรับ


2

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

ฉันสงสัยอย่างยิ่งว่าคุณจะเห็นว่ามันดังขึ้นและปัญหาจะหายไปเมื่อคุณจับคู่ความต้านทานของสายเคเบิลและไดรเวอร์

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

เสียงของแหล่งจ่ายไฟมักจะถูกกำจัดโดยตัวแยกการแยก


1

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


1
หรือเทปทองแดง!
Andrew Macrae

0

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


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