Page 1 of 1

ECU on FPGA

Posted: Fri Mar 03, 2017 7:06 pm
by UA3MQJ
Посоны, общий привет! Сразу извиняйте, если что не так.
В общем, давно у меня мысли о ЭБУ на ПЛИСе. Ну сами понимаете, там практически полный реалтайм, все в один такт, куча дел, которые можно делать параллельно.
Но в двигателестроении я как-то совсем слаб. Ну так, общие понятия есть, и опыт владения 11м корытом на ваз 21124, мелкие там ремонты, перепайка шнурка дпкв, и замена датчика положения валов. Ну сброс ошибок, не более того.
И, в общем, есть тут идея, переделать снегоходный карбюраторный двигатель, на инжекторность. Ну и открытый проект на ПЛИС сделать по управлению двигателем.

О себе коротко, радиолюбитель коротковолник, с позывным. Паять умею, электронику понимаю с детских цифровых спектрумовских времен. Раньше программировал АРВ, но МК давно разлюбил и перешел на ПЛИСы. Плисами уже нормально овладел за пару лет. Использую Verilog и плисины от Altera. Они по цене оптимально. Даже пишу статьи про популяризацию ПЛИС на хабре. Иногда МК все же требуются, например те же сетевые контроллеры или usb контроллеры обычно даже в виде phy это контроллер, который надо понимать, шить... В общем без мк все равно никак нельзя, поэтому в STM32 тоже разбираюсь, но в контексте Libopencm. Почему ПЛИС? Потому что сами знаете, плюс переносимость хороша, пробовал перенос проектов с Altera на Lattice - в целом никаких проблем. Так же между поколениями микросхем идет нормальный переезд. И даже в будущем, когда не будет этих ПЛИСин, обязательно будут какие-то другие, но все они подойдут. Подому что это HDL - определение логики - аппаратчина, хоть микросхемы заказывай. В общем, жалко учить какой-то МК, жалко создавать проект под какой-то МК, если его потом перестанут делать. Отчасти, и выбор stm32 был по причине того, что оно arm, и всетаки совсем оно не вымрет. Так что приоритет на ПЛИС. А, да. Ну образование техникум, потом академия по специальности ВС. Так что программирование и вычислительное железо знаю. По работе всю дорогу - программист. Паялово - это хобби по большей части.

Так вот. Идея - эбу на ПЛИС. Хотелось бы примерно оценить пробелы моих знаний. Опыт у вас есть, собак уже наелись, может чего сразу подскажете.

1. на сколько сложно переделать карб на инжектор? 1 цилиндр от снегохода буран
2. на сколько датчиков и какого типа нужно чтобы элементарно запустить эту вот тарахтелку?
3. гуглил, видел материалы о том, что существуют модели двигателей внутри компьютера, на которых можно отлаживать эбу. может есть информация?

Со свой стороны, готов всячески помочь в освоении ПЛИСостроения. Имея опыт программирования МК и ПЛИС, хочу сразу сказать, что сначала это, конечно, отрыв башки. Но в целом, разработка на ПЛИС - на много проще!!! Вот в разы! Причем она по настоящему идет модульно и блочно. Причем не обязательно всем быть глубокими гуру этого ПЛИСа. Сейчас вот делаю проект синтезатора на ПЛИС. И все чудесно получается в виде блоков. Фактически, под конкретные требования просто берешь набор аппаратных модулей, соединяешь их между собой и проект готов. В моем случае - это блоки для управления внешними устройствами, генераторами сигналов, блоки для приема данных. В случае с ЭБУ это будут блоки датчиков логических, аналоговых итд.

В общем, буду рад почитать камменты, а может я вообще не туда попал )
С уважением, Алексей. Спасибо

Re: ECU on FPGA

Posted: Fri Mar 03, 2017 7:11 pm
by AndreyB
Вопросы проще задавать, чем отвечать :)

пожалуйста прочитай http://forum.cxem.net/index.php?/topic/133403-%D0%B2%D0%BF%D1%80%D1%8B%D1%81%D0%BA-%E2%80%94-%D1%8D%D1%82%D0%BE-%D0%BF%D1%80%D0%BE%D1%81%D1%82%D0%BE/
слишком много ответов http://rusefi.com/forum/viewtopic.php?t=213

