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

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Опытный кот
Аватара пользователя
Сообщения: 838
Зарегистрирован: Вт апр 12, 2011 18:38:19
Откуда: с Земли

Сообщение coredumped »

Chettuser писал(а):Вот вопрос в новой для меня области - для FPGA существует так называемая конфигурационная память. Как я понял она имеет протокол SPI. В связи с этим вопрос - почему применяется именно дорогущая память от производителя FPGA, а не любая доступная с SPI?
1. Она не такая уж дорогущая.
2. FPGA как правило имеют несколько схем конфигурирования. Для примера, некоторые Altera Cyclone в BGA корпусах может использовать параллельную flash для загрузки.
3. Те же циклоны имеют режим passive serial programming, а в этом режиме можно законфигурить ПЛИС из МК. Именно этот метод использую я - очень удобно апгрейдить софт и конфигурацию ПЛИС в готовых изделиях - не нужно никаких дополнительных программаторов. Берется контроллер с flash с расчетом размещения битстрима ПЛИС или, как вариант, можно применить любую внешнюю микросхемку flash/eeprom.
Все будет только лучше, в крайнем случае - хуже.
Реклама
Chettuser

Сообщение Chettuser »

Я имел ввиду режим Active serial. Значит есть таки различия у SPROM и SPI Flash/EEPROM?
Реклама
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 301
Зарегистрирован: Вс ноя 07, 2010 14:48:55
Откуда: Москва

Сообщение ximik »

Кто нибудь знает что нибудь о китайских светодиодных вентиляторах? как их перепрошить и какой у них канал связи? купил сувенир решил разобрать обнаружил кучу неизвестных пятоков для подключения и названия которые не гуглятся на плате TBD-11-03 на светодиодной ленте TBD18 в ряду 9 светодиодов по названию загуглить не удалось. :roll:
Вложения
вентилятор.jpg
(92.78 КБ) 245 скачиваний
мозги1.jpg
(153.65 КБ) 471 скачивание
Если болит голова, значит она есть!)
Прорезались зубы
Сообщения: 217
Зарегистрирован: Вс янв 13, 2013 15:00:58

Сообщение asus1011 »

где питалово этого микроконтроллера MC908QC16CDZE это чудо на ходится в стиралки , что-то не включается стиралка,

Спасибо!!!
Реклама
Эиком - электронные компоненты и радиодетали
Chettuser

Сообщение Chettuser »

Может быть это не в тему. Проверьте сначала кварц.
Реклама
Прорезались зубы
Сообщения: 217
Зарегистрирован: Вс янв 13, 2013 15:00:58

Сообщение asus1011 »

так кварца нету, наверное внутренний , работала нормально стиралка, через две недели включил , никаких признаков жизни
Реклама
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

Сначала проверьте напряжение в розетке.
Docendo discimus
Контактная информация:
Модератор
Аватара пользователя
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

Сообщение Аlex »

pyzhman писал(а):Сначала проверьте напряжение в розетке.
Только перед этим прочитать МПБЭЭ, раздел "Технические мероприятия" п. "Проверка отсутствия напряжения". + ИПИСЗ :))
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Сообщение FreshMan »

как быть когда надо организовать задержку менее 1 мкс ?
я так полагаю что ф-ция _delay_us(); уже сдесь безсильна
Tell Me The Truth
Вымогатель припоя
Аватара пользователя
Сообщения: 535
Зарегистрирован: Вт авг 28, 2012 22:21:33

Сообщение menzoda »

FreshMan писал(а):сдесь безсильна
здесь бессильна
FreshMan писал(а):как быть
Можно сделать свою функцию задержки с помощью простого цикла (так же устроена и стандартная функция). Ассемблер и ручная оптимизация помогут из нее выжать меньшие интервалы задержек, но все зависит от МК. Я бы даже сказал в большей степени от частоты, на которой он работает. К тому же, стоит учитывать накладные расходы на вызов функции.
Опытный кот
Аватара пользователя
Сообщения: 838
Зарегистрирован: Вт апр 12, 2011 18:38:19
Откуда: с Земли

Сообщение coredumped »

Chettuser писал(а):Я имел ввиду режим Active serial. Значит есть таки различия у SPROM и SPI Flash/EEPROM?
Да, есть разница. Все это можно прочесть в datasheet в разделе "device configuration" - там есть описание протоколов, временные диаграммы, короче вся необходимая информация.
Все будет только лучше, в крайнем случае - хуже.
Вымогатель припоя
Аватара пользователя
Сообщения: 650
Зарегистрирован: Пн июн 18, 2012 12:01:04
Откуда: Челябинская область, Копейск

Сообщение zero648 »

FreshMan писал(а):как быть когда надо организовать задержку менее 1 мкс ?
я так полагаю что ф-ция _delay_us(); уже сдесь безсильна
Несколько NOPов подряд
Вымогатель припоя
Аватара пользователя
Сообщения: 535
Зарегистрирован: Вт авг 28, 2012 22:21:33

Сообщение menzoda »

zero648 писал(а):Несколько NOPов подряд
Точно! Если не нужно задавать разные задержки, то самое простое - это несколько пустых инструкций. Что-то в голову не пришло.
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 343
Зарегистрирован: Пн апр 01, 2013 15:13:40
Откуда: Москва

Сообщение Мikа »

Доброго дня :) Сегодня такой вопрос: Если надо сделать устройство, в котором будут часы реального времени и что-нибудь ещё.
Я смотрел эту статью, там всё делается на ATmega16.

Часы можно реализовать по таймеру и тактировать его от кварца 32 кГц. Но всему остальному контроллеру 32 кГц будет мало. Как-то я криво выражаюсь, как обычно.

