로그인회원등록 내글장바구니주문조회현재접속자
 상품 검색








 게시판 검색





 
 
회원등록 비번분실


온라인 입금계좌
ㆍ기업은행
ㆍ219-043192-01-028
ㆍ이건영

      거래은행 바로가기
 
  AVR Applications
AVR 자료실
작성자 avrtools™        
작성일 2009/10/07
첨부#1 USBaspLoader.2009-03-20.tar.gz (96KB) (Down:23)
Link#1 00003.html (Down:6)
ㆍ추천: 0  ㆍ조회: 467   
  AVR 펌웨어로 만드는 USB 드라이버
제목 : AVR 펌웨어로 만드는 USB 1.1 인터페이스
저자 : Christian Starkjohann
참조 : http://www.obdev.at/products/vusb/index.html
 

AVR 펌웨어 USB는 고가인 USB 소자를 사용하지 않고, MPU 만으로 USB를 구현한다. 
이 자료는 AVR MCU에서 펌웨어로 만든 USB에 사용된, 실시간 NRZI 복조와 비트추가에 대한 기술을 설명한다.
다음을 참조하라 http://www.obdev.at/products/vusb/index.html

USB 1.1 호환기기의 저속도 인터페이스에서, USB 포트의 비트 전송율은 반드시 1.5 M 비트/초 이다.
발진주파수 12 MHz의 MPU에서, 이것은 USB 전송 비트 1개에 8 개의 CPU 실행주기(cycle)라는 것이다.
AVR 같은 RISC 프로세서에서는 거의 모든 명령이 1 CPU 실행주기이다.

NRZI 는 무엇인가
비트 1의 레벨이 계속되면 변조(encoding) 후의 신호의 극성이 바뀌지 않으므로,
(강제로 0으로 만들지 않으므로) 변조후에 주파수 대역폭을 좁히는 목적으로 개발되엇다.
NRZI 는 하드디스크, X25 전송장치, 동기식 무선패킷 등에서 널리 사용되고 있는 코딩방식이다.
 
비트 1을 변조하면 데이터가 바뀌지 않고, 비트 0을 변조하면 레벨이 반전된다.
통신에서 비트1 이 많은 원리를 적용하여 출력 주파수를 낮춘다. (비트0은 개선효과가 없다)
또한 비트1 이 계속되면 레벨이 바뀌지 않으므로 신호의 전송 주파수를 낮출 수 있다.
이전의 코드와 현재의 코드를 널리 알려진 XOR 처리로 8 CPU 실행주기 안에서 쉽게 만들 수 있다.
    
Bit STUFF란
비트 1이 계속되면, 직류성분이 많아져 (주파수가 낮아짐), 수신신호의 복조에서 동기하기 나쁘므로,
6 개의 비트가 1 이 계속되면 강제로 0을 추가한다. 이것을 STUFF 비트라 하며, 수신에서 삭제해야 한다.
따라서 복조에서는 연속으로 수신된 비트가 1 이 6 개가 되면, 다음 비트 0은 반드시 제거해야 한다.

종료는 "SE0" 상태로 정의된다.
이 뜻은 USB 전송에 사용하는 2가닥 신호선의 상대 전위차를 2 비트 시간동안에 평균전압을 0V로 만든다.
(이것은 USB 신호에서 방사되는 전자기파 방출장해(EMI)의 저감을 위한 해결 방법이다)
추가된 비트는 수신에서 반드시 저장되며, 매 8비트 마다 초과버퍼(buffer overflow)를 확인한다.

단순한 접근
; ------------------------------------  0 실행주기
loop: in x1, port    ; I/O 포트에서 1을 읽는다 
        andi x1, mask    ; SE0를 위해 x1을 점검 
        breq end_of_packet    ; 0 이면 eor 처리는 실행하지 않는다
        eor x2, x1    ; NRZI 복조(decoding) 
        ror x2    ; 복조한 데이터를 LSB에 추가한다 
        ror shift    ; Carry에 들어간 LSB를 시프트 (비트를 수집) 
        mov x2, x1    ; 다음 실행주기를 위해 입력을 저장
        dec cnt    ; 모두 8 비트를 읽엇는가?
        brne loop    ; 8 번을 2번 돈다
; ------------------------------------  10 실행 주기
 
