Полная версия этой страницы:
CAN интерфейс
Илья_Антоненко
Jan 29 2007, 16:02
Вопрос довольно простой.
Может кто-нибудь расказать про CAN-интерфейс. Интересно следующее: есть ли у него какие-то перспективы, какова облать его использования, насколько он удобен для использования.
Вопрос задаю, потому что хочется ориентироваться на реальные мнения реальных людей, а не на рекламные статьи.
Используем CAN, но только физическую среду, не протокол,
работает хорошо в условиях помех.
Цитата(Илья_Антоненко @ Jan 29 2007, 18:02)

Вопрос довольно простой.
Может кто-нибудь расказать про CAN-интерфейс. Интересно следующее: есть ли у него какие-то перспективы, какова облать его использования, насколько он удобен для использования.
Вопрос задаю, потому что хочется ориентироваться на реальные мнения реальных людей, а не на рекламные статьи.
Настоятельно рекомендую порыть интернет, там достаточно
РЕАЛЬНОЙ информации.
Почитайте спецификацию, доки на представителей (CAN-контроллеры и МК с CAN-контроллерами), примеры применений, апноты. И принимайте решение самостоятельно, т.к. не обозначили своих перспектив и возможностей. Или задавайте конкретные вопросы.
Может ссылок накидать?
PS:
По всей видимости вопрос возник после прочтения одного рекламного абзаца

.
mihask
Jan 30 2007, 07:07
Цитата(Илья_Антоненко @ Jan 29 2007, 19:02)

Вопрос довольно простой.
Может кто-нибудь расказать про CAN-интерфейс. Интересно следующее: есть ли у него какие-то перспективы, какова облать его использования, насколько он удобен для использования.
Вопрос задаю, потому что хочется ориентироваться на реальные мнения реальных людей, а не на рекламные статьи.
Мы то же как и rvk используем, только физическую среду, наш протокол не
совместим не с CANopen не с DeviceNet (распространеными стандартами связи
по интерфейсу CAN), поэтому наш CAN используется только для связи между
нашими устройствами, вообще я слышал что 90% устройств не используют
стандартные протоколы (но за достоверность этого не ручаюсь

). Вообще
помоему этот протокол не распространен в плане выхода на внешние сети,
т.е. для связи между сетями автоматизированных комплексов разных
производителей.
По надежности и скорости особых проблем вроде бы не возникало.
Довольно шустрый интерфейс , работает помоему надежней RS485.
Цитата(mihask @ Jan 30 2007, 09:07)

Мы то же как и rvk используем, только физическую среду, наш протокол не
совместим не с CANopen не с DeviceNet (распространеными стандартами связи
по интерфейсу CAN), поэтому наш CAN используется только для связи между
нашими устройствами, вообще я слышал что 90% устройств не используют
стандартные протоколы (но за достоверность этого не ручаюсь

).
Понятия путаете. Физический уровень -- провода и драйвер физического уровня, его можно использовать и без CAN-контроллера.
CAN-контроллер находится между физическим уровнем и протоколами высокого уровня (CANopen, DeviceNet и т.п.).
Поэтому сравнение с RS485 здесь неуместно, т.к. последний это ТОЛЬКО физический уровень.
mihask
Jan 30 2007, 09:36
Цитата(spf @ Jan 30 2007, 12:15)

Цитата(mihask @ Jan 30 2007, 09:07)

Мы то же как и rvk используем, только физическую среду, наш протокол не
совместим не с CANopen не с DeviceNet (распространеными стандартами связи
по интерфейсу CAN), поэтому наш CAN используется только для связи между
нашими устройствами, вообще я слышал что 90% устройств не используют
стандартные протоколы (но за достоверность этого не ручаюсь

).
Понятия путаете. Физический уровень -- провода и драйвер физического уровня, его можно использовать и без CAN-контроллера.
CAN-контроллер находится между физическим уровнем и протоколами высокого уровня (CANopen, DeviceNet и т.п.).
Поэтому сравнение с RS485 здесь неуместно, т.к. последний это ТОЛЬКО физический уровень.
Ну да CAN-контроллер у нас конечно используется

