Согласно странице Википедии на PCI Express , слоты PCI-e 1X имеют 18 позиций контактов на двух линиях (таким образом, 36 контактов), а позиции 5-9 представляют SMBus и JTAG.
Я хотел бы подключить микроконтроллер в качестве устройства SMBus (в основном I²C), и я понимаю дополнительные требования к протоколу сообщений, но не совсем уверен, с какими контактами я должен взаимодействовать.
Я вижу контакты для SMCLK, SMDAT, TCK, TDI, TMS, TRST, TDO, WAKE, PERST, PRSNT1, PRSTN2, а также связку PCI-специфических вещей. Я знаю, что контакты PRSNT должны быть закорочены, и что для устройства предусмотрены источники питания +12 В и + 3,3 В. Но остальное немного сбивает с толку. Обычно с I²C я думал бы о SDA и SCL, но контакты, которые я здесь вижу, больше похожи на тот интерфейс, который я ожидал от SPI, с отдельными входными и выходными контактами данных и выбором устройства. Это бит JTAG, и я просто хочу посмотреть на SMCLK / SMDAT?
Итак, мой вопрос состоит из двух частей:
- С какими контактами я должен быть связан?
- Нужно ли делать что-то большее, чем перемычка контактов PRSNT1 / PRSNT2, чтобы зарегистрировать устройство? То есть можно ли безопасно игнорировать все, кроме интерфейса SMBus? Фактически, мне даже нужно пометить карту как имеющуюся на этих выводах, или это только для устройств, которые используют шину PCI?
Извиняюсь, если это кажется довольно тривиальным вопросом - я гораздо больше разбираюсь в программном обеспечении, чем в аппаратном.
Ответы:
SMCLK и SMDAT - это тактовые импульсы SMB и соединения для передачи данных.
TCK, TDI, TMS, TRST и TDO являются соединениями JTAG.
Контакты PRSNT1 и PRSNT2 предназначены для того, чтобы сообщить хосту (аппаратная часть и операционная система материнской платы), сколько линий PCIe вы собираетесь использовать. Поскольку вы вообще не собираетесь использовать высокоскоростные полосы, я сомневаюсь, что они будут актуальны. Там не будет каких-либо уже существующих драйверов для того, что вы делаете, так что «регистрация» платы не будет ужасно значимым. Но в любом случае, возможно, было бы неплохо их закорочить, просто чтобы система знала, что плата есть.
источник