
우리의 과학 협력 구성원은 시간을 GPS와 동기화하는 1kHz에서 4개 채널을 갖춘 데이터 수집 상자를 설계했습니다. 그는 USB 2.0을 사용하여 상자가 컴퓨터와 통신하도록 하고, 전송 속도가 115200인 COM 직렬 인터페이스를 사용하여 ASCII 형식으로 컴퓨터에 데이터를 전송합니다. 제조업체에서는 이를 USB 2.0을 통한 "가상 직렬"이라고 부릅니다. 결과적으로 패리티, 작업 흐름 제어 등과 같은 모든 구성은 직렬 인터페이스에서 중요하지 않지만 이것이 작동하려면 전송 속도만 115200으로 설정되어야 합니다.
내 질문은 다음과 같습니다이 숫자 115200은 실제로 이 포트를 통해 최대로 전송될 수 있는 초당 바이트 수를 나타내므로 USB 2.0 포트가 수행할 수 있는 작업에 제한이 발생합니까? 아니면 이 숫자는 실제로 중요하지 않으며 실제 전송 속도는 약표준 USB 2.0의 경우 480Mbits/s?
이를 결정하는 요인은 무엇인가?
왜 물어?상자는 현재 단방향 직렬 통신을 사용하여 데이터를 전달하므로 다음과 같은 문제가 발생합니다.컴퓨터 과부하로 인해 바이트가 가끔 손실됨. 신뢰할 수 있는 솔루션은 체크섬을 사용하여 양방향 연결을 만들고 패킷을 요청하고 데이터가 손상되면 다시 요청하는 것입니다. 그러나 실제로 115kB/s로 제한된다면 이는 1kHz에서 4개 채널을 전송할 수 없다는 의미입니다.
추가 정보가 필요하면 문의하세요.
답변1
USB 2.0을 통한 직렬. 직렬보다 정말 빠른가요?
귀하의 용어가 엉성합니다.
"USB 2.0을 통한 직렬 연결"USB-RS232 어댑터 사용을 참조하거나CDC/ACM.
마지막으로 언급한 내용"연속물"아마도 RS-232일 것이다.
내 질문은: 이 숫자 115200이 실제로 이 포트를 통해 최대로 전송될 수 있는 초당 바이트 수를 나타내므로 USB 2.0 포트가 수행할 수 있는 작업에 제한이 발생합니까?
115200은 전송 속도이며, 이 경우 초당 비트(초당 바이트가 아님)입니다.
이는 비동기 채널이기 때문에 각 문자/바이트는 하나의 시작 비트와 1/1.5/2 정지 비트로 개별적으로 구성됩니다. 따라서 25%의 프레이밍 오버헤드가 있습니다(8N1의 일반적인 구성을 가정).
USB는 버스이며 둘 이상의 데이터 채널을 처리할 수 있습니다.
비동기식 RS-232 데이터는 동기식 USB를 통한 전송을 위해 패킷화되며 USB 2.0의 480Mbs의 총 대역폭을 공유합니다. (일반적인 USB-RS232 어댑터는 USB 1.1만 사용하지만)
나는 단일 USB 1.1 연결을 통해 4개의 동시 115200보드 RS-232 채널이 아무 문제 없이 전송되는 것을 목격했습니다.
아니면 이 숫자는 실제로 중요하지 않으며 실제 전송 속도는 표준 USB 2.0의 경우 약 480Mbits/s입니까?
숫자는 해당 채널에 대해 구성된 전송 속도이기 때문에 중요합니다.
이를 결정하는 요인은 무엇인가?
최대 전송 속도는 일반적으로 하드웨어와 지원 소프트웨어에 의해 제한됩니다.
왜 물어? 이 상자는 현재 단방향 직렬 통신을 사용하여 데이터를 전달하므로 컴퓨터 과부하로 인해 바이트가 손실되는 문제가 발생합니다.
데이터 손실은 시스템 버퍼 오버런으로 인해 발생하는 것 같습니다. 데이터는 응용 프로그램에서 읽거나 처리하는 것보다 빠르게 도착합니다. 오버런을 방지하기 위해 데이터 채널에는 흐름 제어가 사용되지 않습니다.