MCP23017 пережил ад нехватки, потерял два входа
MCP23017, 16-битный I2C-расширитель GPIO, всегда был вкусным чипом. Благодаря 16 портам GPIO, адресуемым через I2C, правильным двухтактным выходам, программным подтягивающим устройствам, восьми адресам, маскируемым прерываниям для всех контактов и достаточно низкой цене, есть причина, по которой он так популярен. Без сомнения, отчасти из-за этой популярности, в течение последних полутора лет его постоянно не было в наличии, о чем подтвердят те из нас, кому не повезло полагаться на него в наших проектах.
Теперь чип снова в наличии, и только на Mouser осталось 23 000 штук, но есть одна загвоздка. Судя по всему, длительный период отсутствия на складе серьезно сказался на IC. Будь то рецессия или, возможно, нехватка газа, суть такова: MCP23017 теперь представляет собой 14/16-битный расширитель, при этом два контакта (GPA7 и GPB7) теряют свои входные возможности. Чипы выглядят одинаково, называются одинаково и действуют практически одинаково — если вы не загрузите последнюю версию таблицы данных (редакция D), вы никогда не узнаете, что произошли изменения. Такого рода обновления обязательно вызовут у любителя особый вечер отладки и сделают чип менее подходящим для многих приложений.
Сбивает с толку мысль о том, что такое изменение произойдет спустя почти 20 лет после того, как чип был первоначально выпущен, и мы задаемся вопросом, что могло его вызвать. Это относится конкретно к версии I2C — аналог SPI, MCP23S17, остается неизменным. Возможно, использование микроконтроллера или сдвиговых регистров для расширения GPIO в конце концов не так уж и непривлекательно. По крайней мере, ожидается, что возникнут ошибки GPIO микроконтроллера, а регистры сдвига, похоже, остались неизменными с незапамятных времен.
Причины такого разрезания кремния MCP23017 мы, возможно, никогда не узнаем. По крайней мере, теперь, будем надеяться, это изменение будет менее горьким сюрпризом для тех из нас, кто рад просто видеть, что чип снова появился на складе, а для хакеров, которые уже пополнили свои запасы MCP23017, пусть ваши отложенные платы волшебным образом окажутся с совместимая распиновка.