PCIe วินิจฉัยและปรับปรุงไดอะแกรมตา


18

ฉันได้นำการออกแบบที่ใช้ PCIe มาใช้ มันค่อนข้างแตกต่างกันที่อินเตอร์เฟส PCIe ใช้เป็นช่องทางการสื่อสารแบบชิปต่อชิปบน PCB แผ่นเดียว (เช่นไม่มีคอนเน็กเตอร์ PCIe)

รูทอุปกรณ์ที่ซับซ้อนคือ Freescale i.MX6 ซึ่งเป็นไปตามมาตรฐาน PCIe Gen 2 และอุปกรณ์ที่ฉันกำลังสื่อสารด้วยเป็นโมดูล Marvell WiFi ที่เป็นอุปกรณ์ที่รองรับ PCIe Gen 3 มันเป็นอินเทอร์เฟซเลนเดียวที่ทำงานที่ 2.5Gbps

ฉันได้ทำการวัดค่าความสมบูรณ์ของสัญญาณโดยการบัดกรีขอบเขตความเร็วสูงด้วยโพรบดิฟเฟอเรนเชียลที่เหมาะสมที่ด้านขวาของแคปอินไลน์ที่แสดงด้านล่าง:

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

สำหรับนาฬิกาแผนภาพตาดูค่อนข้างดี:

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

แต่ข้อมูล TX ไม่มาก:

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

ชิป WiFi มีการยุติการใช้งานบนชิปดังนั้นฉันจึงไม่เชื่อว่าฉันควรจะต้องมีการยกเลิกเพิ่มเติม แต่ฉันอาจผิดไป

ฉันพบการลงทะเบียนบางอย่างที่สามารถตั้งค่าภายในโปรเซสเซอร์ i.MX6 สำหรับอุปกรณ์ต่อพ่วง PCIe แต่ฉันไม่แน่ใจว่าสิ่งที่พวกเขาทำจริง ๆ การทดลองและข้อผิดพลาดเล็กน้อยไม่ได้ทำให้ฉันอยู่ไกลมากเช่นกัน

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

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

ไชโย!


คำถามเจ๋ง หวังว่าจะเห็นคำตอบที่ดี
justing

1
คุณกำลังวัดสายตาของคุณอยู่ที่ไหน
ฮาร์ดแวร์ Guy

และสิ่งนี้ทะเบียนตั้งไว้เพื่ออะไร
ฮาร์ดแวร์ Guy

คำถามสองสามข้อ: TX ชนิดใดที่เป็นปัญหา i.MX6 ถึง Marvell หรือ Marvell เพื่อ i.MX6? คุณได้ตั้งตัวกรองซัพพลายแบบใดรอบเครื่องส่งสัญญาณที่ทำงานผิดพลาดหรือรางจ่ายนาฬิกา ค่าปัจจุบันของการลงทะเบียนเหล่านั้นคืออะไร?
akohlsmith

@SomeHardwareGuy ฉันกำลังวัดสายตา TX ที่ด้านขวาของตัวเก็บประจุเหล่านั้นเป็นวงกลม ในแง่ของรูปแบบตัวเก็บประจุสำหรับทั้งนาฬิกาและ TX อยู่ติดกับชิป WiFi ระยะทางทั้งหมดคู่ที่ถูกกำหนดเส้นทางจะอยู่ที่ประมาณ 2.5 นิ้ว i.MX6 นั้นเป็นส่วนหนึ่งของ SOM ที่เสียบเข้ากับตัวเชื่อมต่อ SO-DIMM และฉันได้ออกแบบเฉพาะบอร์ดที่ "ถือ" SOM นี้และชิป WiFi
Funkyeah

คำตอบ:


22

มีหลายสิ่งที่จะทำสิ่งนี้ให้คุณ

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

ฉันคิดว่าคุณอาจได้รับตัวเลขที่ดีกว่าจากแผ่นข้อมูลวัสดุ PCB หากคุณดาวน์โหลดและดูการสูญเสียสัมผัสกัน ดูที่ Isola 370HR สำหรับแผ่นข้อมูลทั่วไป ตัวเลขด้านบนค่อนข้างแม่นยำในอัตรา 5GHz ที่อัตรา 2.5Gb ตัวเลขจะลดลงเล็กน้อยโดยมีการสูญเสียรวมประมาณ 0.4dB ต่อนิ้ว