10개의 실행주기에서 우리는 간단히 8 개의 코드를 복사하고 저장햇다.
각 줄의 실행주기는 1이며, 모두 8개의 실행주기가 필요하다.
아직 BITSTUFF 처리를 하지 않앗다.

만일 우리가 1 실행주기 안에 비트 unstuffing을 하는 방법을 찾을 수 있다면.
3 개의 실행주기를 절약하여 7개의 실행주기로 만들 수도 잇다. (12 MHz /8 = 1.5 MHz는 USB 1.1의 전송속도) 
 
참고 
우리는 뒤집힌 데이터를 읽어야 한다.
데이터가 바뀌든지, 0 이 아니면 Exor은 1을 준다.
그러나 이것은 언제든지 나중에 보정할 수 있다.

비트 STUFF 복조를 하는 단순한 접근방법은,
비트의 반전이 검출되엇을 때,
이전의 6개 비트가 반전되지 않으면 감소하는 카운터가 0 이다.
만일 비반전 비트 카운터가 0 이면, 다음 비트는 반드시 소거해야 한다.
 
비트가 바뀌는가 아닌가를 처리하는데 최소 1개의 분기(branch)가 추가되며,
만일 카운터가 0으로 되면, 1개의 상수를 읽고, 1개의 분기를 한다.
하나의 조건 분기에서라도, 같은 수의 실행주기로 만드는 정밀한 코드는 어렵다.
또한 모든 패킷 명령을 1 실행주기로 만들기 어렵다 하더라도

비트 stuff 복조
이미 알려진 정보를 가능한 많이 이용하여,
우리에게 필요한 완전히 다른 비트 stuffing 알고리즘은 무엇인가
컴퓨터 처리에서는 같은 코드를 2번 쓰지 않는다.

우리는 이미 시프트 레지스터에 읽어진 비트 열(stream)을 가지고 있다.
마지막 비트 6개는 반드시 남아 있다.
최상위 비트를 최하위 비트로 시프트할 때. 최근 6개의 비트가 모두 0인지를 찾아야 한다.
(이 뜻은 비트가 바뀌 않은 것이다, 우리가 뒤집힌 비트를 읽고 잇음을 기억하라)
시프트 레지스터에 남아있는 값을 상수 4와 비교하면 간단히 끝난다.
 
; ------------------------------------ 0 실행주기
xbit0: in x1, port ; I/O 포트에서 읽는다 
          andi x1, mask ; SE0 인가? 
          breq end_of_packet ; 분기가 없으도 1 실행주기 
          eor x2, x1 ; NRZI 복조 
          ror x2 ;  데이터 비트를 LSB에 추가 -> carry 
          ror shift ; 데이터 비트를 수집 
          cpi shift, 4 ; 0 비트가 6개 인지를 점검 
          brlo do_unstuff ; 분기가 없어도 1 실행주기 
          mov x2, x1 ; 다음 처리를 위한 저장
; ------------------------------------ 9 실행주기

우리는 이제 9 개의 실행주기로 비트 stuffing을 검출햇다. 알고리즘은 끝낫다.
데이터 저장과 버퍼초과를 점검하기 위해, 실행주기를 절약하고 남은 실행주기를 구한다.
순환(loop)은 이미 안하고 있으므로 mov 명령을 절약할 수 있다.
 
If we exchange the meaning of x1 and x2 every bit,
x1과 x2 비트를 교환할 수 있다면, 데이터 이동(move)이 필요없다.
이것은 1 실행주기를 절약하고 이제 우리는 한번에 모든 비트를 읽을 수 있다.
 
2 비트 길이의 패킷종료 상태로 갈때, 매번 2번째 비트 SEO 점검을 절약할 수 있다.
그리고 데이터 저장과 순환 제어의 실행주기에서 남은 실행주기를 절약할 수 있다   
이 뜻은 처리가 끝낫다는 것인가? 아니다.  아직 unstuff를 하지 않앗다.
 
; ------------------------------------ 0 실행주기
rxbit0: in x1, port ; 1 read data from I/O port
         andi x1, mask ; 1 check for SE0 
         breq end_of_packet ; 1 (1 cycle because branch not taken) 
         eor x2, x1 ; 1 NRZI decoding 
         ror x2 ; 1 assuming data bit in LSB -> carry 
         ror shift ; 1 collect data bits 
         cpi shift, 4 ; 1 check for 6 consecutive 0 bits 
         brlo do_unstuff0 ; 1 (branch not taken)
