고유 한 보드 주소를 할당하는 방법


18

RF 원격 제어 애플리케이션을위한 송신기 / 수신기 보드를 설계하고 있습니다. 일치하지 않는 쌍 간의 대화를 피하기 위해 고유 한 보드 주소를 원합니다. 주소는 8 개의 주소 핀을 통해 인코더 / 디코더 칩에 지정됩니다.

우리는 아마도 작은 배치 (약 25 개)를 손으로 조립할 것이지만, PCB는 전문적으로 제작 될 것입니다.

이와 같은 상황에서 고유 한 보드 주소를 수행하는 가장 좋아하는 방법은 무엇입니까? 저는 DIP 스위치, 점퍼 및 절단 / 점퍼 트레이스를 숙고했습니다. 나는 흔적을 자르는 데 기울고 있지만 더 경험 많은 사람들이 일반적으로하는 일을 듣고 싶습니다.


이것들은 얼마나 재구성 가능해야합니까? 육체적으로 얼마나 강력합니까? 적대적인 진동 환경이있을 것이라고 RF 리모콘으로 가정하는 것이 안전합니까?
JustJeff

4
DIP 스위치를 피하십시오. 사람들은 그들을 바꿀 것입니다.
Brian Carlton

@JustJeff, 컨트롤러 중 하나가 고장 나서 교체 해야하는 경우가 아니면 재구성 할 필요가 없습니다. 진동이 많지 않습니다.
Steven Ourada

@Brian, 네, 그 가능성이 있지만, 너무 걱정하지는 않습니다.
Steven Ourada

1
내 질문이 너무 광범위하고 의견이 많았다는 것을 알고 있습니다. 나는 대답을 좋아하고 좋은 것을 배웠습니다. 기여한 모든 사람에게 감사합니다.
Steven Ourada

답변:


15

아무도 EEPROM을 언급하지 않은 것에 놀랐습니다. 우리는 제품에 여러 번 고유 한 숫자를 입력해야했으며 대부분의 경우 프로세서의 EEPROM 또는 때때로 프로그램 메모리의 예약 된 위치에 들어갔습니다. 이는 일반적으로 생산 테스트 및 교정 프로세스의 마지막 단계로 수행하는 간단한 작업입니다. 장치가 작동하고 보정이 수행되면 생산 테스트 시스템은 마이크로에 명령을 보내 일련 번호를 제공하거나 프로그래밍 인터페이스를 사용하여 일련 번호를 적절한 위치에 직접 씁니다. 때때로 마이크로로 프로그래밍되는 HEX 파일은 마스터 템플릿 HEX 파일에서 해당 장치의 고유 일련 번호와 함께 체크섬 및 기타 정보가 수정 된 일회성 수정일 수 있습니다.

몇 년 전 저는 중국의 계약 제조업체를 통해 일년에 수십만 개의 작은 물건을 생산하는 회사와 협력하고있었습니다. 우리는 두 개의 완전한 테스트 시스템을 중국 제조업체에 보냈습니다. 테스트 프로그램은 일련 번호 파일을 유지 관리하고 새로운 일련 번호 범위에 대한 단위를 구성하기 위해 새 파일을 보낼 수 있습니다. 어느 날 우리는 일련 번호가 중복 된 장치를 얻을 때까지 한동안 충분했습니다. 중국이 더 이상 운영되지 않도록 시스템 중 하나에 바보 같은 짓을 한 것으로 나타났습니다. 문제가 발생했을 때 엄격한 명령을 내렸다는 사실을 알려주는 대신, 작업 시스템에서 다른 시스템으로 디스크를 완전히 복사했습니다. 이것은 물론 일련 번호 파일과 현재 상태도 복사했기 때문에 두 시스템에서 동일한 일련의 일련 번호가 나왔습니다.

최신 테스트 시스템을 설계해야했기 때문에 일련 번호 범위와 현재 상태가 테스터 하드웨어의 EEPROM에 유지되었으며 제조업체에 대한 설명서를 제공하지 않았습니다. 우리는 약 12 ​​개의 테스터 보드를 만들었으며 각각에 일련 번호 범위를 신중하게 할당했습니다. 제조업체가 일련 번호의 새 블록으로 업데이트해야 할 때 업데이트 된 테스터 보드를 보냈습니다. 지금까지이 시스템은 매우 잘 작동했습니다. 또한 여기 또는 다른 제조 현장에서 가끔씩 단위를 쉽게 생산할 수 있습니다. 각 장소에는 자체 일련 번호 범위가있는 자체 테스터가 있으며 한 사람 만 일련 번호의 마스터 키퍼가되어 새로운 범위를 테스터에게 할당합니다.


