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

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
enq
Открыл глаза
Сообщения: 59
Зарегистрирован: Чт фев 11, 2010 10:31:31
Откуда: Воронеж

Сообщение enq »

2 Phenomen: LPT нету.
Добра вам
Изображение
Контактная информация:
Реклама
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1116
Зарегистрирован: Чт окт 15, 2009 14:16:18
Откуда: Екб

Сообщение AI_Disable »

Stalker46 писал(а):Народ - а чего это слухи ходили, что в Attiny2313 частота внутреннего RC генератора 1МГц???
Ведь смотрю евстифеева -
таблица -
Внутренний калиброванный RC-генератор:
(режим по умолчанию)
Частота внутреннего RC генератора по умолчанию:
8МГц.
Не понял??
Частота внутреннего генератора, действительно, 8мгц, но стандартно, в тини2313, еще включен фьюз CKDIV8, который делит частоту тактирования на 8. Вот и получается 1мгц.
Контактная информация:
Реклама
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

AI_Disable
Спасибо, помог!!:)
Не умеешь - не берись, но не взявшись не научишься...
Потрогал лапой паяльник
Сообщения: 310
Зарегистрирован: Пт дек 17, 2010 14:41:25

Сообщение phenomen »

Давно собрал себе этот программатор, только со своей печаткой (все детали смд). Зашил на стационарнике с помощью ЛПТ и проги uniprof. Работаю с ноута, где нет ни КОМ ни ЛПТ, а только ЮСБ. Доволен.
Думаю найдется ПК на 10 минут дабы зашить МК с ЛПТ
Реклама
Эиком - электронные компоненты и радиодетали
Мучитель микросхем
Аватара пользователя
Сообщения: 444
Зарегистрирован: Вс ноя 28, 2010 15:18:52
Откуда: Минск

Сообщение ANALOG »

а какой avr порекомендуете в качестве первого контроллера?
как насчёт ATmega8
Реклама
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1116
Зарегистрирован: Чт окт 15, 2009 14:16:18
Откуда: Екб

Сообщение AI_Disable »

ANALOG, ATmega8 снят с производства, лучше возьмите ATmega88 или 48. Он лучше по характеристикам и стоит дешевле.
Контактная информация:
Реклама
Chettuser

Сообщение Chettuser »

Подскажите, у PIC18F2520 RA4 - только вход? Если нет, то как его на выход настроить?

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

The RA4 pin is multiplexed with the Timer0 module
clock input and one of the comparator outputs to
become the RA4/T0CKI/C1OUT pin.
Таймер переключил на внутренний источник.
Компаратор отключил.
Что ещё?
Chettuser

Сообщение Chettuser »

МК PIC18F2520, Отладка в MPLAB через PICKit 2. Выдаёт

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

PK2Error0028:  Unable to enter debug mode
Что можно сделать?
ЗЫ: Обязательно для режима отладки нужен кварц, или можно включить INTRC?
Друг Кота
Аватара пользователя
Сообщения: 25434
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

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

Такое возможно при отключении контроллера от ПИКкита во время отладки. Обычно помогает реконнект ПИККита (есть пиктограмма на панели отладчика) и принудительная перепрошивка целевого контроллера перед пуском.
Работать должен тот системный генератор, который указан в конфиге. При дебаге (отладке), в отличие от простого программирования, контроллер тактируется штатным генератором конфигурации (кварц, внутренний, внешний...).

Что касается RA4.
Для конфигурирования любого пина порта (кроме MCLR) необходимо установить НОЛЬ в соответствующем разряде регистра TRIS (в данном случае TRISA, RA4), это подключит ВЫХОДНУЮ защелку порта к пину.
Последний раз редактировалось КРАМ Вс янв 02, 2011 03:19:42, всего редактировалось 1 раз.
Опытный кот
Аватара пользователя
Сообщения: 782
Зарегистрирован: Вс фев 04, 2007 16:32:06

Сообщение yaotzin »

как подключить к АЦП МК напряжение, чтоб он распознавал когда + а когда минус подключен к входу АЦП кто знает ?
Друг Кота
Аватара пользователя
Сообщения: 25434
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

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

А он и не может этого распознать. АЦП во всех контроллерах УНИПОЛЯРНЫЕ. Для измерения двухполярных сигналов необходимо этот сигнал предварительно СМЕСТИТЬ в положительную область. Это делается с помощью ОУ (ну или резистивных пассивных сумматоров).
Таким образом производится смещение и масштабирование вообще любых сигналов, которые выходят за динамический диапазон АЦП.
Возможны манипуляции с питанием (искусственные средние точки и т.п.), но это уж совсем для бюджетных решений.
Chettuser

Сообщение Chettuser »

Спасибо КРАМ, RA4 пробовал всяко-разно, в том числе переключал таймер с этой ножки на внутренний источник импульсов, а также выключал компаратор. Видимо это выход компаратора и вход с триггером и всё.Цифрового выхода очевидно нет.
Генератор на отлаживаемом включил внутренний INTRC (8 МГц). Буду пробовать с внешним кварцем. Гдето на казусе пробегало сообщение что человек тоже не мог дабажить этот ПИК (с внутренним генератором на 8 МГц), а вот 4520 получилось (с внешним кварцем и ПЛЛ).
Друг Кота
Аватара пользователя
Сообщения: 25434
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

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

RA4.JPG
Внимательно читаем даташит. Фрагмент приведен выше.
Для конфигурирования пина RA4 как выхода нужно выполнить простую команду ассемблера:

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

bcf    TRISA, RA4
или соответствующую ей команду сброса этого разряда на Си (синтаксис зависит от применяемого компилятора).
Компаратор выключен при сбросе по умолчанию. Но можете повторить выключение записью 0х07 в регистр управления компаратором. Отключать вход таймера не обязательно. Чисто цифровые входы вообще не отключаются (только аналогово/цифровые могут быть отключены от цифрового входа через ADCON1). Данный пин не аналоговый. Выход компаратора - это цифровой выход. Поэтому отключается только выходная защелка через TRISA (1-отключена, третье состояние, только вход; 0 - включена, выходная защелка на пине, входы так же подключены).


Про невозможность дебага на внутреннем осцилляторе.
Не читайте всякие глупости. Даже если их пишут на Казусе.
Дебаг не имеет никакого отношения к типу осциллятора.
У меня описанный контроллер применяется в куче серийных изделий. И с внутренним и с внешним осцилляторами.
Дебажится без всяких проблем.
Chettuser

Сообщение Chettuser »

Что не так? (вложение - просто, пример для начала отладки написал)
По прежнему пишет ту же ошибку.
Может есть у кого рабочий маленький проектик для проверки? Поделитесь плиз!
Вложения
отладка.png
(50.94 КБ) 408 скачиваний
Termos18.zip
(3.63 КБ) 163 скачивания
Друг Кота
Аватара пользователя
Сообщения: 25434
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

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

Об RA4.

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

	ADCON1 = 0x07;			// цифровые выходы
Эта строка делает из RA0...RA3, RA5 аналоговые входы..., причем тут цифровые выходы?
Должно быть так:

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

	ADCON1 = 0x0F;			// цифровые выходы
Приведенный основной код выводит в RA4 единицу. Вопрос. А что Вы там наблюдаете?
Вывод в выходную защелку нужно делать через LAT, а читать вход через PORT, чтобы избегать проблем с RMW.
И вообще. Если Вы задаете вопрос, то не нужно доказывать свой результат. Лучше приведите в качестве исходных данных побольше информации.
Так в скриншоте я кроме сообщения отладчика ничего не вижу. Какой прок от Watch, если запуска не было?
Ошибка может быть вызвана и неправильной разводкой (перепутаны клоки и данные интерфейса программирования/отладки) и перегрузкой (коротким замыканием) по питанию на плате контроллера, наконец шунтированием клоков/данных внешними цепями.
Ничего этого из скриншота не видно.
Chettuser

Сообщение Chettuser »

Я совсем запутался:
из даташита:

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

CLRF PORTA ; Initialize PORTA by
; clearing output
; data latches
CLRF LATA ; Alternate method
; to clear output
; data latches
MOVLW 07h ; Configure A/D
MOVWF ADCON1 ; for digital inputs
MOVWF 07h ; Configure comparators
MOVWF CMCON ; for digital input
MOVLW 0CFh ; Value used to
; initialize data
; direction
MOVWF TRISA ; Set RA<3:0> as inputs
; RA<5:4> as outputs
(стр 105).
Я ничего не доказываю! Упаси Бог! Я пытаюсь разобраться.

На "макетке" нет ничего кроме PIC18F2520, 2-х резюков (PGM - 1k (пин 26) на землю) и MCLR - 10k (пин 1) на VDD ) и разъёма ISCP (6 лап). Ах, да! Ещё впаял кондики по питанию на 10мкФ и 0,1мкФ. Больше на макетке ничего нету :(
Пробовал загрузить простой проект (без конфигурации, чистый).

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

#include <p18f2520.h>
void main (void)
{
}
Ничего не поменялось.
И, кстати, программирование идёт а отладка - нет. :cry:
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

Хотелось бы узнать, флаг TOV0 в регистре TIFR устанавливается независимо от состояния бита TOIE0 регистра TIMSK???
или если TOIE0=0, то TOV0 всегда будет 0, независимо, произошло переполнение или нет??
Не умеешь - не берись, но не взявшись не научишься...
Друг Кота
Аватара пользователя
Сообщения: 25434
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

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

Переписывать примеры из даташитов нужно осмотрительно, с оглядкой на соответствующие параграфы документа.
Конфигурирование ADCON1 описано в разделе АЦП:
ADCON1.JPG
Про отладку.
А ПИККит2 родной или клон?
Резистор с PGM можно убрать, все равно низковольтное программирование отключено.
В остальном все выглядит нормальным.
И еще, покажите результирующий конфиг ячейки 300001 (гексакод в окне Configure-Configuration bits),
а также окно Debugger-Debugger Settings.
Chettuser

Сообщение Chettuser »

КРАМ писал(а):Переписывать примеры из даташитов нужно осмотрительно, с оглядкой на соответствующие параграфы документа.
Конфигурирование ADCON1 описано в разделе АЦП
...
И еще, покажите результирующий конфиг ячейки 300001 (гексакод в окне Configure-Configuration bits),
а также окно Debugger-Debugger Settings.
Извиняюсь :oops: Переписал правильно.
Пиккит родной. Точнее собранный по фирменной схеме, заменялись только транзюки и микросборка с полевиками. Всё работает чётко (не проверял только AUX на ICSP). Напругу выдаёт VDD и VPP, регулирует. CLK и DATA работают (30 кГц, подтяжка к VDD и GND). Резюки на этих линиях на землю стоят по 4,7к.
Во вложении Configure и Debbugger.
Вложения
отладка_дебагг_2.png
(10.34 КБ) 504 скачивания
отладка_дебагг_1.png
(8.2 КБ) 316 скачиваний
отладка_конфиг.png
(34.42 КБ) 521 скачивание
Chettuser

Сообщение Chettuser »

Сделал для проверки простой пример.

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

while (1)
{
	LATA = 0xFF;
	LATB = 0xFF;
	LATC = 0xFF;
}
Прошил. На ножках тишина :))) Вывод - не пашет внутренний RC. Или я не прав?
Ответить

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