Страница 294 из 628

Микрочипы

Добавлено: Вс фев 26, 2012 17:23:18
Ильнур
Добрый день уважаемые форумчане!,у меня к вам такой ворос,все ли контроллеры (микрочипы) нужно программировать? простите за глупый вопрос если он таковымявляется.

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

Добавлено: Пн фев 27, 2012 07:16:34
pyzhman
Не бывает глупых вопросов. Есть простые и сложные. В составе контроллера есть память. В нее заносится программа. Либо на предприятии-изготовителе, либо пользователем. Так что ответом на ваш вопрос является утверждение - все.

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

Добавлено: Пн фев 27, 2012 18:00:16
Chettuser
Добавлю что бывают одноразовые и многоразовые (с буквой F у MICROCHIP).
Однако существовали, не знаю как сейчас, МК которые программировались на заводе - это уже узкоспециализированные и выпускались ограниченной партией.
Так что вопрос вполне нормальный.

Re: Мелкие вопросы по цифровой технике.

Добавлено: Пн фев 27, 2012 18:41:36
Vergilium
Здраствуйте. Подскажите пожалуйста по такому вопросу. Есть мега8 и часики DS1307, пишу код в AVR Studio 5 и симулирую в PROTEUS 7.9. Так вот, дело в том что после запуска МК После инициализации портов и т.п. хочу выполнить запись в DS1307 настройку, в CONTROL регистр 0х10 (т.е. внешний такт 1Hz от ds1307), после чего делаю СТОП и сразу начинаю считывать с нулевой ячейки время. После чего время считывается каждую секунду. НО, настройку записывает, СТОП не выполняется, а данные начинают считыватся с последней ячейки т.е. 0х07 (Сontrol). Непойму в чем ошибка. :oops: Код ниже:

//-------------------Устанавливаем внешнюю генерацию на часах------------
twi_start_adress(DS1307_ID,TW_WRITE,TW_START);
twi_send_byte(CONTROL);
twi_send_byte(0x10);
STOP;
//-------------------Считываем время----------------------------------------------
DS1307_GetTime();


void DS1307_GetTime(void)
{
//-------------------Считывание времени и даты---------------------------
twi_start_adress(DS1307_ID,TW_WRITE,TW_START); //Не выполняется
twi_send_byte(0); //Не выполняется
twi_start_adress(DS1307_ID,TW_READ,TW_REP_START);
time[0] = twi_rec_byte(TWEA);
time[1] = twi_rec_byte(TWEA);
time[2] = twi_rec_byte(TWEA);
twi_rec_byte(TWEA);
time[3] = twi_rec_byte(TWEN);
STOP;
}

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

Добавлено: Вт фев 28, 2012 16:14:09
канифоль
собирал часики по этой статье http://kaligraf.narod.ru/kaligraf_narod_002.html с первого раза контроллер зашить правильно не удалось, пришлось стирать.. далее залил прошивку включаю часики показывают 9999. может я как то запорол контроллер? раньше имел дело с pic12f629 так там была константа из за нее у меня и не работал тогда девайс :)) а есть ли нечто подобное в этом мк?

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

Добавлено: Вт фев 28, 2012 18:02:19
Chettuser
Очередной телепатический модуль летит в мусорку... :idea:
С прошивкой что делали?

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

Добавлено: Вт фев 28, 2012 21:00:30
Vergilium
По поводу моего вопроса, никто ничего не посоветует? Может хотябы мыслей по этому поводу?

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

Добавлено: Ср фев 29, 2012 19:53:03
MorskoyZmey
Поделитесь опытом, если не жалко^
Есть микросхемки памяти Atmel DataFlash с последовательным доступом по SPI, по типу AT45DB081D (8Mбит).
Валидно ли использовать такие, как хранилище звуковых файлов, если оные требуется воспроизводить по запросу без задержек?

Как мне показалось из ДШ, вроде как, перед чтением можно указывать страницу и смещение, т.е. ну практически RAM.
В чем же тут последовательность помимо того, что не нужно указывать адрес каждого блока и что интерфейс последовательный?

В чем я не прав? Оно дешевле всего остального в принципе. Меня волнует скорость и объем :))
Благодарю за внимание

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

Добавлено: Ср фев 29, 2012 20:15:58
AI_Disable
MorskoyZmey, есть положительный опыт использования датафлэшь для хранения wav файлов. Из плюсов - действительно, нужно всего лишь указать начальный адрес и потом непрерывно читаешь. Весь код воспроизведения - около килобайта. Из минусов - неудобно заменять и закачивать в датафлэшь эти файлы. Пришлось писать отдельную прошивку и загонять через RS-232...
Но в целом свою цену оно оправдывает.

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