1
안녕하세요 올린! Brian은 그의 답변에서 EEPROM을 언급했지만 세부 사항은 추가하지 않았습니다. 당신의 이야기는 프로그래밍 방식으로 고유 ID를 할당하는 약점을 강조합니다. 일이 잘못 될 수있는 물류 단계가 포함 된 생산 체인이 있습니다. 또한 disti의 프로그래밍 서비스가 카운터를 늘리는 것을 잊었을 때도 우리에게 한 번 일어났습니다. 조만간 이러한 일이 발생합니다. 프로그래밍없이, 아니 관리, 아니 아무것도 :-) : IMO 아무것도 SSN (내 대답을 참조) 할땐
stevenvh

15

내가 가장 좋아하는 것은 Maxim DS2411 입니다. 고유 한 SSN (실리콘 일련 번호) 을 포함하는 작은 SOT-23 부품입니다 . 그 자체로는 그다지 저렴하지는 않지만 다른 솔루션의 물류 비용과 프로그래밍 비용을 생각할 때 전반적으로 가장 저렴할 수 있습니다 . SSN 솔루션을 필요로하지 않는 어떤 자동화 된 픽 앤 플레이스뿐만 아니라 수동 개입 / 동작.
중복 ID의 위험은 거의 없습니다. 이 답변에
대한 의견에서 mikeselecticstuff이 MAC 주소 EEPROM을 가리 켰습니다 . EEPROM의 쓰기 방지 영역에 고유 ID가 프로그래밍되어있는 일반적인 EEPROM입니다. DS2411보다 저렴하고 사용자 데이터를위한 스토리지가 남아 있습니다.

Ω

여기에 이미지 설명을 입력하십시오

작업자는 단순히 두 비트 위에 땜납 한 방울을 놓아 1 비트를 "프로그래밍"해야합니다. 절반의 시간 미만 (2 개 대신 1 개의 납땜 지점, 선택 및 배치 할 부품이 없음) 및 부품이 필요하지 않습니다. 그래서 당신은 두 번 저장합니다. 그리고 Olin이 말한 것처럼, 적당한 크기와 간격으로, 브리지 및 브리지 해제가 쉽습니다.

보드에 마이크로 컨트롤러가있는 경우 (요즘 보드가 아닌 경우) 프로그래밍 서비스에서 일련 번호를 프로그래밍 할 수 있습니다 . 귀하의 물류 비용은 최소입니다. 각 프로그래밍 배치에서 시작해야하는 일련 번호를 추적하십시오.
프로그래밍 서비스가 얼마나 잘 구성되어 있는지에 따라 중복 ID를 유발하는 오류의 위험이 낮습니다.

나는 다음에 대해 알고 있었지만 그들이 무엇을 부르는지 기억하지 못했고 더 잘 설명하기 위해 그림이 필요하다고 생각했습니다.

프로그래밍 가능한 DIP 션트
분명히 이것을 프로그램 가능한 DIP 션트 라고합니다 . DIP 스위치처럼 사용하지만 소형 스위치를 사용하는 대신 약한 연결을 사용하여 펜이나 작은 드라이버로 연결하여 "프로그래밍"할 수 있습니다.
이는 선택적 납땜 솔루션과 같은 큰 단점이 있습니다. 작업자는 끊어야 할 연결과 손상되지 않은 연결을 결정해야하며, 그 결과 사람의 실수는 결코 멀지 않습니다. 독창성과 관련하여 안정성 : 낮음.


2
인간이 각각해야 할 경우 솔더 점퍼에 동의합니다. 나는 몇 가지 다른 것을 시도했지만 가장 잘 작동하는 반원 패드 두 개를 발견했습니다. 올바른 크기와 간격으로 인해 브리지 및 브리지 해제가 쉽습니다. 보드 상단 근처 DB-9 커넥터의 오른쪽 아래에있는 embedinc.com/products/ready02/qprot05_1280.jpg 의 보드에서이 중 일부를 볼 수 있습니다 .
Olin Lathrop

7

I2C EEPROM은 훌륭하고 작습니다. 1- 와이어 일련 번호 칩이 존재합니다.


흠, 그것에 대해별로 생각하지 않았지만, 나는 칩의 내부에 액세스 할 수 없기 때문에 그것을 읽고 인코더 / 디코더에 지속적으로 주소를 제시하기 위해 인터페이스를 설계해야 할 것입니다. 그러나 언급했듯이 공급 업체가 인코더 / 디코더가 독점 펌웨어가있는 마이크로 컨트롤러이기 때문에 공급 업체가 제공 할 수있는 것처럼 보입니다. 그들에 대해 이야기해야 할 수도 있습니다.
Steven Ourada

