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

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

Добавлено: Вт янв 17, 2012 11:37:46
miharus
ААА вот оно! был косяк с частотой! поставил в проекте как в кварце, ошибку не выдает, щас попробую вывести результат! спасибо, BCluster )))

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

Добавлено: Вт янв 17, 2012 14:05:21
3DRaven
Возился с датчиком ds18b20 неделю. Пока выяснилось, что он не работал только потому, что я индикацию повесил на МК и для генерации сигнала по 1вире не хватало тока у МК. Может чем поможет кому.

Но у меня вопрос есть. Как посчитать токи на схеме? То есть...можно было как то посчитать заранее, что у МК не хватит тяги что бы потянуть диодную индикацию семи сегментную и общение с датчиком?
сколько МК тратит тока что бы выдать 1 на ногу, сколько у него "в распоряжении" есть что бы не глючил и пр.

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

Добавлено: Вт янв 17, 2012 14:08:52
ploop
сколько МК тратит тока что бы выдать 1 на ногу
Нисколько. А сколько будет кушать потребитель - зависит только от него.

Как же так можно подключить индикатор, чтобы напряжение просело? Без резисторов что-ли?

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

Добавлено: Вт янв 17, 2012 14:43:34
IfoR
Люди, а по моему вопросу есть что или мне case использовать? Или задать вопрос в соседней теме? :)

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

Добавлено: Вт янв 17, 2012 14:45:14
3DRaven
С резисторами. Я это вообще случайно обнаружил...хотя в статье со схемой писали, но не поверил.
Я подрубил программатор (от него схему питаю) и забыл отключить блок питания (он подрублен через стабилизатор и кондеры).
Датчик взял и обнаружился, хотя до этого признаков жизни не подавал...да еще и стал слать данные...но правда црц не проходит и шлет мусор...пока. Я еще не поставил дешифратор для индикации...индикатор с общим анодом и чем транзисторами рулить, проще дешифратор за 8р купить.

Вопрос остается. Есть нагрузка-индикатор. Можно ли заранее сказать, что МК нагрузку не потянет (любую вообще то). Не хочется еще раз в какой то схеме провозится неделю что бы такое обнаружить.

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

Добавлено: Вт янв 17, 2012 14:52:35
ploop
Не понял про индикаторы, ну да ладно.
Можно ли заранее сказать, что МК нагрузку не потянет (любую вообще то).
Конечно. Открываем даташит, ищем максимальную нагрузку, которую может выдержать порт МК, а так же суммарную нагрузку на шины VCC и GND.

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

Добавлено: Вт янв 17, 2012 16:14:26
demiurg301
Никак не могу уловить из даташита atmega128
Power-down Mode
....., an External Level Interrupt on INT7:4, or an External Interrupt on
INT3:0 can wake up the MCU
. This sleep mode basically halts all generated clocks, allowing
operation of asynchronous modules only.
И русское описание с gaw.ru
Внешние прерывания 7 - 4 активизируются через внешние выводы INT7:4, если установлены флаг I в регистре статуса SREG и соответствующая маска прерывания в регистре EIMSK. Условие, по которому генерируется прерывание, выбирается исходя из данных таблицы 50. Для определения фронтов на выводах INT7:4 осуществляется выборка их состояний. Если выбрано прерывание по фронту или изменению уровня, то прерывание будет сгенерировано, если на входе появляется импульс, длительность которого больше одного периода синхронизации. При действии на входе более коротких импульсов генерация прерывания не гарантируется. Обратите внимание, что частота синхронизации ЦПУ может быть ниже чем частота XTAL, если разрешена работа делителя частоты XTAL. Если выбрано прерывание по низкому уровню, то прерывание генерируется, если до момента окончания выполнения текущей инструкции на входе по прежнему присутствует низкий уровень. Если разрешено прерывание по уровню, то оно будет генерироваться непрерывно до тех пор, пока на входе присутствует низкий уровень.
А как сработает прерывание на 4-7 пине если тактовый генератор отключён?

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

