วิธีการกำหนดที่อยู่เฉพาะสำหรับแต่ละบอร์ด


18

เรากำลังออกแบบบอร์ดตัวส่ง / ตัวรับสำหรับแอปพลิเคชันการควบคุมระยะไกล RF เพื่อหลีกเลี่ยงการพูดคุยระหว่างคู่ที่ไม่ตรงกันเราต้องการที่อยู่ต่อบอร์ดเฉพาะ ที่อยู่จะถูกระบุให้กับชิปเข้ารหัส / ถอดรหัสผ่านหมุดที่อยู่ 8 ตัว

เราอาจจะรวบรวมชุดเล็ก ๆ (ประมาณ 25) ด้วยมือ แต่จะมีการประดิษฐ์ PCBs อย่างมืออาชีพ

อะไรคือวิธีที่คุณโปรดปรานในการทำที่อยู่ต่อบอร์ดเฉพาะในสถานการณ์เช่นนี้ ฉันได้ไตร่ตรองสวิตช์ DIP ตัวจัมเปอร์และการตัด / การติดตามการจัมเปอร์ ฉันกำลังโน้มตัวไปหาร่องรอยการตัดเฉือน แต่ฉันอยากได้ยินว่าคนที่มีประสบการณ์มากขึ้นทำอะไร


สิ่งเหล่านี้จะต้องมีการกำหนดค่าใหม่ได้อย่างไร? และร่างกายแข็งแรงแค่ไหน? การสันนิษฐานจากการควบคุมระยะไกล RF นั้นปลอดภัยหรือไม่
JustJeff

4
หลีกเลี่ยงสวิตช์ DIP ผู้คนจะเปลี่ยนพวกเขา
Brian Carlton

@ JustJeff พวกเขาไม่ควรได้รับการกำหนดค่าใหม่เว้นแต่ว่ามีผู้ควบคุมตัวใดตัวหนึ่งล้มเหลวและต้องเปลี่ยนใหม่หรืออะไรทำนองนั้น จะไม่มีการสั่นสะเทือนมากนัก
Steven Ourada

@Brian ใช่มีความเป็นไปได้ แต่ฉันไม่ได้กังวลเกินไปเกี่ยวกับมัน
Steven Ourada

1
ฉันรู้ว่าคำถามของฉันอาจกว้างเกินไปและไม่เหมาะสม ฉันชอบคำตอบและเรียนรู้สิ่งที่ดี ขอบคุณทุกคนที่มีส่วนร่วม
Steven Ourada

คำตอบ:


15

ฉันประหลาดใจที่ไม่มีใครพูดถึง EEPROM เราต้องใส่ตัวเลขที่ไม่ซ้ำกันในผลิตภัณฑ์หลายครั้งและส่วนใหญ่เวลาที่พวกเขาเข้าไปในหน่วยประมวลผล EEPROM หรือบางครั้งสงวนตำแหน่งของหน่วยความจำโปรแกรม นี่เป็นเรื่องง่ายที่จะทำขั้นตอนสุดท้ายของการทดสอบการผลิตและกระบวนการสอบเทียบ เมื่อหน่วยทำงานแล้วและทำการสอบเทียบแล้วระบบทดสอบการผลิตจะส่งคำสั่งไปยังไมโครเพื่อให้หมายเลขซีเรียลของมันหรือใช้อินเตอร์เฟสการเขียนโปรแกรมเพื่อเขียนหมายเลขซีเรียลในตำแหน่งที่เหมาะสมโดยตรง บางครั้งไฟล์ HEX ที่เขียนโปรแกรมลงในไมโครจะถูกแก้ไขครั้งเดียวจากไฟล์เทมเพลตต้นแบบที่มีหมายเลขซีเรียลเฉพาะสำหรับอุปกรณ์นั้นโดยมี checksums และข้อมูลอื่น ๆ ที่อาจแก้ไขได้

