Я уже давно юзаю трейсер Proteus’а для изготовления печатных плат. Вот и на днях строил девайс, использующий драйвер для светодиодных индикаторов MAX6955. Он управляется по I2C и я планировал ипользовать пару таких чипов в проекте.
Построил схему, написал прогу для микропроцессора, просимулировал – все пашет.
Настало время делать плату. Футпринты для чипов уже были в трейсере – там довольно богатая библиотека. Развел плату, отпечатал, спаял и… не завелась. Проверил схему и разводку 100 раз, прозвонил, посмотрел под лупой – все как положено, но чипы ни на какие комманды по I2C не реагировали никак, хотя осциллограф отчетливо видел сигналы на ногах SCL и SDA. Питание на чипы также поступало.
Причина нашлась не сразу, и, как водится, практически случайно.
Вот распиновка MAX6955 из дашашита:
А вот из трейсера Proteus’а:
Не встречал раньше футпринтов, в которых нумерация ног идет не по кругу. Скоре всего тот, кто его строил, просто слажал.
Пришлось перерисовывать футпринт вручную, снова разводить и печатать плату – она заработала как часы.
Мораль сей басни такова – стоит проверять библиотечные футпринты, прежде чем юзать их…