ENGLISH 简体中文 日本語 한국어  

    로그인 | 회원가입 


   
 
키워드나 부품번호를 입력해주세요    




애플리케이션 노트 148

신뢰할 수 있는 장거리 1-Wire® 네트워크를 위한 가이드라인

개요: 1-Wire 프로토콜은 원래 짧은 거리에서 가까운 장치 간에 원활한 통신을 위해 설계되었다. 1-Wire는 또한 단일 마이크로프로세서 포트 핀에 보조 메모리를 추가하는 방식이었다. 나중에는 회로 보드의 크기를 훨씬 넘어 네트워크 애플리케이션으로 1-Wire 프로토콜을 확대하는 방법이 개발되었다. 본문에서는 1-Wire 네트워크의 다양한 측면을 살펴보고 신뢰할 수 있는 네트워크 동작을 위한 설계 가이드라인을 제공한다. 또 몇 가지 부록에는 1-Wire 버스 인터페이스의 정밀 튜닝과 다양한 조건에서의 1-Wire 통신 파형이 나와 있다.

머리말

1-Wire 프로토콜은 원래 단일 마이크로프로세서 포트 핀에 보조 메모리를 추가하는 것과 같이 짧은 거리에서 가까운 장치의 통신용으로 설계되었다. 1-Wire 장치의 사용이 증가하면서 회로 보드의 크기를 훨씬 넘어 네트워크 애플리케이션으로 1-Wire 프로토콜을 확대하는 방법이 개발되었다. 1-Wire 네트워크는 1-Wire 장치와 통신 라인, 연결이 복잡하게 구성되어 있다. 모든 1-Wire 네트워크는 서로 다르며 토폴로지(레이아웃)와 하드웨어가 모두 다른 경우도 흔하다.

따라서 네트워크 부품 (마스터, 네트워크 케이블링, 1-Wire 슬레이브 소자 등) 간의 적절한 정합은 신뢰할 수 있는 1-Wire 동작을 위한 선결 조건이다. 버스 마스터가 부적절하게 설계 또는 구현되거나 단거리용 마스터를 매우 긴 거리의 통신 라인에 무리하게 사용할 때에는 만족할 만한 성능을 기대하기 힘들다.

이 애플리케이션 노트에서는 다양한 형태, 크기 및 사용자 수의 1-Wire 네트워크 동작을 특성 분석한 프로젝트의 결과를 제공한다. 또한 신뢰할 수 있는 네트워크 동작을 위한 실행 파라미터를 제공한다. 여기에서 설명된 측면 중 일부는 가령 1미터 미만의 네트워크와 같은 단거리 애플리케이션에는 중요하지 않다. 임베디드 1-Wire 애플리케이션에 대해서는 애플리케이션 노트 4206, "Choosing the Right 1-Wire Master for Embedded Applications"을 참조한다. 부록 A ~ D에는 1-Wire 버스 인터페이스의 정밀 튜닝과 다양한 조건에서의 1-Wire 통신 파형이 나와 있다.

네트워크 설명

이 글의 범위는 카테고리 5, 트위스트 페어 구리 와이어를 사용하고 마스터에 의해 제공되는 5V 버스 전원을 갖는 1-Wire 네트워크로 제한된다. (대부분의 1-Wire 슬레이브는 이보다 더 낮은 버스 전압에서 동작하지만 대형 네트워크는 종종 저전압 조건에서 너무 많은 손실이 발생하여 적절한 동작을 수행할 수 없는 경우가 있다.)

본문에서는 EPROM형 슬레이브 소자 프로그래밍에 필요한 요구사항은 다루지 않는다. 일반적으로 마스터단 인터페이스로부터 상당한 거리에서 EPROM 프로그래밍을 수행하는 것은 권장되지 않는다. 1-Wire 소자의 오버드라이브 동작에 대해서도 여기서는 다루지 않는다. 오버 드라이브 속도는 매우 짧은 거리용으로 사용하도록 만들어졌기 때문에 1-Wired 네트워크에 사용하기에는 전혀 적합하지 않다.

1-Wire 소자와 함께 사용할 수 있는 와이어 유형과 토폴로지는 무한한 조합이 가능하다. 이 애플리케이션 노트는 1-Wire 네트워크와 관련된 가장 일반적인 애플리케이션을 설명하려는 데 목적이 있다. 제한을 초과하여 1-Wire 네트워크를 사용하거나 이 문서에 제공된 권고를 지키지 않을 때에는 신뢰할 수 없는 네트워크 성능을 초래할 수 있다.

1-Wire 네트워크 용어

간단한 두 용어로 1-Wire 네트워크 성능에 중요한 측정을 설명할 수 있는데, 하나는 반경이고 다른 하나는 무게이다.
  • 네트워크 반경은 마스터단에서 가장 먼 슬레이브까지 와이어 거리를 나타내며 미터로 측정된다.
  • 네트워크의 무게는 네트워크에서 연결된 와이어의 전체 크기를 나타내며 미터로 측정된다.
예를 들어 10m, 20m, 30m 브랜치 3개를 갖는 스타 네트워크 구성은 30m의 반경(1-Wire 마스터에서 가장 먼 슬레이브까지의 거리)과 60m(네트워크에서 와이어의 전체 길이로 10m + 20m + 30m)의 무게를 가진다.

