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

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
sprightly
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Пн сен 21, 2009 18:58:47

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

Сообщение sprightly »

Всем добрый вечер!

Начал осваивать CTC(Clear Timer on Compare Match) режим таймера для генерации несущей, чтобы в дальнейшем воспользоваться ей для создания IR-канала.
Как работает таймер в данном режиме вроде бы разобрался, НО без граблей не обошлось и в этот раз :(
Собственно проблема заключается в том, что при установке вывода OC1A в качестве выхода (DDR_OC1A = 1) состояние вывода меняется не в выходном регистре (в моем случае это должен быть PORTB), а в регистре входа (PINB) данного порта. В датащите написано:
The OC1A value will not be visible on the port pin unless
the data direction for the pin is set to output (DDR_OC1A = 1).

Но если ставить DDR_OC1A = 0, состояние вывода не меняется ни в входном, ни в выходном регистрах!
Помогите пожалуйста разобраться в чем проблема? Допустил ли я ошибку в коде, или вывод в данном режиме может функционировать только как вход?
Исходник прилагается.
Вложения
IRLink.asm
(1.87 КБ) 195 скачиваний
Аватара пользователя
unalex
Мучитель микросхем
Сообщения: 424
Зарегистрирован: Сб авг 25, 2007 22:02:05
Откуда: Германия, Viernheim

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

Сообщение unalex »

а так работает?

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

Си
TCCR1A|=(1<<FOC1A); // Разрешить изменение вывода OC1A
Асм
ldi   temp, (1<<FOC1A)
out   TCCR1A, temp
Коктейль "Рекурсивный": 20% спирта, 30% воды, 50% коктейля "Рекурсивный"...
Аватара пользователя
uldemir
Друг Кота
Сообщения: 7357
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

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

Сообщение uldemir »

такой вопрос. А можно ли в xc2c64a для уменьшения потребления не подавать питание на Vccaux. И можно ли не подавать питание на тот банк, где только входные сигналы?
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
misterkuk
Мучитель микросхем
Сообщения: 400
Зарегистрирован: Сб апр 17, 2010 10:30:13
Контактная информация:

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

Сообщение misterkuk »

Коты, прошу помощи, почти не имея опыта в прошивке AVR, понадобилось собрать схему с статьи http://dmitrstas.ucoz.ru/publ/chasy/dlja_avto_i_moto/cifrovoj_izmeritel_ostatk/4-1-0-114 . Ф архиве с прошивкой 3 файла .hex .eep .rom Шис прогером Poni-Prog bи программой Poni-Prog. Там можно загружать только первые 2 файла. А что деать с 3м? Как его зашить?
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

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

Сообщение ibiza11 »

.hex .rom используются для записи памяти программ, .eep - для записи энергонезависимой памяти, обычно хранящей какие-либо настройки.
.hex и .rom это просто разные форматы одних и тех же данных. в .rom данные хранятся в сыром виде, в .hex данные дополняются контрольными суммами и номером строки (ну и еще кое-какой информацией). Некоторые программаторы не поддерживают формат .rom, видимо поэтому автор и выложил оба варианта и .hex и .rom
Зашивайте .hex и .eep - этого будет достаточно.
Ставим плюсы: )
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

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

Сообщение ploop »

в .hex данные дополняются контрольными суммами и номером строки (ну и еще кое-какой информацией).

И самое главное отличие - они там в текстовом виде.
Александр 2677
Встал на лапы
Сообщения: 89
Зарегистрирован: Пн фев 22, 2010 11:16:00

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

Сообщение Александр 2677 »

Всем привет.
Подскажите пожалуйста правильно ли я понял насчёт WAV-проигрывателя. Его можно реализовать с помощью PWM или R-2R. Если использовать ШИМ, то нужно 2 таймера. А если R-2R то 1 таймер?
Аватара пользователя
zero648
Вымогатель припоя
Сообщения: 650
Зарегистрирован: Пн июн 18, 2012 12:01:04
Откуда: Челябинская область, Копейск

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

Сообщение zero648 »

Именно так, с PWM 2 таймера, с R-2R один таймер для дискретизации.
mapaT
Родился
Сообщения: 15
Зарегистрирован: Вс мар 04, 2012 19:46:17

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

Сообщение mapaT »

всем привет. подскажите, пожалуйста, точное кол-во тактов после которого выполняется прерывание (UART, например) после команды sleep (режим Idle) в МК ATTny2313A. в даташите написанно так:
If an enabled interrupt occurs while the MCU is in a sleep mode, the MCU wakes up. The MCU is then halted for four cycles in addition to the start-up time, executes the interrupt routine, and resumes execution from the instruction following SLEEP.

то есть получается что даже в Idle задержка будет 4 такта + 16K CK?
sprightly
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Пн сен 21, 2009 18:58:47

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

Сообщение sprightly »

unalex писал(а):а так работает?

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

Си
TCCR1A|=(1<<FOC1A); // Разрешить изменение вывода OC1A
Асм
ldi   temp, (1<<FOC1A)
out   TCCR1A, temp

Даже не устанавливает эти биты.
Посмотрел описание данного режима с примерами на разных сайтах, везде устанавливают пин OC1A как выход и вроде как все работает. Что за хрень не пойму... Кто-нибудь может попробовать запустить исходник у себя в среде? Может быть в ней дело?
Аватара пользователя
вани
Открыл глаза
Сообщения: 47
Зарегистрирован: Пн янв 23, 2012 17:04:50
Откуда: Казахстан,Кустанай

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