; ------------------------------------ 8 실행주기

rxbit1: in x2, port ; 1 read data from I/O port 
         andi x2, mask ; 1 check for SE0 
         breq end_of_packet ; 1 (1 cycle because branch not taken) 
         eor x1, x2 ; 1 NRZI decoding 
         ror x1 ; 1 assuming data bit in LSB -> carry 
         ror shift ; 1 collect data bits 
         cpi shift, 4 ; 1 check for 6 consecutive 0 bits 
         brlo do_unstuff1 ; 1 (branch not taken)
; ------------------------------------ 16 실행주기

Stuff 된 비트의 제거
1 비트의 소거는 쉽게 된다. 한번 훑어보자, 무효읽기(dummy read)와 지연(wait)

; ------------------------------------ 0 실행주기
do_unstuff0: ; in x1, port ; I/O 포트에서 읽는다 (1 추가 실행주기 : 분기는 이미 실행되엇다)
                    andi x1, mask ; SE0를 점검 
                    breq end_of_packet ; 1 실행주기(분기가 안되엇으므로) 
                    nop ; 1 실행주기 
                    nop ; 1 실행주기
                    rjmp rxbit1 ; 2 실행주기 (분기 됨)
; ------------------------------------ 모두 8 실행주기

처음으로 우리는 2개의 여유 실행시간이 생겻다.
이제 순환제어와 끝내기에 복사/붙히기와 SEO 재배치 점검을 한다.
잠깐,  stuff된 비트에 따르는 비트는 비반전인가?
 
우리의 시프트 레지스터는 앞부분에 7개의 0이 저장된 데이터를 가지고 있다.   
비록 비트 stuffing이 즉시 발생된다 하더라도, 다음 비트를 소거할 것인가? 버그이다.
이때. 우리는 시프트 레지스터에서 5개 이상의 0은 반드시 방지해야만 한다.
 
그러나 이 레지스터는 우리가 저장한 데이터로 보관해야 한다.
우리는 저장하는 데이터를 제어할 수는 없다 
비트 Stuff를 위해 우리는 레지스터를 복사해서 2개로 만들어야 한다.
그러나, 복사를 위한 여유 실행시간은 없다
그리고 잉여 데이터를 효과적으로 확보할 수 없다. 무언가 다른 생각이 필요하다.
 
만일 해결책이 있다면, 반드시 시프트 레지스터를 수정할 수 있어야 한다.
이것은 읽은 비트를 수정하지 않고 묶여진 코드로 어떻게 채울 것이가 이다.
그래서 우리는 un-stuff하는 중에 시프트하고 최하위 MSB를 설정해야 한다.
그러나 수신된 바이트를 어떻게 재구축 하는가?
 
우리가 아는 것은 수정하는 방법이다. 0으로 되려는 비트를 1로 설정한다.
그리고 우리가 아는 것은, 순환을 하지 않고, 
데이터가 알맞게 저장되도록 몇번의 시프트 연산을 한다.

분리된 레지스터에서 간단히 수정한 비트를  모을 수 있고, 이전에 저장된 상태로 되돌린다.
다행히, un-stuff에서 2개의 여유 실행주기를 가지고 있다.

do_unstuff0: ; (여기로 분기한 것으로 1 실행 주기를 가진다) 
                  in x1, port ; I/O 포트에서 데이터를 읽는다 (1 실행주기)
                  andi x1, mask ; SE0를 점검 (1 실행주기)
                  breq end_of_packet ; (분기가 아니라도 1 실행주기) 
                  ori shift, 0xfc ; 6개의 수신된 비트 (1 실행주기)
                  andi x3, 0xfe ; 7번 우로 시프트된 비트들 (0xfe =11111100) (1 실행주기)
                 rjmp rxbit1 ; (분기를 하면 2 실행주기)
; ------------------------------------ 모두 8 실행주기