ไม่กี่ปีที่ผ่านมาฉันทำงานกับ บริษัท ที่ผลิตสิ่งเล็ก ๆ น้อย ๆ นับแสนชิ้นต่อปีผ่านทางผู้ผลิตสัญญาในประเทศจีน เราส่งระบบทดสอบที่สมบูรณ์สองระบบไปยังผู้ผลิตจีน โปรแกรมทดสอบจะดูแลไฟล์หมายเลขซีเรียลและเราสามารถส่งไฟล์ใหม่ให้พวกเขาเพื่อกำหนดค่าหน่วยสำหรับช่วงหมายเลขซีเรียลใหม่ ทุกอย่างไปได้ดีสักพักจนวันหนึ่งเราได้หน่วยที่มีหมายเลขซีเรียลซ้ำกัน ปรากฎว่าจีนทำอะไรที่โง่ด้วยระบบใดระบบหนึ่งเพื่อที่จะไม่ทำงานอีกต่อไป แทนที่จะบอกเราว่าพวกเขามีคำสั่งอย่างเข้มงวดที่ต้องทำหากมีอะไรผิดพลาดพวกเขาทำสำเนาดิสก์ทั้งหมดจากระบบที่ทำงานไปยังระบบอื่น แน่นอนว่านี้เป็นการคัดลอกไฟล์หมายเลขซีเรียลและสถานะปัจจุบันด้วยดังนั้นจากนั้นทั้งสองระบบก็จะเรียงลำดับหมายเลขซีเรียลเดียวกัน

ฉันต้องออกแบบระบบทดสอบที่ใหม่กว่าดังนั้นฉันจึงตรวจสอบให้แน่ใจว่าช่วงหมายเลขซีเรียลและสถานะปัจจุบันถูกเก็บไว้ใน EEPROM ในฮาร์ดแวร์ของผู้ทดสอบและไม่ได้ให้เอกสารใด ๆ เกี่ยวกับเรื่องนั้นกับผู้ผลิต เรามีบอร์ดทดสอบประมาณหนึ่งโหลและเรากำหนดหมายเลขซีเรียลแยกอย่างระมัดระวังให้แต่ละอัน เมื่อผู้ผลิตจำเป็นต้องได้รับการปรับปรุงด้วยบล็อกหมายเลขซีเรียลใหม่เราจะส่งกระดานทดสอบที่อัปเดตแล้ว จนถึงตอนนี้ระบบนี้ใช้งานได้ดีมาก นอกจากนี้ยังทำให้การผลิตหน่วยเป็นครั้งคราวง่าย ๆ ที่นี่หรือที่สถานที่ผลิตอื่น สถานที่แต่ละแห่งมีผู้ทดสอบของตนเองที่มีช่วงหมายเลขซีเรียลของตัวเองและมีเพียงคนเดียวเท่านั้นที่เป็นผู้ดูแลหลักของหมายเลขซีเรียลและจะกำหนดช่วงใหม่ให้กับผู้ทดสอบ


1
สวัสดีแลง! Brian พูดถึง EEPROM ในคำตอบของเขา แต่ไม่ได้เพิ่มรายละเอียด เรื่องราวของคุณวางนิ้วลงบนจุดอ่อนของการกำหนด ID เฉพาะทางโปรแกรม มีห่วงโซ่การผลิตที่เกี่ยวข้องกับขั้นตอนโลจิสติกส์ซึ่งสิ่งต่าง ๆ อาจผิดพลาดได้ มันเกิดขึ้นกับเราครั้งหนึ่งเมื่อบริการการเขียนโปรแกรมของเรา disti ลืมที่จะเพิ่มเคาน์เตอร์ ไม่ช้าก็เร็วสิ่งเหล่านี้จะเกิดขึ้น IMO ไม่มีอะไรเต้น SSN (ดูคำตอบของฉัน): ไม่มีการเขียนโปรแกรม, ไม่มีการบริหาร, ไม่มีอะไร :-)
stevenvh

15