. Я просто хотел сказать что сети, которые
у нас построены на основе технологии CAN (CAN-протокол+CAN-контроллер+CAN-драйвер) надежнее
сетей построенных на основе такой вот штуки например (Протокол(master-slave)+UART+RS485).
Илья_Антоненко
Jan 30 2007, 11:40
На самом деле вопрос возник не после "прочтения одного абзаца". Большое количество информации о том, как он работает, о том что он обладает хорошей помехоустойчивостью и высокой надежностью, о том что множество микроконтроллеров оснащены им я прочитал.
Вопрос возник из-за вполне определенной ситуации:
Мне предлагают заняться научной работой связанной с построение системы управления на основе CAN интерфейса с передачей сигналов по проводам питания. Заниматься изучением бесполезных в будущем вешей не хочется, тем связанных с обсуждением интерфейса я не нашел. Знаю, что вроде его используют корейцы в автомобилях, немцы не используют, хотя разработал BOSH. Сразу стало интересно с чем это связано, может быть есть какие-то серьезные недостатки проявляющиеся на стадии эксплатации.
mihask
Jan 30 2007, 12:16
А вот интересно какие у CANa есть интерфейсы конкуренты в его области применения ?
По соотношению "цена"-"надежность"-"скорость"-"дальность" - ну и может быть "количество проводов" еще.
Можа кто знает, а ?
Andy Mozzhevilov
Jan 30 2007, 13:19
Цитата(Илья_Антоненко @ Jan 30 2007, 13:40)

Вопрос возник из-за вполне определенной ситуации:
Мне предлагают заняться научной работой связанной с построение системы управления на основе CAN интерфейса с передачей сигналов по проводам питания.
CAN - это протокол. То, о чем говорите вы относится к физическому уровню.
К физическому уровню для CAN протокола предъявляются определенные требования,
как то: возможность установки доминантного и рецессивного уровней, ограничение на время распространения сигнала (в конечном счете повлияет на максимальную скорость передачи по каналу).
Цитата(Илья_Антоненко @ Jan 30 2007, 13:40)

Мне предлагают заняться научной работой связанной с построение системы управления на основе CAN интерфейса с передачей сигналов по проводам питания.
Не лучшая среда для CAN, хотя встречал проект по радиоканалу.
Цитата
Знаю, что вроде его используют корейцы в автомобилях, немцы не используют, хотя разработал BOSH. Сразу стало интересно с чем это связано, может быть есть какие-то серьезные недостатки проявляющиеся на стадии эксплатации.
Не знаю на счет немцев, но весь мир пользует в авто (легковых, грузовых, трактора и т.д.), авиатехнике, ж.д., космосе и т.д.
Недостатки есть, т.к. нет ничего идеального, но свое дело (все что в него заложено спецификацией) CAN с успехом выполняет. Следующим поколением сети для авто является FlexRay, что-то в ней лучше, но и "ресурсов" требуется для нее больше.
Илья_Антоненко
Jan 31 2007, 13:34
Всем спасибо за оказанную помошь и коментарии. Главный вопрос я для себя решил. Обсуждение показывает, что данный интерфейс используется и является интересным для изучения.
vinni_ze_puh
Oct 15 2010, 15:27
всем привет. Тоже начал изучать can.
Согласен в инете много теоретической инфы. Но вот примеров реализации практически не нашёл. Может кто поделится ссылочками или кодом. (для avr). Заранее спасибо.
zksystem
Oct 18 2010, 07:28
Цитата(Илья_Антоненко @ Jan 30 2007, 15:40)

Знаю, что вроде его используют корейцы в автомобилях, немцы не используют, хотя разработал BOSH. Сразу стало интересно с чем это связано, может быть есть какие-то серьезные недостатки проявляющиеся на стадии эксплатации.
Это где вы прочитали что немцы не используют? Возьмите к примеру промышленную автоматику Beckhoff, в любой немецкой машине, если не FlexRay, то CAN.
P.S. Бош пишется BOSCH
vinni_ze_puh
Nov 13 2010, 23:27
может ли кто-нить скинуть пример или набросать в протеусе практическую реализацию, без использования специально заточенных под кан микроконтроллеров? (что куда втыкать и т.д.)
galjoen
Nov 14 2010, 23:20
А вот интересно, есть ли хоть один трак (грузовой тягач) выпуска после 2005 года (советские, северокорейские и т.п. в расчёт не берём) без CAN? Т.е. такой, в котором нет ни одной CAN сети?
zksystem
Nov 16 2010, 09:57
Цитата(galjoen @ Nov 15 2010, 02:20)

