Tomachie

รีวิวการออกแบบระดับมืออาชีพสำหรับ PCB ทุกบอร์ด

ส่งงาน ตัวอย่าง วิธีการทำงาน ความเป็นส่วนตัว เกี่ยวกับ สถิติ รีวิว บล็อก
← กลับไปที่บล็อก

PCB Power Integrity: DC PI ของ PDN บน STM32MP215F-DK (MB2059) ด้วยเครื่องมือวิเคราะห์พลังงานสองตัว

KiPI และ FYPA เป็นเครื่องมือวิเคราะห์ power integrity แบบโอเพนซอร์สสองตัวที่ดีมากทั้งคู่ KiPI ซึ่งดูแลโดย Drew Maatman (github.com/drewsum/KiPI) เน้น KiCad และยังอ่าน ODB++ ได้ จึงกลายเป็นพื้นฐานในการดีบักและตรวจสอบโฟลว์จาก Tomachie เข้าสู่เครื่องมือเหล่านี้ ส่วน FYPA ซึ่งดูแลโดย anarthrous-eda (github.com/anarthrous-eda/FYPA) เน้น Altium

เราใช้ PCB MB2059 ของ STMicroelectronics เพราะมีทั้งไฟล์ Altium .PcbDoc และเอาต์พุต ODB++ เราป้อน ODB++ เข้า KiPI พร้อมไฟล์ pdn.json ของ Tomachie ส่วน FYPA ใช้ .PcbDoc กับไฟล์ pdn.json ของ Tomachie ไฟล์เดียวกัน

จุดประสงค์ของงานนี้ไม่ใช่การตัดสินว่าเครื่องมือใดดีกว่า แต่เพื่อให้ได้การตรวจสอบยืนยัน และหาข้อผิดพลาดทั้งในเครื่องมือทั้งสองและใน Tomachie ผลที่ได้คือเราได้ส่งการแก้ไขกลับไปยังโปรเจกต์ต้นทางทั้งสอง: pull request ที่ถูกรวมแล้วหกรายการใน KiPI และหนึ่งรายการใน FYPA และแบ่งปันผลลัพธ์ไว้ที่นี่ แม้จะใช้ตัวแก้สมการต่างกันและข้อมูล PCB ต่างกัน (ODB++ และ .PcbDoc) ตอนนี้ทั้งสองให้ผลตรงกันภายใน 0.2 mV ในทุกเรล

Tomachie อ่านแผนผังวงจรของ MB2059 และดาต้าชีต แล้วเขียนไฟล์ power tree หนึ่งไฟล์: ทุกเรล เรกูเลเตอร์ของเรลนั้น พิกัดความคลาดเคลื่อนเอาต์พุตของเรกูเลเตอร์ ขาและกระแสสูงสุดของโหลดแต่ละตัว และแรงดันจ่ายต่ำสุดที่ดาต้าชีตของโหลดแต่ละตัวยอมรับ จากนั้น KiPI และ FYPA แก้ไฟล์เดียวกันนั้นบนทองแดงของบอร์ดเอง

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

ผล DC PI ทีละเรล

เรลค่าตั้ง (V)ขอบล่างเรกูเลเตอร์ (V)โหลดที่วิกฤตที่สุดค่าต่ำสุดของโหลด (V)KiPI (V)FYPA (V)KiPI − FYPA (mV)มาร์จิน (mV)ผล
VDDCORE0.820.8077U7 STM32MP2150.7920.80340.80340.0+11.4PASS
VDDCPU0.800.7880U7 STM32MP2150.7680.78610.78610.0+18.1PASS
VDD2_DDR1.101.0835U7 STM32MP2151.0601.07931.0795−0.2+19.3PASS
VDD1_DDR1.801.7280U8 LPDDR41.7001.72731.7271+0.2+27.1PASS
VDDA1V81.801.7280U7 STM32MP2151.7101.72621.7260+0.2+16.0PASS FYPA: มาร์จินต่ำ
VDDA1V8_AON1.801.7280U7 STM32MP2151.7101.72721.7271+0.1+17.1PASS FYPA: มาร์จินต่ำ
VDDIO3.303.2300U7 STM32MP2152.7003.22823.2281+0.1+528.1PASS
3V33.303.1530U15 LAN8742A3.0003.10433.1042+0.1+104.2PASS