ที่ฉันชอบคือ Maxim DS2411 มันเป็นส่วนเล็ก ๆ SOT-23 ซึ่งมีSSN ที่ไม่ซ้ำกัน (หมายเลขซีเรียลอนุกรม) ไม่ได้ราคาถูกมากในตัวเอง แต่อาจเป็นค่าใช้จ่ายโดยรวมที่ถูกที่สุดเมื่อคุณคิดค่าใช้จ่ายด้านโลจิสติกส์และค่าใช้จ่ายการเขียนโปรแกรมในโซลูชันอื่น โซลูชัน SSN ไม่ต้องการการแทรกแซง / การดำเนินการด้วยตนเองใด ๆนอกเหนือจากการเลือกโดยอัตโนมัติ
ความเสี่ยงของรหัสซ้ำกันเกือบเป็นศูนย์
ในความคิดเห็นที่คำตอบนี้ mikeselecticstuffชี้ไปที่เหล่านี้ EEPROMs เป็น EEPROM ทั่วไปที่มี ID เฉพาะที่ตั้งโปรแกรมในพื้นที่ป้องกันการเขียนของ EEPROM มันถูกกว่า DS2411 และมีพื้นที่เก็บข้อมูลเหลือสำหรับผู้ใช้

หากคุณต้องการ "โปรแกรม" ผ่านการบัดกรีฉันจะข้าม 0 jumpers; การบัดกรีนั้นใช้เวลานานเกินไป วางแผ่นครึ่งวงกลมสองแผ่นแยกกัน 0.1 มม.Ω

ป้อนคำอธิบายรูปภาพที่นี่

ผู้ประกอบการเพียงแค่วางประสานลงบนทั้งสองส่วนเพื่อ "โปรแกรม" หนึ่งบิต เวลาน้อยกว่าครึ่ง (จุดประสานหนึ่งจุดแทนที่จะเป็นสองจุดและไม่มีองค์ประกอบที่จะเลือกและวาง) และไม่จำเป็นต้องใช้ส่วนประกอบ ดังนั้นคุณประหยัดสองครั้ง และอย่างที่แลงกล่าวด้วยขนาดและช่องว่างที่เหมาะสมพวกมันทั้งง่ายต่อการสร้างสะพานและหลุดออก

หากบอร์ดของคุณมีไมโครคอนโทรลเลอร์ (บอร์ดใดไม่ได้ใช้ในปัจจุบัน) คุณสามารถมีหมายเลขซีเรียลที่ตั้งโปรแกรมโดยบริการการเขียนโปรแกรม ค่าใช้จ่ายด้านโลจิสติกส์ของคุณนั้นน้อยมาก: เพียงแค่ติดตามว่าอนุกรมใดที่ควรเริ่มด้วยในแต่ละชุดการเขียนโปรแกรม
ความเสี่ยงของข้อผิดพลาดที่ส่งผลให้มี ID ซ้ำกันอยู่ในระดับต่ำขึ้นอยู่กับว่าบริการการเขียนโปรแกรมได้รับการจัดการอย่างไร แต่ฉันรู้ว่ามันเกิดขึ้น

ฉันรู้เกี่ยวกับสิ่งต่อไปนี้ แต่ฉันจำไม่ได้ว่าสิ่งที่พวกเขาถูกเรียกและฉันก็คิดว่าฉันต้องการรูปภาพเพื่ออธิบายให้ดีขึ้น

โปรแกรมแบ่งกรมทรัพย์สินทางปัญญาโปรแกรม
เห็นได้ชัดว่าสิ่งนี้เรียกว่าDIP shunt แบบโปรแกรมได้ คุณใช้มันเหมือนสวิตช์ DIP แต่แทนที่จะใช้สวิตช์ขนาดเล็กจะใช้การเชื่อมต่อที่อ่อนแอซึ่งคุณสามารถ "โปรแกรม" โดยการทำลายพวกเขาด้วยปากกาหรือไขควงขนาดเล็ก
สิ่งนี้มีข้อเสียอย่างใหญ่หลวงเช่นเดียวกับโซลูชันการบัดกรีแบบเลือกสรร: ผู้ปฏิบัติงานจะต้องตัดสินใจว่าการเชื่อมต่อใดที่จะแตกหักและสิ่งใดที่ควรจะอยู่ในสภาพเดิมและจากนั้นความผิดพลาดของมนุษย์ ความน่าเชื่อถือเท่าที่มีเอกลักษณ์เกี่ยวข้อง: ต่ำ