3

납땜 기능이있는 사람이 주소를 설정해야하는 경우 각 핀에 대해 표면 실장 저항 풋 프린트를 배치하고 선택적으로 0 옴 점퍼로 납땜 할 수 있습니다.


그래, 갈 길이야 내 이론은 솔더 점퍼보다 트레이스를 절단하는 것이 다소 쉽지만 틀릴 수 있다는 것입니다.
Steven Ourada

5
@Steven-첫눈에 구성 요소가 필요하지 않기 때문에 절단 흔적이 더 단순 해 보일 수 있지만 절단이 지저분하고 적절한 중단이 있는지 확인하는 데 비용이 많이 듭니다. 납땜이 더 저렴합니다. 점퍼가 필요하지 않은 경우 (내 답변 참조).
stevenvh

1

간단한 8 비트 주소 지정을 위해 보통 컷 트랙을 사용합니다. 점퍼 / 솔더 링크보다 영구적이며 사람들이 링크를 많이 변경하지 못하게합니다. 이것이 제가 보드에서 보통하는 방법입니다 :

여기에 이미지 설명을 입력하십시오

각 링크는 패드입니다 (그러나 그것은 소프트웨어의 한계입니다-주석 도금하지 않는 것을 선호합니다). 그래서 솔더 마스크를 얻지 않으며 5 mil (트랙 나머지 10 mil과 반대)을 얻습니다. 자르기가 더 쉽습니다. 제 경우에는 그들이 운반하는 신호의 최소값이 5mils입니다. 더 두껍게 사용할 수 있습니다. 이 예에서는 저항 팩을 풀업 저항으로 사용하고 있습니다. 분명히 원하는대로 바꿀 수 있습니다.

납땜 마스크가 없는지 확인하십시오.

다른 옵션은 (다른 사람이 언급했듯이) SMT 저항 패드를 사용하여 브리지하는 것입니다. 그러나 풀업으로 작동하기 위해 저항으로 가려면 왜 연결하지 않을 저항을 먼저 빼지 않겠습니까?


4
마지막 질문에 답하기 위해 : 선택적 부품 배치 비용이 비싸기 때문에; 당신은 그것을 손으로해야합니다. 픽앤 플레이스에 의해 부품을 배치하고 수동으로 픽앤 플레이스하는 것보다 수동으로 1 포인트 납땜 한 다음 2 포인트를 수동으로 납땜하는 것이 더 저렴합니다. 또한 모든 저항을 배치하면 저항 배열을 사용할 수 있으며 (이전과 마찬가지로) 저렴합니다. 저항기 1 개를 배치하는 비용 >> 저항기 자체의 비용.
stevenvh

2
납땜보다 절단이 어떻게 영구적입니까? 솔더를 제거 할 수있는 한 쉽게 컷을 다시 납땜 할 수 있습니다. 납땜도 더 안정적입니다 (올바로 절단되었는지 어떻게 알 수 있습니까). 솔직히 말해서 나는 절단 아이디어가 전혀 마음에 들지 않았지만 그것은 분명했습니다. :-)
stevenvh

이것은 매우 사실입니다. 나는 아직 P & P를 사용하지 않습니다. 제 볼륨은 가치가 없습니다. 나는 언젠가 내 자신의 P & P 기계를 만들고 싶습니다 ... 그러나 먼저 구멍을위한 CNC 드릴 기계를
만들어야합니다

예, 쉽게 납땜 할 수 있습니다. 영구성은 물리적 인 것보다 심리적입니다.
Majenko

P & P가 01005s (0.25mm x 0.12mm)를 수행 할 수 있다면 와서보고 싶습니다! 나는 그들이 어떻게하는지 전혀 모른다!
stevenvh

1

회로에 1-Wire 소자가있는 경우 보드에는 일련 번호가 부여됩니다.

파워 인버터 보드가 있고 MOSFET이 매우 따뜻해지는 경향이 있기 때문에 MOSFET의 온도를 감지하여 방열판에 DS18B20 온도 센서를 추가했습니다. 또한 온도 센서에 지정된대로 인버터에 일련 번호를 부여했습니다.

또한 보드에 몇 개의 퓨즈를 사용하고 일련 번호 장치로 작동하도록 공장을 떠나기 전에 일부 퓨즈를 끊을 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.