일반적으로 네트워크 무게는 케이블의 상승 시간을 제한하며, 반경은 가장 느린 신호 반사의 타이밍을 결정한다.

슬레이브 소자 무게

네트워크에서 지원할 수 있는 무게는 제한되어 있으며 드라이버(1-Wire 마스터 인터페이스)에 따라 달라진다. 간단히 말하면 무게는 매우 작은 케이블에서 많은 슬레이브로 구성하거나 많은 케이블에서 매우 적은 슬레이브로 구성할 수 있다.

슬레이브 소자(iButton® 및 기타 1-Wire 소자)는 네트워크에 같은 무게를 추가한다. 각 소자는 와이어의 작은 길이에 해당하는 유사한 무게를 추가하므로 소자는 같은 와이어 무게에 대해 등급을 지정할 수 있다. 따라서 네트워크를 설계할 때에는 소자의 무게를 고려해야 한다. iButton 방식의 슬레이브는 보통 납땜 부품으로 패키징되는 슬레이브보다 더 많은 무게가 나간다. iButton은 약 1m의 무게를 추가하지만 iButton 방식이 아닌 슬레이브는 약 0.5m의 무게를 추가한다. 이러한 차이가 예제 네트워크에 어떠한 의미를 갖는지 생각해보자. 100개의 iButton 소자를 연결하면 전체 네트워크 무게가 100m 증가하며, 이는 네트워크가 작동 상태를 유지하려면 전체 와이어 크기를 100m 줄여야 한다는 것을 의미한다.

회로 보드 트레이스, 커넥터, ESD 보호 소자도 네트워크에 무게를 추가한다.

무게는 많은 요소의 영향을 받지만 단일 요소로 커패시턴스가 가장 많은 영향을 미치는 것은 분명하다. 일반적으로 ESD 회로와 PC 보드 트레이스가 무게에 미치는 영향은 약 24pF/m 배의 계수로 커패시턴스와 관련지을 수 있다. 1-Wire 버스에서 24pF를 보이는 회로 보드 트레이스 또는 소자는 약 0.5m의 무게를 추가한다.

1-Wire 네트워크 토폴로지

1-Wire 네트워크는 구조적으로 매우 "자유로운 형식"으로 간주되지만 1-Wire 슬레이브의 배치와 인터커넥팅 와이어의 구성에 따라 보통 몇 가지 일반 범주로 분류할 수 있다.

  1. 선형 토폴로지. 1-Wire 버스가 마스터에서 시작하여 가장 먼 슬레이브 소자로 확장하는 단일 쌍이다. 다른 슬레이브들은 짧은 (3m 미만) 브랜치나 "스텁(stub)"으로 1-Wire 버스에 연결된다.



  2. 스텁 토폴로지. 1-Wire 버스가 마스터에서 시작하여 가장 먼 슬레이브로 확장하는 단일 메인 라인이다. 다른 슬레이브들은 길이가 3m 이상의 브랜치 또는 스텁을 통해 메인 라인에 연결된다.



  3. 스타 토폴로지: 1-Wire 버스는 마스터단 또는 가까이에서 갈라져서 다양한 길이의 여러 브랜치로 확장한다. 슬레이브 소자들은 브랜치를 따라 있거나 또는 끝에 있다.



여러 토폴로지가 혼합되어 있을 때 네트워크의 효과적인 제한을 결정하기가 훨씬 더 어렵다. 일반적으로 이러한 경우 설계자는 가장 보수적 기준을 적용한다.

스타 토폴로지의 주의사항

테스트에 의하면 스위칭되지 않는 스타 네트워크 토폴로지(여러 브랜치가 마스터에서 분산되는)는 신뢰성 있는 동작을 제공하기가 가장 어려운 것으로 나타났다. 다양한 브랜치가 만나는 곳은 부정합이 높은 임피던스가 나타난다. 하나의 브랜치 끝에서 일어나는 반사는 네트워크의 (반경이 아닌) 무게와 거의 동일한 거리를 이동할 수 있어 데이터 오류를 발생시킬 수 있다. 이러한 이유로 스위칭되지 않는 스타 토폴로지는 권장되지 않으며 성능에 대해 어떤 보장도 할 수 없다.

스위치드 네트워크

무게와 반경을 증가시키지 않으면서 네트워크의 복잡성을 증가시키려면 네트워크를 한 번에 하나씩 전기적으로 스위치 온하는 섹션으로 나눈다. 로우 임피던스, 단일 전원 아날로그 스위치를 사용하면 네트워크는 물리적으로 하나의 토폴로지처럼 보일 수 있지만 전기적으로는 서로 다르게 나타난다. 이것은 각 브랜치에 스위치가 하나씩 있는 스타 구성이 실제로 선형 토폴로지처럼 보일 수 있다는 것을 의미한다. 이 경우 언제나 오직 하나의 브랜치만 동작한다.



위의 예제는 150m의 반경과 450m의 무게를 갖는 스타 토폴로지 네트워크처럼 보인다. 그러나 각 스위치드 경로를 개별적으로 보면 네트워크는 실제로 선형 토폴로지이며 무게는 단 150m이다.

일반적으로 여기에 설명된 스위치되지 않는 네트워크는 스위치드 네트워크의 각 세그먼트에 적용할 수 있다.

1-Wire 네트워크 제한

여러 요소가 네트워크의 최대 반경과 무게를 결정한다. 이들 중 일부 요소는 제어할 수 있지만 일부는 그렇지 못하다.

