กลับไปหน้าบทความ

อ่าน 5 นาที

บัสการจัดการระบบ

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

บัสการจัดการระบบ

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

พัฒนามาจากI²Cสำหรับการสื่อสารกับอุปกรณ์แบนด์วิดท์ต่ำบนเมนบอร์ดโดยเฉพาะชิปที่เกี่ยวข้องกับพลังงาน เช่น ระบบย่อยแบตเตอรี่แบบชาร์จได้ของแล็ปท็อป (ดูSmart Battery SystemและACPI ) [ 1 ]อุปกรณ์อื่นๆ อาจรวมถึงมาสเตอร์โฮสต์ภายนอก เซ็นเซอร์อุณหภูมิ พัดลม หรือเซ็นเซอร์แรงดันไฟฟ้า สวิตช์ฝาปิด เครื่องกำเนิดสัญญาณนาฬิกา และไฟ RGB การ์ดเสริมPeripheral Component Interconnect (PCI) อาจเชื่อมต่อกับเซ็กเมนต์ SMBus

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

SMBus ได้รับการกำหนดโดยIntelและDuracellในปี 1994 [ 2 ]มันส่งสัญญาณนาฬิกา ข้อมูล และคำสั่ง และอิงตามโปรโตคอลบัสอนุกรมI²CของPhilips [ 1 ]ช่วงความถี่สัญญาณนาฬิกาคือ 10 kHz ถึง 100 kHz (PMBus ขยายไปถึง 400 kHz) ระดับแรงดันไฟฟ้าและเวลาของมันถูกกำหนดไว้อย่างเข้มงวดกว่าของ I²C แต่โดยทั่วไปแล้วอุปกรณ์ที่อยู่ในทั้งสองระบบมักจะถูกใช้งานร่วมกันบนบัสเดียวกันได้สำเร็จ

SMBus ถูกใช้เป็นตัวเชื่อมต่อในมาตรฐานการจัดการแพลตฟอร์มหลายอย่าง รวมถึง: Alert Standard Format (ASF), Desktop and mobile Architecture for System Hardware (DASH), Intelligent Platform Management Interface (IPMI)

SMBus ใช้สำหรับเข้าถึงข้อมูลการกำหนดค่า DRAM ซึ่งเป็นส่วนหนึ่งของการตรวจจับการมีอยู่ของพอร์ตอนุกรม (SPD) SMBus ได้ถูกนำไปใช้ในงานด้านการตรวจสอบระบบที่หลากหลาย นอกเหนือจากการจัดการพลังงานแล้ว

การทำงานร่วมกันระหว่าง SMBus/I²C

แม้ว่า SMBus จะพัฒนามาจาก I²C แต่ก็มีความแตกต่างที่สำคัญหลายประการระหว่างข้อกำหนดของบัสทั้งสองในด้านไฟฟ้า เวลา โปรโตคอล และโหมดการทำงาน[ 3 ] [ 4 ] [ 5 ] [ 6 ]

ไฟฟ้า

แรงดันไฟฟ้าขาเข้า ( V ILและV IH )

เมื่อผสมอุปกรณ์ ข้อกำหนด I²C กำหนดระดับอินพุตไว้ที่ 30% และ 70% ของแรงดันไฟเลี้ยงV DD [ 5 ] : 9 ซึ่งอาจเป็น 5 V, 3.3 V หรือค่าอื่นๆ แทนที่จะเชื่อมโยงระดับอินพุตของบัสกับV DDนั้น SMBus กำหนดให้ระดับอินพุตคงที่ SMBus 2.0 กำหนดV IL,max ไว้ที่ 0.8 V และV IH,min ไว้ที่ 2.1 V และรองรับV DDที่มีช่วงตั้งแต่ 3 ถึง 5 V ในขณะที่ SMBus 3.0 กำหนดระดับไว้ที่ 0.8 และ 1.35 V โดยมีV DDที่มีช่วงตั้งแต่ 1.8 ถึง 5 V [ 4 ]

กระแสจม ( I OL )

SMBus 2.0 กำหนดคลาส 'กำลังสูง' ซึ่งรวมถึงกระแสไฟซิงค์ 4 mA ที่ไม่สามารถขับเคลื่อนได้ด้วยชิป I²C เว้นแต่ตัวต้านทานพูลอัพจะมีขนาดที่เหมาะสมกับระดับบัส I²C

อุปกรณ์ NXP มีคุณลักษณะทางไฟฟ้าที่มีกำลังสูงกว่า SMBus 1.0 ความแตกต่างหลักอยู่ที่ความสามารถในการรับกระแส โดยมีV OL = 0.4 V

  • พลังงานต่ำของ SMBus = 350 μA
  • กำลังไฟสูงของ SMBus = 4 mA
  • บัส I²C = 3 มิลลิแอมป์

