🧪 새 튜토리얼이 계속 업데이트 중 — 로봇 팔부터 센서까지
본문으로 건너뛰기

IIC 프로토콜 ​

주의: 호스트 장치와 음성 인터랙션 모듈의 전원 공급원은 달라도 되지만, 연결할 때 반드시 공통 접지해야 안정적인 통신 레벨을 제공할 수 있습니다

1.음성 인터랙션 모듈이 슬레이브인 경우 ​

호스트가 보내는 신호를 수신하고 해석합니다:

IIC 신호 인터럽트를 기다리며, IIC 로 데이터가 수신되면 IIC 로 수신한 레지스터 주소 정보에 따라 해당 함수 기능을 호출합니다.

데이터 처리 및 피드백:

음성 인터랙션 모듈이 레지스터 읽기 명령을 수신하면 해당 전송 함수를 호출하여 인식된 데이터를 호스트 장치로 전송합니다.

2.IIC 장치 주소 및 레지스터 기능 ​

음성 인터랙션 모듈의 IIC 슬레이브 장치 주소는 0x2A 입니다.

3.명령 항목 가져오기. ​

첨부 파일의 命令词播报词协议列表V1_中文 파일을 열면 통신 프로토콜이 0xFE, 0xED 로 시작하고 0xEE 로 끝나며, 중간 2 개 바이트가 각각 기능 유형과 ID 번호임을 확인할 수 있습니다.

그림 1

음성 인터랙션 모듈이 “停车” 명령어를 인식하면 “好的,已停止” 라고 응답하며, 호스트 컨트롤러는 인식 결과 레지스터(0xDA)에서 0x02 1 바이트 데이터를 읽을 수 있습니다. 이 데이터는 “停车” 의 전송 프로토콜에서 4 번째 바이트와 동일합니다.

그림 2

4.재생 문구 항목 ​

재생 문구 항목은 능동적으로 재생되지 않으며, 반드시 호스트 컨트롤러가 IIC 를 통해 설정해야 재생됩니다 (명령 항목의 재생 문구도 재생할 수 있습니다).

호스트 컨트롤러가 IIC 를 통해 재생 레지스터 주소(0xD1)에 명령어 ID 번호인 1 바이트를 기록하면 음성 재생 모듈이 해당 문장을 재생하며, 0xFF 는 일반 재생 문구입니다.

그림 3

예:

사용자가 “这是红色” 를 재생해야 할 때, 호스트 컨트롤러는 IIC 를 통해 재생 레지스터(0xD1)에 “0x5F” 를 기록해야 하며, 음성 인터랙션 모듈이 “这是红色” 를 재생합니다.

그림 4

5.기능어 재생 항목 ​

기능 항목은 명령어를 인식했을 때 재생할 수 있으며, IIC 로 특정 바이트를 기록하여 재생할 수도 있습니다.

호스트 컨트롤러가 IIC 를 통해 재생 레지스터 주소(0xD2)에 명령어 ID 번호인 1 바이트를 기록하면 음성 재생 모듈이 해당 문장을 재생하며, 0xFF 는 일반 재생 문구입니다.

그림 5

예:

사용자가 “这是红色” 를 재생해야 할 때, 호스트 컨트롤러는 IIC 를 통해 재생 레지스터(0xD2)에 “0x01” 를 기록해야 하며, 음성 인터랙션 모듈이 “欢迎使用小犀” 를 재생합니다.

그림 6

5.명령 항목 재생 ​

명령 항목은 명령어를 인식했을 때 재생할 수 있으며, IIC 로 특정 바이트를 기록하여 재생할 수도 있습니다.

호스트 컨트롤러가 IIC 를 통해 재생 레지스터 주소(0xD3)에 명령어 ID 번호인 1 바이트를 기록하면 음성 재생 모듈이 해당 문장을 재생하며, 0xFF 는 일반 재생 문구입니다.

그림 7

예:

사용자가 “好的,正在前进” 를 재생해야 할 때, 호스트 컨트롤러는 IIC 를 통해 재생 레지스터(0xD3)에 “0x04” 를 기록해야 하며, 음성 인터랙션 모듈이 “好的,正在前进” 를 재생합니다.

그림 8