마스터단 인터페이스는 1-Wire 네트워크의 사용 가능한 크기에 많은 영향을 미친다. 인터페이스는 케이블과 슬레이브의 무게를 극복하기 위해 충분한 구동 전류를 제공해야 하며 또한 규격 내에 있으면서 네트워크의 충전 및 방전 시간에 대해 최적화된 타이밍으로 1-Wire 파형을 발생시켜야 한다. 마지막으로 인터페이스는 네트워크에 적절한 임피던스 정합을 제공해야 하므로, 이러한 신호는 다른 네트워크 슬레이브와 간섭하는 라인으로 다시 반사되지 않는다.

네트워크가 작으면 매우 간단한 마스터단 인터페이스를 사용할 수 있다. 커패시턴스는 낮고, 반사된 에너지는 매우 빨리 도착하므로 문제가 발생하지 않으며 케이블 손실은 최소 수준이어서 간단한 능동 (FET) 풀 다운과 수동 (저항) 풀 업이면 충분하다. 그러나 라인이 길고 더 많은 소자가 연결되어 있으면 복잡한 요소가 작용하고 이제 마스터단 인터페이스는 이들 모두를 처리할 수 있어야 한다.

네트워크 반경은 파형 반사의 타이밍, 케이블에 의한 시간 지연, 케이블의 저항, 신호 레벨 저하 등 여러 요소에 의해 제한된다. 전화 케이블에서 일반적인 신호 전파 속도는 빛의 속도의 약 2/3이다. 예를 들어 750m 케이블에서 라운드트립 지연은 7.5µs이다. 만약 마스터가 7.5µs 동안 라인을 로우로 구동하여 읽기 타임 슬롯을 시작하면, 마스터의 로우 펄스의 끝(즉, 라운드트립 후)은 근단 (near-end) 고속 슬레이브가 라인을 로우로 구동하는 것을 멈춘 시점과 일치한다. 결과적으로 이러한 긴 케이블의 라운드트립 지연은 마스터가 해당 근단 슬레이브와 통신하는 것을 불가능하게 한다.

네트워크 무게는 1-Wire 프로토콜을 만족할 만큼 충분히 빨리 케이블을 충전 및 방전할 수 있는 성능에 의해 제한된다. 간단한 저항 풀 업은 약 200m의 무게 제한을 갖는다. 정교한 1-Wire 마스터 설계는 로직 제어 하에서 더 높은 전류를 제공하고 최대 지원 가능한 무게를 500m 이상으로 확장한 능동 풀 업을 사용하여 이러한 제한을 극복한다. 애플리케이션 노트 244, "Advanced 1-Wire 네트워크 드라이버"를 참조한다.

기생 전력 문제

1-Wire 파형은 통신에 충분하면서 슬레이브를 위한 동작 전력까지 제공해야 한다. 각 슬레이브는 버스의 전압이 내장된 에너지 저장 커패시터의 전압보다 클 때 버스로부터 전력을 "끌어간다". 네트워크의 무게가 과도해지면, 마스터에서 공급되는 전류는 슬레이브의 동작 전압을 유지하기에 충분하지 못할 수 있다.

기생 전력에서 최악의 시나리오는 마스터에 의해 매우 긴 제로 비트 시퀀스가 발생하는 것이다. 이러한 상황이 발생하면 라인은 대부분 로우 상태가 되어 슬레이브를 재충전할 기회가 거의 없다. 만약 버스가 비트 간 복구 시간에 충분한 전압에 도달하고 복구 시간이 충분히 길면 문제가 없다. 그러나 각 슬레이브의 내부 동작 전압이 떨어질 때에는 버스를 구동하여 제로 비트를 만드는 슬레이브의 능력은 떨어지고 슬레이브 타이밍이 달라진다. 결국 기생 전압이 임계 레벨 미만으로 떨어지면 슬레이브는 리셋 상태에 들어가고 응답을 중지한다. 그런 다음 슬레이브가 다시 충분한 동작 전압을 수신하면 존재 펄스를 인가하여 다른 버스 활동을 방해할 수 있다. 네트워크가 슬레이브에서 동작 전력을 유지하기에 충분한 에너지를 갖지 못할 때 오류는 데이터에 따라 간헐적으로 발생한다.

분배를 이용한 임피던스 정합

1-Wire 버스 설계의 장점은 최소화된 간단한 구성에 있다(궁극적으로 이는 비용을 낮춘다). 슬레이브 자체를 제외하면 네트워크 내부에 배치하기 위해 사용되는 부품은 없다.

스텁을 1-Wire 버스에 연결하면 브랜치 포인트에 임피던스 부정합이 존재한다. 스텁의 끝에서 나오는 반사는 신호가 스텁의 길이를 이동하는 데 걸리는 시간만큼 지연되어 메인 트렁크로 다시 들어간다. 이러한 반사는 네트워크의 다른 슬레이브에 문제를 일으킬 수 있다. 이 때 저항을 스텁에 직렬로 연결하면 부정합의 정도와 반사된 에너지의 크기를 줄일 수 있다. 이 저항은 스텁에서 발생하는 반사가 메인 트렁크에 미치는 부정적 영향을 줄여준다.



