Ampliar la funcionalidad del sistema de audio estándar.

Hola a todos Soy el dueño de un hombre japonés de diez años, en quien todo me convenía, excepto el sistema de audio estándar, no tenía Bluetooth. Hay tres formas posibles de resolver este problema:

1. Compre un enchufe en el encendedor y no presuma.

Contras:

  • Calidad de sonido
  • Sin gestión
  • No hay salida de título de canción

No hay ventajas

2. Comprar en un showdown por mucho dinero una unidad Bluetooth normal + una cabeza más nueva.

Contras:

  • Problemas de compatibilidad de bloque
  • Salida de audio monoaural (en algunas unidades)
  • El precio con el reemplazo de la cabeza y el cableado es casi igual al de la radio de emergencia.
  • Además del alfabeto latino, no hay soporte

Pros:

  • Equipamiento estándar

3. Haga algo usted mismo, pero para no reducir la funcionalidad existente.

Contras:

  • Necesita tiempo
  • Se gastó más dinero que elegir las dos primeras opciones juntas

Pros:

  • Satisfacción laboral
  • Soporte de audio sin pérdida
  • Soporte cirílico, aunque transliterado, como La pantalla no sabe cómo.

Como entendiste por el nombre, elegí la ruta número 3.

Fuente de datos.

El sistema de audio nativo, que consiste en una unidad principal y un panel que se ve así:

imagen

Tiene modo AUX, que le permite conectar dispositivos externos para escuchar música. ¿Por qué no usarlo para sus propios fines? Asegúrese de que con una determinada combinación de teclas se inicie el modo AUX, pero al mismo tiempo todos los datos en la pantalla pasan completamente bajo nuestro control y el sonido en AUX se redirige desde el módulo Bluetooth.
Afortunadamente, en el dominio público puede encontrar un manual con un circuito, desde el cual queda claro que la interfaz entre la cabeza y el panel es un UART normal.

imagen

Usando un analizador lógico, se determinaron la velocidad y el protocolo del intercambio entre la cabeza y el panel. (Frecuencia de actualización de pantalla de 10 fotogramas por segundo, frecuencia de clic de 30 ms, 14400E2). Junto con el arduinka, se obtuvo un resultado en forma de Hello World.

imagen

El siguiente paso fue la etapa de elegir un microcontrolador para la implementación. La elección recayó en el STM32F103, a bordo del cual hasta 3 UART hay soporte para el bus CAN (por qué no agregarlo). CSR8645 se compró originalmente como un módulo Bluetooth, la primera versión estaba con él, pero no podía mostrar los nombres de las pistas (o no lo descubrí por completo), y tampoco tenía control de bus digital, por lo que se compró un módulo llamado Bluegiga directamente de EE. UU. WT32i, en el que había todo lo que se necesitaba y aún más: soporte para salida de audio digital y el códec AptX. Durante un par de meses, cuando había tiempo libre, se llevó a cabo el desarrollo de un prototipo. Todos los horrores de HAL y los encantos de SPL eran conocidos. Estudié a fondo UART y DMA en el microcontrolador, porque era necesario unirlo todo para que funcionara sin frenos ni fallas.

Algunas fotos del proceso.
imagen
imagen

Luego, todo esto se introdujo en la unidad principal, pero para que pudiera ser flasheado y eliminado sin ningún problema para su revisión. Un cable HDMI y un conector de una computadora portátil muerta se utilizaron como interfaz.

Fotos en el momento de la depuración, es mejor no mirar
Vista interior:

imagen

Vista exterior:

imagen

El caso fue hecho por una vieja fuente de alimentación portátil.

Ha llegado el momento de poner la placa de circuito impreso en este negocio, así como sacarlo de la cabeza, para que en cualquier momento pueda eliminar esta granja colectiva y no interrumpir el funcionamiento de la máquina. El resultado fue tal belleza:

imagen

Creé el tablero por primera vez en mi vida, puedes criticarlo, pero con moderación. La tarde estaba soldando y funcionó la primera vez, lo que me sorprendió mucho.

imagen

Luego, se agregó un transceptor CAN TJA1051, con el que puede obtener una gran cantidad de datos interesantes y no muchos del bus CAN del vehículo. Por ahora, uso solo la producción de consumo de combustible por hora, porque bk regular no tiene tal función.

imagen

Video como funciona:


Como habrás notado, el texto en ruso se muestra en transliteración, más o menos inteligente. Por ejemplo, la letra h se reemplaza por ch, etc., que no se pudo lograr por medios regulares. Bueno, además, soporte para audio sin pérdidas.

Para aquellos que anhelan los detalles. Los 3 UART están involucrados. Uno en la pantalla, uno en las teclas y otro en el módulo Bluetooth. El flujo de sonido se conmuta mediante un multiplexor analógico. CAN también se usa desde STM32. Hay un DAC PCM5102 externo, el sonido es muy bueno. Se conecta entre la cabeza y el cableado del automóvil. Los conectores se encontraron en el desmontaje.

Resultó ser más costoso que comprar un sistema Bluetooth normal, pero trajo mucho más placer del desarrollo.

Hay planes para permitir personalizar las funciones de personalización del automóvil (los propietarios de Mitsubishi 2008+ entenderán de qué se trata), el protocolo ya está allí, todo está verificado, queda por implementar en el firmware.

Puedes obtener el código aquí.

Source: https://habr.com/ru/post/442384/


All Articles