Короче, вопрос такой: можно ли вешать на МК 2 кварца (в случае с Atmega16 у него есть ноги XTAL1 - XTAL2 и TOSC1 - TOSC2. А у ATmega48 это одни и те же ноги. Его, значит, нельзя? Но в таком случае можно ли повесить на эти выводы часовой кварц, чтобы от него тактировался таймер, а всё остальное работало от встроенного источника?
Последний раз редактировалось Gudd-Head Пн янв 13, 2014 10:22:54, всего редактировалось 1 раз.
Причина: Сюда перенёс
Почему я здесь и задаю тупые вопросы?
Потому что хочу научиться.
Опытный кот
Сообщения: 758
Зарегистрирован: Вс фев 10, 2013 15:26:00

Сообщение nirq »

Что мешает получить секундные интервалы из частоты 38 кГц или даже 14.7456 МГц?

Можно просыпаться по таймеру2 от медленного кварца, быстро делать что-то на встроенном RC-генераторе (кстати OSCCAL) и засыпать до следующего тика таймера2.
Нужно обосновать плюсы и минусы такого варианта.
Более чем желательно конкретизировать ситуацию, ещё лучше - с перспективами развития в будущем. Хинт: уарт, питание от розетки.
задержку менее 1 мкс... Несколько NOPов подряд
PIC16 @ 500 кГц.
Друг Кота
Аватара пользователя
Сообщения: 25447
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

Мikа писал(а):Доброго дня :) Сегодня такой вопрос: Если надо сделать устройство, в котором будут часы реального времени и что-нибудь ещё.
Оптимальная реализация зависит от применяемого источника питания.
При батарейном питании самым экономичным будет двухчастотный режим, когда от часового (32768 Гц) кварца питается только АСИНХРОННЫЙ таймер МК, который способен генерировать прерывания в режиме sleep микроконтроллера. А уже при просыпании МК включается системный генератор, который чем более высокочастотный - тем лучше, поскольку потребление МК на единицу частоты системного тактового генератора тем меньше, чем эта частота выше.
Друг Кота
Аватара пользователя
Сообщения: 20093
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

КРАМ писал(а):Оптимальная реализация зависит от
критерия оптимальности :)
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 343
Зарегистрирован: Пн апр 01, 2013 15:13:40
Откуда: Москва

Сообщение Мikа »

А есть какая-нибудь статейка хорошая на тему 2 кварцев? :)
И ещё вот вопрос возник, ATmega32, PORTC. Сначала он мне подкинул сюрприз в виде JTAG. Пока не нашёл, что его надо отключить во фьюзах для использования портов в виде ВХОД-ВЫХОД. А сейчас я подошёл к ноге PC6, на которой всегда единица. Кстати, судя по названию, нога подходит для прикрепления к ней кварца для счётчика. Его тоже надо во фьюзах отключать, чтобы ноги PC6 и CP7 были простыми ВХОД-ВЫХОД? :)

UPD: Или что-то не то в схеме или с программой...

UPD: Обалдев уже читать код и нажимать кнопки пришёл к выводу, что когда программа попадает на команду, например,
PORT_SOUND_B = (~(1 << PINC5));
(это PORTC, с конфигурацией пинов

Код: Выделить всё

DDRC = 0b11100000
)

После этого PINC6 и PINC7 становятся в "1".

Аналогично происходит для PORTA.

Код: Выделить всё

PORT_LED = (1<<PINA1);	
PORT_LED = (~(1<<PINA0));
После этих строчек PINA2-7 становятся в "1".

У меня смутное чувство, что псоле праздников я упускаю из вида какую-то простую истину. Хотя я не пил. В чём подвох? О_о

P.S. В моём пониамнии

PORT_LED = (1<<PINA1); СДЕЛАТЬ БИТ НОМЕР 1 в PORT_LED (это порт А) "1"
PORT_LED = (~(1<<PINA0)); СДЕЛАТЬ БИТ НОМЕР 0 в PORT_LED (это порт А) "0"

Я же ничего не перепутал? Или двойку мне? :facepalm:
Почему я здесь и задаю тупые вопросы?
Потому что хочу научиться.
Друг Кота
Аватара пользователя
Сообщения: 3059
Зарегистрирован: Пн май 11, 2009 14:15:00
Откуда: СПб

Сообщение *Trigger* »

Мikа писал(а): P.S. В моём пониамнии

PORT_LED = (1<<PINA1); СДЕЛАТЬ БИТ НОМЕР 1 в PORT_LED (это порт А) "1"
PORT_LED = (~(1<<PINA0)); СДЕЛАТЬ БИТ НОМЕР 0 в PORT_LED (это порт А) "0"

Я же ничего не перепутал? Или двойку мне? :facepalm:
Да, двойку!
Первая операция устанавливает PORT_LED в 0b00000010, а вторая - в 0b11111110. Правильно так:

PORT_LED |= (1<<PINA1); СДЕЛАТЬ БИТ НОМЕР 1 в PORT_LED (это порт А) "1"
PORT_LED &= (~(1<<PINA0)); СДЕЛАТЬ БИТ НОМЕР 0 в PORT_LED (это порт А) "0"
Этот пост оказался полезен? Не поленись, нажми Изображение слева!
:) :)) :)))
Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 343
Зарегистрирован: Пн апр 01, 2013 15:13:40
Откуда: Москва

Сообщение Мikа »

Чтоб я сдох :facepalm: Спасибо, *Trigger*.
Почему я здесь и задаю тупые вопросы?
Потому что хочу научиться.
Ответить

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