Цитата(KRS @ Jan 8 2008, 15:10)

Как раз, передатчик в ACK слоте передает recessive bit, и ждет ACK - dominant, а т.к. устройств больше нет то и появляется ошибка "ACK error"
И я именно об этом:
приёмник выставляет dominant в ACK слоте, но из-за оторванного провода TXCAN у
приёмника этого не получается (ACK остаётся recessive). И у него (у
приёмника) возникает ошибка "ACK error" и больше никаких ошибок. Хотя т.к.
приёмник установил на шине dominant, потом проверил, а там recessiv, он вроде-бы должен установить ошибку "Bit error". А судя по описанию (
как я понял) у
приёмника вообще не д.б. такой ошибки как "ACK error". То, что у передатчика возникает ошибка "ACK error" - это понятно.
Цитата(KRS @ Jan 8 2008, 15:10)

Фильтры не влияют на поле ACK, error... если контроллер принял фрейм выставляется подтверждение, ошибки.... А уже потом решает выкинуть его или положить в MOB (уже другой уровень).
По ошибкам, полю ACK - можно узнать только состояние физического уровня.
Я понимаю так:
1. Контроллер принимает фрейм и проверяет проходит-ли он через фильтры.
2. Если проходит - кладёт его в MOb (MOb-ы), устанавливает в слоте ACK - dominant уровень, ошибки устанавливает в соответствующем MOb (MOb-ах) (в тех, в которые фрейм прошёл через фильтры).
3. Если не проходит, или испорчен до такой степени, что определить это (прохождение через фильтры) невозможно - не кладёт его (фрейм) в MOb, не устанавливает в слоте ACK - dominant уровень, ошибки устанавливает в разделе "
общие ошибки" = "Stuff Error General", "CRC Error General", "Form Error General", "
Acknoweledgment Error General".
A. В моём случае фрейм через фильтры не проходит.
B. Т. к. на шине других устройств нет - в слоте ACK recessive уровень.
C. Но
общие ошибки (а именно "
Acknoweledgment Error General") не устанавливаются.
Из-за этого невозможно проанализировать шину, что я собирался сделать в отладочных целях.