개요: 이 애플리케이션 노트에서는 MAX5581 DAC와 PIC® 마이크로컨트롤러를 사용하는 방법을 설명한다. 상세한 회로도 및 소스 코드가 제공된다.
MAX5581 개요
MAX5581은 3선식 SPI™ 직렬 인터페이스를 갖는 12비트 고속 안정화 DAC이다. MAX5581의 인터페이스는 최대 3µs의 안정화 시간으로 최고 20MHz까지 SPI를 지원할 수 있다. 이 애플리케이션 노트에서는 PIC 마이크로컨트롤러(PIC18F 코어)의 가장 빠른 라인을 MAX5581 DAC에 인터페이스하는데 필요한 애플리케이션 회로와 모든 펌웨어를 소개한다. 예제 어셈블리 프로그램은 MPLAB IDE 버전 6.10.0.0에 제공된 무료 어셈블러를 사용하여 특별히 PIC18F442를 위해 작성되었다.
하드웨어 개요
여기에 언급되는 애플리케이션 회로는 MAX5581 평가 킷(EV Kit)을 사용한다. 이 평가 킷은 MAX5581, 초정밀 기준 전압(MAX6126), 2개의 푸시버튼 스위치, 이득 설정 저항기 및 성능이 입증된 PCB 레이아웃으로 구성된다. PIC18F442는 MAX5581EVKIT 보드에는 제공되지 않지만, 시스템에 추가되어 그림 1의 애플리케이션 회로도를 완벽하게 구성한다. MAX5581EVKIT의 /CS\, SCLK, DIN 및 DOUT 패드는 SPI 직렬 인터페이스에 대한 손쉬운 연결이 가능하다.

큰 이미지 보기
그림 1. MAX5581 애플리케이션 회로도 (2시트 중 1시트)

그림 1. MAX5581 애플리케이션 회로도 (2시트 중 2시트)
아날로그 및 디지털 접지 면
그림 2와 같이 아날로그 접지 면과 디지털 접지 면을 분리시키는 것은 좋은 관행이다. TDK MMZ1608B601C와 같은 페라이트 비드(ferrite bead)를 사용하여, 두 접지 면을 페라이트 비드를 통해 함께 연결한다. 이렇게 하면 마이크로컨트롤러의 시스템 클록과 고조파가 아날로그 접지에 삽입되는 것을 막을 수 있다. PIC18F442의 시스템 클록이 40MHz이므로, 이에 해당되는 임피던스 vs. 주파수 특성을 위해 MMZ1608B601C가 선택되었다. 그림 3은 MMZ1608B601C의 임피던스 대비 주파수 곡선을 보여준다.

그림 2. 아날로그 및 디지털 접지 분리

그림 3. TDK MMZ1608B601C 페라이트 비드의 임피던스 대비 주파수 커브
펌웨어 개요
Listing 1의 예제 어셈블리 프로그램은 PIC18F442의 내부 MSSP SPI 주변장치를 사용하여 MAX5581을 초기화한다. PIC18F442의 40MHz 시스템 클록은 MSSP가 최고 10MHz의 SPI 클록(SCLK)를 제공할 수 있도록 한다. 표 1은 전원 이후 필요한 구성 워드만을 보여준다. 일단 MAX5581이 초기화되면, 표 2에서 보듯이 프로그램은 지속적으로 DAC 출력 레지스터에 제로 스케일을 로드하고, 그런 다음 풀 스케일을 로드한다. 이러한 정루프(constant loop)는 그림 4와 같은 구형파를 생성하며, 이것은 MAX5581의 고속 안정화 시간을 입증하는 것이다.

