2024/03 4

ATMEGA32U4 breakout-보드 사용하기 3편(USB CDC)

안녕하세요. 오늘은 기존의 프로젝트에 USB CDC를 추가해보겠습니다. CDC는 Communication Device Class를 의미합니다. UART통신과처럼 시리얼포트가 잡히고 터미널프로그램을 이용해서 데이터를 송수신합니다. USB CDC를 사용하면 UART JIG를 사용하지않아도 되므로 편리합니다. ATMEGA32u4 breakout보드는 USB커넥터에 D+, D-가 연결되어 있습니다. 그리고 USB 2.0을 지원합니다. *일반적인 USB CDC 통신 순서 1. USB ENABLE 및 기본 세팅 2. Endpoint 데이터 송수신코드 작성 3. HOST에 연결했을때 셋업EP에 응답하는 표준 디스크립터 작성 4. 셋업 EP로 오는 CDC CLASS에 관한 디스크립터 작성 5. 셋업 EP로 오는 디바이..

USB2.0 기본개념

안녕하세요. 오늘은 USB 통신에 대해 알아보겠습니다. USB 란 Universal Serial Bus의 약자입니다. 범용 직렬 버스라고 부릅니다. 일반적인 USB는 통신할때 선이 4가닥(USB 2.0) 필요합니다. (VCC, GND, D+, D-) VCC랑 GND는 전원(5V) 이고 D+,D-는 통신라인입니다. 아래의 사진은 USB 2.0 허브입니다.선이 4가닥있는것을 볼 수 있습니다. 그래서 통신파형을 측정할때는 D+,D-,GND를 측정하면 됩니다. *용어 USB관련 자료를 볼때 자주 사용하는 용어들을 정리해보겠습니다. 호스트(Host) : USB의 마스터를 호스트라고 부릅니다. 일반적으로 PC가 됩니다. 디바이스(Device) : USB의 슬레이브를 디바이스라고 부릅니다. 일반적으로 PC에 연결하는..

MCU지식/USB통신 2024.03.30

ATMEGA32U4 breakout-보드 사용하기 2편(프로젝트 구조&UART)

안녕하세요. 오늘은 프로젝트 구조와 UART에 대해 알아보겠습니다 먼저 inc폴더와 source 폴더를 만들었습니다. inc폴더는 헤더파일을 넣고 source폴더에는 c파일을 넣었습니다. 각 모듈들은 하나의 헤더파일과 소스파일로 나눴습니다. def.h파일은 모든 파일이 공통적으로 사용하는 define을 넣어놨습니다. MICROCHIP STUDIO에서 폴더를 빌드에 포함시키는법은 툴체인-> 디렉토리에서 추가하면 됩니다. *UART (레지스터에 대한 설명은 블로그내에 있는 다른 UART글 참고 바랍니다) https://wowon.tistory.com/269 UART통신 알아보기 안녕하세요. 오늘은 UART통신에 대해 알아보겠습니다. UART통신은 전송(TX)/수신(RX) 핀이 각각있고 핀이 HIGH / LO..

ATMEGA32U4 breakout-보드 사용하기 1편(avrdude사용)

안녕하세요. 오늘은 ATMEGA32U4 breakout 보드를 사용해보겠습니다 해당보드는 sparkfun에서 만든보드고 특징으로는 USB인터페이스가 있으므로 ISP장비가 없어도 펌웨어를 다운로드 가능합니다. https://www.sparkfun.com/products/retired/11117 ATMEGA32U4는 아두이노 레오나르도보드에 사용됩니다. ATMEGA32U4는 USB 인터페이스를 제공하므로 아두이노 레오나르도보드가 펌웨어를 다운받을때 별도의 장비가 필요없습니다. 많이 사용하는 아두이노 우노는 ATMEGA328p을 사용하고 해당 MCU는 USB인터페이스를 지원하지않으므로 아두이노우노에는 ATMGEA16u2가 들어가있어서 펌웨어를 다운로드하게 해줍니다. 아두이노 IDE는 펌웨어를 다운로드할때 av..