Atmega128 монитор шины can

8 битный AVR микроконтроллеры со 128 КБ внутрисистемно программируемой Flash памяти и CAN контроллером
  • Высококачественный низкопотребляющий 8- битный AVR микроконтроллер
  • Передовая RISC архитектура
    — 133 команд, большинство которых выполняется за один тактовый цикл
    — 32 8 битных рабочих регистра общего применения
    — Полностью статическая архитектура
    — производительность до 16 MIPS при тактовой частоте 16 МГц
    — встроенный двухцикловый умножитель
  • Энергонезависимая память программ и данных
    — 128 КБ внутрисистемно программируемой Flash памяти программы, способной выдержать 10 000 циклов записи/стирания
    — вспомогательная секция загрузочной программы с независимым битом защиты
    выбираемый размер загрузочной памяти: 1, 2, 4 или 8 КБ
    внутрисистемное программирование встроенной программой-загрузчиком через UART или CAN
    реальная функция считывания при программировании
    — 4 КБ EEPROM, способной выдержать 100 000 циклов записи/стирания
    — 4 КБ встроенной SRAM памяти (статическое ОЗУ)
    — возможность работы с внешней памятью объемом до 64 КБ
    — Программируемая защита от считывания
  • JTAG (IEEE 1149.1 совместимый) интерфейс
    — Возможности граничного сканирования в соответствии со стандартом JTAG
    — Программирование битов защиты Flash и EEPROM
    — Поддержка встроенной отладки
  • CAN 2.0A и 2.0B контроллер
    — 15 полных сообщений объектов с раздельными метками и масками
    — Режимы передачи, приема, автоматического ответа и приема кадров
    — Максимальная скорость передачи 1 МБит/с при рабочей частоте 1 МГц
  • Характеристики периферии
    — Программируемый сторожевой таймер со встроенным генератором
    — 8- битный синхронный таймер/счетчик 0
    10 – разрядный предварительный делитель
    внешний счетчик событий
    выход сравнения или 8 – битного ШИМ сигнала
    — 8- битный синхронный таймер/счетчик 2
    10 – разрядный предварительный делитель
    внешний счетчик событий
    выход сравнения или 8 – битного ШИМ сигнала
    32 кГц генератор для выполнения функций часов реального времени
    — Два 16- битных синхронных таймера/счетчика 1 и 3
    10 – разрядный делитель
    вход захвата с подавителем шумов
    внешний счетчик событий
    три выхода сравнения или 16- битного сигнала с ШИМ
    выход модулятора сравнения
    — 8 канальный 10 битный SAR АЦП
    8 несимметричных каналов
    7 дифференциальных каналов
    2 дифференциальных канала с программируемым коэффициентом усиления 1, 10 или 100
    — Встроенный аналоговый компаратор
    — Байт- ориентированный последовательный 2- проводный интерфейс
    — Двойной программируемый последовательный USART
    — Ведущий/ведомый SPI интерфейс
  • Специальные характеристики микроконтроллера
    — Сброс при включении питания и детектор кратковременных пропаданий питания
    — Встроенный откалиброванный генератор
    — 8 внешних источников прерывания
    — Пять режимов пониженного потребления: Idle, ADC Noise Reduction, Power-Save, Power-down и Standby
    — Программное переключение рабочей частоты
    — Отключение всех подтягивающих транзисторов
  • Порты ввода — вывода и корпусное исполнение
    — 53 программируемых линии портов ввода-вывода
    — 64 выводные TQFP, QFN и CA-BGA корпуса
  • Диапазон напряжения питания
    — от 2.7 до 5.5 В
  • Индустриальный и автомобильный рабочие температурные диапазоны
  • Максимальная рабочая частота:
    — 8 МГц при 2.7 В питании у микроконтроллеров с индустриальным диапазоном
    — 16 МГц при 4.5 В питании у микроконтроллеров с индустриальным диапазоном
  • 0.5 мкА при напряжении питания 1.8 В

Блок- схема ATMega128CAN11:

Расположение выводов ATMega128CAN11:

ATMega128CAN11 – низкопотребляющий 8 битный КМОП микроконтроллер с AVR RISC архитектурой. Выполняя команды за один цикл, ATMega128CAN11 достигает производительности 1 MIPS при частоте задающего генератора 1 МГц, что позволяет разработчику оптимизировать отношение потребления к производительности.