x3는 한개의 바이트를 시작하기 전에 반드시 0xFF로 초기화 되어야 한다.
이 2개의 연산은 다은 SEO 점검시에 배치되어야 한다.
이제 우리는 데이터-열 복조가 실제로 끝낫다. 단 한개의 여유 실행주기도 남은 것은 없다
제조된 코드는 약간 다른 문제를 손보아야 한다. 예를 들면, 표준을 망가트리지 않고 SEO 점검한다,
남은 SEO 점검에 필요한 실행주기를 어떻게 계산하는가 이다.
 
코드는 1년 넘게 개선해야 했다. 그리고 아래에 보인 자료를 참고해 보았다. 
더 상세한 드라이버의 내용은 첨부한 기계어(assembler) module을 보라.

참고문헌
USB in a Nutshell by Craig Peackock
Universal Serial Bus Revision 1.1 Specification
AVR Instruction Set
Atmel's Application Note AVR309 (not yet online, preview available at www.cesko.host.sk).

AVR 펌웨어 USB를 응용한 USBasp의 제작 
품명 : USBaspLoader

 
 
USBaspLoader는 AVR MPU 펌웨어 방식의 USB 부트로더이다.
응용 펌웨어는 주 PC에서 사용하는 분리된 다운로더를 필요로 한다.
이 모사장치(emulator)는 AVRDUDE에서 연결하는 대중적인 USBasp 펌웨어 굽기장치이다.

참고 사이트 : http://www.fischl.de/usbasp/
USBasp는 ATmega8을 사용하여 펌웨어 만으로 USB로 연결하는 AVRISP 장치와 비슷하다.
제어 소프트웨어는 AVRdude를 많이 사용하며, 최근 들어 새로운 GUI 소프트웨어가 개발되엇다.
 
이것은 AVR의 최소 2K 바이트의 부트로더 영역(section)을 사용한다.
펌웨어는 상위 2K 바이트의 플래시 메모리 안에 구어진다. 그리고 리셋된 직후에 제어권을 갖는다.
예를 들면 하드웨어 조건이 맞으면 (부트로더 점퍼가 설정되면)
부트로더는 USB 인터페이스의 데이터를 기다린다. 그리고 남은 플래시 메모리의 영역에 적재한다.
만일 조건이 맞지 않으면, 제어권은 이전에 적재된 펌웨어로 넘어간다.
(혹은 일정시간이 지나도 데이터가 없으면, 이전에 구워진 하위영역의 응용 펌웨어가 작동한다)
 
새로운 것은 아니지만, 비슷한 다른 부트로더로는 AVRUSBBoot 혹은 bootloadHID가 있다.
차이점은 USBaspLoader는 그 자신이 USBasp 굽기장치(programmer)를 주(host) PC에 제공한다.
USBasp는 AVRDUDE에서 지원하는 간편한 USB 기반의 AVR 펌웨어 굽기장치이다.

특별한 업로드의 수습은 필요하지 않다.  당신의 부품을 굽는 USBasp로 바로 사용한다.
원래의 USBasp는 다른 AVR MPU를 굽는 장치이지만, 이 USBaspLoader는 자신의 펌웨어만 굽는다.
물론 펌웨어를 업로드하는 PC 소프트웨어로는 AVRdude 나 eXtrime 등이 있다.

USBasp를 사용하는 PC 소프트웨어 eXtrime Burner
  

USBaspLoader.2009-03-20 
자료 받기 ☞ http://www.obdev.at/downloads/vusb/USBaspLoader.2009-03-20.tar.gz
Readme.txt ........ 도움말 및 설명서
firmware .......... AVR 펌웨어 소스코드, HEX 파일 11종 (M8, M88, M168용 각종 발진주파수에서의 펌웨어)
firmware/usbdrv ... USB 드라이버
License.txt ....... 펌웨어 저작권 (GPL2)
Changelog.txt ..... 개정이력


USBaspLoader 회로도
 
제작 예
아래와 같이 ATmega168-20PI MPU에 업어타기(piggyback) 방식으로 만들 수도 있다.
Boot 점퍼를 꼽고, USB 케이블로 연결한 다음, AVRdude에서 응용 펌웨어를 USBasp로 굽고,
응용 펌웨어가 구워진 ATmega168은 타겟 기판의 DIP 28핀 MPU 소켓에 꼽아서 바로 사용할 수 있다.
 
 
 