Добавлено: Ср фев 29, 2012 20:54:39
Arlleex
Доброй ночи. Хотелось бы узнать, какова относительная погрешность у ИОН AVR8? Конкретно интересует Atmega8. В даташите не нашел, хотя, может быть потому, что плохо искал. Если кто знает - пожалуйста, напишите.

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

Добавлено: Ср фев 29, 2012 20:56:44
pyzhman
Погрешность ИОН еще ладно. Там эту кривую еще выпрямлять надо. И подгонять. Все описано в даташите.

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

Добавлено: Ср фев 29, 2012 21:03:25
MorskoyZmey
AI_Disable писал(а):MorskoyZmey, есть положительный опыт использования датафлэшь для хранения wav файлов. Из плюсов - действительно, нужно всего лишь указать начальный адрес и потом непрерывно читаешь. Весь код воспроизведения - около килобайта. Из минусов - неудобно заменять и закачивать в датафлэшь эти файлы. Пришлось писать отдельную прошивку и загонять через RS-232...
Но в целом свою цену оно оправдывает.
Благодарю. Вдохновляет.

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

Добавлено: Ср фев 29, 2012 21:07:25
ploop
Хотелось бы узнать, какова относительная погрешность у ИОН AVR8?
Зависит от температуры. При чём сильно. Опыты проводили уже.

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

Добавлено: Ср фев 29, 2012 21:51:52
SmarTrunk
Arlleex
Для АТмега8А есть график "BANDGAP VOLTAGE vs. VCC", где-то на стр. 276, там эти графики для трех температур -40, +25, +85С. А опорное напряжение получается из этого Bandgap Voltage

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

Добавлено: Ср фев 29, 2012 22:41:34
Gudd-Head
А то, что опора может быть от 2,3 до 2,9 В все молчат...

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

Добавлено: Чт мар 01, 2012 21:19:41
SmarTrunk
Gudd-Head
Ну это да, читали, в даташитах. А что, и правда такой разброс, или перестраховываются, а реально все лучше? Сам не могу собрать статистику, по двум имеющимся у меня АТмега.

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

Добавлено: Пт мар 02, 2012 11:17:42
Gudd-Head
SmarTrunk писал(а):А что, и правда такой разброс, или перестраховываются, а реально все лучше?
Правда. Сам долго тупил, когда вместо ожидаемых 2,56 опора была примерно 2,7 В (Мега8).

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

Добавлено: Пт мар 02, 2012 11:32:15
К.С.А
Мне попадались мега8 с опорой 2,47 и 2,65 вольт

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

Добавлено: Пт мар 02, 2012 18:29:58
dnhftm
Всем привет
Итак усиленно изучаю Си и сами контроллеры АВР
задача такая есть контроллер атмега 16 использую пока встроенный кварц на 8 мегагерц
нужно сделать срабатывания Шим на 1 канал по будильнику
регулирование шим по DS18B20
используя разные примеры и библиотеки СВАВР написал
Часы-будильник с использованием переполнения по таймеру 0
с антидребезговой обработкой кнопок
вывод этого всего на экран
програмный Шим я ещё не добавлял но он есть ( может сделаю на таймере они ещё в запасе есть )
эмулирую в протеус
я могу сказать смело что протеус как то это дело не очень жалует
часы будильник работают нормально но как подключаю термодатчик протеус начинает тормозить часы
при нажатии на кнопки часы тоже чутка тормозят из-за антидребезга delay_ms
и наоборот отдельно термометр без часов работает отлично

вопрос в том что или у меня код получился кривой поэтому протеус не оценивает
или протеус тормозит тк на симуляции все работает медленно и на реальной плате может все будет работать

какие решения я придумал
1)максимально разгрузить процессор установив выносные часики на i2c
2)с термометром врятли я что то сделаю пусть живет на атмеге
3)настроить шим по таймеру


буду рад услышать идеи если кто подскажет как реализовать выносные часики на какойнибудть микрушке без календарика
идеи по реализации стабильной работы сего устройства

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

Добавлено: Пт мар 02, 2012 19:11:01
juzik
А как Вы антидребезг реализовали? Походу в теле процедуры в цикле опрашиваете состояние кнопок? Если так, то это естевственно будет тупить.

Вынесете опрос в прерывание по таймеру. Предположим он у вас будет срабатывать 100 раз в сек (т.е. каждые 10мсек). Вариант до 8 кнопок:
1. Создаем массив из N байт, где N кол-во проверок (возьмем 10, можно и меньше)
2. При каждом прерывании записываем в очередную ячейку байт состояния кнопок
3. Если все N раз бит соотвествующей своей кнопке выставлен, значит она нажата.

Это существенно разгрузит основную логику работы программы, а поигравшись с параметрами можно настроить под свои нужды.

З.Ы. я сам недавно собрал часы+будильник+термометр+брометр+психрометр. Всё дело выводится на экран 128*32 (вроде). И всё на меге32, без внешних модулей.