2
ฉันเห็นด้วยเกี่ยวกับจัมเปอร์ประสานถ้ามนุษย์ต้องทำแต่ละคน ฉันลองสิ่งที่ต่างกันเล็กน้อย แต่พบว่ามีแผ่นครึ่งวงกลมสองแผ่นทำงานได้ดีที่สุด ด้วยขนาดและช่องว่างที่เหมาะสมทำให้ง่ายต่อการเชื่อมและปลดล็อค คุณสามารถดูสิ่งเหล่านี้ได้บนบอร์ดที่embedinc.com/products/ready02/qprot05_1280.jpgด้านล่างสุดด้านขวาของตัวเชื่อมต่อ DB-9 ใกล้กับส่วนบนของบอร์ด
Olin Lathrop

7

I2C EEPROMs นั้นดีและเล็ก มีชิปอนุกรมหมายเลข 1 เส้น


อืมไม่ได้คิดมากเกี่ยวกับเรื่องนั้นแม้ว่าฉันจะต้องออกแบบอินเตอร์เฟซเพื่ออ่านและนำเสนอที่อยู่อย่างต่อเนื่องเพื่อเข้ารหัส / ถอดรหัสเนื่องจากฉันไม่สามารถเข้าถึง internals ของชิปดังกล่าว แม้ว่าตอนนี้คุณพูดถึงแล้วดูเหมือนว่าผู้ขายสามารถเสนอได้เนื่องจากตัวเข้ารหัส / ตัวถอดรหัสเป็นเพียงไมโครคอนโทรลเลอร์ที่มีเฟิร์มแวร์กรรมสิทธิ์ อาจจะต้องคุยกับพวกเขาเกี่ยวกับเรื่องนั้น
Steven Ourada

3

หากที่อยู่จะถูกกำหนดโดยใครบางคนที่มีความสามารถในการบัดกรีคุณสามารถวางรอยต้านทานตัวยึดพื้นผิวสำหรับแต่ละขาและเลือกบัดกรีใน 0 จัมเปอร์จัมเปอร์


ใช่นั่นเป็นวิธีหนึ่งที่จะไป ทฤษฎีของฉันคือการตัดร่องรอยได้ง่ายกว่าจัมเปอร์ประสาน แต่ฉันอาจผิด
Steven Ourada

5
@Steven - ตั้งแต่แรกพบร่องรอยการตัดอาจดูง่ายกว่าเนื่องจากคุณไม่ต้องการส่วนประกอบ แต่การตัดนั้นยุ่งและมีค่าใช้จ่ายสูงในการตรวจสอบว่าคุณมีการหยุดชะงักที่เหมาะสมหรือไม่ การบัดกรีมีราคาถูกกว่าโดยเฉพาะ เมื่อคุณไม่ต้องการจัมเปอร์ (ดูคำตอบของฉัน)
stevenvh

1

สำหรับการกำหนดแอดเดรสแบบ 8 บิตอย่างง่ายฉันมักจะใช้แทร็กแบบตัด มันถาวรกว่าลิงค์จัมเปอร์ / ประสานและห้ามไม่ให้ผู้คนเปลี่ยนมาก นี่คือวิธีที่ฉันมักจะทำบนกระดาน:

ป้อนคำอธิบายรูปภาพที่นี่

แต่ละลิงก์คือแพด (แต่นั่นเป็นข้อ จำกัด ของซอฟต์แวร์ของฉัน - ฉันไม่ต้องการให้มันกระป๋อง) ดังนั้นมันจึงไม่มีหน้ากากประสานและเพียง 5 mils (ตรงข้ามกับ 10 ล้านส่วนที่เหลือของแทร็ก) ทำให้ง่ายต่อการตัด 5 mils เป็นค่าต่ำสุดสำหรับสัญญาณที่พวกเขากำลังแบกในกรณีของฉัน - คุณสามารถใช้หนาขึ้น ในตัวอย่างของฉันมันแค่ใช้ตัวต้านทานแพ็คเป็นตัวต้านทานแบบดึงขึ้น คุณสามารถแทนที่สิ่งนี้ด้วยสิ่งที่คุณต้องการได้อย่างชัดเจน

