Muszę zakodować informacje o wersji lub konfiguracji na płycie / elektrycznie, aby oprogramowanie układowe mogło wykryć, który układ płytki jest używany.
Jakie opcje są możliwe i jakie są ich zalety / wady?
pcb-design
firmware
Henrik Hansen
źródło
źródło
Odpowiedzi:
Z głowy przychodzą mi na myśl dwa proste rozwiązania.
Obie te sugestie mają tę wadę, że użytkownik końcowy może je łatwo zmienić, powiedzmy, aby otworzyć „zablokowane” funkcje. Może to nie dotyczyć ciebie, ale o czymś pamiętać.
źródło
Do kodowania wersji płyty użyłem wcześniej rejestru przesuwnego z pinami powiązanymi górą i dolną częścią, jeśli już używasz SPI do czegoś na swojej płycie, to jest trywialne.
Jeśli musisz mieć możliwość zmiany ID w czasie wykonywania, dobrym pomysłem byłoby użycie zworek zamiast wiązania danych wejściowych ze śladami.
źródło
Niektóre opcje, o których mogę myśleć: -
Łączniki rezystorów SMM PADS / O OHM. Użyj systemu binarnego do konfiguracji sprzętu, aby zmniejszyć liczbę pinów w procesorze.
Zworki. Płytka podłączałaby piny złącza 2xN, dodając zworkę do prawego pinu, umożliwiłaby wybór konfiguracji. Błąd łatwiej rozwiązać. To może być trochę kosztowne i zajmuje więcej miejsca na desce, w zależności od skoczka.
Jeśli masz na płycie EEPROM, może być możliwe osadzenie konfiguracji w pamięci.
Czy możliwa jest zmiana samego oprogramowania układowego za pomocą #define lub podobnego? Wtedy nie potrzebujesz miejsca na planszy i dodatkowych pinów do wykrywania wersji.
źródło
EEPROMy jednoprzewodowe są dobrym rozwiązaniem, ponieważ wymagają tylko jednego GPIO, ale mogą przechowywać dużą ilość informacji konfiguracyjnych. Pozwalają również mikrokontrolerowi zapisywać te informacje podczas testu płytki (np. Dane kalibracyjne). Wiele z nich ma pin zabezpieczający przed zapisem lub jednorazowo programowalny bit, aby zapobiec dalszym zmianom.
Inne zalety obejmują przydatne funkcje, takie jak gwarantowane unikalne numery seryjne.
Ta opcja jest używana w wielu systemach, takich jak sondy oscyloskopowe i baterie, ponieważ wymaga tylko jednej linii danych. EEPROM może być nawet zasilany z samej linii danych.
Główną wadą jest koszt. Koszt nie jest wysoki, ale w przypadku masowo produkowanych produktów kilka centów może mieć znaczenie.
Przykładem takiej pamięci EEPROM jest DS2431, który przechowuje 1kb.
źródło