🧪 新しいチュートリアルを公開中 — ロボットアームからセンサーまで
コンテンツへスキップ

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)に 1 バイトを書き込みます。これはコマンドワードの ID 番号で、音声再生モジュールは対応するフレーズを再生します。0xFF は通常の再生フレーズです。

図 3

例えば:

ユーザーが “这是红色” を再生したい場合、ホストコントローラは IIC を通じて再生レジスタ(0xD1)に “0x5F” を書き込む必要があります。すると音声対話モジュールは “这是红色” を再生します。

図 4

5.機能ワードエントリーの再生 ​

機能ワードエントリーはコマンドワードを認識したときに再生することも、IIC で特定のバイトを書き込んで再生することもできます。

ホストコントローラが IIC を通じて再生レジスタアドレス(0xD2)に 1 バイトを書き込みます。これはコマンドワードの ID 番号で、音声再生モジュールは対応するフレーズを再生します。0xFF は通常の再生フレーズです。

図 5

例えば:

ユーザーが “这是红色” を再生したい場合、ホストコントローラは IIC を通じて再生レジスタ(0xD2)に “0x01” を書き込む必要があります。すると音声対話モジュールは “欢迎使用小犀” を再生します。

図 6

5.コマンドエントリーの再生 ​

コマンドエントリーはコマンドワードを認識したときに再生することも、IIC で特定のバイトを書き込んで再生することもできます。

ホストコントローラが IIC を通じて再生レジスタアドレス(0xD3)に 1 バイトを書き込みます。これはコマンドワードの ID 番号で、音声再生モジュールは対応するフレーズを再生します。0xFF は通常の再生フレーズです。

図 7

例えば:

ユーザーが “好的,正在前进” を再生したい場合、ホストコントローラは IIC を通じて再生レジスタ(0xD3)に “0x04” を書き込む必要があります。すると音声対話モジュールは “好的,正在前进” を再生します。

図 8