เพียงจำไว้ว่าให้แน่ใจว่าไม่มีหน้ากากประสานอยู่เหนือพวกเขา

อีกทางเลือกหนึ่งคือ (ดังที่คนอื่น ๆ พูดถึง) ให้ใช้แผ่นตัวต้านทาน SMT และสร้างสะพาน แต่ถ้าคุณเพิ่งจะไปที่ตัวต้านทานเพื่อทำหน้าที่เป็นแบบดึงขึ้นทำไมไม่เพียงแค่ละทิ้งตัวต้านทานที่คุณไม่ได้เชื่อมต่อมาก่อน


4
ในการตอบคำถามสุดท้ายของคุณ: เนื่องจากค่าใช้จ่ายในการจัดวางองค์ประกอบแบบเลือกมีราคาแพง คุณต้องทำมันด้วยมือ มันถูกกว่าที่จะมีส่วนประกอบที่วางไว้โดยการเลือกและวางและประสาน 1 จุดด้วยมือกว่าเลือกจากสถานที่ด้วยตนเองและจากนั้นประสานด้วยตนเองสองจุด นอกจากนี้หากคุณวางตัวต้านทานทั้งหมดคุณสามารถใช้อาร์เรย์ตัวต้านทาน (เช่นเดียวกับที่คุณทำ) ซึ่งก็ถูกกว่าเช่นกัน ค่าใช้จ่ายในการวางตัวต้านทาน 1 ค่าใช้จ่ายของตัวต้านทาน
stevenvh

2
การตัดแบบถาวรมากกว่าการบัดกรีอย่างไร? ฉันสามารถ resolder ตัดของคุณได้ง่ายเท่าที่คุณสามารถลบประสานของฉัน การบัดกรีก็มีความน่าเชื่อถือมากกว่าเช่นกัน (คุณรู้ได้อย่างไรว่ามันถูกตัดอย่างเหมาะสม) พูดตามตรงฉันไม่ชอบไอเดียการตัดเลย แต่เห็นได้ชัดว่าฉันเข้าใจ :-)
stevenvh

นี่เป็นเรื่องจริงมาก ฉันยังไม่ได้ใช้พีแอนด์พีเอง - เล่มของฉันไม่ได้คุ้มค่าในขณะที่ ฉันต้องการที่จะสร้างเครื่องพีแอนด์พีของตัวเองบางวัน แต่ ... แต่ฉันต้องสร้างเครื่องเจาะ CNC สำหรับหลุม;)
Majenko

คุณสามารถประสานได้อย่างง่ายดาย ความคงทนเป็นเรื่องทางจิตวิทยามากกว่าทางกายภาพ
Majenko

หาก P&P ของคุณจะสามารถทำ 01005 วินาที (0.25 มม. x 0.12 มม.) ฉันต้องการมาดู! ฉันไม่รู้ว่าพวกเขาทำได้อย่างไร!
stevenvh

1

หากคุณมีอุปกรณ์ใด ๆ 1-Wire ในวงจรของคุณบอร์ดของคุณจะเกิดมาพร้อมกับหมายเลขซีเรียล

ฉันมีบอร์ดเครื่องแปลงกระแสไฟฟ้าและเนื่องจาก MOSFET มีแนวโน้มที่จะอบอุ่นมากฉันจึงเพิ่มเซ็นเซอร์อุณหภูมิ DS18B20 บนแผงระบายความร้อนเพื่อตรวจจับอุณหภูมิของ MOSFET นี่ยังทำให้หมายเลขเครื่องแปลงกระแสไฟฟ้าของฉันตามที่ได้รับมอบหมายให้เซ็นเซอร์อุณหภูมิ

นอกจากนี้คุณยังสามารถใช้ฟิวส์สองสามอันบนบอร์ดของคุณและเป่ามันบางส่วนก่อนออกจากโรงงานเพื่อทำงานเป็นอุปกรณ์หมายเลขซีเรียล

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.