블루투스 마이크로컨트롤러의 소프트웨어 설계 tws 이어폰 공장 초기화

블루투스 마이크로컨트롤러의 소프트웨어 설계 tws 이어폰 공장 초기화

게시 시간: 저자: 사이트 편집자 방문: 191

블루투스 마이크로컨트롤러의 소프트웨어 설계 tws 이어폰 공장 초기화

단일 칩 마이크로 컴퓨터의 소프트웨어는 임베디드 C 언어 프로그래밍을 채택하고 개발 환경은 Keil입니다. 이 디자인에서는 블루투스의 기본적인 데이터 전송만 완료할 수 있습니다. 소프트웨어의 이 부분은 초기화, Bluetooth 상호 작용 및 데이터 처리의 세 부분으로 구성됩니다. bjbjaaudio.com

초기화에는 시스템 초기화와 블루투스 초기화가 포함됩니다. 시스템 초기화에는 시스템 클럭 초기화 핀 할당, 직렬 포트 초기화, 타이머 초기화 등이 포함됩니다. Bluetooth 초기화는 UART를 통해 일련의 초기화 명령을 Bluetooth 모듈에 보내는 것이며 Bluetooth 모듈은 이벤트를 반환하고 일련의 재설정, 인증을 대화식으로 완료합니다. , 주소 읽기 등 작업을 초기화합니다. bjbjaaudio.com

블루투스 상호작용이란 초기화가 완료된 후 로컬 블루투스를 슬레이브 장치로 사용하는 경우 원격 블루투스 장치의 링크 설정 요청을 기다리는 것을 의미합니다. 요청이 수락되면 데이터 교환이 수행될 수 있도록 성공적인 링크 설정을 계속 기다리고 연결 핸들을 얻습니다. 마스터 디바이스는 액티브 쿼리, 링크 설정, 데이터 전송, 링크 해제 등의 일련의 작업을 수행합니다. bjbjaaudio.com

데이터 처리는 유효한 데이터를 해당 위치에 덤프하는 것과 같은 일련의 후속 작업입니다. 프로그램의 메인 루프에서 실시간으로 직렬 포트 수신 버퍼에 데이터가 있는지 판단하고 데이터가 있으면 처리를 위해 HCI 상태 머신을 호출해야 한다는 점에 유의해야 합니다. bjbjaaudio.com


블루투스 기본 데이터 전송 실험 프로젝트에 들어가기 전에 플래그 비트 btrole이 설정되고 사용자는 로컬 블루투스의 역할을 선택하여 실험에 마스터 장치 또는 슬레이브 장치로 참여할 수 있습니다. 마스터든 슬레이브든 블루투스 초기화 부분은 동일합니다. bjbjaaudio.com

초기화가 완료된 후 로컬 블루투스를 마스터 장치로 사용하는 경우 먼저 쿼리를 시작해야 합니다. 원격 Bluetooth 장치를 조회한 후에는 적극적으로 연결을 시작해야 합니다. 연결이 설정되면 로컬 블루투스와 원격 블루투스 간에 데이터를 전송할 수 있습니다. 로컬 블루투스는 원격 블루투스로 전송되고 원격 블루투스는 로컬 블루투스로도 전송될 수 있습니다. 로컬 블루투스를 슬레이브로 사용하는 경우 주기적으로 원격 블루투스의 연결 요청을 기다립니다. 연결 요청 이벤트를 수신한 후 연결 요청 수락 여부를 사용자에게 알립니다. 수락되면 HCI AcceptConnection을 보내고, 거부되면 HCIrejectconnectionrequest를 보냅니다. 단일 칩 컴퓨터와 PC 사이에 Bluetooth 연결이 설정되면 둘 사이에 데이터를 전송할 수 있습니다. 단일 칩 컴퓨터는 데이터 입력을 지원하지 않기 때문에 시스템은 PC 측을 사용하여 데이터를 입력하고 단일 칩 컴퓨터로 보냅니다. 단일 칩 컴퓨터가 데이터를 수신한 후. 여기에는 데이터 감지 및 처리가 포함됩니다. bjbjaaudio.com

HCI 상태 머신은 ACL 데이터 패킷의 도착을 감지한 후 일련의 처리를 거쳐 실제 데이터를 데이터 수신 버퍼에 저장합니다. 적시에 처리할 수 있습니다. MCU 측을 슬레이브 장치로 사용하는 경우, 자동 복귀 개방으로 설정하면 수신한 데이터를 PC로 반환할 수도 있습니다. bjbjaaudio.com