Czy jest wbudowany numer seryjny w układzie PIC?

12

Mam dziesiątki układów PIC16. Chciałbym uzyskać jakiś unikalny numer seryjny z układu w celu identyfikacji. Wiem, że można to zrobić ręcznie. Ale to nużące.

Pytania:

  1. Czy PIC ma wbudowany numer seryjny?
  2. Jeśli odpowiedź brzmi „nie”, czy istnieje prosty sposób na przesłanie kodu z unikalnym numerem seryjnym do każdego układu, gdy zamawiam układ w Microchip?
mlam
źródło

Odpowiedzi:

16
  1. Nie

  2. Jest to możliwe, ale nie wiem, jakie ilości są wymagane, tj. Czy zrobią to dla dziesiątek urządzeń. Zawsze mieliśmy partie co najmniej 1000 części. To tak jak w przypadku programowania wstępnego z twoim oprogramowaniem, ale wskazujesz, w których lokalizacjach należy zaprogramować unikalny identyfikator. Musisz podać początkowy identyfikator i format (najpierw BCD, binarny, LSD / MSD, ...).

Zauważ, że liczba ta znajduje się w normalnej pamięci programu i zostanie skasowana, jeśli skasujesz część w celu przeprogramowania.

edytuj
Powodem, dla którego kontrolery najczęściej nie mają tego na poziomie układów, jest to, że jest drogie: programowanie odbywa się za pomocą lasera, co jest dodatkowym etapem produkcji. Masowo programowane mikrokontrolery mogą łatwo zaprogramować unikalne ID za pomocą oprogramowania, a to nie wymaga dodatkowego kroku.

Alternatywą byłby SSN (Silicon Serial Number), taki jak Maxim DS2411 . Są one również programowane laserowo, więc nie są tanie, ale unikasz dodatkowych kroków logistycznych, w których zawsze może pójść coś nie tak. Wiedziałem, że to się stało.
(kolejna edycja) Mike sugeruje chip adresu MAC jako alternatywę. Są to pamięci EEPROM, które mają unikalny identyfikator (adresy MAC są globalnie unikalne) zaprogramowane w części urządzenia chronionej przed zapisem. Resztę części można wykorzystać jako normalną pamięć EEPROM, na przykład do przechowywania parametrów urządzenia. EEPROM wydaje się być znacznie tańszy niż SSN, jednocześnie pełniąc tę ​​samą funkcję.


patrz także
Metoda przypisywania unikalnych adresów na płycie

stevenvh
źródło
Czy jest jakiś powód, dla którego nie zawsze tak jest?
Federico Russo,
@Federico - dodano do mojej odpowiedzi
stevenvh
1
Tańszą alternatywą dla części Dallas / Maxim są chipowe adresy MAC Microchip Ethernet, które zapewniają również trochę przestrzeni eeprom. microchip.com/stellent/…
mikeselectricstuff
@ stevenvh, dzięki za odpowiedź. Zwłaszcza o SSN. Muszę zamówić 100 żetonów, jak „wskazać, w której lokalizacji należy zaprogramować unikalny identyfikator. Musisz podać początkowy identyfikator i format”. Masz na myśli, że mogę to zrobić za pośrednictwem strony internetowej z mikroprocesorem, kiedy zamawiam układy scalone?
mlam
Dzięki @mikeselectricstuff, jest to przydatne. Rozważę to.
mlam
10

Jak powiedział Steven, PIC nie mają wbudowanych unikalnych numerów seryjnych w czasie produkcji. Wyjaśnijmy, że mówimy o liczbie, która różni się między dwoma układami tego samego modelu.

Większość PIC ma w sobie zakodowany identyfikator chipa. Może to odczytać programista PIC, aby określić typ PIC, do którego jest podłączony. O ile wiem, tylko 12-bitowe rdzenie PIC nie mają takiego identyfikatora układu. Wszystkie pozostałe PIC można zidentyfikować elektrycznie, chociaż istnieje wiele różnych sposobów, które należy wprowadzić w tryb programowania, a następnie odczytać identyfikator chipa. Oprogramowanie do programowania PIC, które może zidentyfikować dowolny PIC, nie jest trywialne.