итого - ты хочешь и карб переделать, и про датчики понять, и плату сделать вероятно с нуля, и прошивку вероятно сделать с нуля?

Re: ECU on FPGA

Posted: Fri Mar 03, 2017 7:12 pm
by AndreyB
Плюс поиск на FPGA по этому форуму - например http://rusefi.com/forum/viewtopic.php?f=8&t=1012

Re: ECU on FPGA

Posted: Fri Mar 03, 2017 9:42 pm
by UA3MQJ
russian wrote:пожалуйста прочитай...
Благодарю!
russian wrote:итого - ты хочешь и карб переделать, и про датчики понять, и плату сделать вероятно с нуля, и прошивку вероятно сделать с нуля?
Более реальным вижу вариант уже на инжекторном двигателе заменять эбу. Про датчики - да, хотелось бы понять.
По платам, я при создании прототипов уже давно решил использовать готовые платы с ПЛИС, и к ним делать платы расширения. Причем я не один, кто решает так делать, из более серьезных разработчиков.
Платы я делаю в альтиуме. Сам не произвожу, заказываю в китае. Но про плату говорить рано. И про прошивку тоже. Сейчас цель - собрать информацию, оценить масштабы бедствий.
С нуля писать - это однозначно не задача для одного человека. Да и наработки все равно уже существуют, возможно их можно портировать/адаптировать. Да даже алгоритмы работы знать - это уже не с нуля.

Re: ECU on FPGA

Posted: Fri Mar 03, 2017 10:47 pm
by AndreyB
UA3MQJ wrote:Да даже алгоритмы работы знать - это уже не с нуля.
http://rusefi.com/wiki/index.php?title=Manual:Software:Fuel_Control

http://rusefi.com/wiki/index.php?title=Manual:Software:Ignition_Control

Re: ECU on FPGA

Posted: Fri Mar 03, 2017 10:58 pm
by AndreyB
UA3MQJ wrote:мысли о ЭБУ на ПЛИСе. Ну сами понимаете, там практически полный реалтайм, все в один такт, куча дел, которые можно делать параллельно.
Я не знаю правильных терминов, но мне кажется, что в ЭБУ задач уровня 100МГц таймера просто нет. Могу поправиться - в случае впрыска в коллектор (низкое давление топлива) такой точности кажется не нужно, в случае непосредственного впрыска топлива высокого давления - да, может быть, но нам до туда как до звёзд пока.

Пока мы сидим в реальноси низкого давления, намного важнее мониторинг, диагностика ошибок, алгоритмы и управление медленными агрегатами. Я искренне на основании своего детского опыта не вижу нужны в большей точности, чем моя наивная 1МГц имплементация.

Есть ли желания для начала запустить впрысковую машину на rusEfi на базе stm32, написать пару улучшений в прошивку на C++, оглядеться и на основании опыта реального предлагать, что именно и где именно можно качественно улучшить ПЛИСом?

Re: ECU on FPGA

Posted: Fri Mar 03, 2017 11:41 pm
by Abricos
Давай так ...
У тебя есть свободные 1000$ ???
У тебя есть свободные 8 часов в день каждый день на протяжении 1 года ???
У тебя познание в переделки моторов (станки токарные фрезерные сварочьные опораты) ???
У тебя есть опыт проектирование печатных плат и понятие индукцыя и электромагнитная индукцыя эфир и прочий бред ???
У тебя есть опыт по написанию программ в с+++ java делфи и прочий бред ???


Если ты проста хочешь завести Один снегоход а не 1000 штук ... то купи готовую плату RusEFI или Январь ...

Re: ECU on FPGA