อุปกรณ์ SMBus 'กำลังสูง' และอุปกรณ์ I²C-bus จะทำงานร่วมกันได้หากตัวต้านทานแบบดึงขึ้น (pull-up resistor) มีขนาดรองรับกระแส 3 mA

ความถี่ ( F MAXและF MIN )

ความถี่สัญญาณนาฬิกาของ SMBus กำหนดไว้ตั้งแต่ 10 ถึง 100 kHz ในขณะที่ I²C สามารถมีความถี่ได้ตั้งแต่ 0–100 kHz, 0–400 kHz, 0–1 MHz และ 0–3.4 MHz ขึ้นอยู่กับโหมดการทำงาน นั่นหมายความว่าบัส I²C ที่ทำงานที่ความถี่ต่ำกว่า 10 kHz จะไม่เป็นไปตามมาตรฐาน SMBus เนื่องจากอุปกรณ์ SMBus อาจหมดเวลาการทำงาน อย่างไรก็ตาม อุปกรณ์ SMBus หลายตัวจะรองรับความถี่ที่ต่ำกว่านั้นได้

SMBus 3.0 เพิ่มความเร็วบัส 400 kHz และ 1 MHz

จังหวะเวลา

  • SMBus กำหนดค่าหมดเวลาเมื่อสัญญาณนาฬิกาเป็นระดับต่ำ (TIMEOUT) ไว้ที่ 35 มิลลิวินาที ส่วน I²C ไม่ได้ระบุค่าหมดเวลาใดๆ
  • SMBus ระบุ T LOW:SEXTเป็นเวลาขยายสัญญาณนาฬิกาต่ำสะสมสำหรับอุปกรณ์สเลฟ ส่วน I²C ไม่มีข้อกำหนดที่คล้ายกันนี้
  • SMBus ระบุ T LOW:MEXTเป็นเวลาขยายสัญญาณนาฬิกาต่ำสะสมสำหรับอุปกรณ์หลัก ในขณะที่ I²C ไม่มีข้อกำหนดที่คล้ายกันนี้
  • SMBus กำหนดทั้งเวลาเพิ่มขึ้นและเวลาลดลงของสัญญาณบัส ในขณะที่ I²C ไม่ได้กำหนดเช่นนั้น
  • ข้อกำหนดเรื่องเวลาหมดอายุของ SMBus ไม่ได้ห้ามไม่ให้อุปกรณ์ I²C ทำงานร่วมกันได้อย่างน่าเชื่อถือบน SMBus เป็นความรับผิดชอบของผู้ออกแบบที่จะต้องตรวจสอบให้แน่ใจว่าอุปกรณ์ I²C จะไม่ละเมิดพารามิเตอร์เวลาของบัสเหล่านี้

โปรโตคอล

การใช้งาน ACK และ NACK

มีข้อแตกต่างในการใช้งานสัญญาณ NACK บนบัส ดังนี้: ใน I²C ตัวรับสัญญาณแบบ Slave สามารถไม่ยืนยันการรับที่อยู่ของ Slave ได้ เช่น ในกรณีที่ไม่สามารถรับข้อมูลได้เนื่องจากกำลังดำเนินการประมวลผลแบบเรียลไทม์อยู่ ในขณะที่ SMBus กำหนดให้อุปกรณ์ต้องยืนยันการรับที่อยู่ของตนเองเสมอ เพื่อเป็นกลไกในการตรวจจับการมีอยู่ของอุปกรณ์ที่ถอดได้บนบัส (เช่น แบตเตอรี่ แท่นวาง ฯลฯ)

มาตรฐาน I²C กำหนดว่า อุปกรณ์สเลฟ แม้ว่าจะรับทราบที่อยู่ของตนเองแล้ว ก็อาจตัดสินใจในภายหลังว่าไม่สามารถรับข้อมูลเพิ่มเติมได้อีก มาตรฐาน I²C กำหนดว่า อุปกรณ์อาจแสดงสัญญาณนี้โดยการสร้างข้อความ "ไม่รับทราบ" ในไบต์แรกที่ตามมา

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

โปรโตคอล SMBus

การส่งข้อความแต่ละครั้งบน SMBus จะใช้รูปแบบของโปรโตคอล SMBus ที่กำหนดไว้ โปรโตคอล SMBus เป็นส่วนย่อยของรูปแบบการถ่ายโอนข้อมูลที่กำหนดไว้ในข้อกำหนด I²C อุปกรณ์ I²C ที่สามารถเข้าถึงได้ผ่านโปรโตคอล SMBus ใดโปรโตคอลหนึ่งจะเข้ากันได้กับข้อกำหนด SMBus อุปกรณ์ I²C ที่ไม่เป็นไปตามโปรโตคอลเหล่านี้จะไม่สามารถเข้าถึงได้ด้วยวิธีการมาตรฐานตามที่กำหนดไว้ในข้อกำหนด SMBus และAdvanced Configuration and Power Interface (ACPI)