이러한 개념을 가장 성공적으로 구현한 것이 스텁이 메인 트렁크에 연결되는 각 포인트에 150Ω 저항을 사용하는 것이다. 이 값은 연결 포인트에서 약 20% 부정합을 감소시키고, 발생하는 스텁 반사를 약 40% 감쇄시킨다. 그러나 추가된 저항은 잡음 내성도 약 80% 저하시키므로 주의가 필요하다. 또한 테스트에 의하면 100Ω 저항 값을 사용할 때 잡음 내성을 크게 저하시키지 않으면서 우수한 성능을 보여주는 것으로 나타났다.

참고: DS2480B 직렬 1-Wire 라인 드라이버, DS2490 USB 1-Wire 브리지 및 DS2482 소자 제품군은 이와 같이 저항을 추가할 경우 부정적 영향을 받는 능동 풀 업을 갖는 1-Wire 마스터이다. 위의 방법은 이러한 1-Wire 드라이버에는 적합하지 않다. 분배 저항 방법의 성공적인 애플리케이션은 항상 데이터 입력 임계값을 증가시킨 주문형 마스터단 드라이버를 사용하여 수행되었다.

마스터단 인터페이스 소자

1-Wire 네트워크를 마이크로컨트롤러와 PC에 인터페이싱하는 데에는 다양한 방법이 존재한다. 각 1-Wire 마스터는 서로 다른 용도로 설계되어 있어 다른 서비스에 무리하게 사용할 때 항상 안정적으로 동작하는 것은 아니다. 마지막으로 마스터단 하드웨어는 1-Wire 네트워크 설계의 제한을 결정하는 매우 중요한 요소이다. 짧은 와이어와 인접한 iButton 프로브용으로 만들어진 간단한 하드웨어 인터페이스는 긴 거리와 복잡한 와이어링 구조에 연결할 때 우수한 성능을 제공하지 못한다. 또 매우 긴 라인용으로 만들어진 정교한 드라이버는 중단거리 네트워크에 사용할 때 만족할 만한 성능을 보여주지 못할 수 있다.

오늘날 가장 많이 사용되는 마스터단 하드웨어 인터페이스는 다음과 같다.
  1. 마이크로프로세서 포트-핀 연결
  2. 1-Wire 마스터가 내장된 마이크로컨트롤러
  3. 합성 가능한 1-Wire 버스 마스터 (DS1WM)
  4. 직렬 인터페이스 프로토콜 변환 (DS2480B, DS2482-100, DS2482-800, DS2490)
이들 인터페이스는 위에서 언급한 애플리케이션 노트 4206에 설명되어 있다.

장거리 애플리케이션의 경우 수정이 필요하다. 부록 A에는 기울기 제어 기능이 있는 FET 드라이버와 1kΩ 풀 업 저항 등 여러 마이크로프로세서 포트-핀 연결이 나와 있다. 이 인터페이스를 사용할 경우 최대 200m 반경과 최대 200m 무게를 안정적으로 지원할 수 있다.

DS2480B는 충분한 중단거리 동작을 위해 설계되었다. DS2480B와 네트워크 사이에 간단한 R-C 회로를 적용하면 중간 길이의 네트워크 성능과 신뢰성이 크게 향상된다(부록 B 참조). 필터를 사용하면 이 마스터는 최대 200m의 반경 또는 무게를 갖는 네트워크를 안정적으로 지원할 수 있다. 또 DS2480B 인터페이스 소자에는 가변 타이밍 기능이 있는데, 이 기능은 1-Wire 네트워크의 신뢰성과 성능을 향상시키는 데에도 사용할 수 있다. 이들 타이밍은 일부 소프트웨어(Windows®용 1-Wire 드라이버 등)를 사용하여 최적의 값으로 설정할 수 있지만 조정에 모든 소프트웨어를 사용할 수 있는 것은 아니다(부록 C 및 애플리케이션 노트 4104, "Understanding and Configuring the 1-Wire Timing of the DS2480B" 참조).

위의 애플리케이션 노트 244에 설명되어 있듯이 장거리 애플리케이션용으로 권장되는 회로는 향상된 버스 인터페이스가 내장된 마이크로컨트롤러이다. 이 마스터단 인터페이스 회로는 하이 및 로우 드라이버에 대한 임피던스 정합과 소프트웨어로 제어되는 "지능형" 능동 풀 업을 사용한다. 풀 업은 1-Wire 프로토콜이 버스가 하이 레벨에 있어야 한다고 결정할 때마다, 그리고 버스가 샘플링되어 하이 레벨에 있는 것으로 판단된 후 읽기 동작 중에 켜진다. 이 인터페이스는 대형과 소형 1-Wire 네트워크에서 똑같이 잘 동작하며 최대 500m의 높은 무게와 반경 값을 갖는 네트워크에서 신뢰할 수 있는 동작을 수행한다.

무엇이 신뢰할 수 있는 1-Wire 네트워크를 만드는가?

1-Wire 네트워크에서 오류가 발생하면 오류는 종종 검색 알고리즘이 수행될 때 소자의 알 수 없는 "손실"로 나타난다. 자세한 내용은 애플리케이션 노트 187, "1-Wire Search Algorithm"을 참조한다. 물리적으로 존재하는 소자는 검색 결과에 나타나거나 사라질 수 있다. 때로는 네트워크나 소자에서 사소하게 보이는 변화가 소자 검색 결과에 심각한 영향을 미칠 수 있다. 왜 이러한 일이 발생할까?

