프로젝트에서 내가 궁금한 기술적 인 문제를 제기하고 있습니다.단일 파형을 통해 바이너리를 전송하는 방법
디지털 장치는 마이크 잭 소켓을 통해 iPhone으로 데이터를 전송해야합니다.
나는 마이크로 컨트롤러와 아이폰 끝 모두로부터 인터페이스를 코딩해야한다.
이 특정 문제에 대해 설정된 프로토콜이 있습니까? 나는 트윈 클록과 데이터 라인 (ala PS/2 프로토콜 https://en.wikipedia.org/wiki/PS/2_connector)의 고급 스러움이 없다.
저는 F2F (https://en.wikipedia.org/wiki/Biphase_mark_code)에 대해 알고 있지만 디코딩 할 수있는 왕실의 PITA입니다.
또한 대역폭 최적화의 문제가 있습니다 (효율성과 알고리즘 복잡성 간의 적절한 균형). iPhone 샘플은 44.1kHz입니다. 이론적으로 각 샘플은 높거나 낮음에 따라 적어도 하나의 비트를 전송할 수 있습니다. 즉 이론적으로 각 샘플은 16 비트이지만 이론적 인 최대 대역폭을 실제로 최적화하려고하면 ... 단어가 ... 미친가?) 현실적으로 필자는 각 비트에 3 개의 샘플 길이를 사용하여 모든 것이 수신되고 비트가 2 개의 연속 샘플 사이에 들어 가지 않도록해야 할 수도 있습니다.
내가 할 수있는 오픈 소스 코드가 있습니까? 나는 소프트웨어 공학자들이 디지털 초기부터이 문제를 해결해 왔다고 생각한다. 나는 정말로 여기 바퀴를 재발 명하고 싶지 않다.