Добавлено: Вт янв 17, 2012 16:29:46
IfoR
Ну да просто. Как сказано в английском варианте, при возникновении прерывания на INT-ах, камень просыпается, включив все свои тактовые генераторы. Точнее не он сам их включает, а вспомогательная цепочка логики, наверняка. Затем идёт обработка прерывания.
На счёт русского варианта, наверное имеется ввиду, что в спящем режиме тактовый генератор запускает в сам момент подачи импульса, то есть в этом случае и фронт импульса прерывания и фрон тактового сигнала примерно совпадают. В этом случае прерывание сразу же срабатывает. А в штатном режиме, что бы прерывание сработало, нужно после подачи импульса прерывания дождаться фронта тактового сигнала. В этом случае перерывание гарантированно сработает, если длительность импульса будет больше периода тактового сигнала (или больше полупериода).

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

Добавлено: Вт янв 17, 2012 16:55:23
demiurg301
IfoR писал(а):Ну да просто. Как сказано в английском варианте, при возникновении прерывания на INT-ах, камень просыпается, включив все свои тактовые генераторы. Точнее не он сам их включает, а вспомогательная цепочка логики, наверняка. Затем идёт обработка прерывания.
На счёт русского варианта, наверное имеется ввиду, что в спящем режиме тактовый генератор запускает в сам момент подачи импульса, то есть в этом случае и фронт импульса прерывания и фрон тактового сигнала примерно совпадают. В этом случае прерывание сразу же срабатывает. А в штатном режиме, что бы прерывание сработало, нужно после подачи импульса прерывания дождаться фронта тактового сигнала. В этом случае перерывание гарантированно сработает, если длительность импульса будет больше периода тактового сигнала (или больше полупериода).
Понятно. Получается при использовании ноги INT4-7 для выхода из PowerDown разницы c использованием INT0-3 нет?
Т.е. разница только в фиксированном времени срабатывания или относительно тактовой?

Тогда не понятно... Камень проснулся например по спаду с 1 на 0 на INT4-7. Тогда как он "словит" прерывание если спад уже был , а тактовый запустился позже. Вот это никак не догоню...

*****************
Всё, догнал :) Спасибо за разъяснение

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

Добавлено: Ср янв 18, 2012 00:31:49
miharus
Кстати друзья, вот еще какой вопрос! сколько времени должно занимать чтение с датчика sd18b20? процедура чтения вот какая t=ds18b20_temperature(0). уменя она занимает около секунды и на это время перестает работать динамическая индикация.

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

Добавлено: Ср янв 18, 2012 01:00:13
demiurg301
miharus писал(а):Кстати друзья, вот еще какой вопрос! сколько времени должно занимать чтение с датчика sd18b20? процедура чтения вот какая t=ds18b20_temperature(0). уменя она занимает около секунды и на это время перестает работать динамическая индикация.
Так загляните в либу.


float ds18b20_temperature(unsigned char *addr)
{
unsigned char resolution;
if (ds18b20_read_spd(addr)==0) return -9999;
resolution=(__ds18b20_scratch_pad.conf_register>>5) & 3;
if (ds18b20_select(addr)==0) return -9999;
w1_write(0x44);
delay_ms(conv_delay[resolution]);
if (ds18b20_read_spd(addr)==0) return -9999;
w1_init();
return (*((int *) &__ds18b20_scratch_pad.temp_lsb) & bit_mask[resolution])*0.0625;
}

Для 12 бит 800мс.

И не будет динамика работать - надо delay_ms(conv_delay[resolution]); заменить таймером тогда.

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

Добавлено: Ср янв 18, 2012 02:10:45
miharus
а если динамическую индикацию повесить на прерывание таймера, то она не будет прерываться этим фуфлом?)))

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

Добавлено: Ср янв 18, 2012 02:42:05
Kasey
Объясните мне пару вопросов:
Вот у меня есть отладочная плата и мк с ядром ARM, подключается через USB к ноуту (установлен драйвер для эмуляции COM порта), на плате FT232BL... Настраиваю UART и кидаю через терминал данные в мк... почти работает. В даташите написано что FT232 - преобразователь USB в RS232... Вообщем, все как надо :) , но что-то я совсем не понимаю, что происходит:

Что у меня передается по USB шнуру? Те же 10бит (старт, 8 данных, стоп) которые создаются UARTом?
Или FT232 преобразовала их в сигналы USB data+,data-?
Почему на другом конце RS232, разве у него лог0 и лог1 не +5-15 и -5-15В?
Или RS232 это и есть UART?
А если бы у меня был ком-порт и нужный кабель, то во что бы превратилась схемка
[пк] - USB - [ft232] - UART - [мк] (если я правильно понимаю)?

