Перейти к содержанию
    

Помогите определиться с дизайном схемы...

Возьмите ARM с CAN'ом или, несмотря на мнение zltigo, AVR с CAN'ом на борту, в единичном экземпляре цена камня без разницы.

Ну а смысл-то какой в AVR? За большие(ну или равные) деньги получить всего меньше. Ну и? Типа на немного знакомом ASM писать :(? Использовать ранее полученные сокровенные знания по работе GPIO от Atmel :)?

 

Хотя лично я, если бы делал серийное устройство, не побрезговал бы и таким решением.

Ну для периферийного устройства типа "кнопка на CAN" почему-бы и нет, а для "центрального" микроконтроллера зачем такие изыски...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Типа на немного знакомом ASM писать ?

 

Да почему? На Си.

 

Просто человек явно задумал некоммерческое устройство, пусть делает на чем хочет - ближе ему AVR, пусть будет AVR. Незнаком с ARM - не стоит и браться за него в таком проекте, вместо удовлетворения от реализации будет глюки ловить, происходящие от незнания предмета. С другой стороны, при желании факультативно изучить ARM, можно взять и его, главное, за лесом увидеть деревья ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Видете-ли единственная поделка имеющая в своем названии "Меркурий 230" является электросчетчиком и работали Вы с ним по RS232/485 интерфейсу, который, естественно, никакого отношения к CAN не имеет. Или через "Адаптер" CAN содержащий, хоть это и осталось для Вас неведомым :( и микроконтроллер и CAN контроллер и "весь навороченный протокол".

 

Нет я все понимаю, СуперМодератор, Гуру, орденов как у Брежнева, но что за тон высокомерный из сообщения в сообщение. Меркурий 230 действительно

содержит CAN драйвер, и для работы с ним действительно приходилось со своей стороны ставить PCA82C251, дело было давно, может сейчас они

сменили интерфейс. Вы похоже Меркурии видели только на картинке сайта. Бывает. Ответьте по существу чем решение AVR+PCA82C251 простейший

вариант по физическому CAN не подходит для данной домашней разработки. Аргументированно,без раздувания щек, просто и по существу.

Я предлагаю решение которое позволит завязать хоть 20 процессоров AVR всего по трем проводам, и не изучать всю спецификцию CAN.

Главное, следить за тем, чтобы два проца одновременно не передавали данные в шину. Это же так просто. И недорого.

Изменено пользователем vvvv

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Rst7 прав... Штука некоммерческая. AVR ближе, плюс на него уже есть наработки, которые не хотелось бы переписывать (большую часть проекта по частям уже изобразил - настало время сложить все вместе). Следить за тем, чтобы два проца одновременно не передавали в шину нет никакого желания, поэтому пускай будет MCP2515/MCP2551 (кстати почему кал ? Есть какие-то подводные камни ?). Вопрос я так понимаю исчерпан.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для того, чтобы следить чтобы два или несколько процессоров не передавали одновременно, нужно реализовать программно одну единственную вещь, чтобы основной комп передавал на шину запросы, а остальные ему отвечали. И даже при работе с MCP Вам также придется организовать работу, где мастер это

комп под сидушкой, а меги все отвечают на его запросы. Т.е. пакет компа видят все процы, а отвечает только тот, чей адрес в пакете.

Вам в любом случае нужно будет оформлять информацию в пакеты данных. Неважно, используете Вы MCP2515 или нет. Только MCP2515 за Вас сам

определит адрес пакета, а в моем варианте это сделает mega. Это не супер сложная операция, сравнить байт адреса принятого по CAN шине.

Но я не навязываю решение, только предлагаю как один из вариантов.

Изменено пользователем vvvv

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тот же модуль кондиционера должен знать температуру двигателя с диагностики, чтобы не включать печку при прогреве двигателя. А еще эту температуру должен знать модуль IF (у которого есть свой маленький LCD, на который он выводит информацию с парктроников, и который следит за параметрами двигателя подавая сигнал спикером в случае проблемм), а еще модуль IF должен знать текущий расход, который считается отдельным процессором. CAN же вроде позволяет multimaster режим ?

 

З.Ы. Комп может быть отключен - мало ли что. Поэтому в случае его отсутствия критические данные (парктроник, температура двигателя, часы, расход горючки) должны быть доступны через тот же LCD.

Изменено пользователем Regressor

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ответьте по существу чем решение AVR+PCA82C251 простейший вариант по физическому CAN...

Вы можете связываться как хотите и с кем хотите, рожать любые протоколы или утверждать, что работаете вообще без них:

Не нужны Вам контроллеры CAN, не нужен протокол обмена. Просто соедините RS232 выводы процессоров с микросхемами, драйверами CAN, а выводы CAN всех драйверов объедините в одну шину. И обменивайтесь информацией напрямую по собственному усмотрению.

Как будто Вы соединили все процы в один общий RS232.

Только не называйте эту поделку CAN только по той причине, что Вы прицепили некий приемопередатчик один из множества удовлетворяюших CAN протоколу и это при том, что CAN вообще не нормирует реализацию физического уровня. У меня, например, CAN в пределах блока работает без всяких (упорно поминаемых Вами в качестве аргумента того, что Вы CAN "родили") PCA82C251 и подобных.

Это же так просто. И недорого.

Просто и не дорого использовать, например, ARM контроллер на 72MHz c CAN контроллером на борту (Ethernet, USB до кучи тоже. Добавите доллар будет LCD контроллер)за 120 рублей (в розницу). Использовать AVR для чего-либо значительно отличающегося от "контроллера светодиода" это уже СЕГОДНЯ в большинстве случаев просто ДОРОГО.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

zltigo, а дорого это в каком смысле ? Для серии дорого или вообще дорого ? Мне кажется мое единичное изделие если я начну на арм переползать выйдет дороже только потому, что мне придется лепить программатор, новые макетки, тратить время на изучение ARM.

 

И из вашего последнего поста я так понял вы ответили на мой вопрос - в пределах блока CAN контроллерам драйвера шины не нужны ? Я правильно понял ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

zltigo, а дорого это в каком смысле ? Для серии дорого или вообще дорого ? Мне кажется мое единичное изделие если я начну на арм переползать выйдет дороже только потому, что мне придется лепить программатор, новые макетки, тратить время на изучение ARM.

Дорого практически ВСЕГДА. Цену LPC236x http://mt-system.ru/index.php?store_search=lpc236&id=5 в услових российской розницы я привел. А сколько стоит "голый" AVR128? Программатор не нужен - все приличное из мира ARM содержит bootloader-ы и заливается по RS232/USB. Если не уперлись когда-то у эпоху 8bit+пару сот байт памяти в ASM и пишите на 'C', то собственно в первом приближеии изучения ARM нет. Ну а макетки.. это уже Ваши проблемы - надо было раньше думать, хотя цена вопроса готовых китов долларов 60 - http://starterkit.ru, например...

И из вашего последнего поста я так понял вы ответили на мой вопрос - в пределах блока CAN контроллерам драйвера шины не нужны ? Я правильно понял ?

Могут быть использованы любые решения обеспечивающие доминирование "низкого" уровня на шине. В пределах 19" блока с этим успешно справляется банальный "открытый коллектор".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Млян... Я обычно на чип-дипе цены смотрел - думал порядок цен везде примерно одинаковый. Фига се разница. Млян млян млян....

Пишу на C. Пошель читать даташиты. Встроенный USB и CAN мне как-то сильно хочется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Могут быть использованы любые решения обеспечивающие доминирование "низкого" уровня на шине. В пределах 19" блока с этим успешно справляется банальный "открытый коллектор".

Я бы не гнался за дешевизной. Завтра захочется подключить чего-нить внешнее. Или случайно замкнуть проводочки интерфейса. Драйвер защищен от десятков вольт, а транзистор - нет. Только что запускал первое устройство, сделанное производством. В половине разъемов шины монтажники напутали провода.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Встроенный USB и CAN мне как-то сильно хочется.

Для связи с комьпьютером в Вашем случае рекомендую Ethernet :) а не USB.

 

 