มาร์จิน = แรงดันที่ต่ำกว่าจากสองค่าที่คำนวณได้ ลบด้วยค่าต่ำสุดตามดาต้าชีตของโหลด FYPA จะทำเครื่องหมายโหลดที่มีมาร์จินต่ำกว่า 1 % ของค่าระบุของเรล (ค่าเริ่มต้น) ส่วน KiPI รายงานแรงดันและส่วนเผื่อโดยไม่มีแถบเตือน

ค่าต่ำสุดของโหลด: STM32MP215 ตาราง 17 หน้า 87; Micron MT53E LPDDR4 VDD1 / VDD2; LAN8742A ทำงานที่ 3.3 V ช่วงเรกูเลเตอร์: ความแม่นยำเอาต์พุตของ STPMIC2 (buck ±1.5 %, LDO1 ±4 %, LDO2 / 5 / 6 ±2 %), ST1S31 สำหรับ 3V3

ตารางบอกอะไร

เครื่องมือวิเคราะห์พลังงานทั้งสองตรงกันภายใน 0.2 mV ในทุกเรล ทั้งสองไม่ได้ใช้โค้ดคำนวณร่วมกัน ผลตรงกันเพราะทั้งคู่อ่าน power tree เดียวกันและทองแดงชุดเดียวกัน

มาร์จินส่วนใหญ่ของแต่ละเรลถูกใช้ไปกับความคลาดเคลื่อนของเรกูเลเตอร์ ไม่ใช่ทองแดง LDO 1.8 V กำหนดไว้ที่ ±4 % ขอบล่าง (1.728 V) จึงสูงกว่าค่าต่ำสุด 1.71 V ของ STM32MP215 เพียง 18 mV ก่อนนับทองแดง ทองแดงบนบอร์ดใช้ไปราว 2 mV (0.5 mV ในเส้นทางกลับทางกราวด์) เหลือ 16–17 mV ต่ำกว่าเส้น 1 % ของ FYPA ซึ่งเป็นคำเตือนที่ถูกต้องเรื่องการเลือกเรกูเลเตอร์ VDDCORE มีมาร์จินเป็นมิลลิโวลต์น้อยที่สุด (11.4 mV) และผ่านทั้งสองเครื่องมือ เพราะเท่ากับ 1.4 % ของ 0.82 V

แรงดันตกบนทองแดงมากที่สุดของบอร์ดอยู่ที่ 3V3: Ethernet PHY LAN8742A กินกระแส 139 mA ที่จุดทำงานเลวร้ายที่สุด (10BASE-T ขณะมีทราฟฟิก กระแสส่งผ่านหม้อแปลง Ethernet ดาต้าชีตตาราง 5-5 หน้า 105) โดย 93 mA ไหลผ่านเฟอร์ไรต์ L4 ไปยังขาจ่ายไฟแอนะล็อก เส้นทางนี้ตก 48 mV เหลือ 3.104 V ที่ U15 เทียบกับค่าต่ำสุด 3.0 V โหลดทุกตัวบน 3V3 ใช้กระแสตามดาต้าชีต รวม 213.6 mA

DC PI ก่อน แล้วจึง AC PI

นี่คือ DC PI: แรงดันตกที่กระแสกรณีเลวร้ายที่สุด ซึ่งทุกเรลต้องผ่านก่อน AC PI พิจารณาอิมพีแดนซ์ของ PDN ตามความถี่เทียบกับอิมพีแดนซ์เป้าหมาย สำหรับการเปลี่ยนโหลดแบบขั้นและการดีคัปปลิง KiPI ยังกวาดอิมพีแดนซ์ PDN ได้ด้วย ส่วน AC PI ของบอร์ดนี้คือขั้นตอนถัดไป

รายงาน

KiPI ที่ดูแลโดย Drew Maatman: เครื่องมือวิเคราะห์ power integrity แบบโอเพนซอร์สสำหรับ KiCad

FYPA ที่ดูแลโดย anarthrous-eda: เครื่องมือ DC power integrity แบบโอเพนซอร์สสำหรับ Altium