1-Wire 버스에서 발생하는 모든 동작 중에서 버스 문제가 존재할 때 소자 검색은 수행하기가 가장 복잡하고 가장 까다롭다. 검색은 존재 펄스를 제외하면 모든 슬레이브가 동시에 버스를 로우로 구동할 때뿐이다. 이것은 검색 중의 버스 상태가 선택된 단일 슬레이브와 수행되는 정상 통신과는 상당히 다르다는 것을 의미한다. 만약 많은 슬레이브 중 어느 하나가 에지를 놓치거나 펄스를 구별하지 못하면 검색 알고리즘과 동기화되지 못해 검색의 이후 비트에서 오류가 발생한다. 이것은 검색이 다음 조건에서 실패한다는 것을 의미한다. 즉, 버스 문제가 파형의 상승 에지에서 글리치를 발생시킬 때, 파형이 유효한 로우 레벨에 도달하지 못할 때 또는 검색 중 전력이 부족한 소자가 있을 때 등이다. 이러한 경우 대부분의 검색 알고리즘은 검색 알고리즘을 종료하고 아직 발견되지 않은 슬레이브가 검색에서 빠진 것으로 추정되는 지점에서 다시 시작하여 이러한 검색 실패를 처리한다. 한 슬레이브 소자의 한 비트에서 오류가 발생했더라도 여러 개의 슬레이브가 영향을 받을 수 있다.

검색 알고리즘은 일반적으로 잡음으로 인해 소자를 빠뜨릴 수 있다고 가정한다. 접촉 방식 iButton으로 구성된 네트워크에서 새로운 iButton이 네트워크에 들어오면 새로 들어온 소자로부터 발생하는 존재 펄스의 형식으로 일시적 단락 회로가 발생할 수 있다. 이들 이벤트의 타이밍에 따라 이러한 존재 펄스가 검색 동작과 간섭을 일으킬 수 있다. 검색 알고리즘은 "디바운스" 시간 동안 소자를 빠뜨린 것으로 판단한 후에만 발견된 슬레이브의 목록으로부터 슬레이브를 제거함으로써 이러한 문제를 처리한다.

검색 실패의 원인은 매우 다양하다. 가장 일반적인 원인 중에는 기생 전력의 전력 부족(큰 반경, 부하가 높은 네트워크), 파형 에지에서의 반사(소형 및 중간 반경, 부하가 낮은 네트워크), DS2480B 또는 DS2490 기반 인터페이스에서 파형의 하강 에지에서의 링잉으로 인한 능동 풀 업의 트리거링 오류 등이 있다. 인에이블일 때 DS2482의 능동 풀 업은 트리거링 오류에도 취약하다.

검색 실패는 종종 네트워크 및 네트워크에 연결된 슬레이브의 사소한 변화에도 (일부 낙담한 설계자가 이를 두고 “달의 위상” 변화라고 말했다고 알려져 있지만) 매우 민감하게 나타난다. 이러한 민감도는 검사 중인 네트워크가 경계 상태에 있기 때문에 매우 작은 네트워크의 변화로도 검색이 성공하거나 실패할 수 있다. 간단히 말하면 모든 소자가 검색 알고리즘에서 신뢰할 수 있는 수준으로 발견되었기 때문에 성공적으로 보이는 네트워크도 실제로는 오류에 가까운 상태일 수 있다. 작은 성능 저하도 갑자기 심각한 오류로 나타날 수 있다. 한 비트의 오류가 검색을 중지시키고 부품을 사라지게 할 수 있다. 따라서 사용자는 다양한 케이블, 소자 및 연결에서 적합한 안전 여유도와 허용오차를 갖는 신뢰할 수 있는 네트워크를 구현할 수 있도록 제공된 규격과 가이드라인을 준수하는 것이 매우 중요하다.

신뢰할 수 있으면서 일관적인 검색을 수행하는 네트워크는 일반적으로 다른 모든 1-Wire 기능도 안정적으로 수행할 수 있다.

부정확한 1-Wire 타이밍

소프트웨어(펌웨어)를 사용하여 1-Wire 파형을 발생시키면(때로는 파형을 "비트뱅잉"한다라고도 함), 곧바로 드러나지는 않지만 실수를 하기가 쉽다.

지금까지 1-Wire 마스터를 프로그래밍할 때 가장 흔히 하는 실수는 타임 슬롯의 리딩 (하강) 에지 후 너무 늦게 슬레이브로부터 데이터를 샘플링하는 것이다. 온도와 전압이 변하듯이 슬레이브는 넓은 범위에서 타이밍이 다를 수 있다. 또한 슬레이브는 공정 차이로 인해 배치(batch)마다 다를 수 있다. 설계에서 파형을 30µs으로 샘플링할 경우 랩 테스트를 통과할 수도 있으며 심지어 생산에 들어가 그로 인해 부적절한 타이밍을 가진 제품이 출하될 수 있다. 그러나 나중에 배치나 네트워크 조건이 변하고 슬레이브가 32µs에서 29µs로 변경되면 이러한 마스터단 인터페이스에는 오류가 발생한다. 따라서 랩 환경에서 완벽한 시스템 동작처럼 보이는 경우에도 규격에 준하여 파형의 파라미터를 검증하는 것이 필수적이다.

결론

