Мелкие вопросы по МК и ПЛИС.
Мой вопрос про аппаратный SPI чересчур подробно видимо описан - никто не отвечает 
- Реклама
Много нового и интересного узнал, спасибо
и, пока что, из найденного, статья DI HALT'a самая доходчивая про сдвиговые регистры 
Почему я здесь и задаю тупые вопросы?
Потому что хочу научиться.
Потому что хочу научиться.
А что отвечать... там ERRATA интересная...Chettuser писал(а):Мой вопрос про аппаратный SPI чересчур подробно видимо описан - никто не отвечает
"Я не даю готовых решений, я заставляю думать!"(С)
TMR2 не юзаю - он задействован в PWM. Да и ситуаций, описанных в errata нет.
- Сообщения: 20
- Зарегистрирован: Чт июн 26, 2014 15:27:55
Друзья, подскажите одну штуку. Разбираюсь с внешним тактированием. В контроллере Attiny13 можно подключить внешнее тактирование. Я в протеусе делаю симуляцию, CKDIV8 не программирую, CKSEL1=00, тоесть ставлю фьюз внешнего тактирования, подаю сигнал dc_clock с любой частотой на ногу CLKI, а оно не работает, пишет какую то ошибку, что-то с CKSEL, частота не подходит или подобное чего-то. Скрин под спойлером.

Спойлер

- Реклама
Ты не указал частоту тактирования. Ножка в протеусе внешнего тактирования это просто декорация, туда ничего не надо подавать(ибо оно будет просто проигнорировано) просто в свойствах контроллера задай тактовую частоту.
Подключил АЦП на AN0. При этом нет реакции на Vref, заведенное на внешние пины, а от внутреннего подключения к Vdd и Vss все работает. Почему? Что я еще не учел?
Errata листал - ничего не напоминает. 
Спойлер
Код: Выделить всё
//------- ADC -----------
ADCS1 = 0; // Tad = FOSC/32 (/8, /2)
ADCS0 = 0;
CHS3 = 0; // AN0=0000, AN1=0001, AN2=0010, ...
CHS2 = 0;
CHS1 = 0;
CHS0 = 0;
ADFM = 1; // сдвигаем в младший байт ADRESL
VCFG1 = 0; // -Vref к Vref- pin
VCFG0 = 0; // +Vref к Vref+ pin
ADON = 1; // включаем АЦП
GO = 0; // запрет конверсии АЦП
ADRESL= 0; // чмстим буфер
ADRESH= 0;
//-----------------------Код: Выделить всё
GO = 1; // Включили преобразование АЦП
while(GO)
{
asm("nop"); // Ожидаем окончания преобразования АЦП
}- Сообщения: 5
- Зарегистрирован: Вс июл 13, 2014 17:55:05
Товарисчи-котейки, подскажите, хочу создать устройство с дисплеем и графическим интерфейсом. Нигде не могу найти примеров использования дисплеев >2 дюймов. Хочу использовать дисплей дюйма 4. Не хочу использовать андроид. Возможно ли это и какой МК под это стоит использовать(бюджетный вариант)? Есть ли не тач экранчики 4-дюймовые(тоже бюджетный вариант)?
- Сообщения: 2
- Зарегистрирован: Пн июл 14, 2014 16:28:53
Доброго дня, Ув. форумчане. Не пинайте сильно за сказаное и бо я начинающий.
Есть Мега 64А, есть прошика (проверочная, поскольку родная тоже не пашет),
вообщем после залития она не работает, 2 МК перепробовал, фюзы: low=61 high=D9 extendet=FF
настроен на внутренний 1MHz RC генератор, схема включения: питание "+" ноги 21,52,64, "-" 22,52.
что в моих действиях не правильно, и как завети этот МК. уже 3дня играюсь не могу понять , или фюзы неправельно, либо
#include <Mega64.h>
#include <delay.h>
void main (void){
PORTA=0b00000000;
PORTB=0b00000000;
PORTC=0b00000000;
PORTD=0b00000000;
PORTE=0b00000000;
PORTF=0b00000000;
DDRA=0b11111111;
DDRB=0b11111111;
DDRC=0b11111111;
DDRD=0b11111111;
DDRE=0b11111111;
DDRF=0b11111111;
while(1){
PORTA=0b00000000;
delay_ms(500);
PORTA=0b00000001;
delay_ms(500);
}
}
Есть Мега 64А, есть прошика (проверочная, поскольку родная тоже не пашет),
вообщем после залития она не работает, 2 МК перепробовал, фюзы: low=61 high=D9 extendet=FF
настроен на внутренний 1MHz RC генератор, схема включения: питание "+" ноги 21,52,64, "-" 22,52.
что в моих действиях не правильно, и как завети этот МК. уже 3дня играюсь не могу понять , или фюзы неправельно, либо
#include <Mega64.h>
#include <delay.h>
void main (void){
PORTA=0b00000000;
PORTB=0b00000000;
PORTC=0b00000000;
PORTD=0b00000000;
PORTE=0b00000000;
PORTF=0b00000000;
DDRA=0b11111111;
DDRB=0b11111111;
DDRC=0b11111111;
DDRD=0b11111111;
DDRE=0b11111111;
DDRF=0b11111111;
while(1){
PORTA=0b00000000;
delay_ms(500);
PORTA=0b00000001;
delay_ms(500);
}
}
Ресет в воздухе висит? Нарисуйте нормальную схему.mehas писал(а):схема включения: питание "+" ноги 21,52,64, "-" 22,52.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Это очепатка (вместо 53 написано 52) или так соединено? Я бы ещё соединил с GND 63 лапу.mehas писал(а):питание "+" ноги 21,52,64, "-" 22,52.
- Сообщения: 2
- Зарегистрирован: Пн июл 14, 2014 16:28:53
нет, через 10к подвешан к +5Gudd-Head писал(а):Ресет в воздухе висит? Нарисуйте нормальную схему.
Да извеняюсь, 53 нога, 63 подключал уже тоже, но без успешно, былаб проблема с одним МК, может битый, а так уже третий взял и таже беда. Забыл упомянуть, прошиваю по SPI програматором XELTEK 500P.
Последний раз редактировалось Gudd-Head Вт июл 15, 2014 12:47:32, всего редактировалось 1 раз.
Причина: Нарушение пп. 2.2 и 2.7 Правил Форума
Причина: Нарушение пп. 2.2 и 2.7 Правил Форума
Здравствуйте! Как можно переконвертировать wav в bin (для симуляции в протеусе) и wav в hex ( для записи с помощью программатора во внешнюю память с интерфейсом i2с)? Спасибо!
У радио нет будущего. Летательные аппараты тяжелее воздуха невозможны. Скоро выяснится, что рентгеновские лучи - мистификация.
[i]Лорд Кельвин, физик, 1899 г.[/i]
[i]Лорд Кельвин, физик, 1899 г.[/i]
WAV - это уже бинарник, за исключением небольшой информации вначале файла. Так что конвертировать bin в bin не имеет ни какого смыслаHispanus писал(а):Как можно переконвертировать wav в bin
А для чего ? Заливайте в память сразу бинарные данные. Программе, заливающий hex в микросхему, всё равно перед залитием придётся выдёргивать из hex'а бинарные данные. Избавьте её от этой мучительной процедурыHispanus писал(а):и wav в hex ( для записи с помощью программатора во внешнюю память с интерфейсом i2с)
Аlex, получается можно вообще обойтись без конвертации? При программировании памяти просто открыть программатором wav файл и записать его содержимое в 24LC256? Но как тогда избавиться от небольшой информации в начале wave (насколько она небольшая)? Можно ли открыть wav в hex редакторе и вырезать кусок этой небольшой информации? Но как тогда узнать, что вырезаешь именно ее, а не полезные данные? И, наконец, последний вопрос
Для симуляции работы 24LC256 в протеусе нужен именно bin файл. Подойдет ли простая смена расширения .wav на .bin? Спасибо!
У радио нет будущего. Летательные аппараты тяжелее воздуха невозможны. Скоро выяснится, что рентгеновские лучи - мистификация.
[i]Лорд Кельвин, физик, 1899 г.[/i]
[i]Лорд Кельвин, физик, 1899 г.[/i]
На все Ваши вопросы с лёгкостью ответит гугол. Первая ссылка в поисковике - http://audiocoding.ru/статьи/структура-wav-файла.html
Скачать бесплатный Audacity и сохранить файл как RAW. К сохранялке в подарок получите мощный инструмент работы со звуками. Если программатор не понимает RAW, то тупо переименовать в BIN.Но как тогда избавиться от небольшой информации в начале wave (насколько она небольшая)?
Аlex и uk8amk, спасибо за Ваши ответы! Но у меня тут возникла проблема с чтением из внешней памяти, поэтому пока откладываю работу с wave на неопределенный срок..
У радио нет будущего. Летательные аппараты тяжелее воздуха невозможны. Скоро выяснится, что рентгеновские лучи - мистификация.
[i]Лорд Кельвин, физик, 1899 г.[/i]
[i]Лорд Кельвин, физик, 1899 г.[/i]
- Сообщения: 822
- Зарегистрирован: Вс июн 02, 2013 12:23:03
Скажите пожалуйста как лучше подключить AVCC и AREF чтоб получить максимально стабильное напряжение.
Напряжение питания я выбрал 5 вольт.
На AREF либо подаю внешнее опорное напряжение в 5 Вольт.
Либо внутреннее от AVCC.

