जैसा कि स्टीवन ने कहा, पीआईसी के पास विनिर्माण समय में अद्वितीय सीरियल नंबर नहीं हैं। आइए स्पष्ट हो कि हम एक ऐसी संख्या के बारे में बात कर रहे हैं जो समान मॉडल के दो चिप्स के बीच भिन्न होगी।
अधिकांश PIC में एक चिप आईडी होती है, जो इनकोडेड होती है। यह जिस प्रकार से जुड़ा हुआ है PIC के प्रकार को निर्धारित करने के लिए PIC प्रोग्रामर द्वारा इसे पढ़ा जा सकता है। जहां तक मैं बता सकता हूं, केवल 12 बिट कोर PIC में ऐसी चिप आईडी नहीं होती है। अन्य सभी पीआईसी को विद्युत रूप से पहचाना जा सकता है, हालांकि कई अलग-अलग तरीके हैं जो उन्हें प्रोग्रामिंग मोड में डालते हैं और फिर चिप आईडी पढ़ते हैं। PIC प्रोग्रामर सॉफ्टवेयर जो एक मनमाने ढंग से PIC की पहचान कर सकता है तुच्छ नहीं है।
यदि आप वास्तव में सीरियल नंबर का मतलब है, तो यह उत्पादन के बाद भाग में क्रमादेशित होना चाहिए। हमने कई बार ऐसा किया है। उत्पादन परीक्षण प्रक्रिया के दौरान जब फर्मवेयर को PIC में क्रमादेशित किया जाता है, तो आप इसे एक अद्वितीय क्रम संख्या और प्रोग्राम भी प्राप्त करने के लिए सेट करते हैं। एक आसान तरीका यह है कि फर्मवेयर टूल्स द्वारा निर्मित मास्टर HEX फाइल के साथ शुरू करें। इसमें एक खाली सीरियल नंबर होता है। आप एक छोटा सा प्रोग्राम लिखते हैं जो आपकी रणनीति के अनुसार एक नया सीरियल नंबर पकड़ता है, मास्टर HEX फ़ाइल को पढ़ता है, रिक्त एक के लिए नए सीरियल नंबर को प्रतिस्थापित करता है, और एक अस्थायी HEX फ़ाइल लिखता है। अस्थायी एचईएक्स फ़ाइल का उपयोग भाग को प्रोग्राम करने के लिए किया जाता है, फिर हटा दिया जाता है।
बेहतर मजबूती के लिए, आप EEPROM में सीरियल नंबर स्टेट को प्रोडक्शन जिग में स्टोर करते हैं, डिस्क फाइल में नहीं। सिस्टम एक नए नंबर के लिए जिग से पूछता है, और यह जिग एक ही नंबर को दो बार कभी नहीं देने के लिए डिज़ाइन किया गया है। जब इसे असेंबल किया जाता है तो सीरियल नंबर रेंज समाप्त हो जाती है, यह काम करने से इंकार कर देता है। यह विशेष रूप से उपयोगी है यदि आपके पास एक दूरस्थ निर्माता निर्माण इकाई है। इस तरह अगर वे कंप्यूटर पर कुछ गड़बड़ करते हैं और बैकअप से पुनर्स्थापित करते हैं, तो यह सीरियल नंबर रेंज को भी रीसेट नहीं करेगा। हां, वास्तव में ऐसा हुआ है।
यदि सीरियल नंबर बाहर से पढ़ा जाना है, तो उपयोगकर्ता आईडी स्थानों कि अधिकांश PIC इसे स्टोर करने के लिए उपयुक्त जगह हो सकती है। ये सामान्य प्रोग्राम मेमोरी या EEPROM से भिन्न होते हैं, जिसमें चिप के संरक्षित होने पर भी उन्हें पढ़ा जा सकता है।
यदि आप माइक्रोचिप या एक वितरक द्वारा प्रोग्राम किए गए अपने PICs प्राप्त करते हैं, तो आप आमतौर पर उन्हें किसी तरह से अनुक्रमित कर सकते हैं। हालांकि, फैक्ट्री प्रोग्रामिंग केवल परिपक्व उच्च मात्रा वाले उत्पादों के लिए है। अगर आपको लगता है कि आप फ़र्मवेयर को नियमित रूप से अपग्रेड कर रहे हैं, तो फ़ैक्टरी प्रोग्रामिंग का उपयोग न करें। लीड समय लंबा है और आप पाइपलाइन में पुराने संस्करणों के साथ फंस जाएंगे। वैसे भी निर्मित होने के बाद आपके डिवाइस का परीक्षण करना होगा, इसलिए PIC को प्रोग्राम करने के लिए एक कदम जोड़ना आमतौर पर बहुत कम अतिरिक्त बोझ है।