Страница 440 из 628
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср май 29, 2013 21:21:32
isx
Добрый вечер!!!
Помогите с такой задачей. Есть МК атмега8. Нужно сделать так, чтобы при отключении питания МК сохранял некие переменные в EEPROM. Есть мысль подтянуть ногу к питанию через резистивный делитель и задействовать в цифровом режиме. Там есть определённый барьер (вроде около 1.5В) ниже которого лежит низкий уровень, а выше, соответственно высокий. Задумка такая, что при падения напряжения питания с 5В, скажем, до 3 напряжение на делители уменьшится и пин распознает низкий уровень, по появлении которого МК и будет записывать данные в EEPROM. Есть только сомнения, в плане того, что при падении напряжения питания может упасть и "восприимчивость" порта к порогу, который может тоже снижаться до тех пор, пока МК не отрубится. Подскажите пожалуйста, как лучше реализовать такую задачу?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср май 29, 2013 21:41:51
SmarTrunk
Была ветка, на эту тему. Вкратце, нужно отдельное питание МК с электролитическим конденсатором по питанию, емкостью несколько сотен микрофарад - рассчитывается для количества байтов, которые надо сохранить. Пропадание питания смотреть или цифровой ножкой, но подключенной через делитель к другой части схемы, в которой напряжение проседает быстрее, или аналоговым компаратором подключенным вторым входом к внутреннему ИОН. Так вполне реально сохранять несколько байтов. Обязательно предпринять обычные жесткие меры для сохранности ЕЕПРОМ, например включить БОД.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср май 29, 2013 21:51:59
isx
А может диод после делителя поставить, чтоб напряжение просело побольше?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср май 29, 2013 22:04:31
SmarTrunk
Нет.
http://radiokot.ru/forum/viewtopic.php?f=20&t=62877
Вот, кстати, ветка с обсуждением, хотя там были споры, т.к. каждый привык делать по-своему.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср май 29, 2013 22:40:59
Alexeyslav
Питание на контроллер подать через диод и обязательно конденсатор в питании. Свободный вывод порта повесить через резистор на незащищенную цепь питания - до диода, при его пропадании срабатывает прерывание по уровню на порту, в прерывании экстренно отключаешь все нагрузки контроллера(светодиоды например) - иначе через них преждевременно разрядится конденсатор. Это буквально 10-20 тактов, затем можно сохранять в ЕЕПРОМ и уходить в бесконечный цикл.
А по сбросу контроллера, прежде чем разрешить прерывания - перевести вывод в режим входа и дождаться там "1", чтобы предотвратить ситуацию когда в процессе выключения контроллер случайно сбросится и на остатках конденсатора попытается сохранить в EEPROM еще раз, естественно испортив значение в ячейке.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср май 29, 2013 22:56:02
isx
Попробовал смодулировать в протеусе. Получилось весьма не плохо, при подении напряжения до 4В даже простой делитель на резисторах дал не плохой эффект. Напряжение питания у меня 5В, ёмкость 1000мкФ, потребляемый ток около 250мА, записать нужно всего 5 переменных в int. Вроде должно и так получится. Сделал ещё после записи вывод сообщения на дисплей. Потом на железяке попробую как себя покажет. Если ещё успею прочитать сообщение с дисплея, то значит работать будет как часы...

Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср май 29, 2013 23:10:50
Alexeyslav
250мА - это ток идущий через шины контроллера? Всю силовую часть надо оставить до диода либо при просадке напряжения и срабатывании защиты - отключить нагрузку немедленно и только после этого приступать к записи, это будет залогом нормальной работы.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт май 30, 2013 01:27:09
isx
Всего 250мА. Попробую пока по- простому, если не прокатит, то буду пробовать всё отключать.... Спасибо за помощь!!

Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт май 30, 2013 06:32:17
z00lu
Есть желание перенести проект с ардуины на МК.
Буду использовать atmaga64.
Какая нужна к нему обвязка?
Питаться будет от usb на компьютере или телефоне/ планшете
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт май 30, 2013 12:52:23
Nemon
Всем привет, подскажите пожалуйста как можно соединить между собой 2е Atmega16? Если можно, то рисунком какие ножки соединять между собой
P.S.: у одной Атмега16 нехватает мне ножек, поэтому хочу взять 2е чтобы они могли обмениваться информацией
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт май 30, 2013 13:15:11
Аlex
А по какому интерфейсу хотите сделать обмен ?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт май 30, 2013 13:15:41
Engineer_Keen
z00lu писал(а):Буду использовать atmaga64.
Какая нужна к нему обвязка?
А это зависит от того, что будет подключено к контроллеру. Сам по себе контроллер работает если на него просто подать питание. Для надежности нужен резистор 5-10к с ресета на + и керамика 0.1мкФ по питанию. Если используется внешний кварц, то соответственно кварц+конденсаторы, все это есть в даташите. Остальное зависит от вашей конкретной схемы.
Nemon писал(а):Всем привет, подскажите пожалуйста как можно соединить между собой 2е Atmega16?
UART (2 ноги: RXD-TXD крест-накрест), SPI (4 ноги:MOSI c MISO крест накрест, CLK, SS напрямую), I2C/TWI (2 ноги - SCL,SDA - напрямую)
Nemon писал(а):P.S.: у одной Атмега16 нехватает мне ножек, поэтому хочу взять 2е чтобы они могли обмениваться информацией
А вот тут уже напрашивается использование расширителей вывода вместо лишнего контроллера. Для этого проще всего использовать регистры например 74hc595 (для вывода) и 597 (для ввода) или пару HC164/165.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт май 30, 2013 13:37:46
SmarTrunk
Я больше люблю SPI. Быстрый, простой, аппаратный. Но для односторонней передачи нужны три линии, для двусторонней - четыре.
Для большей экономии ножек могут быть лучше I2C или UART. Еще они лучше, если устройства на разных платах, т.е. расстояние между МК больше 10-15 сантиметров.
А я не против использования нескольких МК! Это более гибкое решение, чем сдвиговые регистры, но решение за разработчиком.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт май 30, 2013 15:04:49
menzoda
Почему три линии? Достаточно SI/SO и SCK, то есть две. Для двухстороннего соответственно три: SI, SO, SCK.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт май 30, 2013 15:12:43
Engineer_Keen
У многих микросхем с SPI загрузка данных или выполнение команды происходит по переднему фронту и без линии CS они просто не будут работать. В той же меге в режиме слейва низкий уровень SS включает логику SPI, а высокий уровень делает ей сброс. В конкретном случае конечно можно и обойтись без нее.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт май 30, 2013 17:47:57
Nemon
Спасибо за помощь, пожалуй выберу UART
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт май 31, 2013 22:02:43
DDark
в чем может быть следующий прикол: посадил пару кнопкок на INT1 и INT0 меги16... в протеусе все идеально, а на реальном железе работает только кнопка от INT0. контакт между кнопкой и ногой INT1 есть 146%))) а прерывание не срабатывает... в чем может быть косяк?
Код: Выделить всё
// External Interrupt(s) initialization
// INT0: On
// INT0 Mode: Falling Edge
// INT1: On
// INT1 Mode: Falling Edge
// INT2: Off
GICR|=0xC0;
MCUCR=0x0A;
MCUCSR=0x00;
GIFR=0xC0;
// Обработка внешнего прерывания по INT0
interrupt [EXT_INT0] void ext_int0_isr(void)
{
point_no++;
if (point_no >= menu[menu_no].count) point_no = 0;
LCD_OK();
}
// Обработка внешнего прерывания по INT1
interrupt [EXT_INT1] void ext_int1_isr(void)
{
menu_no++;
point_no = 0;
if (menu_no >= 4) menu_no = 0;
LCD_OK();
}
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт май 31, 2013 23:05:03
GRAF
DDark, а SREG|=(1<<SREG_I) кто будет писать? Где настройка самого порта D (что-то вроде PORTD|=0x0C) или у вас подтяжка внешняя?
Обе кнопки с PD2 и PD3 на землю идут?
Схему в студию и полный код. Чудес не бывает.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт май 31, 2013 23:20:22
НАПАЛМ
Здравствуйте. Начинаю по-тихоньку изучать микроконтроллеры. Выбор пал на AVR'ы и язык С. Нужно выбрать среду разработки и программатор под неё. AVR Studio 6 подойдет для начинающего? Если нет, то какой посоветуете? Так же вопрос о программаторе, как покупном, так и самодельном (рассматриваю оба варианта). Заранее благодарю за конструктивные ответы.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб июн 01, 2013 01:51:48
DDark
GRAF писал(а):DDark, а SREG|=(1<<SREG_I) кто будет писать? Где настройка самого порта D (что-то вроде PORTD|=0x0C) или у вас подтяжка внешняя?
Обе кнопки с PD2 и PD3 на землю идут?
Схему в студию и полный код. Чудес не бывает.
глобальные прерывания разрешены, PORTD = 0x0C
обе кнопки на землю
в принципе проблема решена - если цеплять не на землю ножку INT1, а просто касаться рукой или подавать, например, напряжение питания - идет срабатывание прерывания) а вот на землю сажать - не идет, хотя прерывание по падающему фронту + подтяжка... странно короче, интересная тема