설치
This project can be built on Unix (Linux, FreeBSD or Mac OS X) or Windows.
For all platforms, you must first describe your hardware in the file
"firmware/bootloaderconfig.h". See the documentation in the example provided
with this distribution for details. Then edit "firmware/Makefile" to reflect
the target device, the device's boot loader address and fuse bit values.
 
소프트웨어 설치
You need WinAVR for the firmware, see http://winavr.sourceforge.net/.
To build the firmware with WinAVR, change into the "firmware" directory,
check whether you need to edit the "Makefile" (e.g. change device settings,
programmer hardware, clock rate etc.) or bootloaderconfig.h and type "make"
to compile the source code. Before you upload the code to the device with
"make flash", you should set the fuses with "make fuse". To protect the boot
loader from overwriting itself, set the lock bits with "make lock" after
uploading the firmware.
 
부트로더의 작동
The boot loader is quite easy to use. Set the jumper (or whatever condition
you have configured) for boot loading on the target hardware, connect it to
the host computer and (if not bus powered) issue a Reset on the AVR.
You can now flash the device with AVRDUDE through a "virtual" USBasp
programmer.

USB 드라이버의 사용방법
This project is not intended as a reference implementation. If you want to
use AVR-USB in your own projects, please see
   * PowerSwitch for the most basic example,
   * Automator for an HID example or
   * AVR-Doper for a very complex example on how to simulate a serial
     interface (virtual COM port).
All these projects can be downloaded from http://www.obdev.at/avrusb/

상세 자료
For more information about Objective Development's firmware-only USB driver
for Atmel's AVR microcontrollers please visit the URL http://www.obdev.at/products/avrusb/
A technical documentation of the driver's interface can be found in the
file "firmware/usbdrv/usbdrv.h".

저자
(c) 2008 by OBJECTIVE DEVELOPMENT Software GmbH. http://www.obdev.at/

이 프로그램은 무료 소프트웨어로, 신체와 재산 상의 어떤 위험과 손해를 보상하지 않습니다.
이 프로그램은 GNU 무료 소프트웨어 배포규정을 따릅니다.
Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA

AVRTOOLS™

   
윗글 8x8 LED Audio Spectrum Display
아래글 AVR-CDC and V-USB
    N         제목    글쓴이 작성일 조회 추천