А вот интересно, есть ли хоть один трак (грузовой тягач) выпуска после 2005 года (советские, северокорейские и т.п. в расчёт не берём) без CAN? Т.е. такой, в котором нет ни одной CAN сети?
Изначально одним из критериев разработки и применения CAN шины была экономия меди для проводов в транспортном средстве, если производителю на это плевать, то он может с легкостью продолжать использовать и дальше толстый многожильный кабель, тратя при этом деньги и соответственно повышая цены на свои продукты.
P.S. куда проще кинуть питание и витую пару к задним фонарям, нежели тянуть с кабины до заднего бампера провод к каждой лампочке.
gordon1403
Jan 13 2011, 05:58
CAN используется практически на всех машинах производимых за бугром ( МЕРС, бмв , ауди , тойота и тд ) ( если не салонный , так моторный ) 2х или 1 проводный , скорости от 50 до 500 к , а еще он ( CAN ) используется на тепловозах ( посмотрите информацию от датамикро ,(таганрог ) , в самолетах ( фантом ) , в ядреных реакторах , ( под сомнением , но в марафоне говорили что так )
А еще в ЯМР-томографах
В общем, для топикстартера и для vinni_ze_puh интересной будет ссылка:
http://www.can-cia.org- сайт, посвященный вопросам разнообразных применений CAN, что и отражено в его названии "CAN in Automation". Там есть и примеры, и текущее состояние вопроса, и тенденции...
Цитата(zksystem @ Nov 16 2010, 12:57)

Изначально одним из критериев разработки и применения CAN шины была экономия меди для проводов в транспортном средстве, если производителю на это плевать, то он может с легкостью продолжать использовать и дальше толстый многожильный кабель, тратя при этом деньги и соответственно повышая цены на свои продукты.
P.S. куда проще кинуть питание и витую пару к задним фонарям, нежели тянуть с кабины до заднего бампера провод к каждой лампочке.
Я бы еще добавил немаловажный фактор, такой как диагностика, касательно удобства работы с проводкой, ну и единую сеть в авто.
zksystem
Dec 21 2011, 16:01
Цитата(Энри @ Nov 9 2011, 22:59)

Я бы еще добавил немаловажный фактор, такой как диагностика, касательно удобства работы с проводкой, ну и единую сеть в авто.
Насчет единой вы погорячились, например в Opel их три - HS-CAN, MS-CAN и 1-wire LS-CAN
Alex_TAV
Feb 28 2012, 06:16
В уже давно существующем проекте реализованном на микрухе Atmega64 возникла необходимость добавить поддержку CAN шины. Обы порта уже заняты, просто так внешнюю микруху не подключишь. Теперь возник вопрос что делать? Или перейти на AT90CAN64 (как я понимаю она наиболее близка к Atmega64 и имеет поддержку CAN ) или уходить на АРМы(опять же выбор на какие именно). Уходить с Атмелов не хотелось бы, они хорошо известный и изучены, программаторы под них есть в наличии, с другой стороны может стоить и уходить на АРМы, как имеющие большую мощность в вычислениях и большее количество портов. Что посоветуете?
Что, совсем ни одной свободной ноги нет?
Впрочем, при плотном траффике одной не обойдёшься, надо кроме CS еще INT заводить.
Непонятно звучит "Обы порта".
Цитата(Alex_TAV @ Feb 28 2012, 10:16)

Или перейти на AT90CAN64 (как я понимаю она наиболее близка к Atmega64 и имеет поддержку CAN ) или уходить на АРМы(опять же выбор на какие именно). Уходить с Атмелов не хотелось бы, они хорошо известный и изучены, программаторы под них есть в наличии, с другой стороны может стоить и уходить на АРМы, как имеющие большую мощность в вычислениях и большее количество портов. Что посоветуете?
CAN64/128 по ногам совместима mega64/128 так что можно на туже плату впаять, только CAN PHY придется вешать на соплях.
А вообще действительно стоит на АРМ смотреть, NXP с CAN даже дешевле чем AVR стоит.
А отладчик - так клон сеггера меньше 2 т.р. стоит.
Alex_TAV
Mar 1 2012, 03:09
Цитата(KRS @ Mar 1 2012, 05:07)

CAN64/128 по ногам совместима mega64/128 так что можно на туже плату впаять, только CAN PHY придется вешать на соплях.
А вообще действительно стоит на АРМ смотреть, NXP с CAN даже дешевле чем AVR стоит.
А отладчик - так клон сеггера меньше 2 т.р. стоит.
АРМ это хорошо, но если девайс нужен срочно, а времени на освоение нового нету совсем. Смущает большой выбор АРМов, хотелось бы определится, чтобы и других програмистов с фирмы можно было на них подсадить, есть и NXP и ST и много еще, что ж выбрать то?
Пока в текущем проекте наверно все же возьму AT90CAN64.
Я без зазрения совести перешел с 51-вых на STM32F103 и 105. Пишу только на Си. Перешел с Keilа на Keil. Освоения итоге почти никакого - так interruptamи, да таймерами поигрался. Все очень быстро понимается.
ПС Причем ST меня уже совсем убивает - на проходящем сейчас Embedded World ST бесплатно раздает Discovery платы - причем бери сколько хочешь с STM32F4 и c STM32F103 в качестве USB контроллера. В прошлый раз тоже самое было с STM08S - также STM32F103 в качестве USB контроллера.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.