본문 바로가기

USB

(62)
[FT2232H EVM] 보드 제작 [FT2232H EVM] 보드 제작 USB 2.0 High Speed를 지원하는 FT2232테스트 보드를 제작 했다. 기존 [FT2232D EVM] 보드, [FT245 EVM] 보드 와 핀맵이 호환 되도록 했다. 기존 보드와 동일하게 FT2232H의 모든 핀은 빠져 있고 EEPROM도 실장되어 있다. [FT2232H EVM] 회로도 핀맵 IO전원 설정
[FX2 EVM] HighSpeed USB Bulk 전송 테스트 - USB를 이용한 이미지 출력 [FX2 EVM] HighSpeed USB Bulk 전송 테스트 - USB를 이용한 이미지 출력 FX2는 USB2.0 Hispeed 를 지원하므로 TFT LCD에 이미지 출력하는 예제는 USB전송 속도 테스트 하기에 좋다. USB Hispeed는 한번에 512Byte를 전송할 수 있으므로 확실히 속도차이를 볼 수 있다. 하지만 8051코어라 이미지 출력을 GPIO로 하다보니 전송속도는 빠르지만 TFT LCD출력이 느리다. 추후 GPIF나 BUS방식으로 LCD를 제어하면 좀더 빠른 속도를 볼수 있을것 같다. USB로 이미지 전송 테스트 동영상 참고로 STM32를 이용하여 USB로 이미지 전송하는 예제와 비교하면 확실히 전송속도 차이를 확인할 수 있다. Hispeed USB Bulk 이미지 전송 PC 프로그램
[FX2 EVM] CY7C68013 USB 벌크 전송 테스트 [FX2 EVM] CY7C68013 USB 벌크 전송 테스트 FX2 Ez-USB를 이용하여 USB Bulk전송 테스트를 해 보았다. 먼저 CY7C68013쪽 펌웨어 에서 TD_Pool() 함수를 수정하여 USB로 데이터를 수신하거나 전송할 수 있다. 아래 코드는 USB로 PC에서 받은 데이터를 처리하는 부분이다. 주석을 보면 쉽게 이해할 수 있다. void TD_Poll(void) { WORD i; WORD count; //EndPoint로 데이터가 들어오면 if(!(EP2468STAT & bmEP2EMPTY)) { //받은 데이터가 들어 있는 포인터의 주소를 Auto Buffer1로 할당한다. APTR1H = MSB( &EP2FIFOBUF ); APTR1L = LSB( &EP2FIFOBUF ); //내..
[FX2 EVM] Ez-USB CY7C68013 보드 제작 [FX2 EVM] Ez-USB CY7C68013 보드 제작 USB 2.0-USB-IF high speed 를 지원하는 Cypress사의 Ez-USB FX2 CY7C68013A 테스트 보드를 제작했다. [M-Type EVM] 표준 핀맵으로 제작해 여러 테스트 보드에서 테스트 가능하도록 했다. TFT LCD 확장 테스트 보드 [FX2 EVM] 회로도 Ez-USB FX2 테스트 동영상 LED제어 펌웨어 다운로드 하여 FX2 EVM 동작 테스트 [FX2 EVM] Hispeed USB Bulk 테스트
[CANTUS EVM] USB HID테스트 - USB로 센서 데이터 그래프에 표시 [CANTUS EVM] USB HID테스트 - USB로 센서 데이터 그래프에 표시 CANTUS는 저렴한 MCU임에 불구하고 USB기능이 있어 여러모로 사용할곳이 많은것 같다. USB를 이용하여 3축 가속도 센서 데이터를 그래프로 표시하는 테스를 해 보았다. 기존 STM32를 이용하여 센서데이터를 USB로 전송하는 예제가 있어 쉽게 포팅할 수 있었다. HID를 이용하면 드라이버필요 없이 USB에 연결할 수 있어 간단히 USB전송하기 좋다. ADChip사에서 제공하는 USB API를 이용하면 아주 간단히 USB를 제어 할 수 있다. 깔끔하게 잘 동작한다. 하지만 라이브러이 형태이기 때문에 수정이나 다른 프로젝트에 계속 추가 하기가 쉽지 않아 사용자 처리 부분은 빼내서 처리했다. 그리고 한가지더.. 엔드포인트..
ECG 테스트 - USB 데이터 전송 및 그래프 표시 테스트 (USB HID이용) ECG 테스트 - USB 데이터 전송 및 그래프 표시 테스트 프로젝트 용으로 만들었던 USB로 ADC데이터를 그래프로 출력하는 보드를 이용해서 ECG데이터 수집 테스트를 진행 했다. 정밀 16비트 ADC ad8320을 이용하기 때문에 데이터는 깨끗하게 출력되는것 같다. 몇가지 파라메터만 간단히 변경해서 출력 데이터 확인 했다. ECG 출력 PC프로그램 ECG 테스트 동영상
USB Bulk전송과 HID전송의 속도 차이 USB Bulk전송과 HID전송의 속도 차이 USB Bulk와 HID속도가 1트랜잭션 전송시 2ms로 동일하게 나온다. 노트북(2.2GHz P8400) 에서 테스트 했는데 뭔가 좀 이상해서 테스크탑에서 테스트 해보았다. 3.4Ghz i7-270 에서 테스트 하니 속도차이가 확실하게 나타난다. USB Bulk 전송시 1트랜잭션(64Byte)전송시 250us정도 걸린다. HID 전송시 1트랜잭션 (63Byte) 전송시 1ms 정도 걸린다. 4배정도 차이가 난다. 아무래도 내부 dll 거치면서 속도가 느려지는것 같다.
[AT90USB162 EVM] HID Mouse 만들기 [AT90USB162 EVM] HID Mouse 만들기 AT90USB162는 AVR코어에 USB기능이 있는 칩이다. 저렴하게 그리고 기존 AVR코드를 활용해서 USB기능을 추가하여 제작할 경우 유용하게 사용될수 있다. Atmel사에서 제공하는 예제를 이용하여 HID Mouse를 간단히 만들어 보았다. 우선 마우스의 구동을 위해 스위치가 있는 확장보드를 이용해 하드웨어를 구성한다. 각 키에 따라 UP(PB0), Down(PB1), Left(PC5), Right(PB6)를 점퍼 이용하여 설정. 그리고 보드 자체의 LED와 스위치를 이용해 마우스 클릭 버턴 Click(PD1) 을 구현한다. AT90USB162 HID Mouse 소스코드 (소스코드) gcc를 이용한 AVRStudio를 이용하여 컴파일 가능하다...