Полная версия этой страницы:
MCP2515
Женек_84
Sep 21 2010, 09:36
Друзья помогите разобраться с проблемой.
Сейчас по SPI делаю тупо цикл чтения из любого читаемого регистра контроллера MCP2515, конкретно из регистра статуса контроллера по адресу 0F. Все входящие линии вижу на осциллографе CS, SDI, SCK, а ответа от контроллера в виде байта данных по линии SDO нет, там прост высокий импеданс и все.
Не пойму в чем дело?
Женек_84
Sep 23 2010, 06:59
А самое интересное, что запись проходит. Диаграммы все такие же, тока инструкции разные на запись и чтение. Адрес 0Fh. По этому адресу пишем и видим результат, а вот прочитать не можем, на SO - высокий импеданс. Не пойму(
Женек_84
Sep 24 2010, 08:14
А еще интереснее то, что заменили на MCP2510 и все заработало, а именно чтение и в частности линия SO.
Не пойму в чем дело, ведь микросхемы в принципе одинаковые.
zksystem
Sep 25 2010, 04:59
Цитата(Женек_84 @ Sep 24 2010, 12:14)

А еще интереснее то, что заменили на MCP2510 и все заработало, а именно чтение и в частности линия SO.
Не пойму в чем дело, ведь микросхемы в принципе одинаковые.
Может просто микросхем дохлая попалась?
Женек_84
Sep 27 2010, 06:07
Так этих микросхем 35 штук в составе готового изделия. И все ведут себя одинаково, чтение не работает, линия SO постоянно в высоком импедансе. Если вся партия тока хреновая. Думал, мож для MCP2515 надо че-то записать для активации SO или че-нить в этом роде, но почитал доки на MCP2510 и MCP2515 вроде все одинаково в принципе.
rx3apf
Sep 27 2010, 06:59
Цитата(Женек_84 @ Sep 27 2010, 10:07)

Так этих микросхем 35 штук в составе готового изделия. И все ведут себя одинаково, чтение не работает, линия SO постоянно в высоком импедансе. Если вся партия тока хреновая.
Или что-то с диаграммами (так, что команда чтения на самом деле интерпретируется как какая-то другая, не требующая активации SO - я бы попробовал смакетировать отдельно, с малыми скоростями, и большими задержками), либо и в самом деле дефектная партия (после того, как я нарвался на образцы MCP3553, работающие вовсе не так, как описано в даташите - легко поверю в такой вариант), тогда надо добыть кристаллы другого года выпуска и проверить (так мне и пришлось поступить с MCP3553).
Женек_84
Sep 27 2010, 10:34
Вот щас новую микруху MCP2515 из новой партии проверили, тож самое)) я фигею)
Значит MCP2510 и MCP2515 не полностью совместимы получается.
Да можно конечно попробовать скорость понизить SPI и проверить на MCP2515 ,хотя ща у меня 4МГЦ SPI, у нее же 10 заявлена предельная)
а MCP2510 на 4-х пашет, хотя это практически предельная для него))
Но ща придется везде MCP2510 ставить)
zksystem
Sep 27 2010, 12:04
Женек_84
Sep 27 2010, 12:59
Похожа, но немного не то. Там SPI полностью не работает, а у меня запись проходит и CLKOUT формируется, а у них нет, как раз из-за кондера на осцилляторе, они поменяли 22пкФ на 16пкФ и все заработало. Тем не менее я на 15 пкФ поставил, но бесполезно, тоже самое( А так у нас 100нФ стоит кондер.
zksystem
Sep 28 2010, 16:09
Цитата(Женек_84 @ Sep 27 2010, 16:59)

Похожа, но немного не то. Там SPI полностью не работает, а у меня запись проходит и CLKOUT формируется, а у них нет, как раз из-за кондера на осцилляторе, они поменяли 22пкФ на 16пкФ и все заработало. Тем не менее я на 15 пкФ поставил, но бесполезно, тоже самое( А так у нас 100нФ стоит кондер.
Это на кварцах у вас стоит 100nF ? А не многовато? Вообще-то нагрузочные емкости осциллятора "от-балды" не ставят.
Женек_84
Sep 29 2010, 06:14
Да, я уже думал об этом, что многовато. А тогда какой порекомендуете на кварц JO75 на 16Мгц?
Vasily_
Sep 29 2010, 22:07
15-16pf. работает отлично.
KARLSON
Mar 17 2011, 21:57
Здравствуйте. Скажите, при переполнении счётчика ошибок приёма и передачи MCP переходит в режим bus-off. Судя по даташиту, сбросить регистры 1С(кол-во ошибок передачи) и 1D (чтения) нельзя. В разделе 6 сказано, что только в регистре 2D (ERROR FLAG) можно сбросить BIT6, BIT7.
bit7 RX1OVR: Receive Buffer 1 Overflow Flag bit
- Set when a valid message is received for RXB1 and CANINTF.RX1IF = 1
bit6 RX0OVR: Receive Buffer 0 Overflow Flag bit
- Set when a valid message is received for RXB0 and CANINTF.RX1IF = 1
Что они означают?
И вообще, что делать если какой либо счётчик превысил значение 127 или предупреждающие 96?
KARLSON
Mar 18 2011, 07:33
И ещё. Поясните пожалуйста про 3 регистра CNF1 (адрес 2A), CNF2 (29), CNF3 (28). Как эту скорость настроить?
У меня кварц 8МГц, частота шины 250 кбит/с, стандарт J1939.
ldimitri
Mar 18 2011, 08:24
Цитата(KARLSON @ Mar 18 2011, 10:33)

И ещё. Поясните пожалуйста про 3 регистра CNF1 (адрес 2A), CNF2 (29), CNF3 (28). Как эту скорость настроить?
У меня кварц 8МГц, частота шины 250 кбит/с, стандарт J1939.
Посмотри здесь:
http://electronix.ru/forum/index.php?showtopic=87635
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.