나는 이것을 찾고 있었지만 관련된 것을 찾을 수 없는 것 같습니다. 누군가가 이것을 할 수 있는 가능성이나 소프트웨어를 지적할 수 있습니까?
필요한 것은 파일에서 직렬 포트의 신호를 정확한 타이밍으로 재생하는 것입니다. 즉, 포트가 115200 보드, 8N1로 설정된 경우 비트 지속 시간은 8.68μs입니다. 따라서 문서에 "TX 핀이 2비트 기간(여기서는 17.36μs) 동안 로우로 유지되고 3비트 기간(여기서는 26.04μs) 동안 하이로 유지됩니다"라고 적혀 있으면 이것이 제가 생각하는 것입니다. TX 핀(측정한 경우)은 오실로스코프에 있습니다.
(직렬 포트가 현재 직렬 포트 설정에 지정된 시간/지속 시간 이외의 시간/지속 시간 동안 "비트 탭"할 수 있다면 더 좋을 것입니다. 예를 들어 "TX 핀은 5μs로 낮게 유지된 다음 10μs 동안 높게 유지됩니다." 운영체제에서 직렬 포트가 9600보드로 작동하도록 설정되어 있어도 5μs는 어느 정도 정확하게 재현될 수 있다." 즉, 운영체제에서 어떤 직렬 포트가 9600보드로 작동하도록 설정되어 있어도 한번에특징전송 전송 속도).
이는 입력이 다음과 같은 일종의 재생 타이밍 정보가 포함된 파일이어야 함을 의미합니다.
.wav
("아날로그" 재생을 위한 것이지만 항상 임계값을 설정하고 -1.0 ~ 0.0 범위의 모든 것을 로직 로우로 해석하고, 반대로 0.0 ~ 1.0 범위의 모든 것을 로직 하이 레벨로 해석하는 것이 가능합니다. ), 또는.vcd
("시간 척도"를 통해 암시적인 타이밍 정보가 있습니다).
지금까지는 다음과 같은 관련 리소스만 찾았습니다.
script -t
전체 프로세스를 재생하고 타이밍 실행을 추적할 수 있도록 를 사용하여 실행합니다 .
...하지만 이것이 데스크톱 PC의 명령으로 "재생"되도록 의도된 것인지, 아니면 직렬 포트의 TX 파형으로 "재생"하려는 것인지는 알 수 없습니다.
이:
.wav
프로젝트에는 파일을 허용하고 직렬 포트를 구동할 수 있는 스크립트가 있습니다.
./serial_sdr_tx.py -p /dev/ttyUSB0 -f 631e3 -l -m pdm recorded_codes.wav
...그러나 스크립트에 대한 github 추가 정보에는 다음과 같이 설명되어 있습니다.
이
serial_sdr_tx.py
프로그램은 오디오 파일에서 AM 신호를 생성합니다.
...이 스크립트를 살펴본 결과 "원본" .wav(일종의 임계값 포함)를 직접 재현할 수 있도록 모든 변조 항목을 제거하는 것이 쉽지 않습니다.
유닉스/리눅스 세계에 그런 것이 있나요?