Arduino와 고속 컴퓨터 인터페이스


10

호스트 컴퓨터의 많은 요청을 처리하는 Arduino 프로젝트를 계획 중이며 직렬을 통한 표준 115200 최대 전송 속도로는 충분하지 않습니다. 가능한 경우 1Mbps 전이중을 사용할 수 있기를 원하지만 400Kbps + 전이중이 허용됩니다. Arduino Due를 사용하고 있으므로 훨씬 빠른 통신 속도를 처리 할 수 ​​있어야합니다.

직렬보다 전송 속도를 크게 높일 수있는 방법이 있습니까? 아니면 컴퓨터와 더 빠른 속도로 인터페이스하는 방법에 대해 두 번째 옵션을 사용할 수 있습니까?


FTDI FT232 장치는 문제없이 최대 3Mbps까지 올라갈 수 있으므로 FTDI 기반 USB 직렬 변환기를 사용하는 경우 쉬운 옵션입니다. 나는 Arduino 사람들이 ATmega16U2보다는 그들과 붙어 있었으면 좋겠다.
코너 울프

UART가 1Mbps 비트 전송률을 지원할 수도 있지만 데이터를 제공하는 마이크로 컨트롤러도 필요합니다. 가능하지만 최대한 쉽게 도달 할 수 있습니다.
jippie

400kbps의 "많은 요청"으로 AVR을 슬래 밍하는 경우 사용하는 데 시간이 많이 걸리면 놀랄 것입니다.
Nick T

답변:


8

Arduino, 특히 Due로 Mbps 범위에서 일어날 수 있습니다. 직렬 모니터는 최대 115200의 전송 속도 만 지원하지만 별도의 터미널 창을 사용하여 전송 속도를 원하는대로 설정할 수 있습니다.

자세한 내용 은 Arduino 포럼의 This Thread 를 참조하십시오 .

설정 측면에서 Arduino Serial.begin(1000000);는 그 정도 만큼이나 쉽습니다 . 통신하려는 장치의 설정과 처리 할 수있는 모든 것입니다.


표준 직렬 over USB 드라이버가 이러한 속도를 지원합니까? IDE의 직렬 모니터가 아닌 스크립트를 통해 대화 할 것입니다.
다항식

나는 그것을 믿는다. 스크립트를 사용하는 경우 상태가 양호해야합니다. Arduino Due의 UART 하드웨어는 UNO와 동일합니다. ATmega16U를 사용하여 최소 1Mbps의 직렬 인터페이스를 제공합니다. Serial over USB 드라이버도이 속도를 지원해야합니다.
Jay Greco

테스트하기 위해 언제든지 빠른 테스트 스케치를 설정할 수 있습니다. 보드를 기본값보다 높은 것으로 설정하고 같은 보드에서 설정된 터미널을 사용하십시오. 데이터가 나오면 Arduino가 해당 보드에 적합하다는 것을 알 수 있습니다.
Jay Greco

기술적으로 호스트 PC가 전송 속도 측면에서 요구하는 것은 중요하지 않지만 16U와 메인 Arduino 프로세서가 동의한다는 사실만으로 실제 USB 쪽이 직렬 전송 속도보다 훨씬 빠르며 모든 PC 16U에게 직렬 인터페이스를 실행할 속도를 알려줍니다. 또한 보드의 제수에서 부정확성을 살펴보면 실제로 중요한 것은 보드의 두 칩 사이에서 일치한다는 것입니다. 이것은 전통적인 목표와 일치하지 않습니다. 이를 최대한 활용하려면 16U 용 사용자 정의 펌웨어가 필요할 수 있습니다.
Chris Stratton

1

USB 인터페이스를 수행하는 Atmega16u2에 대한 사용자 정의 펌웨어를 작성하려고합니다. 이 칩은 최고 속도 USB (최대 12Mbit 신호 속도)를 말할 수 있으며 해당 칩의 SPI 출력 포트는 ICSP 헤더에서 편리하게 사용할 수 있습니다. Arduino의 SPI 입력 (ICSP 헤더에서도 사용 가능)에 연결하면 4 Mbit / s (비트 당 4 CPU 클럭)에서 SPI를 실행할 수 있습니다.

메가의 Atmega (16u2 및 128)는 직렬 포트를 최대 2Mbit / s로 실행할 수 있습니다. 16u2 용 사용자 정의 펌웨어를 작성하는 경우 이미 존재하는 비동기 직렬 USART를 사용할 수도 있습니다.

이 두 경우 모두 직렬 포트 프로그래밍 기능이 손실 될 수 있으므로 USB 기반의 별도 프로그래머를 사용해야합니다.

LUFA 프로젝트에는 Atmega 칩에서 실제로 USB를 말하기위한 많은 샘플 프로그램과 유용한 라이브러리가 있습니다. "libusb"는 직렬 에뮬레이션에 의존하지 않고 USB 장치와 직접 대화 할 수있는 편리한 라이브러리입니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.