모든 전자 부품과 마찬가지로 이를 지원하는 전자 시스템도 신뢰할 수 있는 동작을 보장하려면 모든 사용 조건에서 소자의 규격을 만족해야 한다. 네트워크 부품 (마스터, 네트워크 케이블링, 1-Wire 슬레이브 등) 간의 적절한 정합은 신뢰할 수 있는 1-Wire 동작을 위해 필수적이다.

부록 A. 향상된 CPU 버스 인터페이스



부록 B. 중단거리 네트워크에서 DS2480B 인터페이싱을 도와주는 R-C 필터



이 간단한 R-C 필터는 최대 200m 무게를 갖는 중거리 라인에서 DS2480B 동작을 향상시킨다. 이 필터는 DS2480B 기반 마스터단 인터페이스를 사용할 경우 10m ~ 100m 사이의 네트워크에서 사용해야 한다. 주의할 점은 4700pF 커패시터는 100m의 무게에 해당되는데, 이는 DS2480B에는 상당한 부하라는 점이다. 네트워크에서 다른 부품의 무게에 따라 커패시터를 470pF로 감소시킬 필요가 있을 수 있다. 또한 DS2480B는 DS9097U 직렬 어댑터 내에 사용되지만 임베디드 소자로도 사용할 수 있다.

부록 C. 최적화된 DS2480B 타이밍

DS2480B 직렬-1-Wire 컨버터는 소형 네트워크에 최적화된 디폴트 1-Wire 타이밍을 갖는다. 이러한 설정이 중대형 네트워크에 항상 적합한 것은 아니다.

DS2480B에서 타이밍과 기울기 설정은 소프트웨어 제어 하에서 설정할 수 있다. 실제로 Windows용 1-Wire 드라이버가 이 인터페이스와 함께 사용될 때 사실상 이들 슬레이브를 조정한다. 프로그래머는 DS2480B 인터페이스를 항상 "플렉스 모드"에 놓아야 한다는 것과 신뢰할 수 있는 성능을 제공하도록 타이밍 값을 조절해야 한다는 점을 기억해 두어야 한다(플렉스 모드 설정에 대한 자세한 내용은 DS2480B 데이터 시트 참조).

DS2480B에서 조정할 수 있는 설정에는 다음이 포함된다.

  • 풀 다운 슬루율 제어
    이것은 버스가 하이에서 로우 레벨로 구동되는 속도를 말한다. 지나치게 빠른 하강 시간(높은 슬루율)은 링잉을 발생시키며, 이는 유효한 데이터 파형과 간섭한다. 또 지나치게 느린 상승 및 하강 시간은 타이밍 요구사항을 만족하지 못할 수 있으며 천이 시간 동안 잡음과 반사에 노출될 수 있다.
  • 1 쓰기 (Write-One) 로우 타임
    이것은 각 타임 슬롯을 시작하는 로우로 구동되는 펄스의 길이이다. 이 펄스가 너무 좁으면 긴 라인의 마스터단이 펄스가 끝나기 전에 유효한 로우 레벨에 도달하지 못할 수 있다.
  • 데이터 샘플 오프셋/복구 시간
    이 파라미터는 슬레이브에서 발생하는 데이터를 언제 샘플링해야 할지를 정의한다. 이 파라미터가 너무 작으면 라인은 샘플이 발생하기 전에 유효한 하이 레벨로 상승하는 데 충분한 시간을 갖지 못할 수 있다. 이 라인이 너무 길면 고속 범위의 끝 가까이에서 동작하는 슬레이브가 잘못 읽혀질 수 있다. 이 파라미터는 또한 슬레이브의 기생 파라미터를 재충전해야 하는 비트 간 시간을 정의한다.
길고 짧은 버스 라인에 대한 테스트에 의하면 모든 네트워크에 대한 최적의 타이밍은 다음과 같다.

  • 풀 다운 슬루율: 1.37V/µs
  • 1 쓰기 로우 시간: 11µs
  • 데이터 샘플 오프셋/복구: 10µs
이들 타이밍은 적절히 제어된 슬루율과 함께 가능한 가장 느린 샘플 시간(21µs*)과 가능한 가장 긴 복구 시간(10µs)을 제공한다. 애플리케이션 노트 4104에 따라 8µs의 1 쓰기 로우 시간과 9µs의 데이터 샘플 오프셋/복구 시간을 갖는 조금 빠른 타이밍도 대안으로 고려해 볼 수 있다. 이들 값은 15µs ~ 54µs의 속도 범위에서 1-Wire 슬레이브를 받아들이므로 적합하다.

*이들 타이밍은 풀 업 전압이 4.5V ~ 5.5V 사이에 있는 네트워크에만 적용된다.

부록 D. 파형 예제

다음의 오실로스코프 이미지는 서로 다른 상황에서 다양한 유형의 1-Wire 네트워크 파형을 보여준다. 이들 파형과 영향에 대한 자세한 내용에 대해서는 텍스트와 참고 문헌을 참조한다.



이 이미지는 버스 리셋과 존재 검출 시퀀스를 보여준다. 보다 중요한 점으로 이 이미지는 슬루율이 제어되는 에지(마스터)와 슬루율이 제어되지 않는 에지 (슬레이브) 간의 차를 보여준다. 마스터에 의해 생성된 하강 에지는 깨끗하며 언더슛이나 링잉이 없다. 슬레이브에 의해 생성된 하강 에지는 버스에서 링잉과 언더슛을 발생시킨다.