Posted: Fri Mar 03, 2017 11:48 pm
by UA3MQJ
Спасибо за ответы. Большое спасибо. У вас собран, понят и систематизирован огромный объем информации. Для меня это целое море новой информации. Надо ее получить, как-то переварить, а там уже и попытаться прийти к выводам.
Вообще, да. На фоне скоростей двигателя, скорость работы МК - это несколько порядков. Даже при генерации звука и музыки (та тема, где я сейчас плисоводничаю), частоты до 20 КГц, а в моторе всё же поменьше. Не пытаясь притянуть задачу к плис, там просто надо очень много управляющих сигналов генерить (полифония, микшеры, фильтры, коммутация). А по впрыскам, увы, я даже не в курсе, в чем там разница. Неужели требуются такие высокие точности и скорости, что МК не успевает?
russian wrote:Пока мы сидим в реальноси низкого давления, намного важнее мониторинг, диагностика ошибок, алгоритмы и управление медленными агрегатами. Я искренне на основании своего детского опыта не вижу нужны в большей точности, чем моя наивная 1МГц имплементация.
Да. Я понял. Ну, хочу сказать, что первый восторг от ПЛИСов и мигания лампочками у меня уже давно прошел. И я на самом деле не считаю ПЛИС - универсальным решением всех проблем. На самом деле нахожусь в поиске некоего оптимального набора инструментов для решения широкого круга задач. Считаю, что самая дорогая часть проекта - это программист. Его время стоит дорого. И поэтому, если я учился писать под avr и сейчас для проекта с USB мне пришлось переучиваться на STM32, то я просто выкинул время на изучение на помойку. Со временем начинаешь задумываться об ограниченности свободного времени, и времени вообще. И как-то становится без желания что-то изучать, если эти знания потом нужно будет выкинуть. В этом плане ПЛИС - это те знания, которые со временем не стареют. Наработки на тех же Opencores пойдут и через 10 лет.
Но, к сожалению, математика с дробями, развесистая логика - это проблема для ПЛИС. Потому что на какую-то более менее сложную логику, приходится создавать более сложную стейт машину. А мозг человека всетаки больше императивный. Я уже для себя принял факт того, что без микропроцессорного ядра обойтись почти невозможно. Почти. Можно упороться, конечно, но смысла в этом нет. Время стоит дорого. Однозначного решения я пока не нашел. И пока решил взять самый доступный МК но архитектуры, которая завтра не изчезнет, как attiny2313, какой-нибудь arm. Доступнее всех стм32. Инструмент gcc noneabi выбрал тоже из соображений универсальности. Хотя плисовое решение на софт ядре внутри плис - весьма интересное решение. Но всё это требует определенный объем ячеек плис, и уже самыми доступными сейчас моделями циклонов в 4-6 тысяч ячеек (за 900-1200 рублей) будет не обойтись. А может и обойтись. Я пока в поиске решения. Дело в том, что каждый производитель предлагает свое софт ядро: Xilinx - microblaze, Altera - nios. И мне это очень не нравится, ибо приняв одну из сторон, будет потом трудно сменить производителя. Знания в помойку. Видимо, надо либо подбирать что-то из ядер на Opencores, какой-нибудь OpenRISC. Либо вообще свой универсальный мастер-конструктор архитектуры под выбранные параметры, чтобы он сгенерил в итоге набор Verilog файлов для архитектуры. На это надо время, конечно. Поэтому пока что пользую stm32. Тут главное, чтоб при переходе от низких давлений к звездам, не пришлось все выкинуть, но как я понял, все пишется по максимуму отвязано.
russian wrote:Есть ли желания для начала запустить впрысковую машину на rusEfi на базе stm32, написать пару улучшений в прошивку на C++, оглядеться и на основании опыта реального предлагать, что именно и где именно можно качественно улучшить ПЛИСом?
Я думаю, что это было бы единственным осмысленным вариантом аргументированно что-то предлагать. К сожалению, у меня пока нет платы STMDiscoveryF4 или другого F4, есть куча STM32F103 и одна борда на stm32l152 discovery. Но надо пока еще осмотреться, почитать. Вика есть, материалы есть, сырки на гите нашел. Мне теперь чтива на месяц. Спасибо еще раз, и простите за многобуков.

Re: ECU on FPGA

