AVR-USB (7) 썸네일형 리스트형 [Atmega8 EVM] USB HID 테스트 [Atmega8 EVM] USB HID 테스트 USB HID을 이용하면 윈도 표준 입력 인터페이스로 드라이버 필요 없이(정확히는 Windows 내부 표준 드라이버) USB연결 할 수 있다. USB Mouse, Keyboard, Joystick 등이 이 표준을 따르는데 USB를 연결하면 바로 동작하기 때문에 사용자 입장에서 상당히 편리한 인터페이스 이다. 이번에는 AVR AtMega8 (ATMega8-EVM) 의 USB 소프트웨어 스텍을 이용하여 HID Data 테스트를 해 보았다. 스프트웨어 스텍이라 약간 불안하거나 속도에 문제가 있지 않을까 했는데.. 테스트 결과 속도도 나쁘지 않고 저렴고 간단하게 사용할 수 있어서 좋은것 같다. Atmeg8 EVM을 USB에 연결하면 HID장치로 인식되고 휴먼인터페이.. [AtMega16-SM EVM] Atmega32 보드 관련 자료 [AtMega16-SM EVM] Atmega32 보드 관련 자료 자주 사용하는 특수 기능핀들을 표준화해서 보드를 제작해 두면 여러모로 사용할 곳이 많다. 이번에 TQFP44핀의 Atmega16 시리즈를 몇가지 기능을 업데이트 하여 [SM-Type EVM] 으로 제작해 보았다. MPU는 TQFP 44핀의 Atmega16, Atmega163, At9085335등이 가능하지만 ATmega32를 이용하여 조립했다. 옵션으로 [AVR-USB 소프트웨어 스택] 을 이용하면 USB기능을 사용할 수 있도록 했다. 평소에 USB전원으로 사용하다 필요할때 저항 3개만 연결하면 된다. 회로도 [SM-Type EVM]이라 USB2UART, Bluetooth, Zigbee와 같은 통신 모듈을 연결 가능하다. AVR Mega16.. [Mega8-SM EVM] 소형 AVR보드 제작 [Mega8-SM EVM] 소형 AVR보드 제작 기존 [Mega8-s EVM]에 확장해서 [SM-Type EVM] 로 제작 했다. SM-Type은 USB2Seral 모듈이나 Bluetooth 모듈 등을 연결할수 있고 SPI, I2C, UART등의 자주사용하는 기능을 표준화된 핀맵으로 정의해서 제작하고 있다. 또한 소프트웨어 USB스택을 테스트 할 수 있도록 USB커넥터를 연결 하능하다. (참고 USB 관련 테스트 예제, USB 호스트 예제) USB커넥터를 두어 SW USB Stack을 테스트 할 수 있을 뿐아니라 USB2UART가 있어 디버깅 및 Arduino 를 쉽게 포팅할 수 있도록 제작했다. 회로도 확장 커넥터 on board LED USB Connector [ATmega8-s EVM] USB HID Keyboard 예제 작성 [ATmega8-s EVM] USB HID Keyboard 예제 작성 [AVR-USB 소프트웨어 스텍] 을 이용하여 USB키보드를 제작해 보았다. ATmega8 보드에 USB를 연결하면 장치관리자에 "HID 키보드 장치"로 인식되는 것을 확인할 수 있다. Keyboard 처리 KEY_DATA_REPORT m_KeyBuffer[NUM_KEYS + 1] = { {0, 0}, // no key pressed {MOD_SHIFT_LEFT, KEY_1}, {MOD_SHIFT_LEFT, KEY_2}, }; void ProcessKeyboard(void) { if(!(ReadKey() & SW1_VALUE)) { if(!m_SwFlag[0]) { //Key Press m_SwFlag[0] = 1; Led1On(); .. [Mega8-s EVM] USB를 이용한 LED제어 - 호스트프로그램 작성 [Mega8-s EVM] USB를 이용한 LED제어 - 호스트프로그램 작성 VB 소스코드 VB를 이용하여 Mega8 USB보드의 LED를 제어하는 소프트웨어를 작성해 보았다. 예전 USB2Serial 예제를 그대로 사용하기 위해 최대한 간단하게 작성했다 예전 프로그램을 약간 수정하여 보레이트는 9600으로 설정하고 PORT는 콤보박스의 설정에 따라 초기화 할 수 있도록 하였다. 'com포트 열기 MSComm1.Settings = "9600,n,8,1" MSComm1.CommPort = m_ComPort MSComm1.PortOpen = True 프로그램 실행 USB를 이용한 atMega8 보드의 LED제어를 위한 호스트 프로그램 실행 테스트 동영상 [Mega8-s EVM] USB를 이용한 LED제어 - 펌웨어 작성 [Mega8-s EVM] USB를 이용한 LED제어 - 펌웨어 작성 AVR-USB CDC I/O 의 참고 예제 소스를 이용해 AVR을 이용한 USB를 테스트 했다. atMega8만을 이용하여 소프트웨어로 USB스텍을 처리 하기 때문에 속도 자체는 빠르지 않지만 저렴하고 간단하게 USB구현 하기에 상당히 좋은것 같다. 소스코드 테스트 예제는 이해를 위해 상당히 간단하게 작성했고 PC시리얼 포트로 전동되는 문자 "1", "2", "3", "4"에 따라 보드에 있는 LED를 제어할 수 있도록 구성하였다. USB Serial포트로 데이터가 전송되면 usb_cdc_rcv()함수가 수행되며, data를 받아서 처리하면 된다. usb_cdc_rcv //------------------------------------.. [Mega8-s EVM] USB CDC를 이용한 보드 제어 - 드라이버 인식 [Mega8-s EVM] USB CDC를 이용한 보드 제어 [Mega8-s EVM]을 이용하여 CDC(USB2Serial) 테스트 프로그램을 작성해 보았다. 에서 참고한 소스를 수정 하였는데... 처음에는 정상 동작하지 않았다. USB D+, D- 포트 핀 설정을 내 보드에 맞도록 수정 해 주었고 디스크립트 몇가지 수정 하였으며 실제 동작 부분도 보드 상태에 맞도록 수정 하였다. 정말 값싸게 AVR atMega8을 이용하여 USB를 이용할 수 있어 간단한 어플리케이션에 딱 좋겠다. USB인식 플래시 라이트 후에 USB케이블을 다시 연결 해 주어야 정상 반영이 되는데... 그것때문에 시간이 좀 걸린것 같다. 드라이버 설치 드라이버는 MS에서 제공하는 CDC드라이버를 이용하고 INF파일만 좀 수정하여 설치 .. 이전 1 다음