이미지는 또한 버스 리셋/존재 검출 시퀀스를 보여준다. 마스터는 480µs 동안 버스를 로우로 구동한다. 버스 상의 모든 소자는 이것을 리셋 동작으로 인식한다. 슬레이브는 존재 펄스를 발생시켜 버스 리셋에 응답한다. 여러 슬레이브가 동일한 시간 동안 존재 펄스를 발생시키고 펄스는 서로 겹쳐져 단일 펄스를 형성한다. (시간 기준은 눈금당 200µs이다.)



이 이미지는 1 읽기 또는 1 쓰기 타임 슬롯을 보여준다. 마스터는 약 10µs 동안 버스를 로우로 구동한 다음 해제한다. 이것은 슬루율이 제어되는 하강 시간이라는 점에 주의한다. 타임 슬롯은 약 70µs 동안 계속되며, 이 이후 다른 타임 슬롯이 발생한다. 시간 기준은 눈금당 10µs로 변화한다.



이 이미지는 0 쓰기 타임 슬롯을 보여준다. 마스터는 60µs 동안 버스를 로우로 구동한 다음 다른 타임 슬롯이 시작하기 전에 약 10µs 동안 해제한다.



이 이미지는 0 읽기 타임 슬롯을 보여준다. 마스터는 약 10µs 동안 버스를 로우로 구동한 다음 해제한다. 그러나 슬레이브는 버스를 더 긴 시간 동안 로우로 유지하여 0 비트를 리턴한다. 슬레이브의 시간 기준은 15µs ~ 60µs 사이에서 다양하다.



이 이미지는 저항 풀 업만 있는 마스터를 사용할 때 과도한 무게의 영향을 보여준다. 이 예에서 네트워크 반경은 300m이며 네트워크의 원단(far end)에는 30개의 소자가 있다. 네트워크 끝에서 나오는 반사는 매우 느린 상승 시간에서와 마찬가지로 깨끗하게 나타날 수 있다. 이것은 1 읽기 타임 슬롯이지만 샘플 시간의 데이터 레벨은 경계선이기 때문에 마스터에 의해 잘못 읽혀질 수 있으므로 주의한다.



상승 시간이 느릴 때 복구 시간(타임 슬롯 간 시간)은 버스가 슬레이브를 재충전하기에 충분한 전압 레벨에 도달할 수 있을 만큼 충분히 길지 못할 수 있다. 위의 이미지에서 슬레이브의 내부 동작 전압은 위험한 수준으로 낮아졌는데, 슬레이브는 특히 0 쓰기 타임 슬롯의 긴 스트링 동안 전력 부족으로 리셋될 수 있다.



보다 향상된 네트워크 버스 드라이버는 임피던스 정합과 능동 풀 업을 사용하여 긴 네트워크와 슬레이브 소자의 추가된 무게를 해결한다. 이 파형은 1 읽기 또는 1 쓰기 타임 슬롯과 능동 풀 업의 동작을 보여준다.



이것은 0 읽기 타임 슬롯에서와 동일한 능동 풀 업 동작이다.



버스 리셋 시퀀스 동안 능동 풀 업은 리셋 펄스 후 그리고 다시 존재 펄스(들)의 끝을 지나서 네트워크 무게를 극복하는 데 사용된다. 이 이미지에서 근단 및 원단 존재 펄스가 서로 겹쳐지는 것을 볼 수 있다. 마스터와 원단 슬레이브 간 케이블의 추가된 저항은 로우 레벨이 근단 소자보다 원단 소자에서 더 높게 나타나게 한다.



이 이미지는 능동 소자가 스텁과 브랜치로 인해 한 쪽 케이블에 존재하는 반사에 의해 잘못 트리거되었을 때 발생하는 카오스를 보여준다. 반사가 능동 풀 업을 활성화시켜 슬레이브 소자의 풀 다운과 충돌하게 하지만 이것은 0 읽기 타임 슬롯이다.

참고: 모든 이전의 앞선 파형들은 네트워크의 마스터단에서 캡처되었다. 네트워크의 다른 모든 지점에서 보이는 파형은 오실로스코프 접지가 1-Wire 버스에 영향을 미치지 않도록 차동 프로브를 사용해야 한다.



추가 정보
애플리케이션 노트 187, "1-Wire Search Algorithm"
애플리케이션 노트 244, "Advanced 1-Wire 네트워크 드라이버"
애플리케이션 노트 3829, "Determining the Recovery Time for Multiple-Slave 1-Wire Networks"
애플리케이션 노트 3925, "1-Wire® 확장 네트워크 표준"
애플리케이션 노트 4104, "Understanding and Configuring the 1-Wire Timing of the DS2480B"
애플리케이션 노트 4206, "Choosing the Right 1-Wire® Master for Embedded Applications"



1-Wire는 Maxim Integrated Products, Inc.의 등록상표이다.

iButton은 Maxim Integrated Products, Inc.의 등록상표이다.

Java는 Sun Microsystems, Inc.의 상표이다.

Windows는 Microsoft Corporation의 등록상표이다.


