Мелкие вопросы по МК и ПЛИС.
Re: Мелкие вопросы по МК и ПЛИС.
Скажите, я правильно понял, что ATMEGA8L-8PU питается от 2,7 В?
Сознание мое хочет победу вегетарианства во всем мире, а подсознание изнывает по куску сочного мяса, а чего же хочу я? (С)
Re: Мелкие вопросы по МК и ПЛИС.
СПС 
Сознание мое хочет победу вегетарианства во всем мире, а подсознание изнывает по куску сочного мяса, а чего же хочу я? (С)
- zvukovik
- Встал на лапы
- Сообщения: 140
- Зарегистрирован: Вт авг 03, 2010 15:21:20
- Откуда: Екатеринбург
Re: Мелкие вопросы по МК и ПЛИС.
кто-нибудь в курсе, CAN с его самосинхронизацией может стабильно работать без кварца (то есть при разбросе частоты в несколько %) ?
Re: Мелкие вопросы по МК и ПЛИС.
Здравствуйте!
Понадобилось замутить что-то типа МДС-модулей - переключать с помощью него некие реле, а с него считывать аналоговые (мерить напряжение и ток на подобие удаленного мультиметра) и цифровые сигналы ну и еще определенные действия делать. Вот решил подключить их по 485 на одной шине (всего до 18 шт) к COM-порту ПК (через преобразователь 485-232 естественно) и общаться с ними по модбасу в режиме RTU.
Стал искать библиотеку, узнал, что "единственное нормальной" является freemodbus, скачал, вчера весь день пялился на нее - без пол литра там не разобраться. Проц выбрал Мегу128.
Вот как посоветуете сделать? Может попонятнее библиотеки есть? Не изобретать же велосипед и писать либу самому?
Насчет отладки, думаю так сделать - в протеусе накидать, дальше подцепить к его виртуальному COM порту, а потом к этому порту на компе подцепить терминал. Я правильно понял? Раньше просто не сталкивался с COM-портами и модбасом
Понадобилось замутить что-то типа МДС-модулей - переключать с помощью него некие реле, а с него считывать аналоговые (мерить напряжение и ток на подобие удаленного мультиметра) и цифровые сигналы ну и еще определенные действия делать. Вот решил подключить их по 485 на одной шине (всего до 18 шт) к COM-порту ПК (через преобразователь 485-232 естественно) и общаться с ними по модбасу в режиме RTU.
Стал искать библиотеку, узнал, что "единственное нормальной" является freemodbus, скачал, вчера весь день пялился на нее - без пол литра там не разобраться. Проц выбрал Мегу128.
Вот как посоветуете сделать? Может попонятнее библиотеки есть? Не изобретать же велосипед и писать либу самому?
Насчет отладки, думаю так сделать - в протеусе накидать, дальше подцепить к его виртуальному COM порту, а потом к этому порту на компе подцепить терминал. Я правильно понял? Раньше просто не сталкивался с COM-портами и модбасом
- coredumped
- Опытный кот
- Сообщения: 838
- Зарегистрирован: Вт апр 12, 2011 18:38:19
- Откуда: с Земли
Re: Мелкие вопросы по МК и ПЛИС.
zvukovik писал(а):кто-нибудь в курсе, CAN с его самосинхронизацией может стабильно работать без кварца (то есть при разбросе частоты в несколько %) ?
Зависит от железа, точнее от алгоритма восстановления клока. При небольших отклонениях (+-5%) и невысоких скоростях работать будет. Чем выше скорость, тем больше требования. Я бы не стал на кварце экономить.
Все будет только лучше, в крайнем случае - хуже.
Re: Мелкие вопросы по МК и ПЛИС.
aam писал(а):Вот как посоветуете сделать?
Если нету задачи работать со сторонними устройствами по Modbus, то лучше вообще от него отказаться. Modbus - старый, ограниченный, сложный в достоверной реализации протокол. После того, как мне пришлось с ним поработать, я зарекся его применять если есть возможность использовать что-то другое.
Re: Мелкие вопросы по МК и ПЛИС.
aam писал(а):Не изобретать же велосипед и писать либу самому?
Каждый выбирает для себя... Можно месяцами искать подходящий протокол, а потом тупо смотреть на результаты : " Я же всё сделал по букварю - почему не фурчит ?!" Можно написать полстранички кода под свою задачу, твёрдо зная, что хочешь увидеть на выходе. "Вам нужны шашечки - или ехать?"
Когда делал интерфейс на фирме ( давно, в прошлом тысячелетии
Поэтому когда пришлось делать не информационную игрушку, без которой изделия и так работали, а системку, в которой пара разнесённых блоков, связанных линией, была включены в технологический цикл и роскоши "да ответит-же оно когда-нибудь!" позволить себе не мог - послал шефа на X,Y,Z и смастерил простое, но эффективное варево с тройным резервированием, с обнаружением и исправлением ошибок. И в результате хоть пакет приходит битый, МК до последней возможности пытается восстановить инфу ( чаще всего успешно ), в крайнем случае сохраняет предыдущее состояние.
Это не значит, что я ненавистник стандартов и приверженец "хоть плохонькое, но своё" . Если в сети есть хоть одно устройство, уже завязанное на стандартный протокол, то альтернативы нет. Но здравый смысл мне всегда диктовал : блоху рассматривать под микроскопом, а гвозди лучше забивать молотком.
"Jedem - das Seine "
Re: Мелкие вопросы по МК и ПЛИС.
Подскажите, в каком порядке нужно прошивать МК?
Я пользуюсть PonyProg, делал так, не работат:
Я пользуюсть PonyProg, делал так, не работат:
- Подключаю программатор с МК.
- Запускаю программу.
- Делаю калибровку.
- Подаю питание на программатор.
- Выбираю контроллер.
- Читаю его.
- Выставляю фьюзы и нажимаю "Записать" в окне фьюзов.
- Нажимаю "Записать устройство".
- Отключаю программатор.
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
aam писал(а):Вот как посоветуете сделать? Может попонятнее библиотеки есть?
Присоединил свой вариант реализации Modbus RTU:
- Вложения
-
- ModBus_RTU_Test.zip
- (24.99 КБ) 181 скачивание
Re: Мелкие вопросы по МК и ПЛИС.
menzoda писал(а):Если нету задачи работать со сторонними устройствами по Modbus, то лучше вообще от него отказаться.
Сторонних устройств не будет. Будет комп в промышленном исполнении и мои коробочки, которых может быть до 18 шт. Но на данный момент будут делать 3 коробочки. Расстояние между компом и этими девайсами в пределах 10 метров+/-.
Прогу на комп будут писать программисты, я только коробочку делаю (проц естественно сам программирую).
Сначала кто-то ляпнул про I2C, я какбы удивился, но погуглив немного сразу понял что это не то. Хоть там и есть микрухи, которые могут на длинную линию работать, но все равно через одно место его здесь юзать, ИМХО.
Потом вот решил что здесь неплохо подходит 485-й интерфейс и кто-то сказал что поверх него модбас неплохо идет. Обсудили. Вроде всем понравилось. Но вот когда прикинул скорость - действительно напряжно все, хотя заказчик не против если девайсина будет реагировать со скоростью в пределе 100 мс (он сам не знает чего хочет
А что еще есть? Что предложите?
Я понимаю конечно что есть всякие Ethernet и CAN, но это слишком круто тут, да и задолбаюсь с непривычки.
В данном случае ехать, поскольку для работы. Но учиться на этом тоже не плохоJack_A писал(а):"Вам нужны шашечки - или ехать?"
Леонид Иванович, спасибо большое, посмотрю)
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
aam писал(а):Сторонних устройств не будет.
Если так, то Modbus действительно использовать не стоит. Я в таких случаях использую протокол Wake, он проще в реализации. Примеры для микроконтроллера и для PC есть здесь: http://digit-el.com/files/open/wake/wake.html. У меня есть и посвежее реализация для AVR и STM32, если заинтересует, пишите в личку.
Re: Мелкие вопросы по МК и ПЛИС.
Ну да. Для кадрирования хорошо подходит байт-стаффинг с использованием escape-символов, как в Wake и Slip. Такую процедуру не так уж сложно реализовать и по-моему это надежней, чем временные паузы в Modbus.
А что и как засунуть в кадр - это только тебе решать. Скорей всего будет какая-нибудь контрольная сумма, возможно поле с адресом (если необходимо работать с несколькими устройствами), и собственно полезная нагрузка.
А что и как засунуть в кадр - это только тебе решать. Скорей всего будет какая-нибудь контрольная сумма, возможно поле с адресом (если необходимо работать с несколькими устройствами), и собственно полезная нагрузка.
Re: Мелкие вопросы по МК и ПЛИС.
Как программировать приемо-передатчик СС1101 ( http://www.compel.ru/infosheet/TI/CC1101RGP/ ), через SPI внутрисхемно?
Пишут что нужна SmartRF Studio, а программатор какой должен быть, чтобы он определялся этой студией?
Если программировать внутрисхемно, то возникнут ли конфликты т.к. на MISO и MOSI кроме СС1101 висит еще и АТмега?
Пишут что нужна SmartRF Studio, а программатор какой должен быть, чтобы он определялся этой студией?
Если программировать внутрисхемно, то возникнут ли конфликты т.к. на MISO и MOSI кроме СС1101 висит еще и АТмега?
Re: Мелкие вопросы по МК и ПЛИС.
Jack_A писал(а): А потом удивлялись : почему это при включении небольшой сети на 10 абонентов комп эту сеть минут 15 сконфигурировать не может?
Неужели все так фигово?
Собственно, в чем Wake будет лучше? Тем ,что вместо пауз используются спец. биты? Но чтобы считать данные с конкретной коробочки мне все равно придется посылать каждый раз запрос. Т. е. комп всегда мастер. Коробочки сами не могут ничего посылать т. к. могут быть коллизии. В то же время комп должен иметь возможность в любой момент "пнуть" любую коробочку вне очереди опроса. В итоге прихожу к тому, что коробочки должны быть всегда ведомыми.
Re: Мелкие вопросы по МК и ПЛИС.
service47 писал(а):Как программировать приемо-передатчик СС1101 ( http://www.compel.ru/infosheet/TI/CC1101RGP/ ), через SPI внутрисхемно?
Пишут что нужна SmartRF Studio, а программатор какой должен быть, чтобы он определялся этой студией?
Если программировать внутрисхемно, то возникнут ли конфликты т.к. на MISO и MOSI кроме СС1101 висит еще и АТмега?
Нашел программатор cc-debugger ( http://docs-europe.electrocomponents.co ... e7284a.pdf ) и возник вопрос как его состыковать с СС1101 ( http://www.ti.com/lit/ds/symlink/cc1101.pdf )?
Какой пин с программатора к какому на СС1101 подсоединять и нужны ли резисторы и т.п.?

1-19
4-1
5-7
8-20
10-2
Последний раз редактировалось service47 Пн фев 17, 2014 16:45:23, всего редактировалось 2 раза.
Re: Мелкие вопросы по МК и ПЛИС.
Вы по SPI шьете? Так там же написано и на разьеме и на проце MISO, MOSI, SCK, RESET.
AVR910: In-System Programming
На 3-й странице вроде по вашей теме?
service47 писал(а):Если программировать внутрисхемно, то возникнут ли конфликты т.к. на MISO и MOSI кроме СС1101 висит еще и АТмега?
AVR910: In-System Programming
На 3-й странице вроде по вашей теме?
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
aam писал(а):Собственно, в чем Wake будет лучше?
Не нужно заботиться о формировании пауз и проверке таймаутов.
aam писал(а):В итоге прихожу к тому, что коробочки должны быть всегда ведомыми.
Да, лучше так. Мультимастерная сеть намного сложнее в реализации.
Re: Мелкие вопросы по МК и ПЛИС.
Мультимастерная = коллизии. И понеслось...
И даже если мастером является комп, а дальше организовать маркер, то комп сможет передавать только когда маркер пройдет по всем устройствам по кольцу. Т. е. время реакции коробочки на команду только увеличу, а именно этот процесс хотелось бы ускорить - чтоб комп мог вне очереди посылать команду нужной коробочки на включение/выключение.
А что там с помехами при модбасе? Разве нельзя в его пакет запихнуть вместо одного инф. поля 3 и дальше при приеме из них по мажоритарной схеме восстанавливать инфу? Или протокол сразу откинет пакет по CRC до того, как я начну его обрабатывать?
Сложно ли будет реализовывать ModBus или этот Wake в Винде реального времени?
И даже если мастером является комп, а дальше организовать маркер, то комп сможет передавать только когда маркер пройдет по всем устройствам по кольцу. Т. е. время реакции коробочки на команду только увеличу, а именно этот процесс хотелось бы ускорить - чтоб комп мог вне очереди посылать команду нужной коробочки на включение/выключение.
А что там с помехами при модбасе? Разве нельзя в его пакет запихнуть вместо одного инф. поля 3 и дальше при приеме из них по мажоритарной схеме восстанавливать инфу? Или протокол сразу откинет пакет по CRC до того, как я начну его обрабатывать?
Сложно ли будет реализовывать ModBus или этот Wake в Винде реального времени?