Posted: Sat Mar 04, 2017 12:06 am
by UA3MQJ
Abricos wrote:Давай так ...
Давай. Ко мне можно на ты, без проблем.
Сразу просто скажу заранее, наперед, что я не один. У нас определенный коллектив специалистов в разных направлениях. Один может коробку перебрать, второй деталь выточить, третий сервер написать, четвертый сервомотор перемотать, пятый сделать дом из бруса, шестой делать мебель и так далее. Каждый из нас сам по себе не может всего на свете, поэтому мы все помогаем друг другу.
Abricos wrote:У тебя есть свободные 1000$ ???
Это вообще не проблема.
Abricos wrote:У тебя есть свободные 8 часов в день каждый день на протяжении 1 года ???
Вот это - да. Это вот проблема. Но часы тоже покупаются.
Abricos wrote:У тебя познание в переделки моторов (станки токарные фрезерные сварочьные опораты) ???
Познаний в переделке моторов у меня лично нет.
Abricos wrote:У тебя есть опыт проектирование печатных плат и понятие индукцыя и электромагнитная индукцыя эфир и прочий бред ???
Есть, образование, опыт проектирования, заказа производства, собственного изготовления, пайки. Когда моих знаний не хватает - мне помогает товарищ, в основном по аналоговой схемотехнике.
Abricos wrote:У тебя есть опыт по написанию программ в с+++ java делфи и прочий бред ???
Есть. Более 10 лет. Опыт Pascal, asm x86, Delphi, c++ Qt, erlang, сетевые приложения, базы данных, сетевые многопользовательские игры, даже немного web(angular, react). По мк avr на asm, stm32 си libopencm3. По ПЛИС опыт на Verilog по Altera и по Lattice.
Abricos wrote:Если ты проста хочешь завести Один снегоход а не 1000 штук ... то купи готовую плату RusEFI или Январь ...
Есть желание завести именно 1000 штук. Пустить устройство в серию на реальном местном заводе по производству снегоходов. При этом очень хочется сделать проект открытым. Иначе мне не интересно.

Re: ECU on FPGA

Posted: Sat Mar 04, 2017 1:20 am
by Abricos
Почему так написал ... на форуме много таких постов но как-то глохнет всё буквально за месяц ...
А чем тебе готовый франки не устраивает ??? И пускать на поток ??? Всё уже готова ... по цене договоримся ...

Re: ECU on FPGA

Posted: Sat Mar 04, 2017 7:17 am
by UA3MQJ
Abricos wrote:Почему так написал ... на форуме много таких постов но как-то глохнет всё буквально за месяц ...
Так это нормально. Человек потерял интерес и ушел. Мотивы могут быть разными.
Abricos wrote:А чем тебе готовый франки не устраивает ??? И пускать на поток ??? Всё уже готова ... по цене договоримся ...
У меня пока мало информации по проекту. Если он достаточен, для работы с двигателем от снегохода, то это и отлично. Другое дело, что мне, как разработчику, делать будет и нечего (кроме как поучаствовать в проекте).
По поводу договоров по цене, покупками/продажами у нас занимается другой человек. Я в деньгах ничего не понимаю ))))
Только вот уточню - в wiki написано, что проект с открытым исходным кодом. Ты предлагаешь договориться по цене. Что ты хочешь продавать? Изготовленные блоки, под конкретный двигатель, на отдельно изготовленной и смонтированной печатной плате на stm, плюс обвязка и все это в корпусе? Как это соотносится с правилами проекта?

Re: ECU on FPGA

Posted: Sat Mar 04, 2017 2:36 pm
by Abricos
UA3MQJ wrote:
Abricos wrote:Почему так написал ... на форуме много таких постов но как-то глохнет всё буквально за месяц ...
Так это нормально. Человек потерял интерес и ушел. Мотивы могут быть разными.
Abricos wrote:А чем тебе готовый франки не устраивает ??? И пускать на поток ??? Всё уже готова ... по цене договоримся ...
У меня пока мало информации по проекту. Если он достаточен, для работы с двигателем от снегохода, то это и отлично. Другое дело, что мне, как разработчику, делать будет и нечего (кроме как поучаствовать в проекте).
По поводу договоров по цене, покупками/продажами у нас занимается другой человек. Я в деньгах ничего не понимаю ))))
Только вот уточню - в wiki написано, что проект с открытым исходным кодом. Ты предлагаешь договориться по цене. Что ты хочешь продавать? Изготовленные блоки, под конкретный двигатель, на отдельно изготовленной и смонтированной печатной плате на stm, плюс обвязка и все это в корпусе? Как это соотносится с правилами проекта?
Это всё спорные вопросы ... к примеру Тесла Моторс тоже опен сорс (Tesla motors open source ) ... Все твои запросы и нужды решаются за $ и будет вам радость ... может сразу обсудить это с вашим финансистом ??? Франки поддерживает всё што угодно ... если будет заказ в 1000шт то можно и под вашы зодочи заточить (так как у вас 1 цылиндор а плата поддерживает 12 лишнее вам не нужно .))))