AVR ядро объединяет богатую систему команд и 32 рабочих регистра общего назначения. Все 32 регистра непосредственно связаны с арифметико-логическим устройством (АЛУ), что позволяет получить доступ к двум независимым регистрам при выполнении одной команды. В результате эта архитектура позволяет обеспечить в десятки раз большую производительность, чем стандартная CISC архитектура.

ATMega128CAN11 имеет следующие характеристики: 128 КБ внутрисистемно программируемой Flash память программы, 4 КБ EEPROM память данных, 4 КБ SRAM (статическое ОЗУ), 53 линии ввода — вывода общего применения, 32 рабочих регистра общего назначения, CAN контроллер, часы реального времени, четыре гибких таймера/счетчика со схемой сравнения и генератором сигнала с ШИМ, 2 USART, байт- ориентированный последовательный 2- проводный интерфейс, 8 канальный АЦП, программируемый сторожевой таймер со встроенным генератором, SPI порт, JTAG порт с поддержкой внутрисистемной отладки и пять программно инициализируемых режима пониженного потребления.

Читайте также: Разгон шины памяти видеокарты

В режиме Idle останавливается ядро, а SRAM, таймеры/счетчики, SPI/CAN порт и система прерываний продолжают функционировать. В Power-down режиме содержимое регистров сохраняется, но останавливается задающий генератор и отключаются все внутренние функции микропроцессора до тех пор, пока не произойдет прерывание или аппаратный сброс. В режиме Power-save асинхронные таймеры продолжают функционировать, позволяя отсчитывать временные интервалы в то время, когда микропроцессор находится в режиме сна. В режиме ADC Noise Reduction останавливается вычислительное ядро и все модули ввода-вывода, за исключением асинхронного таймера и самого АЦП, что позволяет минимизировать шумы в течение выполнения аналого-цифрового преобразования. В Standby режиме задающий генератор работает, в то время как остальная часть прибора бездействует. Это позволяет быстро сохранить возможность быстрого запуска приборов при одновременном снижении потребления.

Прибор изготовлен по высокоплотной энергонезависимой технологии изготовления памяти компании Atmel. Встроенная ISP Flash позволяет перепрограммировать память программы в системе через последовательный SPI интерфейс программой-загрузчиком, выполняемой в AVR ядре, или обычным программатором энергонезависимой памяти. Программа-загрузчик способна загрузить данные по любому интерфейсу, имеющегося у микроконтроллера. Программа в загрузочном секторе продолжает выполняться даже при загрузке области памяти прикладной программы, обеспечивая реальный режим «считывания при записи». Объединив 8- битное RISK ядро и самопрограммирующейся внутри системы Flash памятью корпорация Atmel сделала прибор ATMega128CAN11 мощным микроконтроллером, обеспечивающим большую гибкость и ценовую эффективность широкому кругу управляющих устройств.

Видео:Миниатюрный вольтметр с функцией осциллографа на Atmega 328 и олед дисплее 0.91"Скачать

Миниатюрный вольтметр с функцией осциллографа на Atmega 328 и олед дисплее 0.91"

Atmega128 монитор шины can

_________________
«Разум, единожды раздвинувший свои границы, никогда не вернется в границы прежние»
Альбе́рт Эйнште́йн

“Так что же такое электричество? Уже на протяжении всей жизни я задаю себе этот вопрос.”
Никола Тесла

Ум, честь и совесть. И скромность.

вы найдете сколько угодно статей на русском о протоколе CAN. вы найдете сколько угодно статей на русском об AVR. есть небольшие статеечки об AT90CAN128 — на сервере gaw.ru по-моему,- но я не встречал ничего конкретного на русском о том, как все-все-все сделать сразу. более того, нет (по-моему) ни одного публичного исходника для AT90CAN128 с русскими комментариями.

с другой стороны: есть готовая бесплатная библиотека поддержки AT90CAN128, которую можно скачать с сайта Atmel. там все достаточно просто, причем есть примеры разных проектов. неужели сложно разобраться в паре-тройке страниц английского текста?

