Bluetooth PC 소프트웨어 설계 Bluetooth 헤드폰
Bluetooth PC 소프트웨어 설계 Bluetooth 헤드폰
PC 쪽은 객체 지향 C++ 프로그래밍을 채택하고 VC++60 개발 플랫폼에서 Bluetooth HCI 계층 통신을 기반으로 하는 기본 데이터 전송 제어 프로그램을 구현합니다. PC측 운영체제는 XP이고 사용하는 블루투스 기기는 블루투스 USB 어댑터입니다. Bluetooth USB 어댑터와 PC는 USB 인터페이스를 통해 연결 및 통신하므로 데이터 전송은 Bluetooth HCIUSB 전송 계층을 사용합니다. USB는 "Universal Serial Bus Implementation Forum" 조직에서 발표하고 홍보하는 직렬 인터페이스 표준입니다. 블루투스는 USB 인터페이스를 위한 새로운 프로토콜을 개발하는 대신 기존 USB 프로토콜을 사용합니다. 드라이버 측면에서 xP 시스템 자체는 기본 하드웨어 드라이버와 간단한 상위 계층 응용 프로그램을 제공합니다. Bluetooth USB 어댑터를 PC에 연결하면 자동으로 로드됩니다. 반면에 다른 Bluetooth 칩 제조업체는 기술자가 응용 프로그램별 개발을 용이하게 하기 위해 Bluetooth USB 어댑터에 대해 다른 하드웨어 드라이버를 제공합니다. XP 시스템이 제공하는 드라이버는 직접 응용 프로그램 지향적이고 HCL 계층을 보호하므로 CSR에서 제공하는 Bluetooth USB 드라이버 csrbc01inf가 여기에 사용되며 일련의 제어 단어가 이 드라이버에 첨부됩니다. Bluetooth USB 어댑터를 설치한 후 VC++6.0 프로그래밍 플랫폼에서 Windows API 기능을 사용하여 드라이버에서 제공하는 일련의 제어 단어와 결합하여 Bluetooth USB 어댑터에 대한 액세스를 실현할 수 있습니다.
HCIUSB 전송 계층을 기반으로 PC 측에서 Bluetooth 통신을 개발하는 단계 및 프로세스는 위에서 언급한 Bluetooth HCIUART 계층을 기반으로 하는 마이크로 컨트롤러 개발과 유사합니다. 그것들은 모두 블루투스 HCI 계층의 일반적인 통신 과정을 따르며, 차이점은 HCI 전송 계층의 사용에 있습니다. HCI USB 전송 계층을 사용하여 전송할 때 USB 끝점을 통해 데이터를 보내고 받습니다. USB 끝점은 제어 끝점, 차단 끝점, 인터럽트 끝점 및 동기화 끝점의 네 가지 범주로 나뉩니다. 다른 끝점은 다른 기능을 구현합니다. 제어 끝점은 호스트(PC)가 호스트를 제어하는 데 사용할 수 있는 USB 장치를 구성 및 제어하는 데 사용됩니다.
장치(Bluetooth USB 어댑터)는 HCI 명령 패킷을 보냅니다. 블록 끝점은 ACL 데이터 패킷을 전송하는 데 사용됩니다. 인터럽트 끝점은 HCI 이벤트 패킷의 적시 수신을 보장하는 데 사용됩니다. 등시성 끝점은 SCO 데이터 패킷을 전송하는 데 사용됩니다. USB 전송 계층을 사용할 때 다른 HC1 패킷은 다른 끝점 유형으로 구분할 수 있으므로 HCIUART 전송 계층과 같이 패킷 앞에 패킷 표시기를 추가할 필요가 없음을 알 수 있습니다.
프로그램의 구현은 다이얼로그 기반 MFC 프로그래밍을 채택합니다. USBStack 클래스는 장치 열기, HCI 명령 패킷 보내기, ACL 데이터 패킷 보내기 및 받기, HCI 이벤트 패킷 받기를 포함하여 Bluetooth USB 어댑터를 제어하기 위해 프로그램에서 구성됩니다. 프로그램의 전체 수명 주기에서 USBStack의 전역 변수 mbt를 정의하여 현재 Bluetooth 장치를 식별합니다.