Chỉ có một SMBus trên Bo mạch chủ PC?


8

Tôi đã kết nối hai dây với đồng hồ SMBus và các đường dữ liệu của bo mạch chủ của tôi (được hàn thủ công qua dây, vì không có tiêu đề). Tôi muốn giao diện xe buýt này với vi điều khiển của tôi.

Tôi đã nối những thứ này với phạm vi của mình và chúng hiển thị đúng 3,3V hoặc ở đó (điều này đối với tôi rằng các dây CÓ được kết nối kể từ khi có một pullup).

Tôi có thể đọc và viết cho SMBus này thông qua python-smbus trên linux. SMBus tương tự thậm chí chọn các eeprom SPD trên các mô-đun bộ nhớ, vì vậy smbus NÀY chắc chắn hoạt động. Nhưng tôi không thể thấy bất kỳ hoạt động này trên phạm vi của tôi.

Chỉ có một SMBus trên bo mạch chủ PC? Hoặc có nhiều, và vì vậy tôi đang nối dây của mình đến sai chỗ?

Bo mạch chủ của tôi là ASRock X58 Extreme 6 (Southbridge là ICH10R)


2
Bạn có chipset nào? Câu trả lời phụ thuộc vào IC South Bridge của bạn. SMBUS và I²C rất dễ thực hiện, không thể có nhiều cái. Từ quan điểm của người dùng, tất cả các bo mạch chủ PC đều khá giống nhau. Ở cấp độ thấp, mặc dù, mọi thứ rất khác nhau. Chipset trừu tượng rất nhiều điều phức tạp ngay cả ở cấp độ phần cứng.
Alexios

Southbridge là ICH10R
cksa361

Câu trả lời:


4

Có một cái nhìn vào bảng dữ liệu cho gia đình ICH10 .

Trên trang 214, nó mô tả SMBus. Chỉ có một giao diện SMBus trên bo mạch để điều khiển / bỏ phiếu cho các thiết bị bo mạch chủ, nhưng có thêm một SMBus nô lệ , thông qua đó một thiết bị chính bên ngoài có thể gửi các sự kiện đến ICH10. Không có cách nào để sử dụng chương trình này từ phía máy tính. Mục 5.20.7 trên trang 222 mô tả cách thức hoạt động và những gì bạn có thể làm. Có vẻ như nó được sử dụng để quản lý tắt đèn, cơ quan giám sát bên ngoài, đo từ xa cảm biến, v.v.

Bạn cũng có thể gắn liền với giao diện nô lệ đó, đó là lý do tại sao bạn không thấy lưu lượng truy cập. Các pull-up trên các chân này có thể ở đó để bảo vệ các đầu vào có trở kháng cao.


0

Có bao nhiêu bus có tùy thuộc vào hệ thống.

Hiện tại (2017) nhiều bo mạch chủ ổ cắm bộ xử lý đơn sử dụng bộ điều khiển SMBus duy nhất ở cầu phía nam. Bus này có thể được kết nối với CẢ HAI chân SMBus trên các khe PCIe và được sử dụng cho những việc như đọc thông tin cấu hình DRAM từ eeprom. Bộ xử lý sử dụng ổ cắm có nhiều chân hơn, như bộ xử lý Intel Xeon E5, có nhiều bus I2C bổ sung để nói chuyện với các eeprom bộ nhớ, vì vậy đừng chia sẻ một bus I2C duy nhất giữa các khe cắm và thiết bị bo mạch chủ.

Nếu thẻ trong khe có địa chỉ xung đột hoặc đặt tín hiệu không có thật trên xe buýt, kết quả là hệ thống có thể không khởi động (nó không thể đọc các tham số DIMM để khởi tạo bộ điều khiển DRAM) hoặc có thể gặp sự cố vận hành với bo mạch chủ I2C các thiết bị như màn hình tạm thời / điện áp.

Thật không may, tiêu chuẩn SMBus hiện không yêu cầu các thiết bị tránh địa chỉ I2C rất phổ biến, như 0x50-0x57 (eeproms DIMM SPD), do đó, thẻ đã hoạt động tốt trên các máy chủ cao cấp hơn với nhiều bus nhưng không hoạt động ở mức thấp hơn kết thúc máy chủ với một xe buýt chia sẻ. Những địa chỉ nào được sử dụng trên thiết kế bus chung sẽ phụ thuộc vào thiết kế bo mạch chủ và những khe cắm bộ nhớ nào được điền. Bạn có thể có một hệ thống với 4 khe cắm bộ nhớ, 2 trong số những gì được điền và thẻ điều khiển PCIe sử dụng SMBus và mọi thứ đều hoạt động tốt. Khi bạn thêm 2 DIMM nữa, hệ thống không khởi động được và lý do là vì địa chỉ SMBus của thẻ điều khiển xung đột với địa chỉ I2C của các DIMM mới. Vấn đề là thẻ điều khiển, không phải bộ nhớ.

Cách giải quyết bao gồm: dán băng dính vào chân SMBus của thẻ điều khiển (xem bài viết Wikipedia về PCIe để biết chân chính xác) hoặc một số bo mạch chủ có nút nhảy để điều khiển nếu SMBus được chuyển đến các khe.

Một giải pháp lâu dài là thay đổi thông số SMBus để phản ánh thực tế này của các máy tính SMBus / I2C được chia sẻ và tạo địa chỉ 0x50-0x57 và bất kỳ địa chỉ thường được sử dụng nào khác cho cảm biến nhiệt và như vậy, bị cấm thêm vào thẻ. Thông số phát hiện sự hiện diện nối tiếp (SPD) DIMM cũng có thể được làm rõ để đánh vần cách các thiết bị trên các bus I2C được chia sẻ có thể xung đột và có thể làm cho trường hợp thực hiện các bước để tránh xung đột địa chỉ là một ý tưởng tốt. Thông số Micron SPD mà tôi đã thấy nói về các mẫu bit và bạn phải đọc kỹ để nhận ra địa chỉ I2C nào sẽ được sử dụng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.