โปรโตคอลการแก้ไขที่อยู่

SMBus ใช้ฮาร์ดแวร์ I²C และการกำหนดแอดเดรสด้วยฮาร์ดแวร์ I²C แต่เพิ่มซอฟต์แวร์ระดับที่สองสำหรับการสร้างระบบพิเศษ โดยเฉพาะอย่างยิ่ง ข้อกำหนดของมันรวมถึงโปรโตคอลการแก้ไขแอดเดรสที่สามารถจัดสรรแอดเดรสแบบไดนามิกได้ การกำหนดค่าใหม่แบบไดนามิกของฮาร์ดแวร์และซอฟต์แวร์ช่วยให้สามารถเสียบอุปกรณ์บัสได้ทันทีโดยไม่ต้องรีสตาร์ทระบบ อุปกรณ์จะได้รับการจดจำโดยอัตโนมัติและกำหนดแอดเดรสที่ไม่ซ้ำกัน ข้อดีนี้ส่งผลให้มีอินเทอร์เฟซผู้ใช้แบบเสียบแล้วใช้งานได้ทันที ในทั้งสองโปรโตคอลนั้นมีการแบ่งแยกที่มีประโยชน์มากระหว่างโฮสต์ระบบและอุปกรณ์อื่นๆ ทั้งหมดในระบบซึ่งสามารถมีชื่อและฟังก์ชันเป็นมาสเตอร์หรือสเลฟได้

ในบริบทของ สล็อต PCI Express บนเมนบอร์ด ข้อกำหนดทางไฟฟ้าเชิงกลของ PCIe คาดหวังว่าจะมี ARP สำหรับพิน SMBus อย่างไรก็ตาม เนื่องจาก ARP ถูกทำเครื่องหมายว่า "เป็นตัวเลือก" ในข้อกำหนด SMBus จึงมักจะไม่ได้นำมาใช้งาน[ 7 ]

คุณสมบัติหมดเวลา

SMBus มีคุณสมบัติการหมดเวลาซึ่งจะรีเซ็ตอุปกรณ์หากการสื่อสารใช้เวลานานเกินไป นี่คือเหตุผลที่ความถี่สัญญาณนาฬิกาขั้นต่ำอยู่ที่ 10 kHz เพื่อป้องกันไม่ให้บัสหยุดทำงาน I²C สามารถเป็นบัสแบบ 'DC' ได้ หมายความว่าอุปกรณ์สเลฟจะยืดสัญญาณนาฬิกาของมาสเตอร์เมื่อทำการทำงานบางอย่างในขณะที่มาสเตอร์กำลังเข้าถึงอยู่ การทำเช่นนี้จะแจ้งให้มาสเตอร์ทราบว่าอุปกรณ์สเลฟกำลังทำงานอยู่แต่ไม่ต้องการตัดการสื่อสาร อุปกรณ์สเลฟจะอนุญาตให้ดำเนินการต่อหลังจากงานเสร็จสิ้นแล้ว ไม่มีข้อจำกัดในโปรโตคอลบัส I²C ว่าความล่าช้านี้จะนานแค่ไหน ในขณะที่ระบบ SMBus จะจำกัดไว้ที่ 35 มิลลิวินาที โปรโตคอล SMBus สันนิษฐานว่าหากบางสิ่งใช้เวลานานเกินไป แสดงว่ามีปัญหาบนบัสและอุปกรณ์ทั้งหมดต้องรีเซ็ตเพื่อล้างโหมดนี้ อุปกรณ์สเลฟจึงไม่ได้รับอนุญาตให้คงสัญญาณนาฬิกาไว้ที่ระดับต่ำนานเกินไป

การตรวจสอบข้อผิดพลาดของแพ็กเก็ต

SMBus 1.1 และเวอร์ชันที่ใหม่กว่ากำหนดการตรวจสอบข้อผิดพลาดของแพ็กเก็ต ( PEC ) ไว้เป็นตัวเลือก ในโหมดนี้ ไบต์ PEC (รหัสข้อผิดพลาดของแพ็กเก็ต) จะถูกเพิ่มต่อท้ายธุรกรรมแต่ละรายการ ไบต์นี้คำนวณจากผลรวมตรวจสอบCRC-8 ซึ่งคำนวณจากข้อความทั้งหมด รวมถึงที่อยู่และบิตการอ่าน/เขียน พหุนามที่ใช้คือ x 8 +x 2 +x+1 (อัลกอริทึม CRC-8- ATM HECซึ่งเริ่มต้นที่ศูนย์) [ 8 ] [ 9 ] [ 10 ]