그림 4. 80kHz 구형파의 실제 스코프 사진
Listing 1. PIC18F442의 내부 MSSP SPI 주변장치를 사용하여 MAX5581에 인터페이스하는 어셈블리 예제 프로그램
다운로드: P18F442.INC
Listing 1.asm
;******************************************************************************
;
; Filename: Listing 1 (Absolute Code Version)
; Date: 2/25/05
; File Version: 1.0
;
; Author: Ted Salazar
; Company: Maxim
;
;******************************************************************************
;
; Program Description:
;
; This program interfaces the internal SPI MSSP
; (Peripheral) of the PIC18F442 to the MAX5581 SPI
; Quad DAC. The program initializes the MAX5581
; and dynamically generates a 50% duty cycle square
; wave with a frequency of 80KHz.
;
;
;******************************************************************************
;
; History:
; 2/25/05: Tested SPI DAC format
; 2/25/05: Initialized MAX5591
; 12/14/04: Cleared tcount timer in HWSPI_W_spidata_W
;******************************************************************************
;******************************************************************************
;
;******************************************************************************
;
; Files required: P18F442.INC
;
;******************************************************************************
radix hex ;Default to HEX
LIST P=18F442, F=INHX32 ;Directive to define processor and file format
#include ;Microchip's Include File
;******************************************************************************
;******************************************************************************
xmit equ 06 ; Asynchronous TX is at C6
;
;******************************************************************************
;Configuration bits
; The __CONFIG directive defines configuration data within the .ASM file.
; The labels following the directive are defined in the P18F442.INC file.
; The PIC18FXX2 Data Sheet explains the functions of the configuration bits.
; Change the following lines to suit your application.
;T __CONFIG _CONFIG1H, _OSCS_OFF_1H & _RCIO_OSC_1H
;T __CONFIG _CONFIG2L, _BOR_ON_2L & _BORV_20_2L & _PWRT_OFF_2L
;T __CONFIG _CONFIG2H, _WDT_ON_2H & _WDTPS_128_2H
;T __CONFIG _CONFIG3H, _CCP2MX_ON_3H
;T __CONFIG _CONFIG4L, _STVR_ON_4L & _LVP_OFF_4L & _DEBUG_OFF_4L
;T __CONFIG _CONFIG5L, _CP0_OFF_5L & _CP1_OFF_5L & _CP2_OFF_5L & _CP3_OFF_5L
;T __CONFIG _CONFIG5H, _CPB_ON_5H & _CPD_OFF_5H
;T __CONFIG _CONFIG6L, _WRT0_OFF_6L & _WRT1_OFF_6L & _WRT2_OFF_6L & _WRT3_OFF_6L
;T __CONFIG _CONFIG6H, _WRTC_OFF_6H & _WRTB_OFF_6H & _WRTD_OFF_6H
;T __CONFIG _CONFIG7L, _EBTR0_OFF_7L & _EBTR1_OFF_7L & _EBTR2_OFF_7L & _EBTR3_OFF_7L
;T __CONFIG _CONFIG7H, _EBTRB_OFF_7H
;******************************************************************************
;Variable definitions
; These variables are only needed if low priority interrupts are used.
; More variables may be needed to store other special function registers used
; in the interrupt routines.
CBLOCK 0x080
WREG_TEMP ;variable used for context saving
STATUS_TEMP ;variable used for context saving
BSR_TEMP ;variable used for context saving
;
ENDC
CBLOCK 0x000
EXAMPLE ;example of a variable in access RAM
;
temp ;
temp2
;
xmtreg ;
cntrb ;
cntra ;
bitctr ;
tcount ;
speedLbyte ;T Being used in HWSPI_speed
;
ENDC
;******************************************************************************
;Reset vector
; This code will start executing when a reset occurs.
ORG 0x0000
goto Main ;go to start of main code
;******************************************************************************
;High priority interrupt vector
; This code will start executing when a high priority interrupt occurs or
; when any interrupt occurs if interrupt priorities are not enabled.
ORG 0x0008
bra HighInt ;go to high priority interrupt routine
;******************************************************************************
;Low priority interrupt vector and routine
; This code will start executing when a low priority interrupt occurs.
; This code can be removed if low priority interrupts are not used.
ORG 0x0018
movff STATUS,STATUS_TEMP ;save STATUS register
movff WREG,WREG_TEMP ;save working register
movff BSR,BSR_TEMP ;save BSR register
; *** low priority interrupt code goes here ***
movff BSR_TEMP,BSR ;restore BSR register
movff WREG_TEMP,WREG ;restore working register
movff STATUS_TEMP,STATUS ;restore STATUS register
retfie
;******************************************************************************
;High priority interrupt routine
; The high priority interrupt code is placed here to avoid conflicting with
; the low priority interrupt vector.
HighInt:
; *** high priority interrupt code goes here ***
retfie FAST
;******************************************************************************
;Start of main program
; The main program code is placed here.
Main:
; *** main code goes here ***
start
; *** Port Initialization ***
movlw 0x0FF
movwf PORTB
clrf PORTA
movlw 0x06 ;T Configure PortA as Digital
movwf ADCON1
movlw 0x00FB ;T A2 OUTPUT, ALL OTHERS INPUT
movwf TRISA
movlw 0x0001 ;T B0 INPUT, ALL OTHERS OUTPUT
movwf TRISB
movlw 0x0093 ;T C7-C0 => bit7-0
;T OUTPUTs: C6(TX), C5(MOSI), C3(SCLK), C2(CS)
;T INPUTs:C4 (MISO) and all others
movwf TRISC ;T TRISC bit3 Master = 0
bsf PORTC,RC2 ;T RC2 = CS\ Make CS\ high
; *** SPI Initialization ***
call HWSPI_init ;T Initialize the MSSP for SPI
; *** SPI Configuration ***
movlw b'00000000' ;T load W with test byte for CPOLCPHA 0,0
;T b'00000000' => CPOLCPHA 0,0
;T b'00000001' => CPOLCPHA 0,1
;T b'00000010' => CPOLCPHA 1,0
;T b'00000011' => CPOLCPHA 1,1
call HWSPI_W_configure
; *** SPI Speed ***
movlw b'00000000' ;T load W with test byte for SPI Freq
;T b'00000000' => Fosc/4 = 10MHz
;T b'00000001' => Fosc/16 = 2.5Mhz
;T b'00000010' => Fosc/64 = 625kHz
;T b'00000011' => Reserved.
call HWSPI_W_speed
;******************************************************************************
; *** MAX5581 Initialization ***
bcf PORTC,RC2 ;T RC2 = CS\ Make CS\ Low
movlw 0xEC ;T byte0 of settling time config
call HWSPI_W_spidata_W ;T HW SPI WriteRead Operation
movlw 0x0F ;T byte1 of settling time config
call HWSPI_W_spidata_W ;T HW SPI WriteRead Operation
bsf PORTC,RC2 ;T RC2 = CS\ Make CS\ high
; *** MAX5581 Load All DAC Outputs to Zero Scale ***
Loopforever bcf PORTC,RC2 ;T RC2 = CS\ Make CS\ Low
movlw 0xD0 ;T byte0 of load all input/output to zeros
call HWSPI_W_spidata_W ;T HW SPI WriteRead Operation
movlw 0x00 ;T byte1 of load all input/output to zeros
call HWSPI_W_spidata_W ;T HW SPI WriteRead Operation
bsf PORTC,RC2 ;T RC2 = CS\ Make CS\ high
; *** MAX5581 Load All DAC Outputs to Full Scale ***
bcf PORTC,RC2 ;T RC2 = CS\ Make CS\ Low
movlw 0xDF ;T byte0 of load all input/output to zeros
call HWSPI_W_spidata_W ;T HW SPI WriteRead Operation
movlw 0xFF ;T byte1 of load all input/output to zeros
call HWSPI_W_spidata_W ;T HW SPI WriteRead Operation
bsf PORTC,RC2 ;T RC2 = CS\ Make CS\ high
; movwf xmtreg ;T move w to xmtreg
; call asyxmtc ;T call UART routine
;
goto Loopforever ;T loop forever
;******************************************************************************
errsrv
movlw 0x65 ; load w with 'e' = 0x65
movwf xmtreg ; move w to xmtreg
call asyxmtc ; call UART routine
dead goto dead ; goto endless loop
;******************************************************************************
set_cf_error
movlw 0x00 ; 0x00 into W
sublw 0x00 ; Subtract W-0x00: If W<=N C set; If W>N C clear.
return ; error=> cf=set
;******************************************************************************
clear_cf_ok
movlw 0x01 ; 0x00 into W
sublw 0x00 ; Subtract W-0x00: If W<=N C set; If W>N C clear.
return ; success=> cf=clear
;******************************************************************************
HWSPI_init ;T SPI MSSP Initialization for M2EAM schematic
;T CPOL,CPHA = 0,0 => CKP = 0 & CKE = 1
bcf SSPCON1,SSPEN ;T Disable the MSSP, SSPCON-5
;
bcf TRISC,SDO ;T TRISC bit5 RC5/SDO = 0 MOSI Output
bcf TRISC,SCK ;T TRISC bit3 RC3/SCK = 0 SCLK Output
bsf TRISC,SDI ;T TRISC bit4 RC4/SDI = 1 MISO Input
movlw 0x0040 ;T SSPSTAT bit8 = 0 sampled in middle
;T SSPSTAT bit6 = CKE = 1
movwf SSPSTAT ;T Used to be sspstat on older PICs
movlw 0x0020 ;T SSPCON1 bit5 SSPEN = 1 Enables sycn serial port
;T SSPCON1 bit4 = CKP = 0
;T SSPCON1 bit3= 0 = Turn MSSP ON for SPI
;T SSPCON1 bit2-0 = 000b = SCLK = Fosc/4
;T SSPCON1 bit2 = 0 = Master
movwf SSPCON1 ;T Used to be sspcon on older PICs
bsf INTCON,PEIE ;T INTCON bit6 = PEIE = 1 = Enable periph interrupt
bsf PIE1,SSPIE ;T PIE1 bit3 = SSPIE = 1 = interrupt enable
movlw 0x00 ;T load 0x00 into W
movwf tcount ;T initialize tcount to zero (0x00)
;******************************************************************************
HWSPI_W_configure
;Configure SPI Mode
;
;On Entry: WREG = confDATA
;On Exit:
;On Success: return with C flag clear
;On Failure: return with C flag set
;
bcf SSPCON1,SSPEN ;T Disable the MSSP, SSPCON1-5
movwf temp ;T move the confDATA byte to temp
btfsc SSPCON1,SSPM3 ;T In SPI Mode?, skip if yes
call HWSPI_init ;T MSSP is in wrong mode, Init for SPI
;
btfsc temp,1 ;T Is bit1 of confDATA byte clear? if so skip next
goto CPOL_1 ;T goto CPOL = 1 label => CPOL = 1
btfsc temp,0 ;T Is bit0 of confDATA byte clear? if so skip next
;T => CPOL = 0 , CPHA = ?
goto CPOLCPHA_01 ;T goto => CPOL = 0 CPHA = 1
;Configure for CPOL = 0, CPHA = 0
bcf SSPCON1,CKP ;T SSPCON1 bit4 = CKP = 0
bsf SSPSTAT,CKE ;T SSPSTAT bit6 = CKE = 1
btfsc SSPCON1,CKP ;T Is SSPCON1 bit4 = CKP = 0 ?
goto badjump ;T CKP bit test error
btfss SSPSTAT,CKE ;T Is SSPSTAT bit6 = CKE = 1 ?
goto badjump ;T CKE bit test error
goto okjump2 ;OK configured!
;
CPOL_1 btfsc temp,0 ;T Is bit0 of confDATA byte clear? if so skip next
;T CPOL = 1 , CPHA = ?
goto CPOLCPHA_11 ;T goto => CPOL = 1, CPHA = 1
;Configure for CPOL = 1, CPHA = 0
bsf SSPCON1,CKP ;T SSPCON1 bit4 = CKP = 1
bsf SSPSTAT,CKE ;T SSPSTAT bit6 = CKE = 1
btfss SSPCON1,CKP ;T Is SSPCON1 bit4 = CKP = 1 ?
goto badjump ;T CKP bit test error
btfss SSPSTAT,CKE ;T Is SSPSTAT bit6 = CKE = 1 ?
goto badjump ;T CKE bit test error
goto okjump2 ;OK configured!
;
CPOLCPHA_01
;configure for CPOL = 0, CPHA = 1
bcf SSPCON1,CKP ;T SSPCON1 bit4 = CKP = 0
bcf SSPSTAT,CKE ;T SSPSTAT bit6 = CKE = 0
btfsc SSPCON1,CKP ;T Is SSPCON1 bit4 = CKP = 0 ?
goto badjump ;T CKP bit test error
btfsc SSPSTAT,CKE ;T Is SSPSTAT bit6 = CKE = 0 ?
goto badjump ;T CKE bit test error
goto okjump2 ;OK configured!
;
CPOLCPHA_11
;configure for CPOL = 1, CPHA = 1
bsf SSPCON1,CKP ;T SSPCON1 bit4 = CKP = 1
bcf SSPSTAT,CKE ;T SSPSTAT bit6 = CKE = 0
btfss SSPCON1,CKP ;T Is SSPCON1 bit4 = CKP = 1 ?
goto badjump ;T CKP bit test error
btfsc SSPSTAT,CKE ;T Is SSPSTAT bit6 = CKE = 0 ?
goto badjump ;T CKE bit test error
goto okjump2 ;OK configured!
;
okjump2 bsf SSPCON1,SSPEN ;T Re-enable MSSP
goto clear_cf_ok
return
badjump bsf SSPCON1,SSPEN ;T Re-enable MSSP
goto set_cf_error ;T configuration error
return
;******************************************************************************
HWSPI_W_speed
;On Entry: WREG = speedDATA & checks SSPCON1-3 for SPI mode
; speedDATA = 0x00 => Fosc/4
; speedDATA = 0x01 => Fosc/16
; speedDATA = 0x02 => Fosc/64
; speedDATA = 0x03 => Timer Divisor (Not working yet)
;
;On Exit:
;On Success: return with C flag clear
;On Failure: return with C flag set
;
bcf SSPCON1,SSPEN ;T Disable MSSP
movwf speedLbyte ;T move speedDATA stored in W to speedLbyte
btfsc SSPCON1,SSPM3 ;T In SPI Mode?, skip if yes
call HWSPI_init ;T MSSP is in wrong mode, Init for SPI
;
;Test if speedLbyte = 0x00. If yes, SPI clock speed = Fosc/4
movlw 0x00 ;T load 0x00 into W
subwf speedLbyte,W ;T subtract 0x00 from tcount result in w
btfss STATUS,Z ;T test zero flag, skip next instr if z set
goto fdiv16 ;T goto Fosc/16 section
bcf SSPCON1,SSPM1 ;T SSPCON1-1 = 0
bcf SSPCON1,SSPM0 ;T SSPCON1-0 = 0
goto okjump3 ;T Fosc/4 was selected
;Test if speedLbyte = 0x01. If yes, SPI clock speed = Fosc/16
fdiv16 movlw 0x01 ;T load 0x01 into W
subwf speedLbyte,W ;T subtract 0x01 from tcount result in w
btfss STATUS,Z ;T test zero flag, skip next instr if z set
goto fdiv64 ;T goto Fosc/64 section
bcf SSPCON1,SSPM1 ;T SSPCON1-1 = 0
bsf SSPCON1,SSPM0 ;T SSPCON1-0 = 1
goto okjump3 ;T Fosc/16 was selected
;Test if speedLbyte = 0x02. If yes, SPI clock speed = Fosc/64
fdiv64 movlw 0x02 ;T load 0x02 into W
subwf speedLbyte,W ;T subtract 0x02 from tcount result in w
btfss STATUS,Z ;T test zero flag, skip next instr if z set
goto timer ;T goto Timer section
bsf SSPCON1,SSPM1 ;T SSPCON1-1 = 1
bcf SSPCON1,SSPM0 ;T SSPCON1-0 = 0
goto okjump3 ;T Fosc/64 was selected
;Test if speedLbyte >= 0x03. If yes, SPI clock speed will be set by the timer
;SETTING THE SPI CLOCK WITH THE TIMER WILL RETURN A FAILURE AT THIS TIME.
;Future To do: Implement the TIMER section
timer movlw 0x03 ;T load 0x02 into W
subwf speedLbyte,W ;T subtract 0x02 from tcount result in w
btfss STATUS,Z ;T test zero flag, skip next instr if z set
goto badjmp2 ;T goto error section to return failure
goto badjmp2 ;T goto error section to return failure
; bsf SSPCON1,SSPM1 ;T SSPCON1-1 = 1
; bsf SSPCON1,SSPM0 ;T SSPCON1-0 = 1
; goto okjump3 ;T Fosc/64 was selected
okjump3 bsf SSPCON1,SSPEN ;T Re-enable MSSP
bcf STATUS,C ;T clear c flag on success
return
badjmp2 bsf SSPCON1,SSPEN ;T Re-enable MSSP
bsf STATUS,C ;T set c flag on failure
return
;******************************************************************************
HWSPI_W_spidata_W
;Simultaneously write SPI data on MOSI and read SPI data on MISO
;
;on Entry: WREG = mosiDATA & checks bit3 of SSPCON1 for SPI mode
;On Exit: WREG = misoDATA
;On Success: return with C flag clear
;On Failure: return with C flag set
;
movwf temp2 ;T move mosiDATA stored in W to WREG_TEMP
btfsc SSPCON1,SSPM3 ;T In SPI Mode?, skip if yes
call HWSPI_init ;T MSSP is in wrong mode, Init for SPI
movf temp2,W ;T load W with original mosiDATA
;
movwf SSPBUF ;T move byte to transmit to SSPBUF (transmit buffer)
movlw 0x00 ;T load 0x00 into W
movwf tcount ;T initialize tcount to zero (0x00)
again1 btfsc SSPSTAT,BF ;T receive completed? if no, skip next
goto okjump1 ;T no. goto again
incf tcount,F ;T increment tcount
movlw 0xFF ;T load w with literal
subwf tcount,W ;T subtract 0xFF from tcount result in w
btfss STATUS,Z ;T test zero flag, skip next instr if z set
goto again1 ;T loop until timeout
goto set_cf_error ;T receive timeout error
return
okjump1 movf SSPBUF,W ;T put received data in W
goto clear_cf_ok
return
;******************************************************************************
; UART routine
asyxmtc bcf PORTC,xmit ;T used to be portc,xmit
call full
movlw 0x08 ;TEST_T "08"
movwf bitctr
asyxmt1 rrcf xmtreg,f
btfsc STATUS,C
goto asyxmt2
bcf PORTC,xmit ;T used to be portc,xmit
goto asyxmt3
asyxmt2 bsf PORTC,xmit ;T used to be portc,xmit
;
asyxmt3 call full
decfsz bitctr,f
goto asyxmt1
;
bsf PORTC,xmit ;T used to be portc,xmit
call full
retlw 0
;******************************************************************************
; UART baud rate of 115.2kbps using a 40MHz System Clock
full movlw d'3'
movwf cntrb
vdly0 movlw d'6' ; d'43' with 4MHz => 2400 baud
movwf cntra
vdly1 decfsz cntra,f
goto vdly1
decfsz cntrb,f
goto vdly0
retlw 0
;******************************************************************************
;End of program
END
표 1. 4개의 모든 DAC에 대해 안정화 시간을 3µs로 설정하는 쓰기 명령 구성
| SPI Line |
C7 |
C6 |
C5 |
C4 |
C3 |
C2 |
C1 |
C0 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
| DIN |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
표 2. 모든 DAC 출력 명령 로드
| SPI Line |
C3 |
C2 |
C1 |
C0 |
D11 |
D10 |
D9 |
D8 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
| DIN (1st) |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| DIN (2nd) |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
표 2에서 첫 번째 명령은 모든 DAC 출력을 제로 스케일로 설정한다. 두 번째 명령은 모든 DAC 출력을 풀 스케일로 설정한다.
의견을 보내주세요! 위 내용이 도움이 되셨나요? 여러분의 의견을 기다립니다 — Maxim은 보내주신 정정이나 제안사항을 반영하고 있습니다.
이 페이지를 평가하고 의견을 보내주십시오.
자동 업데이트
관심있는 분야의 애플리케이션 노트가 나올 때 자동으로 업데이트 받고 싶으세요? 그렇다면 EE-Mail™을 신청하십시오.
| 추가 정보 | |
APP 3497: Dec 13, 2005
|
| MAX5581 |
버퍼링된 고속 설정, 쿼드, 12/10/8비트 전압 출력 DAC |
전체 데이터 시트 (PDF, 1.0MB)
|
무료 샘플
|
| MAX5582 |
버퍼링된 고속 설정, 쿼드, 12/10/8비트 전압 출력 DAC |
전체 데이터 시트 (PDF, 1.0MB)
|
무료 샘플
|
| MAX5583 |
버퍼링된 고속 설정, 쿼드, 12/10/8비트 전압 출력 DAC |
전체 데이터 시트 (PDF, 1.0MB)
|
무료 샘플
|
| MAX5584 |
버퍼링된 고속 설정, 쿼드, 12/10/8비트 전압 출력 DAC |
전체 데이터 시트 (PDF, 1.0MB)
|
무료 샘플
|
| MAX5585 |
버퍼링된 고속 설정, 쿼드, 12/10/8비트 전압 출력 DAC |
전체 데이터 시트 (PDF, 1.0MB)
|
무료 샘플
|
|
|
다운로드, PDF 형식 (120kB)
AN3497,
AN 3497,
APP3497,
Appnote3497,
Appnote 3497
|
|