Я бы не гнался за дешевизной. Завтра захочется подключить чего-нить внешнее.

Контроллеры по нынешним временам имеют несколько CAN контроллеров на борту. В моем случае межблочные и блочные это разные интерфейсы. Более того, внутри блока два (резервирование) CAN на OD и два на "обычных" выходящих за пределы блока. На шине блока масса и других сигналов, но естественно с защитой и организацией hotswap. Ну а дешевизна...., когда только в одном в блоке 24*2*на пару баксов.... есть о чем подумать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вообще я изначально хотел Ethernet (я сам с компьютерными сетями работаю по основной работе, мне это ближе) и даже сделал на макетике интерфейсик на пробу ENC28J60 + разъем с трансом, но покрутил, подумал... И плюсов по сравнению с usb не нашел (хотя у материнки два RJ-45 на борту), а минусов куча - аппаратно сложнее, софтовая часть сложнее (причем на обеих сторонах). Вот и решил, что будет USB. Или в пользу ethernet есть какие-то аргументы, про которые я ни сном ни духом ?

 

 

З.Ы. Почитал по диагонали даташит на LPC2364... Впечатлился... Он один вытянет все, что я хотел сделать на трех аврах. Уйма UARTов, уйма I2C, два CAN, USB, 70 ног, ADC/DAC, управление питанием выглядит поприличнее атмег, собственный RTC батарейный (хотя наверное не 2ppm как в ds3232), потребление при той же частоте чуть больше АВРа (без переферии примерно одинаково).

 

А как у него с надежностью ? Камней подводных нету ? А где-нибуть pcb design notes можно взять ?

И еще глупый вопрос - пошарил по mt-system.ru и так и не понял поставляют они детальки розницей по интернету или нет... :(

Изменено пользователем Regressor

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот и решил, что будет USB. Или в пользу ethernet есть какие-то аргументы, про которые я ни сном ни духом ?

Угу... Встроенная гальваническая развязка, что может оказаться решающим в условиях помех.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...