Форум автозвука и установки музыки в автомобиль
Показано с 1 по 1 из 1

CAN-контроллер для СarDSP

  1. #1
    Активист Бригадир
    Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация
    Репутация: 63805
    Регистрация
    25.05.2009
    Город/село
    Moscow
    Сообщений
    519
    Спасибо (Раздал)
    63
    Спасибо (Получил)
    418

    CAN-контроллер для СarDSP

    VAG-овской платформе MQB (седьмой гольф, восьмой пассат и их производные), как и многим другим свежим немцам сильно повезло с цифровой шиной MOST150.
    Поскольку вытаскивать цифру из этой шины никто пока не научился, приходится идти обходными путями, доставая ее из внешнего усилителя.
    При этом громкость потока фиксирована (DSP усилителя крутит ее позже), да и громкость внешних источников (в моем случае Sonos и Chromecat Audio) хотелось бы менять штатными средствами.
    Немного поразмыслив, решил сваять новый контроллер, читающий громкость системы по CAN-шине и управляющий CarDSP по UART, прикидываясь RUX-ом.

    Разводить и паять плату в этот раз, слава богу, не пришлось. Китайцы продают немало готовых универсальных CAN-контроллеров на ARM-процессорах STM32.

    Исходные требования:
    Поддержка минимум двух CAN-шин одновременно.
    Штатная система Discover Pro моего гольфа работает с двумя независимыми шинами CAN. Основная Infotainment CAN соединяет все аудио/видео в машине. По ней гуляет вся полезная информация: громкость системы, нажатия рулевых кнопок, смена источников звука и т.п.
    Дополнительная CAN-шина дисплея есть только в топовых системах Discover/Composition media и Discover Pro, в которых монитор и ГУ (MIB) разделены. MIB отдает картинку на монитор по LVDS-интерфейсу, а нажатия кнопок, крутилок и тача получает по отдельной независимой CAN-шине.
    Оба CAN работают на недетской скорости 500 Kbit/s.

    Поддержка минимум одного UART

    Нужен для связи с CarDSP. UART, особенно медленный 9600 bit/s, нетрудно реализовать и программно, но к чему заморачиваться?

    Несколько ног ввода/вывода на всякий случай

    Этим нехитрым пожеланиям соответствуют почти все контроллеры на STM32. Даже самые младшие серии этих процессоров дружат с двумя CAN-шинами и толпой UART-ов, но для сопряжения нужны внешние микросхемы CAN-трансиверов, причем не все из них понимают 500 Kbit/sec.


    Мне приглянулись два варианта с Aliexpress
    https://ru.aliexpress.com/item/Dual-CAN-CAN-development-board-development-board-STM32F105Rb-development-board-STM32-development-board-two-USART/32423961193.html
    Удобный вариант для начала: процессор STM32F105, два CAN-трансивера, несколько UART, есть даже RS-232 и конечно USB для прошивки/обмена данными
    И недостатков: великоват, процессор не самый продвинутый,

    F7 flight controller
    Испоьзуется в авиамоделях, очень распространен, недорог и компактен. Построен на куда более мощном и продвинутом процессоре STM32V745 с кучей UART, ног ввода-вывода и даже поддержкой аудиоинтерфейсов SPDIF и I2S. Одно плохо: всего один CAN-трансивер, второй придется допаивать на коленке.
    Ищется на Ali по запросу "F7 flight controller". Полная документация к плате лежит на GitHUB https://github.com/sambas/hw/tree/master/AnyFCF7

    Для начала я поселил в машину более простой контроллер на STM32F105. В ближайших планах перенисти код на F7 flight controller -- более компактную и перспективную железку.

    Основа прошивки создана через кодогенератор STM32CubeMX для экономии времени. Вся логика написана вручную через Keil uVision5.
    Приличный курс молодого бойца по программированию CAN на STM32 и Cube выложен здесь: https://geektimes.ru/post/255534/

    На сегодняшний день контроллер умеет:
    1. Отслеживать по CAN уровень громкости и переключение источников звука (Радио, CD, SD, Bluetooth, AUX, Mirrorlink)
    2. Отслеживать по CAN нажатия рулевых кнопок и кнопок/крутилок штатной головы Discover Pro
    3. Управлять Android-телефоном, прикидываясь Bluetooth-клавиатурой, а иногда и мышью
    4. Управлять CarDSP 4x10 Full 1795 по UART

    Подробности -- в следующих постах


  2. # 0+

    Если Вы впервые на нашем Форуме:

    1. Обратите внимание на список полезных тем в первом сообщении.
    2. Термины и наиболее популярные модели в сообщениях подсвечиваются быстрыми подсказками и ссылками на соответствующие статьи в МагВикипедии и Каталоге.
    3. Для изучения Форума не обязательно регистрироваться - практически весь профильный контент, включая файлы, картинки и видео, открыты для гостей.

    С наилучшими пожеланиями,
    Администрация Форума автозвука Магнитола


     

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
  cc by-nc-sa