<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[CANNY forum &mdash; Снова 7.2 про потерю пакетов]]></title>
	<link rel="self" href="https://forum.canny.ru/extern.php?action=feed&amp;tid=1300&amp;type=atom" />
	<updated>2025-02-23T19:51:49Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.canny.ru/viewtopic.php?id=1300</id>
		<entry>
			<title type="html"><![CDATA[Re: Снова 7.2 про потерю пакетов]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=12083#p12083" />
			<content type="html"><![CDATA[<p>Сейчас создам новую тему по этому вопросу</p>]]></content>
			<author>
				<name><![CDATA[serand]]></name>
				<uri>https://forum.canny.ru/profile.php?id=308</uri>
			</author>
			<updated>2025-02-23T19:51:49Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=12083#p12083</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Снова 7.2 про потерю пакетов]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=12082#p12082" />
			<content type="html"><![CDATA[<p>Слишком мало вводных чтоб понять как согласовать.</p>]]></content>
			<author>
				<name><![CDATA[wertyh2003]]></name>
				<uri>https://forum.canny.ru/profile.php?id=731</uri>
			</author>
			<updated>2025-02-23T19:49:44Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=12082#p12082</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Снова 7.2 про потерю пакетов]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=12080#p12080" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>wertyh2003 пишет:</cite><blockquote><p>Суть в том что допустим 1 контроллер работает на трансляцию в одну сторону, другой в другую.</p></blockquote></div><p>Добрый вечер. вот тут и интересно как правильно эти несколько контроллеров согласовать в одну кучу и дополнительно как это всю их работу вывести скажем в UART на пк</p>]]></content>
			<author>
				<name><![CDATA[serand]]></name>
				<uri>https://forum.canny.ru/profile.php?id=308</uri>
			</author>
			<updated>2025-02-23T19:27:30Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=12080#p12080</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Снова 7.2 про потерю пакетов]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=12076#p12076" />
			<content type="html"><![CDATA[<p>Суть в том что допустим 1 контроллер работает на трансляцию в одну сторону, другой в другую. Или например один просто транслирует туда сюда все пакеты кроме тех которые надо править, а второй занимается только этими пакетами и не занимается пересылкой. Вариаций масса, зависит от задачи. Но в последней ревизии прошивки самого процессора, та проблема которую я озвучивал в первом посте, она полностью устранена, за что спасибо в очередной раз разработчикам. Теперь всё летает даже на одном контроллере.</p>]]></content>
			<author>
				<name><![CDATA[wertyh2003]]></name>
				<uri>https://forum.canny.ru/profile.php?id=731</uri>
			</author>
			<updated>2025-02-22T08:07:04Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=12076#p12076</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Снова 7.2 про потерю пакетов]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=12075#p12075" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Константин, CANNY пишет:</cite><blockquote><p>Кроме того, задачи по сложной обработке и ретрансляции сообщений CAN хорошо поддаются распараллеливанию на несколько контроллеров.</p></blockquote></div><p>Добрый день. Если не сложно , где об этом почитать?</p>]]></content>
			<author>
				<name><![CDATA[serand]]></name>
				<uri>https://forum.canny.ru/profile.php?id=308</uri>
			</author>
			<updated>2025-02-22T06:12:07Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=12075#p12075</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Снова 7.2 про потерю пакетов]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=11840#p11840" />
			<content type="html"><![CDATA[<p>Понял, спасибо за ответ. По итогу отпишусь.</p>]]></content>
			<author>
				<name><![CDATA[wertyh2003]]></name>
				<uri>https://forum.canny.ru/profile.php?id=731</uri>
			</author>
			<updated>2024-11-05T11:51:45Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=11840#p11840</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Снова 7.2 про потерю пакетов]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=11839#p11839" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>На этот раз исходный пример №4...<br />Так же замечено что если в сети нет пакетов которые попадают в отбор, тогда и потерь нет, даже если в сети около 50 пакетов.</p></blockquote></div><p>Пример 4 демонстрирует синхронную обработку сообщений CAN, то есть анализ, изменение и ретрансляция сообщений производится диаграммой. При включенном драйвере шлюза, в диаграмму (в регистры драйвера приема CAN) поступают только те сообщения, которые попадают в отборы драйвера шлюза.</p><div class="quotebox"><blockquote><p>Если же количество пакетов увеличивается, условно до 20 пакетов, с периодом тем же 20мс, и пара из них частота по 3мс, тогда часть пакетов теряется.</p></blockquote></div><p>Для обработки сообщений поступающих со столь высокой частотой следует максимально использовать возможности асинхронного драйвера шлюза CAN по статической замене данных сообщений.</p><p>При&nbsp; использовании синхронного режима, если сообщения будут поступать чаще, чем диаграмма сможет их обрабатывать (см. <a href="https://canny.ru/docs/c72duo/resources/#sec--c72duo-resources-fakticheskoe-vremya-vypolneniya-funkcionalnoj-diagrammy" rel="noopener noreferrer" target="_blank">https://canny.ru/docs/c72duo/resources/ … -diagrammy</a> ), то со временем возникнет переполнение, для контроля которого в драйвере предусмотрен соотвествующий регистр (см. Регистр переполнения буфера приема CANx <a href="https://canny.ru/docs/c72duo/can/#sec--c72duo-can-registry-drajvera" rel="noopener noreferrer" target="_blank">https://canny.ru/docs/c72duo/can/#sec-- … y-drajvera</a> ), и сообщение будет отброшено.</p><div class="quotebox"><blockquote><p>Направьте пожалуйста в нужную сторону.</p></blockquote></div><p>Основной совет приведен в п.9 здесь: <a href="https://canny.ru/docs/tips_tricks/solution_developments_tips/" rel="noopener noreferrer" target="_blank">https://canny.ru/docs/tips_tricks/solut … ents_tips/</a></p><div class="quotebox"><blockquote><p>Варианты вижу только такой что придётся делать асинхронной передачей, без использования режима шлюза, т.е. принимаем пакет (возможно не все потребуются, нужно проверять), и отправляем через асинхронную отправку.</p></blockquote></div><p>Построение эмулятора на базе драйвера асинхронной передачи CAN довольно распространенный прием, может быть и для вас он сработает.<br />Кроме того, задачи по сложной обработке и ретрансляции сообщений CAN хорошо поддаются распараллеливанию на несколько контроллеров.</p>]]></content>
			<author>
				<name><![CDATA[Константин, CANNY]]></name>
				<uri>https://forum.canny.ru/profile.php?id=2</uri>
			</author>
			<updated>2024-11-05T10:59:00Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=11839#p11839</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Снова 7.2 про потерю пакетов]]></title>
			<link rel="alternate" href="https://forum.canny.ru/viewtopic.php?pid=11838#p11838" />
			<content type="html"><![CDATA[<p>Снова добрый день, и снова я со своими потерянными пакетам в CAN. Прошу сильно не пинать, но видимо проклятье у мен такое, терять пакеты.<br />На этот раз исходный пример №4 вот отсюда: <a href="https://canny.ru/docs/c72duo/cangateway/#sec--c72duo-cangateway-primery" rel="noopener noreferrer" target="_blank">https://canny.ru/docs/c72duo/cangateway … ay-primery</a><br />Если в сети небольшое количество пакетов с частотой плюс минус 20мс, то всё работает отлично, и сколько входит пакетов на кан0 в контроллер, столько и выходит. Если же количество пакетов увеличивается, условно до 20 пакетов, с периодом тем же 20мс, и пара из них частота по 3мс, тогда часть пакетов теряется. Условно пришло 10000 пакетов, на выходе может быть 9500. Тестовый стенд выглядит как канхакер, который подключён соответственно к кан0 и кан1 контроллера. 120 Ом подтянуты на самом канхакере, и так же подпаяны на контролере. Так же замечено что если в сети нет пакетов которые попадают в отбор, тогда и потерь нет, даже если в сети около 50 пакетов. Либо если вручную изменить частоту передаче канхакером на столе до 10мс (меньше нельзя), то так же потерь нет.</p><p>Прикрепил диаграмму где пробую делать 2 подмены пакетов, там потерь несколько больше. В моей задачке необходимо будет сделать порядка 10 изменений в пакетах, т.е. из диаграммы отправлять 10 пакетов.</p><p>Направьте пожалуйста в нужную сторону. Варианты вижу только такой что придётся делать асинхронной передачей, без использования режима шлюза, т.е. принимаем пакет (возможно не все потребуются, нужно проверять), и отправляем через асинхронную отправку.</p>]]></content>
			<author>
				<name><![CDATA[wertyh2003]]></name>
				<uri>https://forum.canny.ru/profile.php?id=731</uri>
			</author>
			<updated>2024-11-05T10:04:27Z</updated>
			<id>https://forum.canny.ru/viewtopic.php?pid=11838#p11838</id>
		</entry>
</feed>