с третьей стороны: есть такая штука, как MCP2515 от микрочипа — это контроллер CAN, который можно подключить по SPI к любому микроконтроллеру, хоть к attiny2313. Для этой микросхемы есть немало статей и исходников, но опять же, чтобы все-все-все на русском — не попадалось.

боюсь, ваше желание нереализуемо.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется.

JLCPCB, всего $2 за прототип печатной платы! Цвет — любой!

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/cwc

Встал на лапы

_________________
«Разум, единожды раздвинувший свои границы, никогда не вернется в границы прежние»
Альбе́рт Эйнште́йн

“Так что же такое электричество? Уже на протяжении всей жизни я задаю себе этот вопрос.”
Никола Тесла

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Поставщик валерьянки для Кота

_________________
битва с дураками проиграна, победители торжествуют. слава победителям!

Приглашаем 30 ноября всех желающих посетить вебинар о литиевых источниках тока Fanso (EVE). Вы узнаете об особенностях использования литиевых источников питания и о том, как на них влияют режим работы и условия эксплуатации. Мы расскажем, какие параметры важно учитывать при выборе литиевого ХИТ, рассмотрим «подводные камни», с которыми можно столкнуться при неправильном выборе, разберем, как правильно проводить тесты, чтобы убедиться в надежности конечного решения. Вы сможете задать вопросы представителям производителя, которые будут участвовать в вебинаре.

Читайте также: Шины кумхо в тамбове

Встал на лапы

Тогда забросил эту тему, а сейчас вернулся к ней.

_________________
«Разум, единожды раздвинувший свои границы, никогда не вернется в границы прежние»
Альбе́рт Эйнште́йн

“Так что же такое электричество? Уже на протяжении всей жизни я задаю себе этот вопрос.”
Никола Тесла

Приглашаем всех желающих 25/11/2021 г. принять участие в вебинаре, посвященном антеннам Molex. Готовые к использованию антенны Molex являются компактными, высокопроизводительными и доступны в различных форм-факторах для всех стандартных антенных протоколов и частот. На вебинаре будет проведен обзор готовых решений и перспектив развития продуктовой линейки. Разработчики смогут получить рекомендации по выбору антенны, работе с документацией и поддержкой, заказу образцов.

Друг Кота

_________________
scio me nihil scire.
_____

Жалобная кнопка в правом нижнем углу. )

Опытный кот

Atmega128 монитор шины can

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

Видео:Arduino CAN Monitor (простейший монитор шины CAN)Скачать

Arduino CAN Monitor (простейший монитор шины CAN)

Хакаем CAN шину авто. Виртуальная панель приборов

Atmega128 монитор шины can

В первой статье «Хакаем CAN шину авто для голосового управления» я подключался непосредственно к CAN шине Comfort в двери своего авто и исследовал пролетающий траффик, это позволило определить команды управления стеклоподъемниками, центральным замком и др.

В этой статье я расскажу как собрать свою уникальную виртуальную или цифровую панель приборов и получить данные с любых датчиков в автомобилях группы VAG (Volkswagen, Audi, Seat, Skoda).

Мною был собран новый CAN сниффер и CAN шилд для Raspberry Pi на базе модуля MCP2515 TJA1050 Niren, полученные с их помощью данные я применил в разработке цифровой панели приборов с использованием 7″ дисплея для Raspberry Pi. Помимо простого отображения информации цифровая панель реагирует на кнопки подрулевого переключателя и другие события в машине.

В качестве фреймворка для рисования приборов отлично подошел Kivy для Python. Работает без Иксов и для вывода графики использует GL.

  1. CAN сниффер из Arduino Uno
  2. Подслушиваем запросы с помощью диагностической системы VAG-COM (VCDS)
  3. Разработка панели приборов на основе Raspberry Pi и 7″ дисплея
  4. Софт панели приборов на Python и Kivy (UI framework)
  5. Видео работы цифровой панели приборов на базе Raspberry Pi

Под катом полная реализация проекта, будет интересно!

Atmega128 монитор шины can

Водительская дверь открыта

CAN сниффер из Arduino Uno

Чтобы послушать, что отправляет VCDS в CAN шину я собрал сниффер на макетке из Arduino и модуля MCP2515 TJA1050 Niren.

Atmega128 монитор шины can

Схема подключения следующая:

