[INTERFACE]/USB2008. 2. 9. 08:32

USB Full Speed 데이터 전송속도

USB Full Speed 데이터 전송속도


Ethernet to USB 보드 제작할때 일이다. FTP에서 데이터를 보내서 USB보드에 저장하는 장치 인데 FTP에서 속도 측정 결과 최대속도 340KByte/s 가 나왔다.
의뢰한 클라이언트의 말
"12M USB가 이것밖에 안돼?"
황당하다~


USB는 여러개의 트랜젝션(Setup, Data IN, Data OUT. Status IN, Status Out)으로 전송된다. 하나의 트랜젝션은 여러개의 패킷으로 나누어지는데 엔드포인터의 최대 전송 수에 관계된다.
 
벌크 전송의 예로 100바이트의 데이터를 전송하는 트랜젝션은 64 + 36 두개의 트랜젝션으로 나누어진다.
 
[OUT 트랜젝션 1]
1)C -> D : OUT Token Packet
2)C -> D : 64byte Data Packet
3)D -> C : HandShaking Packet
 
[OUT 트랜젝션 2]
1)C -> D : OUT Token Packet
2)C -> D : 36byte Data Packet
3)D -> C : HandShaking Packet
 
USB 보드를 제작하고 클라이언트 들에게 자주 듣는 예기로 "USB는 12Mbps 인데 왜이리 느린거야?"는 말이다.
단순히 USB 스펙의 12Mbps만을 생각하기 때문이다.
12Mbit/s -> 1.5Mbyte/s이고
1.5MB/3(tranjaction) -> 500Kbyte 가 최대 전송속도가 된다.

하지만 실제 소형 마이컴에서 이 속도 내기는 무리다. 대부분 USB컨트롤러를 이용하므로 컨트롤러 제어하고 인터럽트 처리 데이터 카피등으로 인해 느려지고 데이터 받아서 뭔가 처려하려고 들면 훨씬더 느려진다. 그리고 Bulk전송만 한다면 모르지만 트랜젝션 전환이 많으면 많을수록 훨씬 더 느려진다.
요즘은 MCU + USB포함된 MCU가 많이 출시되므로 좀 달라졌겠지만 400KByte/s 이상 나오는것 잘 못본것 같다.
 
 



Posted by nexp
TAG USB

댓글을 달아 주세요

[INTERFACE]/AVR_W5100_EVM2007. 11. 25. 10:47

[Mega128 EVM]보드 관련 자료

[Mega128 EVM] 보드 관련자료

사용자 삽입 이미지



보드 구성
PCB상에서 AVR Mega128, AT90USB1287를 적용할 수 있도록 구성하였고 전원은 3.3V, 5V 설정할 수 있도록 했다.
이더넷는 Ethernet MAC + Phy + Hward Wired TCP/IP Chip W5100을 이용하여 소프프트웨어 부담이 없이 이더넷을 적용할 수 있도록 했다. SPI, BUS direct/indirect모드로 제어할 수 있도록 설정할 수 있다.
USB to Serial(CP2101)칩을 두어 간단히 시리얼 통신이 가능하다.
보드에 디버깅용 LED 2개와 1개의 스위치를 두어 보드만으로 간단히 테스트 가능하다. LED는 PWM, SW는 INT단자에 연결되어 PWM및 INT테스트 가능하다.



회로도



Application Expention Board





PCB수정사항
회로 틀린것을 알고 있었지만 급하게 발주하다보니 수정할 시간이 없었다. 차후 버젼은 좀더 기능 올리고 수정 사항 추가 해야 겠다.
W5100쪽의 리셋핀이 연결되지 않았다. 59(RESET)번핀과 JP1 5번핀 연결요망, 60번핀이 NC이므로 59, 60번핀을 리셋으로 연결하면 된다.


W5100의 크리스탈의 C24, C25사이에 1M옴 저항이 필요 하다.  없으면 클럭이 불안해 지는군..

 


SPI Data Flash 수정
Data Falsh AT45DBxx를 사용하려면 SPI의 MISO핀이 중복으로 연결되어 수정이 필요하다.
급하게 하다보니 실수한 곳이 많다... ㅠㅠ