Напряжение питания я выбрал 5 вольт.
На AREF либо подаю внешнее опорное напряжение в 5 Вольт.
Либо внутреннее от AVCC.
- Вложения
-
- AREF.PNG
- (114.35 КБ) 301 скачивание
На сколько я понял речь идёт о стабильности опорного напряжения. Если так, то...
Все варианты работоспособны.
При использовании внутренней "опоры" - конденсатор рекомендуется (второй вариант на вашем рисунке). Лучше уже не сделаешь. Ну, или, почти не сделаешь.
Первый вариант улучшить можно по рекомендации из спецификации на МК. Смотрите картинку "ADC Power Connections" (Figure 24-9 в том варианте файла, что у меня). Ставиться LC-фильтр на AVCC (10мкГ, 100н)
Третий вариант можно использовать при очень шумной схеме. Но, опять же, тогда имеет смысл всё равно поставить LC-фильтр.
Стабильность будет зависеть от шумности схемы, обычно варианта с LC-фильтром хватает.
Все варианты работоспособны.
При использовании внутренней "опоры" - конденсатор рекомендуется (второй вариант на вашем рисунке). Лучше уже не сделаешь. Ну, или, почти не сделаешь.
Первый вариант улучшить можно по рекомендации из спецификации на МК. Смотрите картинку "ADC Power Connections" (Figure 24-9 в том варианте файла, что у меня). Ставиться LC-фильтр на AVCC (10мкГ, 100н)
Третий вариант можно использовать при очень шумной схеме. Но, опять же, тогда имеет смысл всё равно поставить LC-фильтр.
Стабильность будет зависеть от шумности схемы, обычно варианта с LC-фильтром хватает.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)


