khach 33 7 сентября, 2021 Опубликовано 7 сентября, 2021 · Жалоба А есть ли где адаптер и софтина, чтобы кроме протокола записывали задержку между стоп битом TX и стартовым битом ответа по RX? Где то сбоит задержка прием- передача и портится последний-первый байт обмена. Но постоянно держать на линии осциллограф слишком накладно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 7 сентября, 2021 Опубликовано 7 сентября, 2021 · Жалоба 9 минут назад, khach сказал: А есть ли где адаптер и софтина, чтобы кроме протокола записывали задержку между стоп битом TX и стартовым битом ответа по RX? Где то сбоит задержка прием- передача и портится последний-первый байт обмена. Это же элементарно делается в самой программе. Зачем что-то внешнее? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Павел_Б 0 7 сентября, 2021 Опубликовано 7 сентября, 2021 (изменено) · Жалоба On 8/12/2021 at 7:05 PM, turnon said: Использую для этих целей 74HC08N, Кстати, лично у меня работает даже без подачи питания на 74HC08. Случайно отключил питание и вижу дальше обмен дынными. Подключены только 4 вывода (GND, 1А, 1В и 1Y). Видимо фантомного питания достаточно. Изменено 7 сентября, 2021 пользователем Павел_Б Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemkad 53 7 сентября, 2021 Опубликовано 7 сентября, 2021 · Жалоба Вам че, 10 баксов жалко на простейший логический анализатор? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khach 33 8 сентября, 2021 Опубликовано 8 сентября, 2021 · Жалоба 20 hours ago, jcxz said: Это же элементарно делается в самой программе. Зачем что-то внешнее? Не делается- во первых драйвер винды не позволяет получить точное время приема пакета в тиках проца, или нужен спец драйвер типа как от wireshark-a, во вторых все равно время будет конца приема а не начала. Простейший логический анализатор конечно это ловит, но для этого нужен отдельный комп и он все равно пропускает такие события ( не все регистрирует). По уму тут нужно прерывание по старт биту и считывать таймер по прерыванию и писать его в лог в заголовок к пакету данных. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 8 сентября, 2021 Опубликовано 8 сентября, 2021 · Жалоба 27 минут назад, khach сказал: Простейший логический анализатор конечно это ловит, но для этого нужен отдельный комп и он все равно пропускает такие события ( не все регистрирует). Это звучит прямо как откровение. Зачем ему отдельный комп? Почему он должен что-то пропускать, если он тупо пишет в комп байты (по одному биту на входной канал) с частотой 24 МГц, а вся обработка идет уже в компе над сохраненными данными? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemkad 53 8 сентября, 2021 Опубликовано 8 сентября, 2021 · Жалоба 3 часа назад, khach сказал: Простейший логический анализатор конечно это ловит, но для этого нужен отдельный комп и он все равно пропускает такие события Чаво???? Ну я еще могу понять когда речь об анализе USB, но USART на 115200 он полностью ловит не пропуская ничего даже с пониженным до 1МГц семплированием чего большинство компов 10 летней давности даже не заметят. Оригинал, имеющий на борту буфер, вполне справляется с анализом USB 2.0 на компах 5 летней давности без каких-то заметных пропусков. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladimirG 0 8 сентября, 2021 Опубликовано 8 сентября, 2021 · Жалоба http://www.qdkingst.com/en И б удет вам щастье =) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Павел_Б 0 8 сентября, 2021 Опубликовано 8 сентября, 2021 · Жалоба 14 hours ago, artemkad said: Вам че, 10 баксов жалко на простейший логический анализатор? Однозначно классный вариант. Спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khach 33 8 сентября, 2021 Опубликовано 8 сентября, 2021 · Жалоба 1 hour ago, artemkad said: Чаво???? Ну я еще могу понять когда речь об анализе USB, но USART на 115200 он полностью ловит не пропуская ничего даже с пониженным до 1МГц семплированием Ловить, в смысле оцифровать, может он и ловит, Cypress там данные льет по DMA, но софт ситуации с перекрытием прием- передача теряет. Т,е в логе обмена ошибка есть, а софт анализатора ее не зафиксировал. Тем более что такое событие бывает раз в пол-часа или реже. Осциллограф с триггером RS232 тоже не очень помагает, т.к гробится start condition и осцилл тупо не запускает развертку. LA1016 пробовали, но там тоже проблема с триггерами для таких событий, или мы не умеем триггера настраивать. Повторяю- надо поймать ситуацию когда передача слейва налезла на хвост передачи мастера. Интерфейс RS485 двунаправленный. Почему так происходит- пока ХЗ, будем копать фирмварь и мастера и слейва. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemkad 53 8 сентября, 2021 Опубликовано 8 сентября, 2021 · Жалоба 4 часа назад, khach сказал: но софт ситуации с перекрытием прием- передача теряет. Никогда не наблюдал что-бы теряло. Я несколько лет работал на этой дешевке и взял более оригинальную версию только когда понадобилось работать с двумя CAN-ами одновременно. Работает абсолютно честно. 4 часа назад, khach сказал: Т,е в логе обмена ошибка есть, а софт анализатора ее не зафиксировал. Дык может проблему не там ищите? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemkad 53 8 сентября, 2021 Опубликовано 8 сентября, 2021 · Жалоба 4 часа назад, khach сказал: Повторяю- надо поймать ситуацию когда передача слейва налезла на хвост передачи мастера. Интерфейс RS485 двунаправленный. Ну, теоретически, если наблюдать ситуацию одновременно со стороны передатчика мастера и слейва возможна крайне трудноуловимая ситуация когда слейв начинает передачу до завершения стоп-бита мастера. Т.е. поймать-то её поймаешь, но найти в потоке будет сложно потому как логику простого триггера тут не настроишь... Хотя, там вроде можно смотреть на вход управления передатчиком если им корректно управляется уже после завершения отправки байта(а не освобождения буфера UART) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khach 33 8 сентября, 2021 Опубликовано 8 сентября, 2021 · Жалоба 5 minutes ago, artemkad said: возможна крайне трудноуловимая ситуация когда слейв начинает передачу до завершения стоп-бита мастера. Угу, кто то начинает "орать" в шину невовремя и при этом неизвестно кто- слейвой на шине несколько десятков. Самое обидное, что в протоколе предусмотрено в пакете указывать адрес "орущего" но эта часть как раз и интерферирует с хвостом передачи мастера. Если бы предусмотрели при описании протокола адрес дублировать в конце пакета перед КС то давно бы поймали виновника без всяких анализаторов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemkad 53 8 сентября, 2021 Опубликовано 8 сентября, 2021 · Жалоба 3 часа назад, khach сказал: Угу, кто то начинает "орать" в шину невовремя и при этом неизвестно кто- слейвой на шине несколько десятков. Слейвы свои или кто-то другой пишет их программы? Если свои, то можно или записать в лог или просто выдать индикацию того, что переданное не равно принятому. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 8 сентября, 2021 Опубликовано 8 сентября, 2021 · Жалоба 6 часов назад, khach сказал: Угу, кто то начинает "орать" в шину невовремя и при этом неизвестно кто- слейвой на шине несколько десятков. Что то вы путаетесь в показаниях... То пишете: 15 часов назад, khach сказал: Не делается- во первых драйвер винды не позволяет получить точное время приема пакета в тиках проца, или нужен спец драйвер типа как от wireshark-a, во вторых все равно время будет конца приема а не начала. то уже "слэйвов несколько десятков" и неизвестно кто выходит на передачу. Или у вас "слэйвы" - это компы с виндой? И их несколько десятков??? Если это всё-таки собственные устройства с вашей программой, то ещё раз возвращаемся к: Что мешает так сделать? И причём тут wireshark? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться