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

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
unalex
Мучитель микросхем
Сообщения: 424
Зарегистрирован: Сб авг 25, 2007 22:02:05
Откуда: Германия, Viernheim

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

Сообщение unalex »

Goldsmith писал(а):То есть не хотите делать отдельный вход для управления третьим состоянием буферного усилителя?


нам то все равно, мы выполняем ТЗ кота Gudd-Head который хотел умощнить выходы контроллера с сохранением Z состояния, т.е. как я понял, не используя дополнительные сигналы для уравления буфером

схема красивая, но как указал коллега, транзисторы надо бы запереть при Z
Коктейль "Рекурсивный": 20% спирта, 30% воды, 50% коктейля "Рекурсивный"...
Аватара пользователя
Goldsmith
Опытный кот
Сообщения: 736
Зарегистрирован: Пн янв 10, 2011 03:06:36
Откуда: Ростов-на-Дону
Контактная информация:

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

Сообщение Goldsmith »

vitalik_1984 писал(а):Это что же получается? Q2 и Q4 всегда открыты при Z состоянии? или я чего не догоняю.
Последний вариант.
unalex писал(а):схема красивая, но как указал коллега, транзисторы надо бы запереть при Z
Конечно, надо. Они и в самом деле заперты. Иначе это будет не красивая схема, а весьма эффективный электрообогреватель помещений.

Когда обе кнопки разомкнуты, по цепи эмиттер-база Q1 - R3 - верхний диод - нижний диод - R6 - база-эмиттер Q3 течет ток. Оба транзистора (Q1 и Q3) насыщены, соответственно, на переходах база-эмиттер Q2 и Q4 напряжение недостаточно для их открывания; оба выходных транзистора заперты. Выход схемы в высокоимпедансном состоянии.

Замкнем нижнюю кнопку. Ток через базовый переход Q3 прекращается, он закрывается, открывая Q4. Q3 по-прежнему заперт. На выходе схемы низкий уровень (0).

Вариант с верхней кнопкой расписывать не буду, схема абсолютно симметрична. Я специально для желающих приложил модель, можно натыкать вольтметров-амперметров-осциллографов и понаблюдать за ее поведением.
Любой дурак может писать код. Настоящий профессионал - это тот, кто способен постоянно создавать продукт высокого качества, укладываясь при этом в бюджет.
J. Ganssle
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

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

Goldsmith писал(а):Когда обе кнопки разомкнуты, по цепи эмиттер-база Q1 - R3 - верхний диод - нижний диод - R6 - база-эмиттер Q3 течет ток. Оба транзистора (Q1 и Q3) насыщены, соответственно, на переходах база-эмиттер Q2 и Q4 напряжение недостаточно для их открывания; оба выходных транзистора заперты. Выход схемы в высокоимпедансном состоянии.

Что-то я туплю. Диоды тут обязательны? Если кому интересно зачем нужен такой буфер: viewtopic.php?f=20&t=85804
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
fahri1
Родился
Сообщения: 3
Зарегистрирован: Вт фев 26, 2013 11:26:45

atmega32l.шим.

Сообщение fahri1 »

у atmega32l ест 4 вывод для аппаратной шим.нужен простейший код для аппаратного шим и для вывода 43.

я сам нашел кусок кода вот такую







#include <avr/io.h>//библиотека ввода/вывода
#include <util/delay.h>//Библиотека функций

#define PORT_PWM DDRB // порт МК
#define PIN_PWM 3 // вывод порта B - PB3

//Программа инициализации ШИМ
void init_pwm (void)
{
/* Настраиваем 8-ми битный таймер*/
TCCR0 = 1<<WGM00|1<<COM01|1<<WGM01|1<<CS02;// предделитель 256
// Начальные значения ШИМ на выводах МК
OCR0=0x00;
}


/*--Основная программа-----------------------------------------------*/
int main(void)
{
// бесконечный цикл
while (1) {
// увеличиваем яркость (скважность PWM)
for (i=0;i<255;i++) {
OCR0++;
_delay_ms(5);
}
// уменьшаем яркость (скважность PWM)
for (i=0;i<255;i++) {
OCR0--;
_delay_ms(5);
}
}
return 1;
}

исползуя этот код не могу получат прошивку посколку prgrammers notepag (winavr) пишет




"make.exe" all

-------- begin --------
avr-gcc (WinAVR 20090313) 4.3.2
Copyright © 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Size before:
AVR Memory Usage
----------
Device: atmega32

Program: 294 bytes (0.9% Full)
(.text + .data + .bootloader)

Data: 6 bytes (0.3% Full)
(.data + .bss + .noinit)




Compiling C: main.c
avr-gcc -c -mmcu=atmega32 -I. -gdwarf-2 -DF_CPU=1000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./main.lst -std=gnu99 -MMD -MP -MF .dep/main.o.d main.c -o main.o
main.c: In function 'main':
main.c:23: error: 'i' undeclared (first use in this function)
main.c:23: error: (Each undeclared identifier is reported only once
main.c:23: error: for each function it appears in.)
make.exe: *** [main.o] Error 1

> Process Exit Code: 2
> Time Taken: 00:04



значит ест ошибка

а сам ошибка находится здес



Compiling C: main.c
avr-gcc -c -mmcu=atmega32 -I. -gdwarf-2 -DF_CPU=1000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./main.lst -std=gnu99 -MMD -MP -MF .dep/main.o.d main.c -o main.o
main.c: In function 'main':
main.c:23: error: 'i' undeclared (first use in this function)
main.c:23: error: (Each undeclared identifier is reported only once
main.c:23: error: for each function it appears in.)
make.exe: *** [main.o] Error 1

> Process Exit Code: 2
> Time Taken: 00:04



но я не знаю английский за счет чего и не знаю что там написано.

исправляйте код пожалуйста
Последний раз редактировалось fahri1 Вт фев 26, 2013 12:47:10, всего редактировалось 1 раз.
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

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

vitalik_1984 писал(а):Вариант с компаратором мне как то больше пришелся по душе.

Вариант с компаратором хорош тем, что помимо тока можно поднять и напряжение :)
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

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

Сообщение vitalik_1984 »

fahri1 , 1.микросхемы отличаются корпусами, у разных корпусов попадутся быть разные номера выводов и разные значения ей одних и тех же номеров ног. В следующий раз потрудитесь обозначить тип корпуса, либо еще лучше написать на какой порт выводить.
2.Вам нужно два примера для аппаратного и программного ШИМ, а на каком языке?
Аватара пользователя
Goldsmith
Опытный кот
Сообщения: 736
Зарегистрирован: Пн янв 10, 2011 03:06:36
Откуда: Ростов-на-Дону
Контактная информация:

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

Сообщение Goldsmith »

Gudd-Head писал(а):Что-то я туплю. Диоды тут обязательны?
Перестраховка. Люблю надежные конструкции, без неожиданных сюрпризов.

Нижний диод не даст открыться Q3, если уровень лог. 0 на входе схемы достигнет 0.8V (а в принципе имеет право). Тогда схема сочтет это за третье состояние, что в общем непраавильно. Диод Шоттки отодвинет этот порог до 1V (0.4V на диоде + 0.6V для открытия эмиттерного перехода). Если поставить обычный диод с P-N переходом, порог приподнимется еще на 0.2V.

Без диодов тоже в большинстве случаев будет работать, поскольку уровень ненагруженного нуля на выходе КМОП очень близок к 0V, но все-так береженого бог бережет. Тем более что для подобных случаев у меня припасены BAT54S, места занимают немного.

(Верхняя половина, само собой, работает точно так же).

Естественно, эта схема - лишь эскиз, а не окончательный вариант. Под конкретные требования ее можно существенно улучшить (например, поднять быстродействие, увеличить входной импеданс, понизить потребление...).

Gudd-Head писал(а):Вариант с компаратором хорош тем, что помимо тока можно поднять и напряжение :)
Фактически Q1 и Q3 - это и есть простейшие компараторы, поскольку открываются, как только входное напряжение выходит за пределы "0" и "1", и тем самым блокируют свое плечо выходного полумоста. Входными диодами можно корректировать порог срабатывания этих компараторов.
Любой дурак может писать код. Настоящий профессионал - это тот, кто способен постоянно создавать продукт высокого качества, укладываясь при этом в бюджет.
J. Ganssle
fahri1
Родился
Сообщения: 3
Зарегистрирован: Вт фев 26, 2013 11:26:45

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

Сообщение fahri1 »

vitalik_1984
корпус tqfp/mlf квадратный всего 44 выводов.
на языке с+/с++
мне нужно два наипрстейшего примера . и для аппаратного и для программного ШИМ,
Аватара пользователя
den2
Сверлит текстолит когтями
Сообщения: 1145
Зарегистрирован: Вт авг 17, 2010 11:58:06
Откуда: Казань

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

Сообщение den2 »

Имеется небольшая проблема с программатором viewtopic.php?p=1592504#p1592504 .Посоветовали проверить распайку и потыкать осциллографом.Распайку проверил,вроде всё чисто,соплей нет.Программатор распаял полностью,как описано вот тут http://avr.ru/ready/tools/prog/avrisp .

Подскажите,что должно быть на ногах программатора (на ISP разъёме).Программатор готовый,вот этот http://microsin.ru/content/view/685/44/ .
Ошибка ISP Mode Error вылезает и в том случае,если к программатору не подсоединена программируемая плата.
Аватара пользователя
Kavka
Мудрый кот
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Re: atmega32l.шим.

Сообщение Kavka »

fahri1 писал(а):но я не знаю английский за счет чего и не знаю что там написано.
исправляйте код пожалуйста
Не знаете английский - пользуйтесь словарями/переводчиками. Хоть на Яндексе, хоть на Гугле. Судя по ошибке вы и Си плохо владеете. Читайте книжки.
У вас в main не определена переменная i, а вы её в циклах используете. На это и ругается.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Аватара пользователя
unalex
Мучитель микросхем
Сообщения: 424
Зарегистрирован: Сб авг 25, 2007 22:02:05
Откуда: Германия, Viernheim

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

Сообщение unalex »

1.1 для кода есть специальный тег code

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

вот такой


1.2 длинный код можно спрятать при помощи тега spoiler

Спойлервот так


2 для понимания что такое шим и как он работает скопировать первый попавшийся код недостаточно, надо еще и даташиты читать

3.1 знание английского желательно, хотя можно обойтись и переводчиком
3.2 ключевые слова "error" "warning" и т.п. знать обязательно

4.1 из п3.2 находим где сообщение об ошибке, копируем в переводчик и видим что необъявлена переменная i
4.2 если непонятно что это такое, бросаем ШИМ и начинаем изучать Си с самых основ
Коктейль "Рекурсивный": 20% спирта, 30% воды, 50% коктейля "Рекурсивный"...
Аватара пользователя
Merlin
Открыл глаза
Сообщения: 51
Зарегистрирован: Пн янв 18, 2010 17:52:07

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

Сообщение Merlin »

Привет всем котам и кошкам.
Вопрос бредовый, но все же никогда такого не было.
Возможно ли при перепрограммировании по SPI прогером minipro спалить AtMega168 и кварц 8Мгц.
С начало прочитал, записал 1н раз, 2й раз, а потом пшик и не коннектится.
Перепробовал все включая тактирование внешним сигналом на макетке.
Что кварц сдох узнал случайно.
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

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

Сообщение Meteor »

Почти любым программатором можно спалить устройство -достаточно наплевать на источники питания и их земли.
Насчет кварца, он мог подохнуть от удара и почти невероятно чтобы от электричества
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Аватара пользователя
Merlin
Открыл глаза
Сообщения: 51
Зарегистрирован: Пн янв 18, 2010 17:52:07

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

Сообщение Merlin »

Что значит "наплевать"? Питание было подано через прогер он сам от юсб. Ноги соответствовали своим назначениям.
Да и в практике бывало путал + и - ноги питания с портами, контролер раскалялся, но потом все равно работал.
Но они все дип были на заметке.
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3868
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

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

Сообщение Engineer_Keen »

Merlin писал(а):Питание было подано через прогер он сам от юсб.

Надеюсь не через ISP-разъем?
Обычно он не предназначен для питания целевого контроллера, если это не написано в описании к программатору. Программатор не может знать какое питание нужно в конкретной схеме, что если он выдаст 5В, а в схеме стоит 3В флеш-память?
Аватара пользователя
Merlin
Открыл глаза
Сообщения: 51
Зарегистрирован: Пн янв 18, 2010 17:52:07

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

Сообщение Merlin »

Именно через ISP, но у меня умный прогер MiniPro и в документации у него написано можно питать ( :oops: наверно)
Я как то и не заморачивался на этом +5 так +5 ну и ок
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3868
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

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

Сообщение Engineer_Keen »

Так можно или наверно можно? Может перемычку какую надо воткнуть?
Аватара пользователя
Merlin
Открыл глаза
Сообщения: 51
Зарегистрирован: Пн янв 18, 2010 17:52:07

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

Сообщение Merlin »

Никаких перемычек не нужно в хелпе так и писано питание от isp подать на целевые ус-во.
Возможно он заложен т.к. фьюзы я не трогал и не смотрел возможно сбились.
Какими еще способами можно разлочить или проверить его работоспособность?
Аватара пользователя
MiklSh
Потрогал лапой паяльник
Сообщения: 361
Зарегистрирован: Чт дек 28, 2006 12:46:58
Откуда: Хлынов
Контактная информация:

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

Сообщение MiklSh »

Подскажите, есть батарейка 9В "Крона", есть Мега8 с россыпью светодиодов и схемой (требует 5в) завязанной на нее, нужно включать/выключать схему одной кнопкой. Понятно что мегу загоняем в sleep и пробуждаем прерыванием, а как правильней организовать стабилизатор к батарейке? Если напрямую, "в спячке" 78l05 ест несколько миллиампер.

Вот, накидал на вскидку: PB1.0=1 - на меге стабильные 5v (можно моргать светодиодами, включать вторичную схему); PB1.0=0 - все выключено, стабилизатор ничего не потребляет, на меге для сна 3...5v (Uбат-UD2). Поругайте! Или может есть более лучший вариант?
СпойлерИзображение
Вложения
123.PNG
(34.54 КБ) 409 скачиваний
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

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

Сообщение vitalik_1984 »

MiklSh Хе, прикольная замещающая схема меги :))) А чем вам не нравится стабильное питание от 3 вольт? Светодиоды питаются через ULN2000
Тем более подозрительное включение стабилитрона D2 как правило стабилизаторы напряжения выглядят по другому. Этот стабилитрон будет тупо подавать все напряжение, которое выше, чем 4.3
Вы вообще проверяли работу данной схемы? Вроде как она у вас в протеусе. Можно было и приложить в архиве.
Вот создал сам
1 косяк с трех вольтовой частью
2 я исправил
3 возможный глюк, так как схема может включиться от 0,6 вольт
Изображение
Если не нужно, чтобы контроллер всегда был включен можно просто перевернуть вот так транзистор. Мк когда ему не нужно питание просто выключает ногу с минуса и все.
Изображение
Последний раз редактировалось vitalik_1984 Вс мар 03, 2013 00:01:06, всего редактировалось 1 раз.
Ответить

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