AVR 자료실 안내 avrtools™ 2008/09/02 (화) 307 0
97 AVR Basic Compiler (4K Free) avrtools™ 2008/12/03 (수) 233 0
96 코드비젼 V2.05.0 평가판 avrtools™ 2011/07/17 (일) 158 0
95 8x8 LED Audio Spectrum Display avrtools™ 2009/10/18 (일) 273 0
94 AVR 펌웨어로 만드는 USB 드라이버 avrtools™ 2009/10/07 (수) 467 0
93 AVR-CDC and V-USB avrtools™ 2009/10/06 (화) 246 0
92 AVR USB-HID-Bootloader의 제작 avrtools™ 2009/10/01 (목) 281 0
91 AT91SAM7S256 개발환경과 컴파일러 [2] avrtools™ 2008/11/03 (월) 2208 0
90 SAM7S256 USB 드라이버와 AT91-ISP avrtools™ 2008/11/01 (토) 1201 0
89 AT91SAM7S256 공부를 시작합니다. avrtools™ 2008/11/01 (토) 599 1
88 ICCAVR V7.16A AVR 컴파일러 45일판 avrtools™ 2009/03/09 (월) 151 0
87 CodeVisionAVR1248b 最新版下载 leeky 2008/11/08 (토) 325 0
86 AVR UART 소스 (ICC AVR V6) avrtools™ 2008/12/03 (수) 208 0
85 cvAVR Soft Uart Source avrtools™ 2008/12/03 (수) 169 0
84 cvAVR 직렬포트와 LCD 시험용 소스 avrtools™ 2008/12/03 (수) 173 0
83 Free SmallC for AVR avrtools™ 2008/12/03 (수) 198 0
82 AVR910-ISP용 AVR-OSP2 Ver5.43 avrtools™ 2008/12/03 (수) 193 0
81 Code Vision AVR 컴파일러 2K 데모버전 avrtools™ 2008/12/02 (화) 126 0
80 AVR delay loop generator avrtools™ 2008/12/02 (화) 178 0
79 ICC tiny C컴파일러 V6 데모버전 (30일 제한판) avrtools™ 2008/12/02 (화) 90 0
78 ICC AVR C 컴파일러 V6 (4K 제한판) avrtools™ 2008/12/02 (화) 115 0
77 DasmAVR (Windows용 AVR 역어셈블러) avrtools™ 2008/12/02 (화) 173 0
76 AVR PROG KIT avrtools™ 2008/12/02 (화) 199 0
75 AVR JTAG ICE KIT avrtools™ 2008/12/02 (화) 286 0
74 AVR 부동소수점, 지연시간 계산기 avrtools™ 2008/12/02 (화) 197 0
73 ATtiny45 USB to RS232 인터페이스 avrtools™ 2008/09/26 (금) 226 0
72 MEGA32 128x64 GLCD Scope 제작 avrtools™ 2008/09/22 (월) 334 0
71 PC송신방식 Tiny2313 50x7 LED 전광판 avrtools™ 2008/09/10 (수) 289 0
70 mega8 적외선 거리측정 레이더 leeky 2006/05/07 (일) 1400 0
69 ATmega16 RFID #3 소프트웨어 leeky 2006/12/27 (수) 908 0
68 ATmega16 RFID #2 하드웨어 leeky 2006/12/27 (수) 1155 0
67 ATmega16 RFID #1 태그 leeky 2006/12/27 (수) 886 0
66 ISO 14443A RFID 카드의 읽기/쓰기 방법 [1] leeky 2007/02/25 (일) 1518 1
65 ATmega8 PSK31 RF Modem의 제작 leeky 2006/03/07 (화) 1402 21
64 T89C51SND1C 64M USB MP3 플레이어 avrtools 2006/03/04 (토) 1012 8
63 AVR 13.56MHz RFID 읽기/쓰기 장치의 제작 [7] leeky 2007/02/19 (월) 1078 4
62 WhereAVR for APRS GPS/Telemetry avrtools 2006/05/05 (금) 419 2
61 ATmega8 UI-TNC 무선모뎀의 제작 avrtools 2006/03/07 (화) 421 0
60 AVR APRS(GPS) Packet 무선모뎀 avrtools 2006/03/07 (화) 412 0
59 AT90PWM3 교류모터 속도제어 leeky 2006/04/07 (금) 967 1
58 M128 MMC LED 전광판 leeky 2006/03/07 (화) 949 0
57 Charon 2 이더넷 모듈의 소개 avrtools 2006/04/04 (화) 506 0
56 S2313 LED 회전계 (TACHO METER) avrtools 2006/03/28 (화) 623 0
55 Mega8 + 128x128 LCD 스코프 avrtools 2006/03/28 (화) 1212 0
54 Mega8 + OV6630 Treva 모바일용 카메라의 화상처리 leeky 2006/03/19 (일) 817 0
53 YUKI Mega8 MP3 Player #3 avrtools 2006/03/11 (토) 868 0
52 AVR JTAG 에뮬레이터의 제작 avrtools 2006/03/07 (화) 872 0
51 USB AVR 프로그래머 AvrUsb500 avrtools 2006/03/07 (화) 757 1
50 Mega88 USB 버스 모니터 avrtools 2006/03/07 (화) 413 0
49 M16 MMC Flash Memory leeky 2006/03/07 (화) 483 1
48 M163 SD,MMC Interface leeky 2006/03/07 (화) 467 0
47 S2313 MMC to Serial leeky 2006/03/07 (화) 342 0
46 ATmega48 UDP/IP 적외선 리모콘 수신장치 avrtools 2006/03/07 (화) 444 0
45 HDD MP3 플레이어 leeky 2006/03/07 (화) 624 0
44 MP3 yampp-3/USB leeky 2006/03/07 (화) 315 0
43 MP3 Player yampp-3 leeky 2006/03/07 (화) 281 0
42 YUKI MP3 플레이어2의 제작 (ATmega8 + SD Card) avrtools 2006/03/07 (화) 410 0
41 AVR CD 플레이어 leeky 2006/03/07 (화) 562 0
40 S2313 초음파 거리계 (미터, TV 스크린, LED 표시) avrtools 2006/03/07 (화) 575 0
39 RF Spectrum Monitor avrtools 2006/03/07 (화) 415 0
38 Easy Ethernet AVR 웹서버 leeky 2006/03/07 (화) 481 0
37 90S4433 LCD표시 100Mhz 주파수 카운터 leeky 2006/03/07 (화) 275 0
36 ELM Audio Spectrum Monitor avrtools 2006/03/07 (화) 388 0
35 Mega8 Door Bell leeky 2006/03/07 (화) 303 0
34 AVR 휴대용 DVM leeky 2006/03/07 (화) 529 0
33 Minimum Mass Waveform Capture and Display leeky 2006/03/07 (화) 286 0
32 AT90S2313 디지털 용량계 avrtools 2006/03/07 (화) 391 0
31 SLO2016 Alphanumeric Intelligent Display leeky 2006/03/07 (화) 197 0
30 AT90S2313 흔드는 LED 전광판 (POV) leeky 2006/03/07 (화) 450 0
29 ATtiny2313 Scrolling LED Sign avrtools 2006/03/07 (화) 386 0
28 Tiny22,S1200 나이트 라이더 avrtools 2006/03/07 (화) 337 0
27 ATtiny26L의 AD 변환과 PWM 출력제어 leeky 2006/03/07 (화) 533 0
26 S2313을 사용한 DS1820 온도계 leeky 2006/03/07 (화) 290 0
25 ATmega8535 온도센서 leeky 2006/03/07 (화) 318 0
24 AVR2313 100MHz RF연결 주파수 측정메터 avrtools 2006/03/07 (화) 222 0
23 VHF 무선 데이터 송신기 leeky 2006/03/07 (화) 525 0
22 90S2313 1MHz 파형 포착기 leeky 2006/03/07 (화) 257 0
21 VHF 무선 데이터 수신기 avrtools 2006/03/07 (화) 412 0
20 AVR 5x7 Dotmatrix LED leeky 2006/03/07 (화) 261 0
19 Mega163 웹 LCD leeky 2006/03/07 (화) 415 0
18 AVR 이더넷 시험소프트 avrtools 2006/03/07 (화) 336 0
17 AVR 넷트웍 시계 (타임 프로토콜) avrtools 2006/03/07 (화) 403 0
16 RS-232 to 100 MHz RF desktop avrtools 2006/03/07 (화) 261 0
15 AVR 6디지트 50MHz 주파수 카운터 leeky 2006/03/07 (화) 239 0
14 AVR DS1820 온도센서 avrtools 2006/03/07 (화) 282 0
13 AVR 직접주파수 발생기 (AT90S2313 DDS) avrtools 2006/03/07 (화) 423 0
12 프로그래머블 PLL 제어 avrtools 2006/03/07 (화) 259 0
11 AVR AT90S2313 7Segment LED Display leeky 2006/03/07 (화) 239 0
10 TINY15L 무전원 4채널 온도계 avrtools 2006/03/07 (화) 358 0
9 8PIN AVR을 사용한 풀컬러 LED leeky 2006/03/07 (화) 392 0
8 DS1820 고분해능 온도계 avrtools 2006/03/07 (화) 366 0
7 S2313 디지털 전압계 avrtools 2006/03/07 (화) 489 0
6 S2313 적외선 USB 모듈 avrtools 2006/03/07 (화) 352 0
5 S2313 주파수 카운터 avrtools 2006/03/07 (화) 285 0
4 AVR90S2313과 Treva 카메라의 연결 leeky 2006/03/07 (화) 336 0
3 Mega8 PID 온도제어 leeky 2006/02/24 (금) 709 1
2 90S2333 3채널 다이오드 온도계 avrtools 2006/02/24 (금) 262 0
1 AT89S8252로 만드는 1~40MHz DDS leeky 2006/02/14 (화) 331 0
1

바구니 : 0
 보관함 : 0
오늘뷰 : 0
HOME   |   회사소개   |   제휴안내   |   회사위치   |   서비스이용 약관   |   개인정보 보호정책   |   사이트맵
17015 경기도 용인시 기흥구 동백중앙로16번길 16-25, 508호. 전화 : 031-282-3310
사업자 등록번호 : 697-47-00075 / 대표 : 이건영 / 업태 : 제조업 / 종목 : LED조명, LED전원, 제어장치.
개인정보 관리책임자 : 홈페이지 관리자 . Copyright ⓒ2016 아크레즈 (ACLEDS INC.)
HOME TOP PREVNEXT 0 0 0