みなさんこんにちは。 私は10歳の日本人男性のオーナーです。標準のオーディオシステムを除き、すべてが私に合っていました。Bluetoothはありませんでした。 この問題を解決するには、次の3つの方法があります。
1.シガーライターのプラグを購入します。
短所:
プラスはありません。
2.対決で多額のお金で通常のBluetoothユニットと新しいヘッドを購入する。
短所:
- ブロックの互換性の問題
- モノラル音声出力(一部のユニット)
- ヘッドと配線を交換した価格は、非常用ラジオとほぼ同じです。
- ラテンアルファベットに加えて、サポートはありません
長所:
3.既存の機能を削減しないように、自分で何かを行います。
短所:
- 時間が必要
- 最初の2つのオプションを一緒に選択するよりも多くのお金が費やされた
長所:
- 仕事の満足度
- ロスレスオーディオのサポート
- キリル文字のサポート、音訳されていますが、 画面にはその方法がわかりません。
名前からわかるように、パス番号3を選択しました。
ソースデータ。
ヘッドユニットと次のようなパネルで構成されるネイティブオーディオシステム。

外部デバイスを接続して音楽を聴くことができるAUXモードがあります。 独自の目的に使用してみませんか? キーの特定の組み合わせがAUXモードを開始することを確認しますが、同時に、画面上のすべてのデータが完全に制御下で渡され、AUXのサウンドがBluetoothモジュールからリダイレクトされました。
幸いなことに、パブリックドメインでは、回路とマニュアルを見つけることができます。このマニュアルから、ヘッドとパネル間のインターフェイスが通常のUARTであることが明らかになります。

ロジックアナライザーを使用して、ヘッドとパネル間の交換の速度とプロトコルを決定しました。 (毎秒10フレームのスクリーンリフレッシュレート、クリック頻度30ミリ秒、14400E2)。 Arduinkaと一緒に、Hello Worldの形で結果が得られました。

次のステップは、実装用のマイクロコントローラーを選択する段階でした。 選択肢はSTM32F103にあり、そのボードにはCANバスをサポートするUARTが最大3つあります(追加しない理由)。 CSR8645はもともとBluetoothモジュールとして購入されましたが、最初のバージョンでは付属していましたが、トラックの名前を表示できませんでした(または完全にわかりませんでした)。 WT32iは、必要なものすべてを備えていました-デジタルオーディオ出力とAptXコーデックのサポート。 自由時間があった数か月間、プロトタイプが開発されました。 HALのすべての恐怖とSPLの魅力が知られていました。 マイクロコントローラでUARTとDMAを徹底的に研究しました。 ブレーキや故障なしで機能するように、これらすべてを結び付ける必要がありました。
次に、これらすべてがヘッドユニットに導入されましたが、修正のために問題なくフラッシュして削除することができました。 HDMIケーブルと死んだラップトップのコネクタがインターフェイスとして使用されました。
デバッグ時の写真、見ない方がいい内面図:

外の眺め:

ケースは古いラップトップの電源で作られました。
プリント回路基板をこのビジネスの下に置き、それをすべて頭から取り去る時が来たので、いつでもこの集合農場を取り外して、機械の動作を中断することはできません。 結果はそのような美しさでした:

私は人生で初めてボードを飼育しました、あなたは批判することができますが、適度に。 夕方ははんだ付けで、最初はうまくいきましたが、とても驚きました。

次に、TJA1051 CANトランシーバーが追加されました。これにより、車両のCANバスから多くの興味深いデータを取得できます。 今のところ、1時間あたりの燃料消費量の出力のみを使用しています。 通常のbkにはそのような機能はありません。

仕組みのビデオ:
お気づきかもしれませんが、ロシア語のテキストは音訳で表示されます。 たとえば、文字
hはchなどに置き換えられますが、これは通常の方法では実現できません。 まあ、さらに、ロスレスオーディオのサポート。
詳細を切望する人のために。 3つのUARTがすべて関与しています。 ディスプレイに1つ、キーに1つ、Bluetoothモジュールに1つ。 サウンドストリームは、アナログマルチプレクサーによって切り替えられます。 CANはSTM32からも使用されます。 外部DAC PCM5102があり、音はとても良いです。 ヘッドと車両配線の間に接続されています。 コネクタは分解時に見つかりました。
フルタイムのBluetoothシステムを購入するよりも高価であることが判明しましたが、開発にはさらに多くの喜びがありました。
車のカスタマイズの機能をカスタマイズできるようにする計画があります(三菱2008+の所有者はそれが何であるかを理解します)、プロトコルは既にそこにあり、すべてがチェックされ、ファームウェアに実装されたままです。
ここでコードを入手できます。