Надеюсь, кто-нибудь сможет мне объяснить это простым языком, а то нигде ответа на эти мои странные вопросы не нашел. Хотя, они не так сильно важны для меня, ведь все работает, только для меня непонятно почему так работает и в каком виде информация приходит на комп. Если уж по USB-протоколу, то зачем вообще вообще виртуальный COM-порт? Совсем каша в голове :shock: , помогите разобраться. :oops: :facepalm:

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

Добавлено: Ср янв 18, 2012 05:43:58
BerZerK-ku
FT232 это преобразователь USB-UART. Для достижения заявленных уровней RS-232 необходимо дополнительное преобразование.
Если выражаться простым языком, польза микросхемы огромна. Начнем с того, что на современных ПК, не говоря о ноутбуках, нетбуках, смартфонах, планшетниках встретить COM порт практически нереально, а работать с уже имеющимися устройствами необходимо. При этом надо учесть, что ПО уже написано для работы с COM портом. Что делать?! Как что, применять шнурки-преобразователи USB-COM. ПО для ПК уже переписывать не надо (хотя не всегда), железяка к которой подцепляете шнурок тоже не видит разницы, все работает, все рады.
Идем дальше, разработка нового устройства. Например используем МК AVR ATmega8, как его соединять с ПК? Как вариант, использовать готовые библиотеки для подключения к USB на прямую. Можно и так, но при этом большая часть ресурсов МК будет потеряна. FT232 в этом случае берет основную часть работы с ПК на себя, передвая в МК требуемую информацию по UART.
Идем дальше, разработка нового ПО для ПК. Разработчик, имеющий долгие годы работающий с COM портом имеет возможность работать с ним и дальше, благодаря виртуальному порту. Нет необходимости изучать и разбираться с USB. Тем более нет необходимости разбираться с протоколом самого USB устройства.

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

Добавлено: Ср янв 18, 2012 06:37:58
ploop
Что у меня передается по USB шнуру? Те же 10бит (старт, 8 данных, стоп) которые создаются UARTом?
Там работает обычный USB со своей спецификой. На стороне ПК драйвер преобразует это в ваши 8 бит, и предоставляет интерфейс в виде виртуального COM-порта. На сторон железки этим занимается FT232.
Отличие RS232 от UART уже объяснили.

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

Добавлено: Ср янв 18, 2012 12:03:32
Kasey
Там работает обычный USB со своей спецификой. На стороне ПК драйвер преобразует это в ваши 8 бит, и предоставляет интерфейс в виде виртуального COM-порта.
Отлично, то что я хотел и узнать.
FT232 это преобразователь USB-UART.
Значит надпись "USB-RS232 convertor and interface" немного некорректна в описании отладочной платы?
И последний вопрос: если бы моя плата подключалась к com-порту напрямую, то FT232 там не нужен, т.е все шло прямо на ноги мк, так?

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

Добавлено: Ср янв 18, 2012 12:09:49
Мастер Ломастер
Kasey писал(а):И последний вопрос: если бы моя плата подключалась к com-порту напрямую, то FT232 там не нужен, т.е все шло прямо на ноги мк, так?
напрямую на МК нельзя, нужен преобразователь уровней, например MAX232 (или на транзисторах). сами же писали, что в СОМ-порту уровни совсем не ТТЛ-овские

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

Добавлено: Ср янв 18, 2012 12:21:56
ploop
Kasey, на выходе COM-порта настоящий RS232. Нужен согласователь уровней RS232-UART (MAX232)
Так же и наоборот: чтобы получить настоящий RS232-USB нужен FT232+MAX232

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

Добавлено: Ср янв 18, 2012 12:32:56
Kasey
ААА! Все, разобрался! :)) ploop, Мастер Ломастер и всем остальным большое спасибо!

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

Добавлено: Ср янв 18, 2012 16:17:51
DJ_Kiridza
Всем привета.
Есть мелкий вопрос:
В ATtini2313 есть USI и USART, мне нужно повесить на одну ногу кучу DS18B20 (ок 10 шт.), подходит ли USI для работы с DS18B20. Значю что через USART проще, но мне USART нужен для связи с компом, а "вручную" городить интерфейс общения на обычной ноге не охота ??...

Вариант разные ноги = разные DS18B20 не подходит, т.к. эти ноги заняты своими функциями.