관련 부품  APP 148: Sep 22, 2008
DS18B20 분해능 프로그래밍이 가능한 1-Wire 디지털 온도계 전체 데이터 시트
(PDF, 224kB)
무료 샘플
DS18S20 1-Wire Parasite-Power (전원 공급) 디지털 온도계 전체 데이터 시트
(PDF, 188kB)
무료 샘플
DS1904 RTC iButton 전체 데이터 시트
(PDF, 284kB)
무료 샘플
DS1920 온도 iButton® 전체 데이터 시트
(PDF, 496kB)
DS1921G Thermochron iButton 전체 데이터 시트
(PDF, 468kB)
DS1922E 8KB 데이터 로그 메모리가 내장된 고온 로거 iButton® 전체 데이터 시트
(PDF, 400kB)
DS1922L 8KB 데이터로그 메모리가 내장된 온도 로거 iButton 전체 데이터 시트
(PDF, 584kB)
DS1923 8KB 데이터 로그 메모리가 내장된 Hygrochron 온도/습도 로거 iButton 전체 데이터 시트
(PDF, 644kB)
DS1961S SHA-1 엔진이 내장된 1Kb 보호 EEPROM iButton
DS1963S SHA iButton
DS1971 256비트 EEPROM iButton® 전체 데이터 시트
(PDF, 264kB)
무료 샘플
DS1972 1024비트 EEPROM iButton 전체 데이터 시트
(PDF, 160kB)
무료 샘플
DS1973 4Kb EEPROM iButton® 전체 데이터 시트
(PDF, 88kB)
무료 샘플
DS1977 비밀번호 보호 기능이 내장된 32KB EEPROM iButton 전체 데이터 시트
(PDF, 188kB)
DS1982 1Kb Add-Only iButton® 전체 데이터 시트
(PDF, 492kB)
무료 샘플
DS1985 16Kb Add-Only iButton® 전체 데이터 시트
(PDF, 500kB)
무료 샘플
DS1986 64Kb Add-Only iButton® 전체 데이터 시트
(PDF, 780kB)
DS1990A 시리얼 넘버 iButton 전체 데이터 시트
(PDF, 140kB)
무료 샘플
DS1992 1Kb/4Kb 메모리 iButton® 전체 데이터 시트
(PDF, 364kB)
무료 샘플
DS1993 1Kb/4Kb 메모리 iButton® 전체 데이터 시트
(PDF, 364kB)
무료 샘플
DS1995 16-kbit 메모리 iButton 전체 데이터 시트
(PDF, 48kB)
DS1996 64-kbit 메모리 iButton® 전체 데이터 시트
(PDF, 348kB)
DS2401 실리콘 시리얼 넘버 전체 데이터 시트
(PDF, 472kB)
무료 샘플
DS2406 듀얼 주소지정 가능 스위치 및 1Kb 메모리 전체 데이터 시트
(PDF, 660kB)
무료 샘플
DS2411 VCC 입력 기능이 있는 실리콘 시리얼 넘버 전체 데이터 시트
(PDF, 476kB)
무료 샘플
DS2417 인터럽트 기능이 내장된 1-Wire 타임 칩 전체 데이터 시트
(PDF, 168kB)
무료 샘플
DS2431 1024비트 1-Wire EEPROM 전체 데이터 시트
(PDF, 508kB)
무료 샘플
DS2432 SHA-1 엔진이 내장된 1kb 보호 1-Wire EEPROM 간략한 데이터 시트
(PDF, 164kB)
DS2433 4Kb 1-Wire EEPROM 전체 데이터 시트
(PDF, 568kB)
무료 샘플
DS2438 스마트 배터리 모니터 전체 데이터 시트
(PDF, 376kB)
무료 샘플
DS2450 1-Wire 쿼드 A/D 컨버터 전체 데이터 시트
(PDF, 708kB)
무료 샘플
DS2480B 직렬-to-1-Wire 라인 드라이버 전체 데이터 시트
(PDF, 800kB)
무료 샘플
DS2490 USB-to-1-Wire 브리지 칩 전체 데이터 시트
(PDF, 1.3MB)
DS2502 1Kb Add-Only 메모리 전체 데이터 시트
(PDF, 540kB)
무료 샘플
DS2502-E48 48비트 노드 어드레스 칩 전체 데이터 시트
(PDF, 48kB)
무료 샘플
DS2505 16Kb Add-Only 메모리 전체 데이터 시트
(PDF, 480kB)
무료 샘플
DS2740 고정밀 쿨롱 카운터 전체 데이터 시트
(PDF, 312kB)
무료 샘플
DS2762 경보 기능이 내장된 고정밀 Li+ 배터리 모니터 전체 데이터 시트
(PDF, 268kB)
무료 샘플
DS9097U-009 범용 1-Wire COM 포트 어댑터 전체 데이터 시트
(PDF, 260kB)
DS9097U-S09 범용 1-Wire COM 포트 어댑터 전체 데이터 시트
(PDF, 260kB)

자동 업데이트
관심 분야의 애플리케이션 노트가 나올 때 자동으로 업데이트를 원하십니까? 그렇다면 EE-Mail™을 신청하십시오.


We Want Your Feedback!



의견을 보내주세요!
위 내용이 도움이 되셨나요?
여러분의 의견을 기다립니다 — Maxim은 보내주신 정정이나 제안사항을 반영하고 있습니다. 이 페이지를 평가하고 의견을 보내주십시오.

 

다운로드, PDF 형식다운로드, PDF 형식 (225kB)
 AN148, AN 148, APP148, Appnote148, Appnote 148

        •         •         •     개인정보보호 정책     •     법적 고지

    Copyright © 2009 by Maxim Integrated Products