Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Встал на лапы
Сообщения: 129
Зарегистрирован: Ср янв 18, 2012 19:37:10

Сообщение Prosperous »

своей головой подумать не сложно, если на этом собаку съел. Спасибо за ответ )
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень

Сообщение vitalik_1984 »

Никаких собак я не ел :) и кошек люблю :)))
В поисках истины человек развивается.
Контактная информация:
Реклама
Встал на лапы
Сообщения: 124
Зарегистрирован: Вт июл 10, 2012 00:13:27
Откуда: Белгородская обл.

Сообщение mr.boroda »

возникла необходимость у atmega8 использовать первую ножку PC6/reset в качестве входа(кнопку повесить).
Как эту задумку сделать? Там фьюзы по моему нужно менять.
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 383
Зарегистрирован: Пн мар 16, 2009 23:35:42
Откуда: Украина Новоднестровск

Сообщение nibiluk »

Ага, менять нужно, и при этом больше последовательным программатором не прошьете, если доктора нет. Так что убедитесь что прошивка рабочая, залейте её, а потом фьюзы меняйте.
Всем известно что любая микросхема работает на дыме, и если волшебный дым из неё вышел то она перестает работать.
Реклама
Эиком - электронные компоненты и радиодетали
Встал на лапы
Сообщения: 129
Зарегистрирован: Ср янв 18, 2012 19:37:10

Сообщение Prosperous »

vitalik_1984 писал(а):Конечно нужно делать остановы.Только так скорость вашего восприятия совпадает со скоростью программы.Так же если все время на стрелку смотреть можно всю жизнь просидеть и не отловить всех жуков.Чтобы не смотреть там где вам не нужно контроллер работает в обычном режиме.
Сделал остановы, та же фигня. может какие настройки выставить?
Реклама
Открыл глаза
Аватара пользователя
Сообщения: 66
Зарегистрирован: Пн авг 18, 2008 22:29:59
Откуда: Архангельск

Сообщение Димаn »

Добрый день! :))
Прошу помощи, совета по интерфейсу SPI. В устройстве 10 плат, на каждой из которых находится микроконтроллер Mega8 (собирает информацию от др. микросхем). Все десять плат завязаны по SPI на общую плату (там стоит Mega32), куда поступает информация для последующей передачи на компьютер по Ethernet’у. Вот у меня и вопрос: Mega32 как ведущее устройство должна сама по очереди опрашивать ведомые (Mega8) или есть всё же возможность (по прерыванию) ведомому инициировать передачу информации?! Что то в даташите не совсем вкурил… Спасибо заранее!! :)
Реклама
Встал на лапы
Сообщения: 129
Зарегистрирован: Ср янв 18, 2012 19:37:10

Сообщение Prosperous »

Prosperous писал(а):Сделал остановы, та же фигня. может какие настройки выставить?
разобрался я, косяк был в настройках кварца. Да, кстати, он даже без выставления точек останова по шагам идет, а не тупо выполняет программу, как писали выше
Друг Кота
Аватара пользователя
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск

Сообщение Леонид Иванович »

Димаn писал(а):Прошу помощи, совета по интерфейсу SPI. В устройстве 10 плат, на каждой из которых находится микроконтроллер Mega8 (собирает информацию от др. микросхем). Все десять плат завязаны по SPI на общую плату (там стоит Mega32)
В подобных системах для связи между контроллерами использую UART. Там есть специальный режим многопроцессорной связи, когда адрес передается с установленным девятым битом. Каждый процессор автоматически откликается на "свою" посылку. Если линия короткая, то передаю данные в формате TTL (в качестве буферов с Z-состоянием использую 74125). Если платы далеко друг от друга, то применяю ADM485. Делать мультимастерную сеть не советую, очень трудно будет реализовать арбитраж (если только не использовать CAN). Пусть лучше всегда обмен инициирует единственный мастер.
Контактная информация:
Друг Кота
Сообщения: 6014
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Откуда: Москва

Сообщение SmarTrunk »

Димаn
По моему субъективному мнению, SPI хорош на малых расстояниях. Хотя можно ставить шинные формирователи-и-приемники, удлинняя линию, но на практике этого не встречал.
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень

Сообщение vitalik_1984 »

Prosperous писал(а):, кстати, он даже без выставления точек останова по шагам идет, а не тупо выполняет программу, как писали выше
Кто его знает как там в железном стимуляторе выглядит я еще не запускал своего дракона в режиме отладки, камней подходящих не было.Но вот что точно известно, что если на Run нажать вы там стрелку не увидите, пока до точки останова не дойдете.Либо на паузу не нажмете.
В поисках истины человек развивается.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 20141
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Сообщение Gudd-Head »

vitalik_1984 писал(а):Кто его знает как там в железном стимуляторе выглядит я еще не запускал своего дракона в режиме отладки, камней подходящих не было.Но вот что точно известно, что если на Run нажать вы там стрелку не увидите, пока до точки останова не дойдете.Либо на паузу не нажмете.
Также в СиЛабовском отладчике.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Открыл глаза
Аватара пользователя
Сообщения: 66
Зарегистрирован: Пн авг 18, 2008 22:29:59
Откуда: Архангельск

Сообщение Димаn »

Спасибо, Леонид Иванович, SmarTrunk!! :)
Действительно, наверное USART'ом лучше сделать. Хотя платы находятся в корпусе под 19'' стойку (соединены между собой шлейфами) - сложно оценить близко это или нет, да и помехи... Просто настораживает что центральный контроллер Mega32 будет всё время опрос производить своих подчиненных Meg8 на предмет наличия изменения состояния линий (к этим Мегам подключены 2-а расширитля портов PCF8575 - итого на каждой плате 32 входа).

