Всем привет.
Столкнулся с проблемой - не работает передатчик CANа на AT90CAN128.
Суть проблемы в том, что есть несколько плат на базе AT90CAN, схема CANовской части - одинаковая: выходы AT90CAN128 (TXCAN / XCK1) PD5 и (RXCAN / T1) PD6 приходят на PCA82C250 ноги 1 и 4 соответственно - дальше линия CAN с терминаторами, где мастером сидит пром контроллер.
На одной плате - все завелось без проблем и заработало - мастер спрашивает AT90CAN отвечает.
Потом начал работать с другой платой - и образовался затык - прием работает, а передатчик молчит. Во время приема (TXCAN / XCK1) PD5 дергается на некоторое время в 0, а потом стоит в 1.
Накидал тестовую прогу, в которой AT90CAN просто по таймеру шлет небольшую посылку, мастера заставил замолчать и только слушать, - результат на рабочей плате в осциллограф на PD5 вижу посылки, на другой постоянно стоит 1.
Казалось, бы явные проблемы с аппаратной частью, но т.к. и первых и вторых плат у меня несколько - решил их все проверить одним и тем же hex'ом, фьюзы тоже одинаковые выставил. результат - работает только две платы из 6, причем и среди первых, условно рабочих, одна также отказалась что-то слать. Думаю, маловероятно, что столько битых микросхем.
Зашил тестовую прогу, в плату, где CANовские ноги висят в воздухе - тоже ничего не происходит на TX - просто стоит 1.
Попробовал "вручную", без инициализации CANа подергать TX - ногой дергает, т.е. порт жив.
Собственно вопрос, может кто-то сталкивался с таким. И должен ли TX кана дергаться, если к AT90CAN не подвешен кановский приемо/передатчик.
Приложил тестовую прогу, может, все-таки в ней косяк.
Столкнулся с проблемой - не работает передатчик CANа на AT90CAN128.
Суть проблемы в том, что есть несколько плат на базе AT90CAN, схема CANовской части - одинаковая: выходы AT90CAN128 (TXCAN / XCK1) PD5 и (RXCAN / T1) PD6 приходят на PCA82C250 ноги 1 и 4 соответственно - дальше линия CAN с терминаторами, где мастером сидит пром контроллер.
На одной плате - все завелось без проблем и заработало - мастер спрашивает AT90CAN отвечает.
Потом начал работать с другой платой - и образовался затык - прием работает, а передатчик молчит. Во время приема (TXCAN / XCK1) PD5 дергается на некоторое время в 0, а потом стоит в 1.
Накидал тестовую прогу, в которой AT90CAN просто по таймеру шлет небольшую посылку, мастера заставил замолчать и только слушать, - результат на рабочей плате в осциллограф на PD5 вижу посылки, на другой постоянно стоит 1.
Казалось, бы явные проблемы с аппаратной частью, но т.к. и первых и вторых плат у меня несколько - решил их все проверить одним и тем же hex'ом, фьюзы тоже одинаковые выставил. результат - работает только две платы из 6, причем и среди первых, условно рабочих, одна также отказалась что-то слать. Думаю, маловероятно, что столько битых микросхем.
Зашил тестовую прогу, в плату, где CANовские ноги висят в воздухе - тоже ничего не происходит на TX - просто стоит 1.
Попробовал "вручную", без инициализации CANа подергать TX - ногой дергает, т.е. порт жив.
Собственно вопрос, может кто-то сталкивался с таким. И должен ли TX кана дергаться, если к AT90CAN не подвешен кановский приемо/передатчик.
Приложил тестовую прогу, может, все-таки в ней косяк.
- Вложения
-
- main.c
- (13.19 КБ) 490 скачиваний