Jeśli naprawdę miałeś na myśli numer seryjny, to należy go zaprogramować w części po produkcji. Robiliśmy to wiele razy. Podczas procesu testowania produkcji, gdy oprogramowanie układowe jest zaprogramowane w PIC, konfigurujesz go tak, aby uzyskać także unikalny numer seryjny i program. Jednym prostym sposobem jest rozpoczęcie od głównego pliku HEX wygenerowanego przez narzędzia oprogramowania układowego. Zawiera pusty numer seryjny. Piszesz mały program, który pobiera nowy numer seryjny zgodnie z twoją strategią, odczytuje główny plik HEX, zastępuje nowy numer seryjny pustym i zapisuje tymczasowy plik HEX. Tymczasowy plik HEX służy do programowania części, a następnie jest usuwany.

Aby uzyskać większą niezawodność, stan numeru seryjnego jest przechowywany w pamięci EEPROM w przyrządzie produkcyjnym, a nie w pliku dyskowym. System prosi przyrząd o nowy numer, a ten przyrząd nigdy nie podaje tego samego numeru dwa razy. Gdy przydzielony zakres numerów seryjnych zostanie wyczerpany, nie działa. Jest to szczególnie przydatne, jeśli masz dla siebie jednostki budowlane producenta zdalnego. W ten sposób, jeśli zepsują coś na komputerze i przywrócą dane z kopii zapasowej, nie zresetuje również zakresu numerów seryjnych. Tak, tak się naprawdę stało.

Jeśli numer seryjny ma być odczytany z zewnątrz, lokalizacje identyfikatora użytkownika, które ma większość kodów PIC, mogą być odpowiednim miejscem do jego przechowywania. Różnią się one od ogólnej pamięci programu lub pamięci EEPROM tym, że można je odczytać nawet wtedy, gdy układ jest chroniony kodem.

Jeśli Twoje PIC są programowane przez Microchip lub dystrybutora, zazwyczaj możesz je w jakiś sposób zserializować. Jednak programowanie fabryczne dotyczy tylko dojrzałych produktów o dużej objętości. Jeśli uważasz, że będziesz regularnie aktualizować oprogramowanie, nie używaj programowania fabrycznego. Czasy realizacji są długie i utkniesz ze starymi wersjami w przygotowaniu. Twoje urządzenie i tak będzie musiało zostać przetestowane po jego zbudowaniu, więc dodanie kroku do zaprogramowania PIC zwykle stanowi bardzo niewielkie dodatkowe obciążenie.

Olin Lathrop
źródło
Ten pomysł na przyrząd produkcyjny jest fantastyczny!
Joel B,
1
  1. Niektórzy.
  2. Z arkusza danych:

    Urządzenia PIC16 (L) F15324 / 44 są indywidualnie kodowane podczas końcowej produkcji za pomocą unikalnego identyfikatora Microchip lub MUI. MUI nie można skasować za pomocą komendy Bulk Erase ani w żaden inny sposób dostępny dla użytkownika. Ta funkcja umożliwia śledzenie produkcji urządzeń Microchip Technology w aplikacjach, w których jest to wymagane. Może być również wykorzystywany przez producenta aplikacji do szeregu funkcji wymagających niezweryfikowanej unikalnej identyfikacji, takich jak:

    • Śledzenie urządzenia
    • Unikalny numer seryjny. MUI składa się z dziewięciu słów programu.

edytować

  1. Spójrz na linię produktów unikalnych chipów ID firmy Microchips. Tylko kilka groszy. Małe paczki, komunikacja I2C i niewielka ilość pamięci EEPROM.
D Kaczka
źródło