본문 바로가기
임베디드.일렉트로닉스/EFM8

EFM8 UB1, USB 설정하기.

by 리치굿맨 2019. 9. 4.

 

 

개요

 

8비트 MCU EFM8 UB1 시리즈에서 USB 사용가능하게 설정하는 법.

- Simplicity Studio 에서 제공하는 Configurator 이용함.

- 본 프로젝트에서의 시험용타겟보드 : http://igotit.tistory.com/456

 

단계1. Simplicity Studio에서 프로젝트 EFM8UB1_USBTEST 생성.

단계2. Configurator에서 USB 선택하고 세부설정하기.

 

사전지식.

1. EFM8 UB1 시리즈 이해 : http://igotit.tistory.com/455

2. Simplicity Studio 에서 프로젝트 생성법 : http://igotit.tistory.com/230

 

 

 

 

 

 

Configurator 에서 USB 선택하고 설정하기.

 

우리가 만든 프로젝트에서 Configurator  선택하여 USB Library 를 선택하고 오른쪽 화면에서 상세 설정 처리한다.이 과정에서는 USB 를 어떤 방식으로 사용할 것인가에 따라 설정은 천차 만별이다. USB 스펙에 대한 기본적인 이해를 바탕으로 설정해야 한다.

USB Library 의 Properties 설정창에서 Clock Recovery 및 Callback function 들을 enable로 해두고 나머지는 모두 기본 설정값 그대로 두고 시험하기로 한다. 이 상태에서는 PC에 연결해도 정상적인 인식과정은 이뤄지지 않을 것이나, EFM8 측에서 가장 기본적인 설정법을 이해함에 있어서는 설정하지 않고 그냥 진행한다. 

 


한편,위 파박에서 보이는 오류는 USB Library 를 선택하게 되면 필수 Interrupt 를 설정해줘야 함을 알려주고 있다.

아래 그림처럼 Interrupts 를 활성화 해주면 된다. - Enable USB(USB0) Interrupt 는 필수 아님.

 

 

이제 위 상태에서 프로젝트를 빌드해보자.

아래 그림의 왼쪽의 파일들처럼 자동으로 코드를 생성해준다.

 

 

위 상태로 빌드하고 펌웨어를 타겟에 기록하여 PC로 USB 연결해 보자. 현재 우리는 사용자 코드와 USB 설정을 기본 제공되는 것만 해둔 상태이지만 정상적으로 USB Enumeration 과정은 진행된다. PC의 장치관리자에서 보이는 Generic USB Device 가 우리가 연결한 기기를 보여주는것.

 

 

 

위 장치관리자에서 보이는 Generic USB Device 는 우리 프로젝트의 USB 설정부(아래 그림) 에서 기록해둔 이름이 그대로 보이는 것이다. 이 이름을 변경하고 PC와 연결해보면 변경된 이름으로 보이게 된다.

 

 

 

여기까지가 EFM8 UB1 시리즈에서 USB 를 활용하기 위한 기본 골격에 해당하는 것이며, 기기를 USB 마우스로 인식시킬지 혹은 키보드, 혹은 오디오 기기, Mass Storage 로 인식되도록 하는것은 USB 디스크립터 설정에 의하여 결정되며, 바로 위 그림의 USB Property에서의 Device, Configuration, Interface, Endpoints 설정과 PC측의 대응하는 장치드라이버에 의하여 결정된다.

 

또한, 특정 기기로 인식된 이후에 펌웨어 코드상에서는 해당하는 규격(마우스, 키보드, 일반장치등)에 맞도록 데이터 핸들링 처리해줘야한다.

 

 

 

 

 

2019년 9월 4일 추가. 


Simplicity Studio 4 에서 EFM8 UB1 USB 설정 동영상. 




 

 본 글이 포함된 상위 정리장소 :

1. MCU의 EFM8 : http://igotit.tistory.com/244

2. Connectivity 의 USB : http://igotit.tistory.com/280





첫등록 : 2015년 11월 28일 

최종수정 : 2019년 9월 4일 


본 글 단축주소 : https://igotit.tistory.com/457





///457.

 

태그

,

댓글0


   
현물 |선물 인버스 |선물 USDT     현물 | 선물 USDT |봇제작툴/카피트레이딩     현물 |선물 인버스 |선물 USDT     선물 인버스 |선물 USDT