Для прослушивания трафика использовал анализатор CanHackerV2 и прошивку arduino-canhacker для Arduino, которая реализует API совместимое с этой программой. Прошивка в гите https://github.com/autowp/arduino-canhacker.

CanHackerV2 позволяет смотреть пролетающий трафик, записывать и проигрывать команды с заданным интервалом, что очень сильно помогает в анализе данных.

Подслушиваем запросы с помощью диагностической системы VAG-COM (VCDS)

Описание VCDS с официального сайта ru.ross-tech.com:

Программно-аппаратный сканер VCDS предназначен для диагностики электронных систем управления, устанавливаемых на автомобилях группы VAG. Доступ ко всем системам: двигатель, ACP, АБС, климат-контроль, кузовая электроника и т.п., считывание и стирание кодов неисправностей, вывод текущих параметров, активация, базовые установки, адаптация, кодирование и т.п.

Atmega128 монитор шины can

Подключив сниффер к линиям CAN_L и CAN_H в диагностическом шнурке я смог увидеть какие запросы делает VCDS и что отвечает авто.

Atmega128 монитор шины can

Особенность авто группы VAG в том, что OBD2 разъем подключен к CAN шине через шлюз и шлюз не пропускает весь гуляющий по сети трафик, т.е. подключившись в OBD2 разъем сниффером вы ничего не увидите. Чтобы получить данные в OBD2 разъёме нужно отправлять шлюзу специальные запросы. Эти запросы и ответы видно при прослушивании трафика от VCDS. Например вот так можно получить пробег.

В VCDS можно получить информацию почти с любого датчика в машине. Меня в первую очередь интересовала информация, которой вообще нет на моей приборке, это:

  • температура масла
  • какая именно дверь открыта

Скорость, обороты, температура ОЖ, пробег, расход, место в баке и другие запросы я тоже получил, для справки размещу.

Разработка панели приборов на основе Raspberry Pi и 7″ дисплея

В качестве аппаратной части я выбрал Raspberry Pi. Была идея использовать Android планшет, но показалось, что на Raspberry Pi будет проще и быстрее. В итоге докупил официальный 7″ дисплей, и сделал CAN шилд из модуля TJA1050 Niren.

Atmega128 монитор шины can

OBD2 штекер использовал от старого ELM327 адаптера.

Atmega128 монитор шины can

Используются контакты: CAN_L, CAN_H, +12, GND.

Тесты в машине прошли успешно и теперь нужно было все собрать. Плату дисплея, Raspberry Pi и блок питания разместил на куске черного пластика, очень удачно подобрал пластмассовые втулки, с ними ничего не болтается и надежно закреплено.

Atmega128 монитор шины can

Местом установки выбрал бардачок на торпедо, которым я не пользуюсь. По примеркам в него как раз помещается весь бутерброд.

Atmega128 монитор шины can

Напильником довел лист черного пластика до размера крышки бардачка, к нему прикрепил бутерброд и дисплей. Для прототипа сойдет, а 3D модель с крышкой для дисплея и всеми нужными крепежами уже в разработке.

Atmega128 монитор шины can

Софт панели приборов на Python и Kivy (UI framework)

Параллельно со сборкой самой панели приборов я вел разработку приложения для отображения информации с датчиков. В самом начале я не планировал какой либо дизайн.

Первая версия панели приборов

По мере разработки решил визуализировать данные более наглядно. Хотел гоночный дизайн, а получилось, что-то в стиле 80-х.

Вторая версия панели приборов

Продолжив поиски более современного дизайна я обратил внимание какие цифровые приборки делают автопроизводители и постарался сделать что-то похожее.

Третья версия панели приборов

Ранее, я никогда не разрабатывал графические приложения под Linux поэтому не знал с чего начать. Вариант на вебе простой в разработке, но слишком много лишних компонентов: иксы, браузер, nodejs, хотелось быстрой загрузки. Попробовав Qt PySide2 я понял, что это займет у меня много времени, т.к. мало опыта. Остановился на Kivy — графический фреймворк для Python, простой в понимании с полной библиотекой графических элементов и дающий возможность быстро создать мобильный интерфейс.

Kivy позволяет запускать приложение без Иксов, прямо из консоли, в качестве рендера используется OpenGL. Благодаря этому полная загрузка системы может происходить за 10 секунд.

