V-USB 1.0 Firmware only USB Driver for AVR MicroController 사 용 설명서 (Rev 1.0) 2011.3 OrientNDT - 1 -
목차 Page 1.V-USB 란?... 3 2.Board 부품구성... 4 3.부품별 기능 요약 3.1 기능 요약... 5 3.2 Size 및 BOM... 6 3.3 Schematic... 7 4. V-USB TEST... 9-2 -
1.V-USB 란? V-USB 는 AVR Microcontoller 만을 사용하여 구현한 USB 1.0 Low-speed Device입니다. 12Mhz 속도로 동작되는 Atmega8 칩과 매우 적은 숫자의 수동소자만을 사용하여 윈도우 나 리눅스에서 인식하는 USB device를 구현 하실 수 있습니다. 이를 동작하기 위한 핵심 기술은 Open source 로 공개되어진 Virtual USB Driver for AVR (Objective Development 제공)이며, 아래 사이트에서 언제든지 최신 버전의 풀 소스를 다 운로드 받을 수 있습니다. http://www.obdev.at/products/vusb V-USB는 상기한 GPL 라이센스 (8페이지 참고) 기술의 도움으로 공개된 회로도와 소스를 기초하여 개발된 평가보드로써, 이 보드를 사용하여 Windows XP 상에서 다양한 실험을 진 행하였으며, 응용 라이브러리 및 호스트 소프트웨어를 개발 하였습니다. 호스트 개발을 위하여 또한 OpenSource 인 LIBUSB (http://www.libusb.org/)를 사용하였 으며, 이 라이브러리 소스는 윈도우즈 셋업 드라이버의 설치 없이 응용 프로그램 레벨에서 다양한 USB 디바이스의 직접 제어 및 통신을 가능하게 하여 줍니다. 사용자는 누구나 현재 사용되는 기술의 전체 소스를 GPL 라이센스 하에 사용하실 수 있으 며 또한 회로도와 BOM 도 제공받으실 수 있습니다. 아울러 본사가 운영하는 기술지원 카페인 http://cafe.naver.com/wisechip 에 접속 하여서 다양한 관련 자료를 지원 받으실 수 있습니다. - 3 -
2.Board 부품구성 1 2 3 4 1 USB connector 2 AVR을 사용하기위한 포트 확장 핀 (총 24) 3 Atmega8 Micro controller 4 ISP Programming connector - 4 -
3.부품 Specification 및 기능 요약 3.1 기능 요약 1 USB Connector A type Female 커넥터로써 케이블을 통하여 호스트 측인 PC와 연결합니다. 또는 케이블 없이 암수 젠더를 통하여 Male 타입으로 전환한 뒤 컴퓨터의 USB 포트에 직접 연결하여도 동작 합니다. 2 포트 확장 핀 JP1 JP2 1 PB0 1 V3.3 2 PB1 2 GND 3 PB2 3 PD0(TXD) 4 PB3 4 PD1(RXD) 5 PB4 5 PD2 6 PB5 6 PD3 7 PC0 7 PD4 8 PC1 8 PD5 9 PC2 9 AIN0 10 PC3 10 AIN1 11 PC4 11 AVCC 12 PC5 12 AREF 3 Atmega8 Micro controller 4 ISP (In System Programming) MISO SCK RST VCC MOSI GND - 5 -
3-2 Size 및 BOM (Bill of Material) Size : 가로(25mm) x 세로 (40mm) Bill Of Materials Item Quantity Reference Part 1 1 CN1 CN-USB 2 2 C1,C3 18pF 3 1 C2 4.7uF 4 1 D1 LED 5 1 IC1 Atmega8 6 1 J1 HEADER 3X2 7 2 J2,J3 HEADER 12 8 1 R1 1.5k 9 2 R2,R3 68 10 1 R4 10K 11 1 Y1 12Mhz - 6 -
3-3 Schematic - 7 -
* 상기 자료는,http://Cafe.naver.com/WiseChip 의 개발보드/자료실 에서도 제공합니다. (참고사항) GPL [ General Public License ] 자유 소프트웨어 재단(OSF)에서 만든 자유 소프트웨어 라이센스이다. 미국의 리처드 스톨만(Richard Stallman)이 GNU-프로젝트로 배포된 프로그램의 라이센스로 사용하기 위해 작성했다. '1 컴퓨터 프로그램을 어떤 목적으로든지 사용할 수 있다 2 컴퓨터 프로그램의 복사를 언제나 프로그램의 코드와 함께 판매 또는 무료로 배포할 수 있다 3 컴퓨터 프로그램의 코드를 용도에 따라 결정할 수 있다 4 변경된 컴퓨터 프로그램 역시 프로그램의 코드와 함께 자유로이 배포할 수 있다'라는 네 가지 조항을 명시하고 있다. - 8 -
4. V-USB 테스트하기 V-USB 1.0 USB Cable(V-USB에 포함) USB ISP(별도구입) CD(V-USB에 포함) 기타 - AVR Studio 4.0(별도구입), WinAVR 2010*(별도구입), Terminal(제공된 CD에 포함) 참고로 제품 출하 시 vusb_serial.zip에 있는 펌웨어가 라이팅 되어있습니다. - 9 -
1. V-USB serial 통신 TEST 하기 1. 필요한 S/W(AVR Studio, WinAVR)를 먼저 설치한다. - V-USB 보드 실험은 제공된 CD에 있는 vusb_serial sample을 사용하여 한다. 2. USB ISP를 PC에 연결한 후 V-USB를 USB ISP에 연결한다. ISP 케이블을 연결할 때 옆에 그림과 같은 방향으 로 연결한다. (반대로 연결하면 라이팅이 안됨.) 3. 제공된 CD에 있는 vusb_serial.zip 소스를 지정한 곳에 푼다. 4. 아래 그림처럼 AVR Studio를 실행시키고, vusb_serial 폴더에서 /mega8/default/cdcmega.hex를 찾아 V-USB 보드로 ISP 라이팅한다. 1 3 2 Platform에서 사용하는 ISP 선택. 장치관리자에서 연결되어 있는 ISP Port 확인 한 후 선택. Connect 누르면... - 10 -
옆에 그림과 같은 창이 뜨면서 V-USB에 사용된 ATmega8이 보인다. Program 탭을 누르면 옆의 그림과 같은 창이 뜨면 Flash 항목의 Program 탭을 누른다. 그러면 아래와 같이 라이팅이 된다. 라이팅이 끝나면 옆의 그림과 같은 화면을 볼 수 있다. - 11 -
* AVR Studio를 사용할 때 보드 인식에 문제가 있어 ISP가 잘 안될 때 아래와 같이 확인 해 보기 바랍니다. 2 3 1 - ISP clock을 57.6Khz로 변경해 보기 바랍니다. 내부 클럭을 사용하는 기본 속도입니다. LOW : 0xFF 입력하고 아래 Program 선택 - Fuse 비트는 0xDF 0xFF로 되어 있는 지 확인합니다. (12Mhz 외부 크리스탈 을 사용하는 모드임) - 12 -
5. V-USB Board를 PC로 연결하기 전에 제공된 CD에 있는 vusb_inf.zip 파일을 푼다. - 펌웨어를 올린 V-USB Board를 PC에 연결하면 드라이버를 찾게 되는데 옆의 그림과 같이 선택 한다. - 옆의 그림과 같이 Communications Port 선택하 고 다음을 누른다. ( 만약 Communications Port가 보이지 않으면 디스크 있음 버튼을 눌러 vusb_inf.zip 파일을 풀었던 폴더를 찾아서 avrcdc.inf를 선택한다. ex. vusb_inf/windowstandard/avrcdc.inf ) - 설치가 끝나면 장치관리자에서 Communications Port로 인식되었는지 확인한다. 포트에 COM5로 인식되어 있음을 확인할 수 있다. - 13 -
6. 장치관리자에서 Communications Port 번호를 확인하고 제공된 CD 안에 Terminal 프로그램을 실행한다. 2 글자 나타나는지 확인 1 여기에 글자 입력 - 현재 COM5로 Port가 잡혀 있으므로 Terminal 프로그램에 COM Port란에 보면 COM5 해당되는 5를 선택한 다. Terminal 프로그램의 셋팅을 9600,n,8,1로 한 다음 Connect를 누른다. 연결이 되면 글자를 입력하여 되돌아오는 문자를 확인한다. (알파벳 소문자로 입력하면 대문자로 나타남) - 글자가 제대로 되돌아온다면 TEST는 성공이다.!!! - 14 -
2. V-USB의 HID TEST하기. - 먼저 vusb_hid_eeprom.zip 파일을 풀고 펌웨어를 라이팅한다. - vusb_hid_eeprom.zip 파일을 푼 폴더 안에 /talk2hid/exe에 있는 샘플 프로그램을 실행하고 문자를 입력해 TEST 한다. (이때 DLL파일이 없다는 에러가 발생한다면, 제공된 CD에 setup.zip 파일 설치하고 사용하시기 바 랍니다.) 2-1. V-USB의 HID 통신은 방법이 매우 다릅니다. - Serial 통신 방법과의 가장 큰 차이는 VUSB 디바이스를 PC에 처음 연결했을 때 윈도우가 어떠한 드라이 버 설치를 요구하지 않는다는 것입니다. 즉 윈도우의 기본 HID(기본 마우스, 키보드)처럼 인식합니다. 그러므로 사용자는 디바이스를 컴퓨터에 연결하자마자 즉시 응용 프로그램을 실행하여 제어할 수 있는 매 우 편리한 방법입니다. - 단 한 가지 단점은 응용 프로그램을 개발할 때 USB 핸들을 얻는 방법이나 통신을 하는 방법이 한층 까다 롭습니다. 원칙적으로 사용자 레벨에서 읽고 쓰기 하는 디바이스 타입이기 때문입니다. 그러므로 Window DDL 의 몇몇 header와 라이브러리까지 동원해야 하는 다소 난이도가 높은 기술을 요구 합니다. 그런 모든 작업을 마무리하여 간단한 DLL을 작성하였습니다. 사용자는 VB, VC, Delphi를 열고 DLL을 사용하여 원활히 통신할 수 있습니다. - 샘플 프로그램은 V-USB 안의 eeprom에 128바이트까지 의 문장을 쓰기 읽기 하는 작업입니다. 쓰기를 한 다음, V-USB를 완전히 PC에서 분리 한 다음, 다시 연결하여 읽기, 정상적으로 eeprom에 저장되었는지 확인할 수 있습니다. 아니면 응용 프로그램의 VB용에서 쓰기를 한 다음 읽기는 Delphi 용을 사용하여 V-USB의 역할을 확인해 볼 수 있습니다. http://cafe.naver.com/wisechip 카페에 가입하시기 바랍니다. 다양한 관련 자료를 지원 받으실 수 있으며, 사용 중 질문 사항이 있으시면 카페로 문의하시기 바랍니다. - 15 -