Posted by nexp

댓글을 달아 주세요

[INTERFACE]/USB2007. 11. 1. 11:15

[AT90USB1287] 판매처 및 가격

AT90USB1287은 ATMega128코어를 가지고 USB호스트, 디바이스지원하는 칩이다.
AVR코드를 그래로 사용할수 있어 좋고 USB호스트를 저렴하게(대량 3~4$대) 구현 할수 있는 장점이 있어 좋다.

AT90USB1287 디지키에서 판매 하고 있다.
생각외로 비싼 16000원!, 아트멜은 어떻게해서 이렇게 팔아 먹지? 다른 칩회사들은 샘플을 못 줘서 안달인데...


Digi-Key 부품번호 제조업체 부품 번호 구분 제조업체 실장형 패키지 유형 유형 프로세서 크기 공급 전압 일반[Nom] 코어(ALU) 유형 프로그램 메모리 보조 메모리 RAM 크기[Nom] 클록 주파수[Max] 입/출력핀 개수[Nom] 인터페이스 포장 최소주문수량 이용가능 수량 단가
KRW
Datasheets
Sort Ascending Sort Descending Sort Ascending Sort Descending Sort Ascending Sort Descending Sort Ascending Sort Descending Sort Ascending Sort Descending Sort Ascending Sort Descending Sort Ascending Sort Descending Sort Ascending Sort Descending Sort Ascending Sort Descending Sort Ascending Sort Descending Sort Ascending Sort Descending Sort Ascending Sort Descending Sort Ascending Sort Descending Sort Ascending Sort Descending Sort Ascending Sort Descending Sort Ascending Sort Descending Sort Ascending Sort Descending        
AT90USB1287-16AU-ND AT90USB1287-16AU IC AVR MCU 128K 64TQFP Atmel 표면(SMD, SMT) 64-TQFP USB 제어기 8비트 2.70 V;
3.00 V;
3.30 V;
5.00 V
AVR® Flash (128 kB) EEPROM (4 kB) 8 kB 16.000 MHz 48 SPI™;
TWI;
USART;
USB
트레이
1
341
16,510.00000
Datasheets
AT90USB1287-16MU-ND AT90USB1287-16MU IC AVR MCU 128K 64QFN Atmel 표면(SMD, SMT) 64-QFN USB 제어기 8비트 2.70 V;
3.00 V;
3.30 V;
5.00 V
AVR® Flash (128 kB) EEPROM (4 kB) 8 kB 16.000 MHz 48 SPI™;
TWI;
USART;
USB
트레이
1
40
16,510.00000
Datasheets

20:09:46 1/31/2008

2011.10
http://eleparts.co.kr/search/keyword_search.php?s_check=all&search_colum=all_union&keyword_word=at90usb1287&search=at90usb1287


Posted by nexp

댓글을 달아 주세요

[INTERFACE]/USB2007. 7. 8. 20:13

[CP2101 USB2Serial] Board 관련 자료

 [CP2101 USB2Serial] Board 관련 자료

사용자 삽입 이미지


USB를 연결하면 CN54 1, 2번핀으로 5V파워가 출력된다.
시리얼 포트는 CN52 8, 9번핀으로 시리얼 RXD, TXD를 연결하면 USB로 시리얼 데이터를 송 수신 할 수 있다.








시리얼 포트 연결 외에 CN54의 9, 10핀 P1.0, P1.1에 On Board LED가 2개 있어 다른 MPU Board에서 바로 제어 가능하다.

Posted by nexp

댓글을 달아 주세요

[8051]2007. 3. 19. 12:27

[MSC1210 EVM] 시리얼 포트제어 - VB로 LED제어

[MSC1210 EVM] 시리얼 포트제어 - VB로 LED제어



MSC1210 EVM과 VB를 이용하여 시리얼 포트로 LED를 제어하는 예제를 테스트 했다. PC프로그램은 기존에 작성했던 USB제어 프로그램을 이용하였다. 사용한  MCU는 MSC1214 이다.




Posted by nexp
TAG 8051, MSC1210, USB, vb

댓글을 달아 주세요