ENGLISH 简体中文 日本語 한국어  


애플리케이션 노트  119

1-Wire 마스터 임베딩

개요: 이 애플리케이션 노트는 1-Wire? 마스터(1WM)를 사용자의 ASIC 설계에 통합하는 방법을 설명한다. 또한 Verilog로 1-Wire 마스터 인스턴스를 생성하는 방법을 간략히 소개한다. 이 문서에서 언급되는 DS89C200은 이론적 마이크로컨트롤러이다. 이 글을 읽는 독자는 DS1WM 1-Wire 마스터 및 1-Wire 프로토콜에 대한 일반적인 지식을 갖추고 있다고 가정한다.

개요

DS1WM 1-Wire 마스터는 비트 타이밍 문제를 걱정할 필요 없이 1-Wire 버스를 통해 디바이스와 용이한 호스트 CPU 통신을 제공하기 위해 개발되었다. 이 애플리케이션 노트는 1-Wire 마스터를 사용자의 ASIC 설계에 통합하는 방법을 설명한다. 이 문서에서 언급되는 DS89C200 이론적 마이크로컨트롤러이다. 이 글을 읽는 독자는 DS1WM 1-Wire 마스터 및 Dallas Semiconductor의 1-Wire 프로토콜을 알고 있다고 가정한다. 이에 대한 자세한 내용은 iButton 표준 서적DS1WM 데이터 시트를 참조한다.

구조

1WM은 4개의 서브 모듈을 함께 연결하여 완전한 디바이스를 구성하는 상위 레벨 디바이스로 배열된다. 상위 레벨 디바이스에 HDL 코드는 없다. 4개의 서브 모듈 파일은 one_wire_interface, one_wire_master, clk_prescaler 및 one_wire_io로 구성된다. 클록 프리스케일러가 필요하지 않는 애플리케이션에서는 clk_1us 신호를 위해 외부 1MHz 클록 소스가 제공되는 경우 이 모듈을 제외할 수 있다 (다음 처럼 DS1WM 데이터 시트에서 볼 수 있듯이 입력 클록은 0.8MHz ~ 1.0MHz 사이에 지정된다).

one_wire_io 모듈은 DATA 및 DQ 신호에 양방향 신호를 제공한다. 대부분의 애플리케이션에서 DQ 신호는 I/O 핀이다. 이와 같은 경우, DQ의 패드 드라이버(pad driver)는 적절한 ESD 보호를 갖는 오픈 드레인 패드이어야 한다(그림 1). 또한, 주변 디바이스가 1WM 전원보다 높은 풀업 전압을 사용하는 경우, 여분의 전압을 견딜 수 있는 패드 드라이버를 선택해야 하며, 다이오드 클램프를 사용해서는 안 된다. Dallas Semiconductor는 VCC 칩에 100의 출력 드라이버(Q1)와 4.7k의 외부 DQ 풀업을 사용할 것을 권한다. VCC 칩은 절절한 통신을 위해 1-Wire 슬레이브의 VIH보다 커야 한다.

그림 1. DQ 패드 드라이버 (one_wire_io)
그림 1. DQ 패드 드라이버 (one_wire_io)

라이브러리

Verilog 소스를 컴파일하는데 외부 라이브러리는 필요하지 않다. VHDL 소스 버전은 IEEE.std_logic_1164 및 work.std_arith 라이브러리를 모두 필요로 한다.

연결

다음 표는 1-Wire 마스터의 적절한 동작을 위해 연결해야 할 필요가 있는 와이어 목록을 싣고 있다.

Pin Operation
DQ Open Drain Bi-directional 1-Wire Bus Connection
DATA Bi-directional 8 Bit Data Bus
ADDRESS 3 Bit Address Bus
ADS-bar Address Strobe
EN-bar Instance Enable
RD-bar Read Data Strobe
WR-bar Write Data Strobe
INTR Interrupt Detection
CLK System Clock
MR Mater Reset

시스템에 사용할 수 있는 주소 스트로브가 없는 경우, ADS-bar를 로우 상태로 유지하면 주소 래치를 투명하게 할 수 있다. EN-bar 신호는 1WMaster 모듈 외부에 있는 주소 디코드 로직에 의해 발생되어야 한다. 1WM이 데이터 버스의 유일한 인스턴스인 경우, EN-bar를 로우 상태로 유지할 수 있다. CLK에 연결된 시스템 클록은 3.2MHz ~ 128MHz 사이에 있어야 한다. 모든 연결에 대한 자세한 동작에 대해서는 DS1WM 1-Wire 마스터 데이터 시트를 참조한다.

인스턴스

