реклама на сайте
подробности

 
 
8 страниц V  < 1 2 3 4 5 > »   
Reply to this topicStart new topic
> помогите выбрать МК AVR+программатор+отладочную плату, хочу изучить МК
Xenia
сообщение Aug 27 2010, 18:47
Сообщение #31


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(xxxdarksxx @ Aug 27 2010, 20:53) *
И опять ОУ,если необходимо другое напряжение для датчика,пока понятно,спасибо

Постоянное напряжение с аудиовыхода вам все равно не снять - там на выходе кондёр стоит на 47 мкф. Т.е. выходной каскад усилителя мощности выполнен почти по классической схеме УНЧ с емкостной развязкой в нагрузку, лишь с той разницей, что там не транзистор использован, а ОУ. Принципиальная схема приведена в описании, на которое я уже ссылалась.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 27 2010, 19:51
Сообщение #32


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (rx3apf @ Aug 27 2010, 21:16) *
реальной жизни _мне_ вот необходимо работать в весьма ограниченных условиях

Это со всеми случается иногда. Но если Вы постоянно "с ограниченным объемом памяти и команд", то скорее всего надо что-то "в консерватории менять", ибо больше всего похоже, что Вы загнали себя у угол.
QUOTE
вот только по энергопотреблению (конкретно для моих задач) пролетают со свистом.

Полагаю, что Вам надо более внимательно осмотреться кругом - потребление у чипов сделанных по более мелким технологиям уже поменьше уже в силу одного этого факта. Причем не только ядра, но и периферии. Механизмы быстрого просыпания/засыпания тоже уже совершенствуются. О периферии уже и говорить не приходится - гибкие системы тактирования периферии (например, у AVR тактирование PWM той-же частотй, что и ядра посылает лесом возможность экономии на потреблении ядра ), DMA работающие при спящем ядре, наличие более функциональной периферии (например, наличие банального DAC позволяет не извращаться с PWM работающем на высокой частоте). Так-что, если применение AVR не является тоже вопросом религии, то присмотритесь.
QUOTE
А иногда каждая команда на счету - по тому же потреблению,

Знакомо. Недавно выжимая потребление из Atmega48PA вылизывал кусок обработчика обработчика прерывания АККУРАТНО, со знанием дела написанного на 'C'. Обработчик похудел с 98 тактов, до 94. Возможно, виртуоз AVR ASM-щик сэкономил-бы еще пару тактов. Да, 94 против 98 тактов на пару процентов сэкономило общее потребление, но не радикально. Пререписывание остальных пары килобайт кода принесло-бы вообще мало уловимую экономию на переходных режимах. Радикально проблему потребления в этом случае решал-бы, например STM8L smile.gif. Это я к тому, что "реальная жизнь" тоже не застыла на AVR или на ASM.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
xxxdarksxx
сообщение Aug 27 2010, 20:01
Сообщение #33


Участник
*

Группа: Участник
Сообщений: 51
Регистрация: 11-02-10
Пользователь №: 55 414



Цитата(Xenia @ Aug 27 2010, 21:47) *
Постоянное напряжение с аудиовыхода вам все равно не снять - там на выходе кондёр стоит на 47 мкф. Т.е. выходной каскад усилителя мощности выполнен почти по классической схеме УНЧ с емкостной развязкой в нагрузку, лишь с той разницей, что там не транзистор использован, а ОУ. Принципиальная схема приведена в описании, на которое я уже ссылалась.

я это понял,но вы же сказали что можно брать конкретно с штырька?

