<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[CANNY forum &mdash; Реализация фильтрации CAN сообщений и памяти]]></title>
		<link>https://forum.canny.ru/viewtopic.php?id=408</link>
		<atom:link href="https://forum.canny.ru/extern.php?action=feed&amp;tid=408&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Реализация фильтрации CAN сообщений и памяти».]]></description>
		<lastBuildDate>Tue, 30 Jan 2018 06:51:57 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Реализация фильтрации CAN сообщений и памяти]]></title>
			<link>https://forum.canny.ru/viewtopic.php?pid=6523#p6523</link>
			<description><![CDATA[<p>Как вариант, перепаять чип на чистый(новый) и работать с ним напрямую, а esp оставить для связи. Но получается сильно дорого за железки тогда, с учетом такой возни.</p>]]></description>
			<author><![CDATA[null@example.com (nomis)]]></author>
			<pubDate>Tue, 30 Jan 2018 06:51:57 +0000</pubDate>
			<guid>https://forum.canny.ru/viewtopic.php?pid=6523#p6523</guid>
		</item>
		<item>
			<title><![CDATA[Re: Реализация фильтрации CAN сообщений и памяти]]></title>
			<link>https://forum.canny.ru/viewtopic.php?pid=6520#p6520</link>
			<description><![CDATA[<div class="quotebox"><cite>nomis пишет:</cite><blockquote><div class="quotebox"><cite>basil пишет:</cite><blockquote><p>Утверждается, что на 115200 работает (это esp8266).</p></blockquote></div><p>ESP вы программируете по всей видимости. Зачем вам тогда canny? Возьмите специально для этого предназначенную готовую плату MCP2515 и работайте с ней по мегабиту spi.</p></blockquote></div><p>Canny привлек внимание тем, что уже адаптирован под физическое подключение к автомобилю. Т.е. в нем реализованы необходимые обвязки для работы с 12/24V напряжением, были примеры его использования, какие-то отладочные инструменты (тот же CCM). Ну и добавилось к этому отсутствие каких-то специальных знаний (с той же MCP2515 в теории познакомился уже позже Canny). При всем при этом я еще и наступил на достаточное количество граблей при интеграции контроллеров (но вряд ли это у Canny вопрос).</p><p>Соответственно, на Canny удалось создать некоторый прототип, работающий при некоторых ограничениях (или еще до конца неработающий <img src="https://forum.canny.ru/img/smilies/smile.png" width="15" height="15" alt="smile" />). Ну и этот прототип показал недостатки Canny персонально для меня. На текущий момент - это невозможность разработки на C. Язык функциональных диаграмм наверное удобен для относительно простых задач, но мне удобным он не показался. Думаю, что коллеги-разработчики нисколько не потеряют, дав возможность разрабатывать в других средах. И в этом отношении Canny7 могло бы быть аналогом отладочных плат <a href="https://www.chipdip.ru/product/stm32f407g-disc1-2" rel="noopener noreferrer" target="_blank">https://www.chipdip.ru/product/stm32f407g-disc1-2</a>.</p><p>А что касается ESP8266, то с ним тоже не все гладко <img src="https://forum.canny.ru/img/smilies/smile.png" width="15" height="15" alt="smile" /> Не очень ясно, подойдет ли он.</p>]]></description>
			<author><![CDATA[null@example.com (basil)]]></author>
			<pubDate>Mon, 29 Jan 2018 10:02:38 +0000</pubDate>
			<guid>https://forum.canny.ru/viewtopic.php?pid=6520#p6520</guid>
		</item>
		<item>
			<title><![CDATA[Re: Реализация фильтрации CAN сообщений и памяти]]></title>
			<link>https://forum.canny.ru/viewtopic.php?pid=6510#p6510</link>
			<description><![CDATA[<div class="quotebox"><cite>basil пишет:</cite><blockquote><p>Утверждается, что на 115200 работает (это esp8266).</p></blockquote></div><p>ESP вы программируете по всей видимости. Зачем вам тогда canny? Возьмите специально для этого предназначенную готовую плату MCP2515 и работайте с ней по мегабиту spi.</p>]]></description>
			<author><![CDATA[null@example.com (nomis)]]></author>
			<pubDate>Sat, 27 Jan 2018 14:57:56 +0000</pubDate>
			<guid>https://forum.canny.ru/viewtopic.php?pid=6510#p6510</guid>
		</item>
		<item>
			<title><![CDATA[Re: Реализация фильтрации CAN сообщений и памяти]]></title>
			<link>https://forum.canny.ru/viewtopic.php?pid=6507#p6507</link>
			<description><![CDATA[<p>Однако, при условии:</p><div class="quotebox"><blockquote><p>Пакеты приходят с частотой 50 или 100шт/с и их порядка 10 типов (10 разных ID)</p></blockquote></div><p>и</p><div class="quotebox"><blockquote><p>В настоящий момент - да, я их вижу в CCM, они мне известны,&nbsp; .... временно подойдет вариант, когда можно будет работать с 30-50 типами с сигнализацией о том, что пришел пакет с типом, не влезающим в этот список.</p></blockquote></div><p>Думаю что вам можно попытаться. И наверное стоит брать CANNY 7, потребуется производительность - диаграмма будет большой.</p><p>Вам потребуется организовать отбор и запоминание в группе D-триггеров факта прихода и пришедшие данные CAN по каждому известному ID + факт прихода и если нужно данные неизветного ID. И должен быть организован асинхронный цикл по передаче последовательно данных всех D-триггеров управляемый Регистром переполнения UART или подогнанным под время заведомо большее чем время передачи одного сообщения UART генератором импульсов.</p><p>Для простоты, чтобы проверить идею и обойтись без каскадирования коммутаторов, я бы сделал диаграмму для 15 известных ID, не более.</p>]]></description>
			<author><![CDATA[null@example.com (Константин, CANNY)]]></author>
			<pubDate>Fri, 26 Jan 2018 14:09:48 +0000</pubDate>
			<guid>https://forum.canny.ru/viewtopic.php?pid=6507#p6507</guid>
		</item>
		<item>
			<title><![CDATA[Re: Реализация фильтрации CAN сообщений и памяти]]></title>
			<link>https://forum.canny.ru/viewtopic.php?pid=6506#p6506</link>
			<description><![CDATA[<p>CANNY 5 nano поддерживает 115200 но диаграмму исполняет вдвое медленнее чем CANNY 7. Тут придется взвешенно подходить к выбору контроллера.</p><div class="quotebox"><blockquote><p>временно подойдет вариант, когда можно будет работать с 30-50 типами с сигнализацией о том, что пришел пакет с типом, не влезающим в этот список.</p></blockquote></div><p>С CANNY 7 это будет работать, только если в CAN проходит не более 1 сообщения в ~10 миллисекунд.</p><p>Если решать вашу задачу штатными средствами с минимальными потерями данных, то в случае CANNY 7 это будет работать, только если в CAN проходит не более 1 сообщения в ~10 миллисекунд. Если в списке будет не более 16 CAN ID, то это требование можно будет слегка ослабить благодаря наличию в&nbsp; CANNY 7 16 аппаратных фильтров CAN.</p><p>В целом по решению задачи в общем виде (поток на входе превышает поток на выходе):</p><div class="quotebox"><blockquote><p>В идеале конечно было бы здорово иметь возможность накапливать данные по неограниченному числу типов CAN-пакетов</p></blockquote></div><p>Боюсь, что мне нечего вам предложить. Полагаю, что для её решения вам потребуется Гранд-отель: <a href="https://ru.wikipedia.org/wiki/%D0%9F%D0%B0%D1%80%D0%B0%D0%B4%D0%BE%D0%BA%D1%81_%C2%AB%D0%93%D1%80%D0%B0%D0%BD%D0%B4-%D0%BE%D1%82%D0%B5%D0%BB%D1%8C%C2%BB" rel="noopener noreferrer" target="_blank">https://ru.wikipedia.org/wiki/%D0%9F%D0 … 1%8C%C2%BB</a></p>]]></description>
			<author><![CDATA[null@example.com (Константин, CANNY)]]></author>
			<pubDate>Fri, 26 Jan 2018 14:02:56 +0000</pubDate>
			<guid>https://forum.canny.ru/viewtopic.php?pid=6506#p6506</guid>
		</item>
		<item>
			<title><![CDATA[Re: Реализация фильтрации CAN сообщений и памяти]]></title>
			<link>https://forum.canny.ru/viewtopic.php?pid=6493#p6493</link>
			<description><![CDATA[<div class="codebox"><pre><code>Для вас критично использовать CANNY7 или подойдет и CANNY 5 nano? Вопрос связан с тем, что у CANNY 5 nano быстродействие физических каналов ввода-вывода выше, да и уровни согласовать будет проще.</code></pre></div><p>Нет, не критично. Canny7 был выбран исходя из &quot;максимальности&quot; характеристик.</p><div class="codebox"><pre><code>Какова максимальная скорость UART сопрягаемого устройства?</code></pre></div><p>Утверждается, что на 115200 работает (это esp8266).</p>]]></description>
			<author><![CDATA[null@example.com (basil)]]></author>
			<pubDate>Thu, 25 Jan 2018 09:36:43 +0000</pubDate>
			<guid>https://forum.canny.ru/viewtopic.php?pid=6493#p6493</guid>
		</item>
		<item>
			<title><![CDATA[Re: Реализация фильтрации CAN сообщений и памяти]]></title>
			<link>https://forum.canny.ru/viewtopic.php?pid=6491#p6491</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Сейчас используется разделитель. Таймаут показался не очень удачной идеей.</p></blockquote></div><p>Разумно<br /></p><div class="quotebox"><blockquote><p>А эта прошивка у Вас на чем написана, на диаграммах?</p></blockquote></div><p>Задача сплошной ретрансляции трафика CAN на любой из интерфейсов контроллера в общем случае не решается диаграммой достаточно эффективно. Именно поэтому, для CANNY CAN/LIN-monitor используется специализированное системное ПО.</p><div class="quotebox"><blockquote><p>А кроме языка функциональных диаграмм можно что-то другое использовать? C-подобный язык вполне бы подошел.</p></blockquote></div><p><a href="http://forum.canny.ru/viewtopic.php?id=402" rel="noopener noreferrer" target="_blank">http://forum.canny.ru/viewtopic.php?id=402</a></p><br /><p>Для вас критично использовать CANNY7 или подойдет и CANNY 5 nano? Вопрос связан с тем, что у CANNY 5 nano быстродействие физических каналов ввода-вывода выше, да и уровни согласовать будет проще.</p><p>Какова максимальная скорость UART сопрягаемого устройства?</p>]]></description>
			<author><![CDATA[null@example.com (Константин, CANNY)]]></author>
			<pubDate>Wed, 24 Jan 2018 21:37:04 +0000</pubDate>
			<guid>https://forum.canny.ru/viewtopic.php?pid=6491#p6491</guid>
		</item>
		<item>
			<title><![CDATA[Re: Реализация фильтрации CAN сообщений и памяти]]></title>
			<link>https://forum.canny.ru/viewtopic.php?pid=6474#p6474</link>
			<description><![CDATA[<div class="codebox"><pre><code>Если вы смиритесь с потенциальной потерей данных, то задача вполне реализуема. </code></pre></div><p>Если я буду понимать, что данные потерялись, то да, на текущем этапе это устроит.</p><div class="codebox"><pre><code>Эти порядка 10 ID - их точное число и значения будут известны на момент составления диаграммы?</code></pre></div><p>В настоящий момент - да, я их вижу в CCM, они мне известны, но точно появятся новые и переделывать диаграмму очень бы не хотелось (будут сложности с ее обновлением). В идеале конечно было бы здорово иметь возможность накапливать данные по неограниченному числу типов CAN-пакетов, но временно подойдет вариант, когда можно будет работать с 30-50 типами с сигнализацией о том, что пришел пакет с типом, не влезающим в этот список.</p><div class="codebox"><pre><code>В общем случае данные в UART могут идти сплошным потоком. Как вы планируете разделять сообщения UART на принимающей стороне - использовать разделитель вроде &#039;/n&#039; или отслеживая паузы между сообщениями (таймаут)?</code></pre></div><p>Сейчас используется разделитель. Таймаут показался не очень удачной идеей.</p><p>Функционально, система должна работать так же как Ваш CCM.exe. Только не в компьютер через USB, а в другое устройство, подключенное через UART (у Вас USB-же тоже наверняка не очень честный, а скорее аналог UART-а).<br />Меня бы даже наверное устроил бы вариант, когда я бы загрузил Вашу прошивку, работающую с CCM, и выдающую данные не в USB-порт, а в UART порты Canny. Но сейчас есть сложности с настройкой скорости CAN-шины, потому что подключенное через UART устройство не может писать в Canny (электрическая проблема, нужно согласовывать уровни напряжения). А эта прошивка у Вас на чем написана, на диаграммах?</p><p>А кроме языка функциональных диаграмм можно что-то другое использовать? C-подобный язык вполне бы подошел.</p>]]></description>
			<author><![CDATA[null@example.com (basil)]]></author>
			<pubDate>Wed, 24 Jan 2018 07:36:32 +0000</pubDate>
			<guid>https://forum.canny.ru/viewtopic.php?pid=6474#p6474</guid>
		</item>
		<item>
			<title><![CDATA[Re: Реализация фильтрации CAN сообщений и памяти]]></title>
			<link>https://forum.canny.ru/viewtopic.php?pid=6471#p6471</link>
			<description><![CDATA[<p>Если вы смиритесь с потенциальной потерей данных, то задача вполне реализуема. </p><p>Эти порядка 10 ID - их точное число и значения будут известны на момент составления диаграммы?</p><p>В общем случае данные в UART могут идти сплошным потоком. Как вы планируете разделять сообщения UART на принимающей стороне - использовать разделитель вроде &#039;/n&#039; или отслеживая паузы между сообщениями (таймаут)?</p>]]></description>
			<author><![CDATA[null@example.com (Константин, CANNY)]]></author>
			<pubDate>Wed, 24 Jan 2018 06:37:28 +0000</pubDate>
			<guid>https://forum.canny.ru/viewtopic.php?pid=6471#p6471</guid>
		</item>
		<item>
			<title><![CDATA[Реализация фильтрации CAN сообщений и памяти]]></title>
			<link>https://forum.canny.ru/viewtopic.php?pid=6470#p6470</link>
			<description><![CDATA[<p>Основная задача: получить CAN-сообщение из шины и передать его через UART на другое устройство.</p><p>Проблема в том, что шина работает на скорости 500kbps, а UART на Canny7 - максимум на 57600, что приводит к переполнению (с учетом того, что в UART передаются еще и дополнительные данные). Пакеты приходят с частотой 50 или 100шт/с и их порядка 10 типов (10 разных ID), т.е. их довольно много.</p><p>При использовании CCM периодически возникает сообщение COVF (CAN overflow, по всей видимости).</p><p>Как правильно на языке функциональных диаграмм реализовать следующую логику: запоминать предыдущее сообщение с таким же ID и в UART отправлять только изменения или делать это 1 раз в секунду? Таким образом, для каждого типа сообщения в UART отправляться данные 1 раз в секунду или изменения. Этого должно быть сильно меньше, CCM - же справляется.&nbsp; Ситуация осложняется тем, что заранее типы сообщений CAN неизвестны, но можно ограничиться каким-то разумным числом запоминаемых типов сообщений.</p><p>По сути - это будет некоторый аналог CCM.</p>]]></description>
			<author><![CDATA[null@example.com (basil)]]></author>
			<pubDate>Wed, 24 Jan 2018 03:05:38 +0000</pubDate>
			<guid>https://forum.canny.ru/viewtopic.php?pid=6470#p6470</guid>
		</item>
	</channel>
</rss>
