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

 
 
> Из темы "Сравнение AVR и 51", Пример реализации 14bit ADC на AVR
oran-be
сообщение Nov 5 2007, 08:18
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 30-03-07
Из: Одесса
Пользователь №: 26 621



Развитие сюжета достойно Пелевинского "Шлема ужаса"... smile.gif
Цитата(=AVR= @ Nov 2 2007, 14:08) *
Никаких шуток - писание на С для 8-битников считаю позорным ламерством и верхом непрофессионализма. Обсуждения не предполагаю, т.к. бесполезно

Цитата(=AVR= @ Nov 4 2007, 02:47) *
Во!!! Вот она - квинтэссенция современного ламерского программизьма!!!

Человека, Который Всю Жизнь Писал Для РС на Дельфи И Иже С Ним, ни в коем случае, под страхом расстрела, НИКОГДА нельзя подпускать к МК. Я ясно выразился, надеюсь - НИ-КОГ-ДА!!!
....
Именно вам подавай гигагерцы с мегабайтами для того, чтобы и в несчастные МК вы понапихали своих ОС, классов, АПИ, вытесняющей многозадачности и прочего привычного и удобного для вас мусора. И по барабану вам, что в системное взаимодействие будет вовлекаться на порядки большее число физических накристальных структур, что будет убивать безглючность и надежность устройств все сильнее и сильнее. И справиться с вами будет практически невозможно, ибо имя вам - легион, а нас, штучных инженеров - увы, единицы.

Налицо явная реализация шаблона "Марку надо наклеивать в правом верхнем углу", описанного Кортасаром в "Историях хронопов и фамов". Если определить тип данных - радикально настроенный программист, признающий исключительно ядро АВР и ассемблер - как хроноп, а программист, гибко использующий все доступные средства для решения задачи - как фам, то при выполнении релиза получим результат, что первый остается на улице с выражением превеликой озадаченности на лице, а второй его утешает, поскольку выполнил и его работу тоже. lol.gif lol.gif lol.gif
В особенности, если радикально считать мусором ОС, АПИ и вытесняющую многозадачность. В особенности последнее. Возможно =AVR= будет удивлен, если я заявлю, что ЛЮБАЯ функция прерывания есть частный случай вытесняющей многозадачности.

Цитата(zltigo @ Nov 4 2007, 15:37) *
Да бог с ним с =AVR=, ясно, что "только от жизни собачей собака бывает кусачей" - что-то у него явно по жизни не в порядке, но тут, полагаю, мы ничего изменить не сможем.

Тока грязными сапогами по яйцам бить не надо человека, плз, кто по жизни ни разу не заблуждался, пусть первым бросит в меня камень wink.gif

Цитата(mse @ Nov 3 2007, 15:54) *
Обычно главные боевые особенности архитектуры разработчик прячет не глубже 1-ой стр. даташыта.

Конечно же! А Атмелы особенно! Тока это пена. Пример - первая страница даташита Меги 8, что пишется и что потом имеет разработчик:
130 Powerful Instructions – Most Single-clock Cycle Execution
На самом деле впоследствии оказывается, что этих самых инструкций где-то 70-80, остальные - "виртуальные", призванные "облегчить программирование", но на самом деле затрудняющие понимание системы команд для именно программистов. Пионерам, возможно и облегчает, но при этом мешает начинать им думать, как программистам. Многие из которых и стают потом фанатами.
Кроме этого, если повыкидывать эти самые виртуальные команды, то о Most Single-clock Cycle Execution уже речь идти не может, поскольку где то коло половины команд, причем самые нужные - имеется в виду пересылка данных, выполняются за 2, а то и за 3 такта.
32 x 8 General Purpose Working Registers
При этом нет ни малейшей поддержки многозадачности, о чем естественно замалчивается. Поэтому при входе в прерывание, при наличии боле-менее сложной функции, чтобы избежать непонятных глюков, в особенности, если пишыш на ассемблере, самое простое и радикальное - это затолкать эти самые 32 x 8 General Purpose Working Registers в стек, а потом вытолкать их, затратив 64 такта. На Ц можно об этом не задумыватся.
On-chip Analog Comparator
Этот компаратор такого качества, что хуже него тока биполярный транзистор.

Сообщение отредактировал oran-be - Nov 5 2007, 08:39
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
mse
сообщение Nov 5 2007, 09:51
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693



Цитата(oran-be @ Nov 5 2007, 11:18) *
130 Powerful Instructions – Most Single-clock Cycle Execution
На самом деле впоследствии оказывается...

Впоследствии оказывается, что самые важные команды(арифметицкие и логицкие а так-же доступ к большинству важных портов) таки, в большинстве, одноцикловые. А всякая вспомогательная ересь(загр-выгр, вызовы, переходы...), да, поболее будет. Просто в нормальной программе загружается 2-4 операнда, над ними, в грубой и извращённой форме, проводятся, насколько возможно более длительные, логицко-арифметицкие действия, а затем, по необходимости, поисходит выгрузка результата. И получается, что расход тактов на ввод-вывод 1-10%максимум.
А песатель, грузящий два байта, складывающий их и запоминающий результат, достоин одного известного почотного звания. ;О) Можете спросить у =АВР=а, под настроение может присвоить.
Про прерывания, многозадачность и 32 регистра, это ваще клиника. ;О) =АВР= просто обязан присвоинть внеочередное почотное звание.
На компараторе вполне успешно делал АЦП двойного интегрирования 14р точности. Разрядность, ессно, выше. ;О) Никакихособых проблем с его параметрами не испытывал никогда. ЛМка трёхрублёвая ничем не лучше. В общем, кочайте последний дривер ruki.sys и настойчиво им овладевайте...
Go to the top of the page
 
+Quote Post
733259
сообщение Nov 7 2007, 12:56
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 205
Регистрация: 8-03-05
Пользователь №: 3 146



Компаратор обычный, к обсуждаемым трудностям схема отношения не имеет.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 19:22
Рейтинг@Mail.ru


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