SMBALERT#

SMBus มีสัญญาณ ขัดจังหวะร่วมเสริมที่เรียกว่า SMBALERT# ซึ่งอุปกรณ์ลูกข่ายสามารถใช้เพื่อบอกให้อุปกรณ์โฮสต์สอบถามอุปกรณ์ลูกข่ายอื่นๆ เกี่ยวกับเหตุการณ์ที่น่าสนใจได้ นอกจากนี้ SMBus ยังกำหนด "โปรโตคอลแจ้งเตือนโฮสต์" ที่พบได้ไม่บ่อยนัก ซึ่งให้การแจ้งเตือนที่คล้ายกัน แต่ส่งข้อมูลมากกว่าและสร้างขึ้นบนโหมดมัลติมาสเตอร์ของ I²C

สนับสนุน

อุปกรณ์ SMBus รองรับโดย ระบบปฏิบัติการ FreeBSD , OpenBSD , NetBSD , DragonFly BSD , Linux , Windows 98และเวอร์ชันที่ใหม่กว่า รวมถึงWindows CE

ทดแทน

DDR5นำเสนอI3Cสำหรับการสื่อสารตรวจจับการมีอยู่ แทนที่ SMBus [ 11 ]

อุปกรณ์ PCI Expressมักใช้ SMBus เป็น "พอร์ตการจัดการนอกแบนด์" อย่างไรก็ตาม ผู้ผลิตอุปกรณ์มักใช้มัลติเพล็กเซอร์ SMBus (Mux) เพื่อจัดการการชนกันของที่อยู่ (ซึ่งเกิดจากการที่พวกเขาไม่ได้ใช้งานโปรโตคอลการแก้ไขที่อยู่) ทำให้เกิดการขัดจังหวะลิงก์ที่ทำให้โปรโตคอลการขนส่งส่วนประกอบการจัดการและโปรโตคอลอื่นๆ เสียหายเมื่อ Mux เปลี่ยนเป้าหมาย เพื่อแก้ปัญหานี้มาตรฐานฟอร์มแฟคเตอร์สำหรับองค์กรและศูนย์ข้อมูลเวอร์ชัน 3.1 ของ SNIA (มกราคม 2023) ได้อธิบายวิธีการใช้ I3C basic ผ่านอินเทอร์เฟซสองสายของ PCIe [ 7 ] NVM Express 2.1 (สิงหาคม 2024) ยังได้รับการแก้ไขข้อความเพื่อให้สามารถใช้ I3C ได้ "เพื่อให้ตรงกับข้อกำหนดใหม่ที่ใช้โดย EDSFF ของ SNIA SFF TA และข้อกำหนด PCI-SIG สำหรับ I3C" [ 12 ]

ดูเพิ่มเติม

  • เว็บไซต์อย่างเป็นทางการ
  • ข้อกำหนดอย่างเป็นทางการของ SMBus (ฟรี)
  • ฟอรัม SBS
  • SMBus ที่ tech-faq.com
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=System_Management_Bus&oldid=1261307598 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ บัสการจัดการระบบ

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

การทำงานร่วมกันระหว่าง SMBus/I²C

แม้ว่า SMBus จะพัฒนามาจาก I²C แต่ก็มีความแตกต่างที่สำคัญหลายประการระหว่างข้อกำหนดของบัสทั้งสองในด้านไฟฟ้า เวลา โปรโตคอล และโหมดการทำงาน [ 3 ] [ 4 ] [ 5 ] [ 6 ]

ไฟฟ้า

เมื่อผสมอุปกรณ์ ข้อกำหนด I²C กำหนดระดับอินพุตไว้ที่ 30% และ 70% ของแรงดันไฟเลี้ยง V DD [ 5 ] : 9 ซึ่งอาจเป็น 5 V, 3.3 V หรือค่าอื่นๆ แทนที่จะเชื่อมโยงระดับอินพุตของบัสกับ V DD นั้น SMBus กำหนดให้ระดับอินพุตคงที่ SMBus 2.0 กำหนด V IL,max ไว้ ที่ 0.

โปรโตคอล

มีข้อแตกต่างในการใช้งานสัญญาณ NACK บนบัส ดังนี้: ใน I²C ตัวรับสัญญาณแบบ Slave สามารถไม่ยืนยันการรับที่อยู่ของ Slave ได้ เช่น ในกรณีที่ไม่สามารถรับข้อมูลได้เนื่องจากกำลังดำเนินการประมวลผลแบบเรียลไทม์อยู่ ในขณะที่ SMBus...