USB Device
HCC Embedded » USB » USB Device
Device Stack
EUSBD™는 HCC의 임베디드 시스템 엔지니어에 의해서 설계된 Embedded USB Device Stack(EUSBD)으로 가장 효율적인 USB 디바이스 솔루션입니다.
EUSBD-BS (the EUSB Base System)는 End-point 제어를 위한 완벽한 USB 디바이스 스택을 제공합니다. 그것은 간단한 단일기능의 디바이스에서 복잡한 멀티 인터페이스 합성 디바이스까지 사용자 요구사항의 전체 범위를 지원할 수 있습니다.
EUSBD는 USB 디바이스 descriptors를 쉽게 생성 및 (능숙하게) 다루기 위해서 그래픽 디바이스 descriptor 구성 도구(DESCGEN : USB Device – Descriptor Generator)와 함께 제공됩니다.
USB Device – Descriptor Generator
불행하게도, 이러한 Descriptors(상호 연결된 테이블 집합 또는 구조체)는 간단하거나 직관적으로 만들수 있는 것은 아닙니다.
DESCGEN은 개발자가 Device Descriptors를 수정하는 데 사용할 수 있는 그래픽 도구로 직관적인 형태로 구성되어 있습니다. 개발자는 완전히 USB Device Descriptors의 동작에 대해서 이해하실 필요가 없습니다.
구성 파일은 입력하거나 수정할 수 있습니다. HCC는 DESCGEN 템플릿 파일을 모든 USB 디바이스 스택과 함께 제공합니다.
DESCGEN의 출력은 직접적으로 프로젝트의 디렉토리 설정에 포함되어 있는 C 소스 파일입니다.
USB 디바이스 Descriptor 테이블을 변경하는 것은 더 이상 지루하거나 시간소모가 많은 잡일이 아닙니다.
USB 디바이스 컨트롤러 하드웨어에 대한 표준은 없습니다. 따라서, HCC는 다양한 USB 디바이스 컨트롤러에 대한 Low-level 드라이버(아래참조)를 EUSBD-BS와 함께 공급하고 있습니다.
HCC-Embedded’s USB device stack currently supports the following targets:
-
Atmel: AT91SAM7xxx, AT91SAM9xxx, SAM3S, SAM3U, AT91RM9200, AVR32
-
Freescale: imX2x/3x/5x, JM60/128, MPC834x
-
Freescale: MCF52xx, MCF5222x, MCF53xx, MCF54xx
-
Maxim: MAX3421E
-
Microchip: PIC24, PIC32
-
NXP: ISP1161, ISP1183, ISP1361, ISP156x, ISP158x, ISP1761
-
NXP: LPC11xx, 13xx, 17xx, 2148, 2368/78/88, 2468/78, 28xx, 29xx, 31xx, 32xx
-
Renesas: SH72xx, RX600
-
ST: STR7xx, STR9xx, STM32F1xx, STM32F2xx
-
TI: MSP430, Stellaris, DSP 5509A, 6457
고객님의 USB 호스트 컨트롤러가 현재 지원되었는지 확인하고 싶다면 이노에스제이(주) info@innosj.com 로 문의하십시오!
저희는 현재 지원되지 않는 경우에 대부분 무료 포팅서비스를 제공하고 있습니다.
EUSBD는 USB 1.0, 1.1, 2.0 시스템(Low,Full and High speed)을 지원합니다.
4개의 End Point 타입인 제어, 인터럽트, 벌크 및 주기성(등시)[Control, Interrupt, Bulk, Isochronous]을 지원합니다.
HCC는 클래스 드라이버 설정과 일치된 타겟보드에 완전하게 작업중인 프로젝트와 같이 EUSBD를 우선적으로 제공하여 우리 고객에게 매우 깔끔한 시작과 개발을 위한 좋은 기반을 제공하고 있습니다.
모든 HCC소프트웨어와 마찬가지로 EUSBD는 최소의 노력으로 포팅되도록 설계되었습니다.
EUSBD는 전체 ANSI C 소스코드와 함께 Royalty-free 라이센스입니다.
USB – AUDIO
EUSBD-AUDIO는 USB 호스트 디바이스(PC) 또는 오디오 입력 데이터를 전송할 때(마이크, USB 호스트), 임베디드 디바이스에서 오디오를 재생하는 것을 가능하게 합니다. 그것은 오디오 컨텐츠를 전송하기 위해서 등시 끝점[Isochronous End Point]을 사용합니다. 등시 끝점[Isochronous End Point]은 응용 프로그램에 일정한 대역폭을 제공합니다. 이것은 실시간 데이터를 전송할 때 필수적입니다.
HID 클래스 드라이버(볼륨, 밸런스 등)는 오디오 장치 제어에 사용됩니다.
기본적으로, 시스템은 PCM 데이터의 형태에서만 원시[raw] 오디오 포멧을 지원합니다. 다른 형식은 요청하여 지원될 수 있습니다.
지원 샘플링 속도는 타겟 하드웨어 및 설계 요구 사항에 따라 달라지고, 동시 오디오 채널의 숫자는 타겟 디바이스의 끝점 구성에 의해서 제한됩니다.
표준 EUSBD 오디오 패키지는 USB 호스트(마이크 입력 데이터)에 의해서 재생되는 채널 백 오디오 데이터의 데모를 포함합니다.
이것은 오디오 입력과 출력에 대한 안정적인 테스트 플랫폼을 제공됩니다.
HCC는 마이크와 스피커를 위한 미리 테스트된[Pre tested] 프로젝트를 제공할 수 있습니다.
많은 경우에 이 프로젝트는 타겟 하드웨어 및 설계 요구사항과 일치하도록 조정하는 것이 필요합니다.
USB Device – Bootloader
BL-EUSBD-XXX는 USB 연결을 통해 호스트 응용 프로그램에서 (새 코드 이미지를 로드하는) 부트로더를 구성하는 데 사용되는 bootstub입니다. 그것은 오버헤드를 최소화하기 위해 HCC의 EUSBD 디바이스 스택의 특별한 버전과 간단한 전송 프로토콜을 사용합니다.
2. HCC의 USB 임베디드 파이프와 무료 샘플 어플리케이션 중 하나를 사용하십시오!
3. Microsoft사의 Winusb와 같은 다른 일반적인 USB 호스트 인터페이스를 사용하십시오!
BL-EUSBD-XXX typically requires <4K for code and <1K of RAM on an ARM7 device.
USB Device – Communication Device Class
샘플 어플리케이션은 USB 인터페이스의 통신포트를 통해서 표준 윈도우즈 터미널 프로그램(Hyper Term)에 의해서 제어할 수 있는 임베디드 Command line 터미널을 제공합니다.
두가지 방법에 의한 구현은 일반적인 개발보드의 다양한 작업 프로젝트를 제공받거나 HCC의 USB를 사용한 uCDrive 개발보드를 제공받아 구현할 수 있습니다.
USB Device – HID
EUSBD-HID 는 USB 디바이스에서 휴먼 인터페이스 디바이스 클래스를 사용하기 위한 Suite입니다.
The HID class is used for sending pre-defined reports both from the device to the host and from the host to the device. A report is effectively a structure containing an array of bits that can be defined as required by the application.
The standard EUSBD-HID package includes four USB device implementations:
-
Keyboard
-
Mouse
-
Joystick
-
Generic
The HID class uses interrupt end points for standard reports and the control end point for feature reports.
HCC includes a sample program for Windows (with full source available in C++ or C#). The sample program allows reports to be read and written.
USB Device – MASS STORAGE CLASS
A full USB mass storage class is available, together with optimized drivers for accessing SD/MMC cards and other devices.