скажите,при программировании микроконтроллеров на С хватит знания архитектуры контроллера и знание элементарных операций,или все таки необходимо ооп?а то у меня как то с ним не сложилось((было всего семестр и как то не очень(
Go to the top of the page
 
+Quote Post
sonycman
сообщение Aug 27 2010, 20:13
Сообщение #34


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(zltigo @ Aug 27 2010, 23:51) *
DMA работающие при спящем ядре

Покоробило недавно, что у LPC1768 DMA при спящем ядре может работать только с половинкой SRAM - так называемой периферийной областью.
Тогда как HEAP и размещение всех статических объектов находятся в другой половине.
Очень не удобно сделано.

Что это, стремление сэкономить потребление в спящем режиме, отключив половину ОЗУ?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 27 2010, 20:26
Сообщение #35


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (sonycman @ Aug 27 2010, 23:13) *
Покоробило недавно, что у LPC1768 DMA ..

Нет в жизни полного счастья sad.gif.
QUOTE
Тогда как HEAP и размещение всех статических объектов находятся в другой половине.

Ну так, что и где размещать это в Ваших руках - можете соответственно концепции подогнуть.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Xenia
сообщение Aug 27 2010, 20:51
Сообщение #36


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(xxxdarksxx @ Aug 27 2010, 23:01) *
я это понял,но вы же сказали что можно брать конкретно с штырька?

Ага, можно брать прямо со штырька, если УНЧ вам не нужен.

Цитата(xxxdarksxx @ Aug 27 2010, 23:01) *
скажите,при программировании микроконтроллеров на С хватит знания архитектуры контроллера и знание элементарных операций,или все таки необходимо ооп?а то у меня как то с ним не сложилось((было всего семестр и как то не очень(

Хватит, если вы не намерены загружать на свой МК операционку типа Линукс smile.gif. В принципе нет ничего такого, чего нельзя было бы написать без ООПа. Но бывают такие случаи, когда с помощью ООПа получается исключительно изящно и удобно. Например, программирование GUI под Windows. Но на таких слабеньких МК, как тот, что стоит на той плате, вряд ли можно воспользоваться всеми преимуществами ООПа.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 27 2010, 21:04
Сообщение #37


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (Xenia @ Aug 27 2010, 23:51) *
Но на таких слабеньких МК, как тот, что стоит на той плате, вряд ли можно воспользоваться всеми преимуществами ООПа.

http://electronix.ru/forum/index.php?showforum=188
http://electronix.ru/forum/index.php?showt...&hl=scmrtos Начало.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Xenia
сообщение Aug 27 2010, 22:02
Сообщение #38


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(zltigo @ Aug 28 2010, 00:04) *

Видите ли, здесь тема для начинающих, а на мой взгляд, начинать надо не с этого. Сейчас выше крыши развелось программистов, которые только и умеют, что вызывать библиотечные функции smile.gif. А если нужной функции найти не могут, то ищут библиотеки, в которых бы кто-то за них написал нужные им функции. И это при наличии отрицательной любознательности к тому, как эти функции написаны. Да что уж греха таить, я и сама когда-то была такой. И было так со мной до тех пор, пока я не заинтересовалась ...ассемблером smile.gif. Да-да, тем самым, от изучения которого вы так страстно отговариваете. И вот только тогда я совершенно иными глазами увидела внутреннюю кухню, в которой варится процессор. Этого показалось мало - заинтересовалась системами команд других процессоров. А дальше полезла еще глубже - в цифровую схемотехнику. И тот уровень, где программа переходит в электронику, меня полностью очаровал. Хотя и до сих пор в электронике волоку гораздо меньше, чем в программировании.

Ну так что вы предложите начинающему? Загрузить какую-нибудь scmRTOS, а потом на весь форум писать вопросы типа "Вызываю IdleProcessUserHook(), а она не работает! Помогите!" smile.gif А потом через это развивается комплекс неполноценности, когда сама сидишь дура дурой, а "взрослые дяденьки" дают тебе советы. Не надо этого! В начале надо пощупать всё своими руками! Почувствовать, как изменение каждого бита в служебных регистрах отзывается. Достигнуть, можно сказать, некоего "единения" с (микро)процессором. И только потом лезть во все эти RTOSы.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 28 2010, 07:36
Сообщение #39


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (Xenia @ Aug 28 2010, 01:02) *
А если нужной функции найти не могут, то ищут библиотеки, в которых бы кто-то за них написал нужные им функции.

Да полно sad.gif, причем половина ищет их на "ASM" а вторая на 'C' smile.gif. И 95% из вместе взятых для AVR sad.gif.
QUOTE
Ну так что вы предложите начинающему? Загрузить какую-нибудь scmRTOS, а потом на весь форум писать вопросы типа "Вызываю IdleProcessUserHook(), а она не работает! Помогите!" smile.gif

Ссылка на scmRTOS была дана, как противовес размышлениям про "ООП" в микроконтроллеростоении. А начинать писать первые строчки по нынешними временам надо с 'C'. ASM хоть на пару дней, но позже smile.gif. 'C', это не по тому, что идеальный путь, а потому, что из двух зол меньшее. Ничего печальнее, чем "настоящий ассемлерщик способный написать программу на ASM на любом языке" я видел. При этом, то дерьмо, которое у него получается в результате такого "подхода к делу" еще больше "убеждает" его самого, в "правильности". Замкнутый круг.
QUOTE
Почувствовать, как изменение каждого бита в служебных регистрах отзывается. Достигнуть, можно сказать, некоего "единения" с (микро)процессором

Дергание битами и единение достигается и на 'C' ровно так-же и с ровно такими-же затратами, как и на ASM. Только могут быть скрыты некоторые интимные подробности и аппаратные ограничения простых микроконтроллеров ( типа а чего это чего это у меня именно эта команда именно в этот регистр ничего не пишет?).
QUOTE
И только потом лезть во все эти RTOSы.

А вот это, действительно, потом. Так сказать следующий уровень понимания. До понимания и ПРАВИЛЬНОГО использования которого тоже надо дорасти. Иначе история в стиле "а нафига этот 'C'" просто будет повторяться один к одному в "а нафига эта RTOS".


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Xenia
сообщение Aug 28 2010, 10:30
Сообщение #40


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(zltigo @ Aug 28 2010, 10:36) *
Дергание битами и единение достигается и на 'C' ровно так-же и с ровно такими-же затратами, как и на ASM. Только могут быть скрыты некоторые интимные подробности и аппаратные ограничения простых микроконтроллеров ( типа а чего это чего это у меня именно эта команда именно в этот регистр ничего не пишет?).

Про C худых слов я не говорила. Но нынче почти все языки высокого уровня позволяют оперировать битами, а потому чтобы дергать битами, любой из них годится. И тем не менее, только ассемблер позволяет осознать "что сколько стоит". Т.е. рекомендация пописАть на чистом ассемблере сродни той, когда будущему архитектору предлагают поработать простым рабочим, будущему врачу - медсестрой, а будущему генералу - солдатом smile.gif.
Закон тут такой: каждый управляющий должен на свой шкуре знать, каково быть уравляемым! И нужно это для того, чтобы управляющий понимал цену своего командного слова! Вот и здесь, когда командуешь микропроцессором, эту цену тоже нужно чувствовать. А ассемблер - хорошее средство побыть в шкуре МК, чтобы осознать, во что ему обходятся наши команды smile.gif.
Go to the top of the page
 
+Quote Post
Wise
сообщение Aug 28 2010, 11:56
Сообщение #41


Пользователь забанен
*****

Группа: Свой
Сообщений: 1 138
Регистрация: 9-08-05
Пользователь №: 7 492



..Действительно, к чему, спрашивается, в первом классе, начинать с арифметики, когда можно сразу с «некоторых особенностей циркуляции вектора по замкнутому контуру».
Зачем учиться считать столбиком, или, боже упаси, « в уме», если есть калькулятор?

«..Географию знать вовсе не надобно, извозчики довезут..» - это очень старое мнение..
rolleyes.gif


--------------------
It's me
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 28 2010, 15:43
Сообщение #42


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (Xenia @ Aug 28 2010, 13:30) *
А ассемблер - хорошее средство побыть в шкуре МК, чтобы осознать, во что ему обходятся наши команды smile.gif.

Оптимальное средство для этого называется листинг. Отличное сочетание:
- детализации;
- возможности широкого обзора;
- анализа того самого "во что обходятся" ( для того, что-бы учится грамотно выражать свои мысли на более высоком уровне);
- и при необходимости возможность посоревноваться в результате, хоть и с машинным, но интеллектом. А интеллект компиляторов уже не тот, каким был в 90x совсем не плох - и есть чему и поучится, тем более в начале.

QUOTE (Wise @ Aug 28 2010, 14:56) *
..Действительно, к чему, спрашивается, в первом классе, начинать с арифметики..

Беда в том, что многие, так и остаются первоклашками и любыми знаниями начинают "овладевать" не как взрослые люди, а каждый раз, как пришедшие в первый класс детсадовцы. Только вот амбиции при этом хоть и пустые, но уже совсем не детсадовские sad.gif. Печальное зрелище, я Вам скажу.

QUOTE (Xenia @ Aug 28 2010, 13:30) *
Т.е. рекомендация пописАть на чистом ассемблере сродни той....

Простите, а почему не в машинных кодах? Только потому, что лично Вы представляете, во что выливаются команды и псевдокоманды ASM? Вы впитали это с молоком матери, или познали? А почему нельзя начать познание не с того, во что отливаются ASM команды, а с того, во что отливаются 'С' строчки?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Xenia
сообщение Aug 28 2010, 16:02
Сообщение #43


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(Wise @ Aug 28 2010, 14:56) *
..Действительно, к чему, спрашивается, в первом классе, начинать с арифметики, когда можно сразу с «некоторых особенностей циркуляции вектора по замкнутому контуру».

Это не совсем то, что я пыталась сказать. Ассемблер ни в коем случае нельзя считать подготовительной ступенью к языкам высокого уровня. Последние вполне можно изучать, не зная ассемблера. К тому же в школьном курсе информатики обычно так и начинают обучать.
Ассемблер - это инструмент для тех, кто намерен углубиться "на этаж ниже", вплоть до того самого подвала, ниже которого программирование заканчивается и начинается электроника. Очень возможно, что на больших компьютерах в тот подвал спускаются одни чудаки, вроде диггеров smile.gif. Но у микропроцессоров до этого "подвала" рукой подать. Поэтому эмбедеру ассеблер знать необходимо.
Есть и еще одно соображение, но уже косвенного плана. Имею в виду программирование как искусство, а не как технологию. Так вот в сфере микроконтроллеров это искусство выражено много ярче. И здесь еще не окончательно выродились таланты писать алгоритмы минимальным числом команд smile.gif. Интерес к этому подстегивает жесткие лимиты на скорость и объем памяти. Но... время идет, и микропроцессоры тоже взрослеют - укрупняются и ускоряются. А вместе с тем постепенно угасает и то былое искусство, которое все более замещается рутинными конструкциями компилятора высокого уровня.

Цитата(zltigo @ Aug 28 2010, 18:43) *
Оптимальное средство для этого называется листинг. Отличное сочетание:
- детализации;
- возможности широкого обзора;
- анализа того самого "во что обходятся" ( для того, что-бы учится грамотно выражать свои мысли на более высоком уровне);
- и при необходимости возможность посоревноваться в результате, хоть и с машинным, но интеллектом. А интеллект компиляторов уже не тот, каким был в 90x совсем не плох - и есть чему и поучится, тем более в начале.

Это всё вы говорите правильно. Во только для всего это ассемблер тоже знать требуется. Ну то что толку, без знания ассемблера смотреть в листинг?
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Aug 28 2010, 16:06
Сообщение #44


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(zltigo @ Aug 27 2010, 23:51) *
Это со всеми случается иногда. Но если Вы постоянно "с ограниченным объемом памяти и команд", то скорее всего надо что-то "в консерватории менять", ибо больше всего похоже, что Вы загнали себя у угол.

Я могу перейти с m8(88) на 168, например, что удорожает устройство, но позволяет чуть свободнее обойтись с кодом. Но оперативки мне это не прибавит. Альтернативы среди AVR у меня нет. PIC24 по цене, может быть, при моих тиражах и будет сопоставим по цене (в чем я тоже сомневаюсь), MSP430 пролетает.
Цитата
Полагаю, что Вам надо более внимательно осмотреться кругом - потребление у чипов сделанных по более мелким технологиям уже поменьше уже в силу одного этого факта. Причем не только ядра, но и периферии.

Вообще-то и PIC, и AVR все больше переходят на мелкие технологии. Ну, может не та категория, но тем не менее. Потребление падает.
Цитата
Механизмы быстрого просыпания/засыпания тоже уже совершенствуются. О периферии уже и говорить не приходится - гибкие системы тактирования периферии (например, у AVR тактирование PWM той-же частотй, что и ядра посылает лесом возможность экономии на потреблении ядра ), DMA работающие при спящем ядре, наличие более функциональной периферии (например, наличие банального DAC позволяет не извращаться с PWM работающем на высокой частоте). Так-что, если применение AVR не является тоже вопросом религии, то присмотритесь.

А мне не нужен DMA. И DAC. И PWM тоже не нужен. А бюджет для хоста у меня меньше 10 uA...
Цитата
Радикально проблему потребления в этом случае решал-бы, например STM8L smile.gif. Это я к тому, что "реальная жизнь" тоже не застыла на AVR или на ASM.

А тут еще может и с стоимостью быть проблема. А что до микропотребления и эффективных механизмов пробуждения - вот, TI так хвастались микропотреблением и эффективностью, уж как я вылизывал код - но, перейдя на мелкий PIC16 практически с тем же алгоритмом, получил вдвое меньшее потребление и заметно меньшую стоимость изделия... Короче - реальный мир он большой и очень разный, универсального решения на все случаи жизни нет, так же как рецепта всеобщего счастья.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 28 2010, 16:16
Сообщение #45


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (Xenia @ Aug 28 2010, 19:02) *
Это всё вы говорите правильно. Во только для всего это ассемблер тоже знать требуется. Ну то что толку, без знания ассемблера смотреть в листинг?

Надо, но можно уже и потом, и можно начинать с чтения, можно ориентироваться в листинге для начала по каким-то количественным показателям. Можно и УЧИТЬСЯ по листингу, а не по неведомо кем и какой ногой писанному ASM из интернету.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

8 страниц V  < 1 2 3 4 5 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th June 2025 - 11:32
Рейтинг@Mail.ru


Страница сгенерированна за 0.01518 секунд с 7
ELECTRONIX ©2004-2016