Алгоритм работы следующий, используется 3 потока:

  1. В главном потоке работаем с графическими элементы (спидометр, тахометр, часы, температуры и др) на экране
  2. Во втором потоке каждые 5 мс делаем опрос следующего датчика
  3. В третьем потоке слушаем CAN шину, получив ответ парсим его и обновляем соответствующий графический элемент

Работает стабильно, самый долгий процесс в разработке был связан с рисованием дизайна. На данный момент обкатываю решение и потихоньку пишу мобильное приложение для iOS, чтобы любой мог попробовать цифровую панель приборов.

Проект цифровой панель приборов открытый. Рад буду предложениям и комментариям!

Видео работы цифровой панели приборов на базе Raspberry Pi

Приложение на телефон Виртуальная панель приборов

Для телефона написал приложение — виртуальная панель приборов, данные от машины передаются через ELM327 Wi-Fi адаптер. Адаптер подключается в OBD2 разъем, делает запросы по CAN шине и возвращается ответы в приложение по Wi-Fi.

Приложение VAG Virtual Cockpit уже в AppStore. Пока, что только под iPhone/iPad, но Android версия планируется. Приложение решил сделать платным с минимальной символической стоимостью.
Если есть желание поддержать проект, то вот ссылка на приложение, принимаю любые замечания и предложения!
VAG Virtual Cockpit

  • Свежие записи
    • Нужно ли менять пружины при замене амортизаторов
    • Скрипят амортизаторы на машине что делать
    • Из чего состоит стойка амортизатора передняя
    • Чем стянуть пружину амортизатора без стяжек
    • Для чего нужны амортизаторы в автомобиле
    • Правообладателям
    • Политика конфиденциальности

    🎥 Видео

    MCP2515, контроллер CAN шины с интерфейсом SPIСкачать

    MCP2515, контроллер CAN шины с интерфейсом SPI

    CAN шина👏 Как это работаетСкачать

    CAN шина👏 Как это работает

    CAN шина в Глонасс мониторингеСкачать

    CAN шина в Глонасс мониторинге

    Arduino CAN Hacker, CAN Monitor, CAN Sender разбор вопросовСкачать

    Arduino CAN Hacker, CAN Monitor, CAN Sender разбор вопросов

    ESP32 CAN Monitor Сборка (простейший монитор шины CAN на ESP32)Скачать

    ESP32 CAN Monitor Сборка (простейший монитор шины CAN на ESP32)

    Универсальная плата CAN шиныСкачать

    Универсальная плата CAN шины

    Arduino CAN Sender ( Ардуино отправка пакетов в КАН шину)Скачать

    Arduino CAN Sender ( Ардуино отправка пакетов в КАН шину)

    Логический LIN пробник, цифровой тестер лин, к лайн шины автомобиля. На Ардуино, OLED I2C, TJA 1020Скачать

    Логический LIN пробник, цифровой тестер лин, к лайн шины автомобиля. На Ардуино, OLED  I2C, TJA 1020

    Подробно про CAN шинуСкачать

    Подробно про CAN шину

    CAN HACKER обзорчик - первый опыт и плюсик в Orange5Скачать

    CAN HACKER обзорчик - первый опыт и плюсик в Orange5

    Простая проверка CAN шины. Сканер не видит автомобиль через OBD2. Как правильно выбрать изоленту.Скачать

    Простая проверка CAN шины. Сканер не видит автомобиль через OBD2. Как правильно выбрать изоленту.

    Экспресс диагностика CAN шины на автомобиле. №21Скачать

    Экспресс диагностика CAN шины на автомобиле. №21

    Как работает чтение и запись EEPROM по CAN. Базовый принцип.Скачать

    Как работает чтение и запись EEPROM по CAN. Базовый принцип.

    CAN Hacker своими руками пример чтения кан шины с помощью ARDUINO MCP2515Скачать

    CAN Hacker своими руками пример чтения кан шины с помощью ARDUINO MCP2515

    лекция 403 CAN шина- введениеСкачать

    лекция 403  CAN шина- введение

    Магия CAN-шиныСкачать

    Магия CAN-шины
Поделиться или сохранить к себе:
Технарь знаток