Сообщение вани »

Привет!Прошу помощи,собрал схему "необычные часы"и решил их приделать к принципу маятниковых часов.Проблема в том, что изображение часов сжато,а скорость качения небольшая.То есть при увеличении скорости "часы" растягиваются в нормальное состояние.Угол качения примерно 180 градусов.А как изменить скорость в программе я не знаю. Вот исходник
Вложения
FWUVCG611QEXCFBY8T.zip
(156.77 КБ) 142 скачивания
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

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

Сообщение vitalik_1984 »

zero648 писал(а):Именно так, с PWM 2 таймера, с R-2R один таймер для дискретизации.
А что разве с одним таймером не выйдет? С тем, в котором есть два канала.
mapaT писал(а):то есть получается что даже в Idle задержка будет 4 такта + 16K CK?
Получается что так, ведь в режиме Idle генератор такта процессора и флеш не работает.
misterkuk
Мучитель микросхем
Сообщения: 400
Зарегистрирован: Сб апр 17, 2010 10:30:13
Контактная информация:

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

Сообщение misterkuk »

Подскажите, PIC16F628A Нормально будет работать от литий ионной батареи 250мА 3.7в при этом будет мигать 27ю светодиодами. Кварц прям на ноги цеплять, или генератор как в "Малыш-FM2"?
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

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

Сообщение vitalik_1984 »

misterkuk писал(а):Нормально будет работать от литий ионной батареи 250мА 3.7в при этом будет мигать 27ю светодиодами.
Чет сомневаюсь, что надолго хватит. 27(свд)*15(ма/свд)=405(ма)
250(ма/ч)/405(ма)=~0,5 ч Ну с учетом того что не будут все сразу гореть, может часов на пять хватит батареи.
sprightly писал(а):ldi   temp, (1<<FOC1A)
out   TCCR1A, temp
Даже не устанавливает эти биты.
Странно я сейчас создал проект все устанавливается в Симуляторе студии.
Еще заметил,что тут же выставляется флаг совпадения по сравнению, так как таймер уже активен, а значение сравнения А таймера как было 0 так и осталось, так же еще и сам таймер на нуле в первый такт.
Аватара пользователя
zero648
Вымогатель припоя
Сообщения: 650
Зарегистрирован: Пн июн 18, 2012 12:01:04
Откуда: Челябинская область, Копейск

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

Сообщение zero648 »

vitalik_1984 писал(а):А что разве с одним таймером не выйдет? С тем, в котором есть два канала.

Я тут прикинул и что у меня получается, 16-битное качество мы в принципе воспроизвести не сможем с помощью ШИМ, для этого нужна частота камня не меньше 524,288 МГц при дискретизации 8 кГц, поэтому выводим 16-битный звук в два канала по 8 бит старший+младший. Теперь что касается таймеров, одним двухканальным таймером не обойтись, т.к. оба канала мы можем использовать только в одном режиме таймера, а режимы у нас разные, таймер, задающий амплитуду звука, должен работать в режиме PWM 8-бит без прескалера, второй для частоты дискретизации, он должен работать в режиме СТС, можно конечно и без СТС по переполнению, но тогда нужно постоянно корректировать регистр TCNTn.
misterkuk
Мучитель микросхем
Сообщения: 400
Зарегистрирован: Сб апр 17, 2010 10:30:13
Контактная информация:

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

Сообщение misterkuk »

vitalik_1984 писал(а):Чет сомневаюсь, что надолго хватит. 27(свд)*15(ма/свд)=405(ма)
Ну с учетом того что не будут все сразу гореть, может часов на пять хватит батареи. [

Это будет валентинка, пока 3 режима. 1й- мигают все с интервалом в 1 сек. 2й мигают через один. 3й две бегущие точки по контуру от верха к низу. С учётом этого и пал выбор на 250мА которых думаю хватит. Ещё аргумент- это размер 4Х20Х30. Но всё же, как быть с кварцем? прямо на ноги цеплять или генератор делать? Посоветуйте. Напряжение 3.7в
Аватара пользователя
unalex
Мучитель микросхем
Сообщения: 424
Зарегистрирован: Сб авг 25, 2007 22:02:05
Откуда: Германия, Viernheim

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

Сообщение unalex »

misterkuk писал(а):Но всё же, как быть с кварцем? прямо на ноги цеплять или генератор делать?


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

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

Сообщение pyzhman »

Только не ошибиться в конфигурации, установить 4 МГц, а не 48 кГц.
Docendo discimus
mapaT
Родился
Сообщения: 15
Зарегистрирован: Вс мар 04, 2012 19:46:17

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

Сообщение mapaT »

vitalik_1984 писал(а):Получается что так, ведь в режиме Idle генератор такта процессора и флеш не работает.

а вот и не так. вечером проверил. 4 такта на выход
Chettuser

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

Сообщение Chettuser »

Подскажите плиз простенькую схемку типа "генератор сетчатого поля" на МК для настройки ТВ. Принесли монитор 9'', отремонтировал, но надо настроить.
то что можно почти на коленке и проводках собрать. На 1 раз. :))
Спасибо.
Последний раз редактировалось Chettuser Ср янв 30, 2013 17:51:41, всего редактировалось 1 раз.
Ответить

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