Re: ECU on FPGA

Posted: Fri Nov 22, 2019 12:05 pm
by peredelkin

Re: ECU on FPGA

Posted: Fri Nov 22, 2019 3:47 pm
by puff
чтойто? hip?

Re: ECU on FPGA

Posted: Fri Nov 22, 2019 4:07 pm
by peredelkin
наброски аппаратного генератора углов,подобного тмс570. но там он не работает не только у меня.
нужно еще много причесывать и определиться с реакциями на разные ситуации.
потом интерфейс еще думать и самое сложное для меня: критерий обновления компараторов.
====
https://github.com/peredelkin/fpga_hwag_test/blob/master/test.v
осторожно,не сожгите себе глаза - код пилить и пилить
окло 700-800 LE в таком виде
Screenshot_20191210_221441.png
Screenshot_20191210_221441.png (98.53 KiB) Viewed 35689 times
а вот главная моя проблема на 16.12.19
Screenshot_20191216_180303.png
Screenshot_20191216_180303.png (35.6 KiB) Viewed 35622 times

Re: ECU on FPGA

Posted: Tue Dec 17, 2019 4:22 pm
by AndreyB
Я пока не понимаю важности этой работы :( Кажется, что много усилий - но не явно, какие проблемы решаются. У меня пока нет настолько принципиально нерешённых проблем :(

Re: ECU on FPGA

Posted: Sat Dec 21, 2019 10:48 am
by peredelkin
08.02.2020
сылка на гит
краткий видеообзор
пока все плохо и из этой схемы можно вытянуть максимум 50 МГц (квартус дает Fmax около 100 МГц без компараторов угла и без переключения 360->720).
возможно боьшую частоту не получить изза большой разрядности счетчиков (24 бита некоторые).

счетчик периода 24 бита
оконный компаратор 24 бита
поиск метки 24 бита
счетчик зубов 8 бит
счетчик генератор отсчетов 22 бита
счетчик отсчетов в периоде 19 бит
асинхронный счетчик углов 24 бита
синхронный счетчик углов 24 бита

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

Re: ECU on FPGA

Posted: Sun Apr 05, 2020 12:02 am
by peredelkin

Пара счетчиков задают момент срабатывания.
Интерфейса нет - всё пока на плис.
Теперь нужно делать плату мк+плис.
Объясните кто нибудь,как описать spi на верилоге? )) :mrgreen:

Re: ECU on FPGA

Posted: Sat Jan 02, 2021 7:30 pm
by peredelkin
Рассинхронизация из-за помехи от искры.
Фильтр есть. Пока можно свалить все на очень длинные провода. Надо бы на машине проверить - может и не будет так сбоить. При меньшем зазоре вероятность сбоя выше многократно.


Отправлено с моего H4213 через Tapatalk


Re: ECU on FPGA

Posted: Sat Jan 02, 2021 7:37 pm
by AndreyB
нет вступления, без контекста ничего не понятно. в голове историю ветки не удержать. хочешь напомнить с начала и до конца, на что мы смотрим?

Re: ECU on FPGA

Posted: Sun Jan 03, 2021 9:11 pm
by peredelkin
можно сказать,сделал hwag(HardWare Angle Generator), но работать пока не хочет.
https://www.ti.com/lit/ug/spnu515c/spnu515c.pdf
страницы с 1115 по 1136. у меня лишь только основа,которая показана на странице 1118 плюс синхронные счетчики на каждую катушку/форсунку(пока только зажиганием пытаюсь заняться).
отдалил катушку подальше от платы,но результат тот же - теряется синхронизация.
spi интерфейс уже делал туда,но пока всё разобрал,чтобы причесать можно было.
держу в курсе.

Re: ECU on FPGA

Posted: Mon Jan 04, 2021 2:30 pm
by Abricos
Коробочька обклей фольгой и накроль котушку ... Шелкания услышеш ...

Re: ECU on FPGA

Posted: Mon Jan 04, 2021 7:38 pm
by peredelkin
начал переписывать с 0.
пока что стало стабильней,но в определеных условиях все еще глючит при работе катушки зажигания
хваг.gif
хваг.gif (135 KiB) Viewed 27309 times