다음은 Verilog로 1-Wire 마스터 인스턴스를 생성하는 방법을 보여주는 예제이다.

module DS89C200 (...top level list...);

wire [7:0] DB;
wire [2:0] ADDR;
wire sysclk, read-bar,
     write-bar, master_reset,
     interrupt, addr_strobe;
wire DQ_OUT;

supply1 Tie1;
supply0 Tie0;

cpu xcpu(.CLK(sysclk),
         .DB(DB),
         .EXTRD-bar(read-bar),
         .EXTWR-bar(write-bar),
         .EXTADDR(ADDR),
         .RESET(master_reset),
         .EXTINTR(interrupt),
         .ADDR_ST(addr_strobe),
         ... other I/O signals ...);

onewiremaster xonewiremaster(
         .ADDRESS(ADDR),
         .ADS-bar(addr_strobe),
         .EN-bar(Tie0),
         .RD-bar(read-bar),
         .WR-bar(write-bar),
         .DATA(DB),
         .INTR(interrupt),
         .CLK(sysclk),
         .DQ(DQ_OUT),
         .MR(master_reset) );

... rest of design ...
xcpu에 의해 발생되는 모든 신호는 1-Wire 마스터 타이밍 요건을 만족한다. 데이터 버스에 다른 주소지정 가능 로직이 없으므로 EN-bar 신호는 로우 상태를 유지한다. DQ_OUT 신호는 I/O 패드에 직접 연결된다.

합성

이 설계의 합성은 매우 간단하다. 개별적인 서브 모듈을 개별적으로 컴파일한 다음 옵션으로 상위 레벨을 컴파일하는 상향식 방법이 권장된다. sysclk 신호와 함께 clk_1us 신호에는 타이밍 제약을 둘 필요가 있다. WR-bar, RD-bar, EN-bar ADS-bar 및 MR과 같은 일부 비동기 제어 신호에는 추가적인 타이밍 제약이 필요할 수 있다. 또한 클록 신호 상에 버퍼가 삽입되도록 clk_1us에 추가적인 제약이 필요할 수 있다. 대부분의 경우, 클록 트리와 같은 클록 분배를 위한 전략을 가질 필요가 있다.

소스 코드에는 시놉시스(Synopsys) 설계 컴파일러와 함께 사용할 수 있는 합성 예제 스크립트 및 Makefile이 포함되어 있다. 이를 사용하려면 타겟 합성 라이브러리를 정의하는 .synopsys_dc.setup 파일을 생성해야 한다. 또한, 타겟 라이브러리에서 사용할 디바이스를 선택하여 출력 드라이브 강도 및 입력 부하를 지정하려면, 포함된 환경 파일 ("environment"라는 이름)을 수정해야 할 필요가 있다. 여기에 제공되는 예제 스크립트는 매우 일반적이다. 실제 스크립트와 제약 파일은 엔지니어가 구체적인 설계의 타이밍 요건에 맞추어 생성해야 한다. 한 가지 주의해야 할 사항은 1-Wire 마스터 블록의 타이밍은 설계 상 전체가 모두 동기화되지는 않는다는 것이다. DQ 출력은 CLK에 동기화되지만, CPU가 CLK를 사용하여 RD-bar, WR-bar 및 ADS-bar를 발생하는 경우 버스 읽기/쓰기 타이밍은 CLK에만 동기화된다. 이러한 신호에 대한 타이밍 관계에 대해서는 규격을 참조한다.

이 예제 설계는 모든 요소를 갖추고 있다. 이 설계는 FPGA 및 ASIC 타겟에 성공적으로 컴파일되었다. 전형적인 ASIC 타겟 라이브러리와 동기화될 경우, 설계는 약 110 플립 플롭, 3 래치 및 총 1492개의 게이트를 사용한다.


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


자동 업데이트
관심있는 분야의 애플리케이션 노트가 나올 때 자동으로 업데이트 받고 싶으세요? 그렇다면 EE-Mail™을 신청하십시오.



추가 정보  APP 119: Jul 13, 2005
DS1WM 동기화 가능한 1-Wire 버스 마스터 전체 데이터 시트
(PDF, 124kB)
DS2408 1-Wire 8채널 주소지정이 가능한 스위치 전체 데이터 시트
(PDF, 656kB)
무료 샘플
DS2502-E48 48비트 노드 어드레스 칩 전체 데이터 시트
(PDF, 48kB)
무료 샘플
 

다운로드, PDF 형식다운로드, PDF 형식 (36kB)
 AN119, AN 119, APP119, Appnote119, Appnote 119


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

      Copyright © 2008 by Maxim Integrated Products, Dallas Semiconductor