Projektujemy płytki nadajnika / odbiornika do aplikacji zdalnego sterowania RF. Aby uniknąć rozmów między niedopasowanymi parami, chcemy unikatowych adresów na płycie. Adres jest podawany do układów enkodera / dekodera poprzez 8 pinów adresowych.
Prawdopodobnie ręcznie zmontujemy niewielką partię (około 25), ale PCB profesjonalnie wykonamy.
Jaki jest twój ulubiony sposób na tworzenie unikalnych adresów na pokładzie w takiej sytuacji? Zastanawiałem się nad przełącznikami DIP, zworkami i śladami cięcia / skakania. Skłaniam się do wycinania śladów, ale chciałbym usłyszeć, co zwykle robią bardziej doświadczeni ludzie.
pcb-design
addressing
Steven Ourada
źródło
źródło
Odpowiedzi:
Dziwię się, że nikt nie wspomniał o EEPROM. Wiele razy musieliśmy umieszczać unikalne liczby w produktach i przez większość czasu trafiały one do pamięci EEPROM procesora lub czasami do zarezerwowanych miejsc pamięci programu. Zazwyczaj jest to prosta czynność, która jest ostatnim etapem testu produkcyjnego i procesu kalibracji. Gdy jednostka zostanie uznana za działającą i zostanie przeprowadzona jakakolwiek kalibracja, system testowania produkcji wysyła polecenie do mikro w celu nadania jej numeru seryjnego lub używa interfejsu programowania do bezpośredniego zapisania numeru seryjnego w odpowiedniej lokalizacji. Czasami pliki HEX programujące się w mikro są jednorazowo modyfikowane z pliku HEX szablonu głównego z unikalnym numerem seryjnym dla tego urządzenia, z sumami kontrolnymi i ewentualnie innymi informacjami odpowiednio zmodyfikowanymi.
Kilka lat temu współpracowałem z firmą, która produkowała setki tysięcy drobiazgów rocznie za pośrednictwem producenta kontraktowego w Chinach. Wysłaliśmy dwa kompletne systemy testowe do chińskiego producenta. Program testowy zachowałby plik z numerem seryjnym i moglibyśmy wysłać im nowe pliki, aby skonfigurować jednostki dla nowych zakresów numerów seryjnych. Przez jakiś czas wszystko szło dobrze, aż pewnego dnia dostaliśmy jednostki o zduplikowanych numerach seryjnych. Okazuje się, że Chińczycy zrobili coś głupiego z jednym z systemów, aby przestał działać. Zamiast powiedzieć nam, co mają zrobić, jeśli coś pójdzie nie tak, zrobili pełną kopię dysku z działającego systemu do innego systemu. To oczywiście skopiowało również pliki numerów seryjnych i bieżący stan, więc od tego momentu oba systemy wydały tę samą sekwencję numerów seryjnych.
Zaprojektowałem nowsze systemy testowe, więc upewniłem się, że zakres numerów seryjnych i aktualny stan zostały zachowane w pamięci EEPROM w sprzęcie testera i nie dostarczyłem żadnej dokumentacji na ten temat producentowi. Zrobiliśmy około tuzina płyt testowych i ostrożnie przypisaliśmy do każdego z nich osobne zakresy numerów seryjnych. Kiedy producent musiał zostać zaktualizowany o nowy blok numerów seryjnych, wysłaliśmy mu zaktualizowane płyty testowe. Jak dotąd ten system działał bardzo dobrze. Ułatwia także produkcję okazjonalnej jednostki tutaj lub w innym miejscu produkcji. Każde miejsce ma własny tester z własnym zakresem numerów seryjnych, a tylko jedna osoba była głównym opiekunem numerów seryjnych i przypisywała nowe zakresy testerom.
źródło
Moim ulubionym jest Maxim DS2411 . Jest to niewielka część SOT-23, która zawiera unikalny numer SSN (silikonowy numer seryjny). Sam w sobie niezbyt tani, ale może być najtańszy ogólnie , jeśli myślisz o kosztach logistycznych i kosztach programowania w innych rozwiązaniach. Rozwiązanie SSN nie wymaga żadnej ręcznej interwencji / operacji oprócz automatycznego pick-and-place.
Ryzyko duplikatów identyfikatorów wynosi prawie zero.
W komentarzu do tej odpowiedzi mikeselecticstuff wskazał na te adresy EEPROM adresów MAC . Są to wspólne pamięci EEPROM z unikalnym identyfikatorem zaprogramowanym w chronionym przed zapisem obszarze pamięci EEPROM. Są tańsze niż DS2411 i mają trochę miejsca na dane użytkownika.
Operator musi po prostu położyć kroplę lutu na obu połówkach, aby „zaprogramować” jeden bit. Mniej niż połowa czasu (jeden punkt lutowniczy zamiast dwóch i brak elementu do pobrania i umieszczenia) i nie wymaga komponentów. Więc oszczędzasz dwa razy. I jak mówi Olin, z odpowiednim rozmiarem i odstępem, oba są łatwe do zmostkowania i odblokowania.
Jeśli Twoja tablica ma mikrokontroler (która tablica obecnie nie?), Możesz zaprogramować w niej numer seryjny przez usługę programowania. Koszt logistyki po twojej stronie jest minimalny: po prostu śledź, od którego numeru seryjnego powinny zacząć od każdej partii programowania.
Ryzyko błędów powodujących duplikaty identyfikatorów jest niskie, w zależności od tego, jak dobrze zorganizowana jest usługa programowania, ale wiedziałem, że tak się stało.
Wiedziałem o następujących rzeczach, ale nie pamiętałem, jak się nazywają, i pomyślałem również, że potrzebuję zdjęcia, aby lepiej to wyjaśnić.
Najwyraźniej nazywa się to programowalnym bocznikiem DIP . Używasz go jak przełącznika DIP, ale zamiast miniaturowych przełączników używa słabych połączeń, które możesz „zaprogramować”, rozbijając je długopisem lub małym śrubokrętem.
Ma to tę samą dużą wadę, co rozwiązania do lutowania selektywnego: operator musi zdecydować, które połączenia należy przerwać, a które należy pozostawić nietknięte, a wtedy błąd ludzki nigdy nie będzie daleko. Niezawodność pod względem wyjątkowości: niska.
źródło
EEPROM I2C są dobre i małe. Istnieją 1-żyłowe układy numerów seryjnych.
źródło
Jeśli adres ma zostać ustawiony przez osobę zdolną do lutowania, można ułożyć ślad opornika do montażu powierzchniowego dla każdego styku i selektywnie lutować w zworkach 0 omów.
źródło
Do prostego adresowania 8-bitowego zwykle używam wycinków. Jest bardziej trwały niż zworki / łącza lutownicze i odstrasza ludzi od jego zmiany. Tak zazwyczaj robię to na tablicy:
Każde łącze jest podkładką (ale jest to ograniczenie mojego oprogramowania - wolałbym, żeby nie było cynowane), więc nie dostaje maski lutowniczej, a jedynie 5 mil (w przeciwieństwie do 10 mil dla reszty toru), co ułatwia cięcie. 5 mil to minimum dla sygnału, który niosą w moim przypadku - możesz użyć grubszego. W moim przykładzie jest to po prostu użycie zestawu rezystorów jako rezystorów podciągających. Możesz oczywiście zastąpić to, co chcesz.
Pamiętaj tylko, aby upewnić się, że nie ma nad nimi maski lutowniczej.
Inną opcją jest (jak ktoś już wspomniał) użycie podkładek oporowych SMT i zmostkowanie ich. Ale jeśli masz zamiar przejść do rezystorów, które działają jak podciągnięcia, dlaczego nie po prostu zrezygnować z rezystorów, z którymi w pierwszej kolejności nie chciałbyś się połączyć?
źródło
Jeśli masz w obwodzie jakieś urządzenie 1-Wire, twoja płytka urodzi się z numerem seryjnym.
Mam płytkę z falownikiem, a ponieważ MOSFET-y są bardzo ciepłe, dodałem czujnik temperatury DS18B20 na radiatorze, wykrywając temperaturę MOSFET-ów. Dzięki temu mój falownik otrzymał numer seryjny przypisany do czujnika temperatury.
Możesz również użyć kilku bezpieczników na swojej płycie i wysadzić niektóre z nich przed opuszczeniem fabryki, aby działać jako urządzenie z numerem seryjnym.
źródło