ฉันสมมติว่านอกเหนือจากการฝ่าวงล้อมและตัวเก็บประจุแบบคัปปลิ้งคุณกำลังใช้การกำหนดเส้นทางแบบชั้นเดียวสำหรับส่วนต่อประสาน การเปลี่ยนเลเยอร์สามารถทำสิ่งที่น่ารังเกียจให้กับสัญญาณได้อย่างง่ายดาย อิมพีแดนซ์ที่ควบคุมจะเป็นเลเยอร์ที่แตกต่างกันไปเล็กน้อยเลเยอร์และการสะท้อนนั้นเป็นผลลัพธ์ตามธรรมชาติ (มีวิธีในการทำเส้นทางหลายเลเยอร์ได้สำเร็จ แต่ต้องใช้ความระมัดระวังเป็นอย่างมาก

สำหรับ PCI Express (และ Infiniband สำหรับเรื่องนั้น) อัตราการเพิ่มขึ้นและลดลงของสัญญาณที่เครื่องส่งสัญญาณมีเวลาเพิ่มขึ้นและลดลงต่ำสุดเพื่อลดปัญหา EMI และเวลานั้นคือ 0.25UI ซึ่งให้ผล 10GHz สัญญาณการส่งสัญญาณบน Gen 2 ลิงก์ และสิ่งประดิษฐ์ 5GHz ใน gen 1 ซึ่งจะต้องนำมาพิจารณา

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

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

ปัญหาอื่น ๆ ที่คุณอาจพิจารณา:

ตัวเก็บประจุมีเพศสัมพันธ์อยู่ที่ไหน? พวกเขาควรจะใกล้เคียงกับหมุดส่งมากที่สุด เมื่อพวกเขามีความยาวคลื่น 10GHz มากกว่าครึ่ง (ประมาณ 0.6 นิ้วใน FR4) [เพิ่มระยะห่างสองเท่าสำหรับลิงก์ 2.5Gb / วินาที] พวกเขาจะสะท้อนพลังงานอย่างแน่นอน

ฉันมีปัญหากับรูปทรงของตัวเก็บประจุที่ 0402 หรือมากกว่าใน PCI Express Gen 2 และตอนนี้ฉันใช้อุปกรณ์เรขาคณิตย้อนกลับ (0204) สำหรับการเหนี่ยวนำอนุกรมที่มีประสิทธิภาพลดลง สิ่งเหล่านี้ดูเหมือนจะทำให้งานทำได้ดีมาก

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

คุณบอกว่าลิงค์กำลังทำงานที่ 2.5Gb / วินาที (รุ่นที่ 1) และนั่นคือสิ่งที่ขอบเขตการติดตามแสดง แต่คุณอาจต้องการทดลองใช้ฟิลด์ de-focus (ดูในคู่มืออ้างอิงเช่นเดียวกับแผ่นข้อมูลไฟฟ้า (ดูหมายเหตุด้านล่าง) ค่าการยกเลิกการเน้น 'มาตรฐาน' นั้นมีไว้สำหรับลิงก์ปกติไม่ใช่ลิงก์ฝังตัวเช่นที่คุณมีที่นี่ ผลลัพธ์ที่ดีกว่า

การยกเลิกการเน้นเล็กน้อยคือ 3.5dB สำหรับ Gen 1 และ 6dB สำหรับ Gen2 ฉันทราบว่าฟิลด์ด้านบนดูเหมือนจะบอกเป็นนัยว่าลิงค์ Gen 2 นั้นมีขนาด 3.5dB - คุณอาจต้องการขุดสักหน่อย ลิงค์ที่คุณต้องการมีอย่างน้อย 3.5 เดซิเบล

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

อีกอย่างหนึ่ง: แอมพลิจูดของการปล่อยที่มากเกินไปและการไม่เน้นความสำคัญเท่าที่จะทำได้

บางทีนั่นอาจช่วยคุณได้บ้าง: หวังเช่นนั้น

หมายเหตุ: Freescale ทำเอกสารทุกอย่างมันเป็นแค่บางครั้งมันไม่ได้อยู่ในสถานที่ที่คุณคาดหวังไว้ ตรวจสอบให้แน่ใจว่าคุณมี errata อุปกรณ์ล่าสุดเช่นกัน

ปรับปรุง เพิ่มหมายเหตุเกี่ยวกับรูปทรงของตัวเก็บประจุ

สูงสุดถึงโหนด 2.5Gb / วินาทีอุปกรณ์ 0402 นั้นใช้ได้ เครื่องคิดเลขที่มีประโยชน์ของฉันแสดงให้เห็นว่าอุปกรณ์ 0402 ทั่วไปนั้นมีความต้านทาน (อุปนัย) ประมาณ 10 โอห์มที่ความถี่นี้และ 21 โอห์มที่ 5GHz (ความถี่สูงสุดที่น่าสนใจ) สิ่งนี้ไม่ได้เลวร้ายเกินไปในระบบเฟืองท้าย 100 โอห์มเนื่องจากความต้านทานที่มีประสิทธิภาพของคู่ที่ใกล้ชิดนั้นค่อนข้างน้อยกว่าการเพิ่มแบบตรง

การสั่นพ้องด้วยตนเองสำหรับอุปกรณ์นี้คือ 19MHz ซึ่งต่ำกว่าทุกความถี่ที่น่าสนใจดังนั้นสัญญาณรบกวนเฟสจึงเกิดจาก ESL การลดความต้านทานลงไปให้น้อยกว่า 1/3 ของความต้านทานแทร็กที่มีประสิทธิภาพหมายความว่าสัญญาณรบกวนเฟส (และดังนั้น ISI เพิ่มเติม) เราจะได้รับอยู่ระหว่าง 1 และ 17 องศา (แทร็คคู่เดียวจบจากคู่ที่ใกล้ชิดโดยทั่วไปคือ Z (diff) / 2) * 1.25 ดังนั้นสำหรับ 100 diff อิมพีแดนซ์สิ้นสุดเดียวจะอยู่ที่ประมาณ 65 โอห์ม) เสียงรบกวนเฟสนี้สามารถจัดการได้

ที่ 10GHz ความต้านทานที่มีประสิทธิภาพอยู่ที่ประมาณ 44 โอห์มและสามารถเริ่มรบกวนคู่ดิฟเฟอเรนเชียลด้วยการแนะนำสัญญาณรบกวนเฟสที่มากเกินไปในย่านความถี่ที่น่าสนใจเนื่องจากเฟสสูงสุดอยู่ที่ 34 องศา แม้ว่าฉันจะทำ Gen 2 สำเร็จแล้วด้วยอุปกรณ์ 0402 แต่ฉันก็มีปัญหากับการทำงานที่นานขึ้นและตอนนี้ใช้อุปกรณ์เรขาคณิตย้อนกลับ 0204 สำหรับความเร็วนี้และสูงกว่า

สำหรับการเชื่อมโยงที่เข้ารหัส 8b / 10b ย่านความถี่ที่น่าสนใจคือจากอัตราบิต / 5 ถึงอัตราบิต * 2 ขีด จำกัด ล่างถูก จำกัด ด้วยการเข้ารหัสความยาวของการวิ่ง .

ESL สำหรับรูปทรงเรขาคณิตต่างๆ:

0402: ประมาณ 700pH

0204: ประมาณ 300pH

0805: ประมาณ 1nF

อัปเดตเพิ่มความเห็นเกี่ยวกับแอมพลิจูดเริ่มต้น 50%

ขอให้เราพิจารณาสายส่งที่สิ้นสุดลงที่ต้นทางและปลายทางที่ความต้านทานลักษณะของสาย Z0

ในการเริ่มต้นครั้งแรกสมมติว่าเส้นนั้นยาวเมื่อเทียบกับความยาวคลื่นของสัญญาณจุดยิงจะไปที่ 50% ของแอมพลิจูดของการยิงเนื่องจากเอฟเฟกต์แบ่งแรงดันไฟฟ้า

เมื่อพลังงานมาถึงที่จุดปลายทางและเริ่มขึ้นไปที่จุด 50% พลังงานที่แหล่งกำเนิดได้ 'เติม' เส้นที่มีพลังงานอย่างมีประสิทธิภาพและเพิ่มขึ้นเป็นแอมพลิจูดแบบเต็ม การพูดอย่างเคร่งครัดสายส่งที่ปลายทางจะเห็นตัวแบ่งแรงดันไฟฟ้าและเอฟเฟกต์ตัวคั่นที่แหล่งกำเนิดจะหายไปเมื่อเอาต์พุตเข้าใกล้ DC (โปรดทราบว่าเอฟเฟกต์สายส่งใช้ได้กับการเปลี่ยนเท่านั้น )

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

พล็อตของคุณแสดงพฤติกรรมนี้อย่างแม่นยำ ณ จุดหนึ่งในบรรทัดที่ยังไม่ได้อยู่ที่พอร์ตปลายทางเนื่องจากจุดนี้ 50% กำลังเคลื่อนตัวไปตามเส้น

ที่เครื่องรับเมื่อพลังงานถึงจุด 50% พลังงานทั้งหมดของเส้นจะตามมาและแรงดันไฟฟ้าที่เครื่องรับจะเพิ่มขึ้นอย่างต่อเนื่องทำให้การเปลี่ยนแปลงราบรื่นจากระดับหนึ่งไปอีกระดับหนึ่ง

สิ่งนี้สามารถมองเห็นได้ในขณะที่จุดแรงดันไฟฟ้า 50% เคลื่อนที่ตามแนวเส้นไปยังตัวรับสัญญาณจากนั้นสะท้อนกลับที่ 100% (ตัวรับสัญญาณบรรลุ DC ก่อน) ด้วยเหตุนี้แรงดันไฟฟ้าที่ดูได้ 50% ณ จุดใด ๆ บนบรรทัดแสดงเวลาเดินทางไปกลับจากจุดนั้นไปยังเครื่องรับ

การสนทนานี้ใช้ได้กับสัญญาณที่แตกต่างกันเมื่อสิ้นสุดวันที่เดียว

ดังนั้นพล็อตของคุณด้านบนจะแสดงพฤติกรรมของสายส่งแบบคลาสสิกโดยมีการทัศนศึกษาเล็กน้อยเกินกว่าที่คาดไว้ อันที่จริงนี่เป็นหนึ่งในเครื่องส่งสัญญาณที่สะอาดตาที่ฉันเคยเห็น


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

1
ในความคิดเห็นด้านล่างโพสต์ฉันได้ชี้แจงความยาวประมาณ 2.5 นิ้ว จริงๆแล้วเราใช้ Isola 370HR และมีการจัดการเลย์เอาต์ค่อนข้างดี ต้องบอกว่าเรายังใช้ SOM ซึ่งทำให้วางแคปใกล้กับเครื่องส่งสัญญาณเป็นไปไม่ได้ ฉันวัดที่ด้านรับของแคปคัปปลิ้งซึ่งใกล้เคียงกับที่ฉันสามารถไปถึงตัวรับสัญญาณได้ก่อนที่เส้นทางจะตกลงสู่เลเยอร์ความต้านทานด้านใน
Funkyeah

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

Rolf: แคปจะทำให้เกิดการสะท้อนบ้างถ้ามันอยู่ในระยะที่ไกลพอสมควรและมันสามารถจัดการได้ แต่มันจำเป็นต้องได้รับการยอมรับโดยเฉพาะอย่างยิ่งถ้าสัญญาณมาจากเลเยอร์ด้านในและด้านนอกแคปเพิ่มคู่ของ แวะ ความไม่ต่อเนื่องนั้นไม่มากนัก แต่ถ้างบประมาณการเชื่อมโยงถูกยืดออกไปมันอาจเป็นฟางที่ทำลายหลังอูฐ
ปีเตอร์สมิ ธ

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