2016-06-15 4 views
0

오늘 운이 좋으면 좋겠다. 이전의 USB 통합은 없었으며 Atmel 디바이스에서 임베디드 시스템을 학습 한 지 약 8 개월이 걸렸습니다. Atmel SAM L 시리즈를 사용하여 USB를 통해 컴퓨터에 연결하려고합니다. 유스 케이스는 데이터 전송을위한 것입니다. 특히, MCU는 센서로부터 데이터를 수집하고 USB 전송을 위해 패키징합니다.USB 통합은 장치 끝에서 어떻게 작동합니까?

저는 Atmel에 포함 된 모든 USB 예제를 검색하여 읽었습니다. 나는 또한 CDC에 대한 usb.org의 클래스 스펙을 읽기 시작했다.

나는 데이터를 하나의 com 포트를 따라 목표 usb로 보낸 다음 디버거 usb를 다른 com 포트로 보낼 수있는 무언가를 지금 실행했습니다. 그러나, 나는 이것이 진짜 USB라고 생각하지 않는다.

내 문제는 두 가지입니다.

1). com 포트에서 직렬 통신과 USB의 차이점을 완전히 이해하지 못했습니다.

2) 올바르게 테스트 했더라도 호스트 컴퓨터에서 허용 할 수있는 합법적 인 USB 장치를 실제로 작성했는지 확인하는 방법을 잘 모르겠습니다.

문서 (Atmel 또는 일반) 또는 예제 코드에 대한 링크가 인정 될 것입니다.

+0

조심하지 않으면 특수 장치 드라이버를 작성해야합니다. 일반적으로 운영 체제에 이미 내장되어있는 드라이버가있는 사용자에게 전달할 수 있기 때문에 HID (휴먼 인터페이스 장치)처럼 보이는 무언가에 유스 케이스를 적용 할 수 있는지 고려하십시오. 애호가가 USB를 구현하는 방법을 살펴보십시오. – infixed

답변

0

1) USB는 http://www.usb.org에서 USB 사양으로 정의됩니다. 직렬 포트는 TX 및 RX와 같은 이름의 핀에서 데이터를 앞뒤로 비동기 적으로 전송하는 이전 인터페이스를 사용했습니다. USB CDC 클래스 및 해당 ACM 하위 클래스를 사용하면 직렬 포트를 에뮬레이션하는 USB 장치를 만들 수 있습니다. 장치를 USB CDC ACM 장치로 만들면 Windows 10, Linux 또는 Mac OS X 용 드라이버를 제공 할 필요가 없습니다.

2) USB 사양 및 CDC ACM 사양을 읽을 수 있습니다 . USB command verifier을 실행할 수 있습니다. 다양한 USB 호스트로 장치를 테스트하여 제대로 작동하는지 확인할 수 있습니다.