Мне нужно кодировать информацию о версии или конфигурации на плате / электрически, чтобы микропрограмма могла определить, какая схема платы используется.
Какие варианты возможны и каковы их плюсы / минусы?
Мне нужно кодировать информацию о версии или конфигурации на плате / электрически, чтобы микропрограмма могла определить, какая схема платы используется.
Какие варианты возможны и каковы их плюсы / минусы?
Ответы:
Вдобавок ко мне приходят два простых решения.
Оба эти предложения имеют недостаток в том, что конечный пользователь может легко их изменить, скажем, открыть «заблокированные» функции. Это может не беспокоить вас, но что-то иметь в виду.
Я использовал сдвиговый регистр со связанными верхними и нижними выводами для кодирования ревизии платы раньше, если вы уже используете SPI для чего-либо на вашей плате, читать его тривиально.
Если вам нужно иметь возможность изменять ID во время выполнения, то лучше использовать перемычки, а не связывать входы с трассировками.
Некоторые варианты, которые я могу придумать:
SMD PADS / O ОМ резисторы. Используйте двоичную систему для конфигурации оборудования, чтобы уменьшить количество выводов для вашего процессора.
Перемычки. На плате будет 2xN разъема, добавляя перемычку к правому контакту, и вы сможете выбрать свою конфигурацию. Ошибка легче решить. Это может быть немного дорого и использовать больше места на доске в зависимости от перемычки.
Если на плате установлена EEPROM, возможно, вы сможете встроить конфигурацию в память.
Можно ли изменить саму прошивку с помощью #define или аналогичной? Тогда вам не нужно место на плате и дополнительные контакты для определения версии.
Однопроводные EEPROM являются хорошим решением, потому что им требуется только один GPIO, но они могут хранить большое количество информации о конфигурации. Они также позволяют микроконтроллеру записывать эту информацию во время тестирования платы (например, данные калибровки). Многие из них имеют контакт защиты от записи или одноразовый программируемый бит для предотвращения дальнейших изменений.
Другие преимущества включают полезные функции, такие как гарантированные уникальные серийные номера.
Эта опция используется во многих системах, таких как датчики осциллографа и батареи, поскольку требуется только одна линия данных. ЭСППЗУ может даже получать питание от самой линии передачи данных.
Основным недостатком является стоимость. Стоимость не высока, но на продукты массового производства могут иметь значение несколько центов.
Примером такой EEPROM является DS2431, который хранит 1 КБ.