P.S. Строчц быстро, надо успеть на обеде еще миску молока съесть.... :))
Друг Кота
Аватара пользователя
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск

Сообщение Леонид Иванович »

Димаn писал(а):Просто настораживает что центральный контроллер Mega32 будет всё время опрос производить своих подчиненных Meg8 на предмет наличия изменения состояния линий
У меня была похожая задача, в подчиненных процессорах был организован буфер событий. Вообще, нужно подробнее знать задачу (частоту поступления событий, требуемое время реакции). Можно еще организовать общую линию INT, куда подключить выходы с открытым коллектором от всех контроллеров. Этот сигнал будет говорить о том, что нужно опросить контроллеры, что-то поменялось.

Если платы соединены шлейфами, я бы все-таки использовал драйверы RS-485. Это ненамного дороже обычных TTL-буферов с тремя состояниями, зато помехозащищенность отличная и надежность в плане выхода из строя при перекоммутации разъемов.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 6350
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

В дополнение и развитие сказанного Л.И. ( пока ходил котов накормить, он меня опередил :) ) .
Линию INT я бы задействовал так. Исходное состоянеие - все на приеме. Периодически раз в несколько мс ( мкс в зав. от времени ответа ) ведущий посылает стартовый импульс и переходит на прием. Если кто-то из ведомых имеет что сообщить, он в отведенное ему время посылает ответный импульс. По длительности задержки ответа определяется номер ведомого, желающего сказать.
485-й, если сеть идет не в пределах предприятия, а внутри одной стойки - по-моему, избыточно. У меня банальная токовая петля работала внутри помещения без вопросов.
Конечно, все зависит от конкретного задания.
Открыл глаза
Аватара пользователя
Сообщения: 66
Зарегистрирован: Пн авг 18, 2008 22:29:59
Откуда: Архангельск

Сообщение Димаn »

Леонид Иванович писал(а): У меня была похожая задача, в подчиненных процессорах был организован буфер событий...
Похоже, у меня похожая задача! А вообще делаю что то вроде сигнализации для дежурной смены. Например пропадание канала связи или сбой аппаратуры отследить на компьютере. Очевидно, что эти события не часты и носят случайный характер, ну а время реакции наверное должно составлять несколько секунд, что для временных показателей микроконтроллеров даже вполне по силам. Входные сигналы - банально земелька станционная (делаю через оптопару развязку).
Насчет 485.... Гмм.... Может не надо если в одном корпусе всё?! :?
Открыл глаза
Аватара пользователя
Сообщения: 66
Зарегистрирован: Пн авг 18, 2008 22:29:59
Откуда: Архангельск

Сообщение Димаn »

Спасибо, Jack_A! :))
Я вот тоже насчет INT подумал что хорошая идея! Не надо центральный контроллер "гонять" по напрасну по кругу. А вообще в микросхеме-расширителе портов PCF8575 уже есть выход INT - как токо на входе портов что то меняется - он выдает 0. Токо выход этой микросхемы - I2C.
Опытный кот
Аватара пользователя
Сообщения: 842
Зарегистрирован: Чт дек 31, 2009 19:27:45
Откуда: Бровари, Україна

Сообщение avreal »

Jack_A писал(а): 485-й, если сеть идет не в пределах предприятия, а внутри одной стойки - по-моему, избыточно. У меня банальная токовая петля работала внутри помещения без вопросов.
Конечно, все зависит от конкретного задания.
Внутри помещения (метра четыре UTP и шлейфов) у меня работает I2C. ATmega328 опрашивает как раз десяток ATmega48.
На 400 кГц и на семи метрах устойчиво работало день, но потом от греха подальше опустил на 100 кГц, так как и 50 достаточно.
Обстановка в общем спокойная, рядом симисторами включаются несколько вентиляторов разного размера и клапанов (CO2 и всякие гадости в установку пускают).
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 6350
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

Пока пил кофий, идея конкретизировалась. INT для ведущего пассивный, активным его делает запросивший ведомый. И не надо через расширитель портов - прямо на самом МК разве свободного входа не осталось ? Получив запрос, ведущий по UART (SPI) посылает широковещательный запрос : "Кто меня звал ?" . Для ведомых в зависимости от его номера выделяется свой тайм-слот, поэтому если поговорить захотят одновременно несколько, сообщение каждого не будет иметь коллизий с остальными. А уж разобравшись, кто там возникает, уже обычным адресным сообщением ведущий : " N-й, ну че там у тебя ? " :)
Открыл глаза
Аватара пользователя
Сообщения: 66
Зарегистрирован: Пн авг 18, 2008 22:29:59
Откуда: Архангельск

Сообщение Димаn »

Jack_A писал(а): INT для ведущего пассивный, активным его делает запросивший ведомый.
Совершенно верно! :)
Jack_A писал(а): И не надо через расширитель портов - прямо на самом МК разве свободного входа не осталось ?
У меня задача - примерно 300 линий контролировать на наличие земельки станциооной. Без расширителей портов никак... :cry:
Jack_A писал(а): Получив запрос, ведущий по UART (SPI) посылает широковещательный запрос : "Кто меня звал ?" .
Разве так можно сделать??? Надо мне понюхать даташит.... :shock:
Друг Кота
Аватара пользователя
Сообщения: 6350
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

Отправил в ЛС.
Ответить

Вернуться в «Разные вопросы по МК»