Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Тестирование CAN драйвера в статике возможно?
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Controller Area Network (CAN)
Д_М
Приветствую!
Вожусь с AT90CAN128. Есть некоторые успехи. Принемаю сигнал с прибора в режиме listening. Подробней здесь https://electronix.ru/forum/index.php?showt...p;#entry1467305

А в нормальном режиме никак. Хочется убедиться в том, что с аппаратурой всё нормально. Оптроны проверил путём подачи импульсов от процессора на TXD CAN драйвера (TJA1050). На линии CAN никакой динамики. А должна ли быть? Период сигнала 4 секунды.

Буду благодарен за примеры программ для AVR.
Спасибо!
esaulenka
Нет, так проверить нельзя. В даташите на TJA1050 есть фраза "• Transmit Data (TXD) dominant time-out function" - как раз защита внешней шины от "залипания" устройства в активном состоянии.
Подайте туда меандр в десяток (сотню) килогерц - выходы должны шевелиться.
Д_М
Спасибо, попробовал!
Вот что получилось. Смотрите вложения. Установлен терминатор 100 Ом, другой нагрузки нет. Там, где два графика, измерения относительно Gnd, соответственно H и L. Там, где один график, между H и L. Везде 1 Вольт на клетку. Вот и получается, что амплитуда каждого канала 1 вольт. Дифференциальная амплитуда 2 вольта. Это нормально? На мой взгляд маловато. Из графика следует, что дифференциальное напряжение (между H и L) в рецессивном состоянии должно быть меньше 0,5 вольта. А на графике видно, что оно явно больше 0,5 Вольта.
esaulenka
Пропустил сообщение, извиняюсь.

Картинка с двумя каналами испортилась - из-за менюшки CAN-L почти не видно.
Сдвиньте второй канал, чтобы нули у обоих каналов совпадали.

Картинку мы должны видеть следующую:
- рецессивное состояние: драйвер НЕ ДЕРЖИТ линию, на CAN-H и CAN-L одинаковые уровни (из-за резистора-терминатора). Скорее всего, там будет 2.5 вольта, но необязательно. Это верно и при отсутствии сигнала на входе, и при "единичке" меандра.
- доминантное состояние: CAN-L "опускается" на вольт, CAN-H "поднимается" на тот же вольт. Т.е. CAN-L - 1.5 В, CAN-H - 3.5 В.

Напряжения приблизительные, за более точными значениями добро пожаловать в даташит sm.gif

А "дифференциальному" графику я не очень верю. У Вас осциллограф точно отвязан от земли устройства?
Д_М
Спасибо!
Нижний график точно симметричен верхнему. Импульсы в противофазе. На дифференциальном графике землёй стал на сигнал (не помню - H, или L).

В статике на L 2.4 вольта, на H 2.9 вольта. Терминатор 100 Ом. Это нормально?
esaulenka
Какая-то неведомая штука.

Даташит нам сообщает, что максимум, который может выдать драйвер в рецессивном состоянии - пара миллиампер.

Io(reces)(CANH) recessive output current at pin CANH
−27 V < VCANH < +32 V; 0V<VCC < 5.25 V
−2.0 − +2.5 mA

Io(reces)(CANL) recessive output current at pin CANL
−27 V < VCANL < +32 V; 0V<VCC < 5.25 V
−2.0 − +2.5 mA

И то это по всему диапазону напряжений на линии.
По измерениям же получается ток 0,5 В / 100 Ом = 5 мА. Многовато...
Может, осциллограф "кривой" ?..

У меня на столе лежит плата с драйвером от TI. Терминатор в пол-килоома (что на столе валялось), больше ничего не подключено. Напряжение на терминаторе - 0.6 мВ. Просто мультиметром туда можно ткнуть, пока никто ничего не передаёт.


А "вставать" землёй осциллографа на сигнал - плохо. В подавляющем большинстве осциллографов земля щупа связана со всей остальной землёй (а далее, через розетку - и с Землёй вообще :-) ).
Д_М
Так и есть. Померил ток в цепи терминатора, получилось 4 мА.
Осциллограф работал от батареек. В сеть не включали.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.