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

 
 
> Из темы "Сравнение 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
oran-be
сообщение Nov 7 2007, 09:58
Сообщение #3


Местный
***

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



Ну, кроме этого. стоит еще учесть, что питание +5В тоже должно быть прецезионным и отдельным от процессора, А то гистерезис компаратора будет неопределен. Постоянная времени интегратора и время задержки компаратора опять же должны быть согласована с тактовой частотой измерителя длительности импульса.
А почему на входе не поставить дифференциальный усилитель на спаренном опере? Это бы значительно увеличило подавление синфазной помехи.
Go to the top of the page
 
+Quote Post
Andreas1
сообщение Nov 7 2007, 10:22
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 446
Регистрация: 12-03-06
Из: Москва
Пользователь №: 15 142



Цитата(oran-be @ Nov 7 2007, 12:58) *
Ну, кроме этого. стоит еще учесть, что питание +5В тоже должно быть прецезионным и отдельным от процессора, А то гистерезис компаратора будет неопределен. Постоянная времени интегратора и время задержки компаратора опять же должны быть согласована с тактовой частотой измерителя длительности импульса.
А почему на входе не поставить дифференциальный усилитель на спаренном опере? Это бы значительно увеличило подавление синфазной помехи.

Достаточно входного LC фильтра и проц не мешает. Питание доп. стабилизируется только при индикации с импульсными токами около ампера и это лишь LM2931. И это необходимо при любом АЦП.
Зачем что-то с чем-то согласовывать??? Это самодостаточная схема.
Токовый вход и низкое сопротивление датчика не способствуют помехам. Зачем удорожать и снижать стабильность(и еще как!) увеличением прецизионных резисторов.
Go to the top of the page
 
+Quote Post
oran-be
сообщение Nov 7 2007, 13:54
Сообщение #5


Местный
***

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



Цитата(Andreas1 @ Nov 7 2007, 14:22) *
Достаточно входного LC фильтра и проц не мешает. Питание доп. стабилизируется только при индикации с импульсными токами около ампера и это лишь LM2931. И это необходимо при любом АЦП.
Зачем что-то с чем-то согласовывать??? Это самодостаточная схема.
Токовый вход и низкое сопротивление датчика не способствуют помехам. Зачем удорожать и снижать стабильность(и еще как!) увеличением прецизионных резисторов.

Гистерезис компаратора жестко привязан к напряжению питания и от него зависит значение полной шкалы. Если будет плавать питание -будет ттечь и шкала.
А согласовывать надо длительность импульсов, которые генерирует схема с тактированием счетчика. чтобы он выдал нужное количество разрядов и не переполнился при этом. Ведь эта самодостаточная схема вырабатывает ШИМ, которого для отображения в цыфре недостаточно.

Вопрос к модераторам - mse там забанили или нет, чего то непонятно, а то фсе таки интересно, что за схема такая.
Go to the top of the page
 
+Quote Post
Andreas1
сообщение Nov 7 2007, 14:12
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 446
Регистрация: 12-03-06
Из: Москва
Пользователь №: 15 142



Цитата(oran-be @ Nov 7 2007, 16:54) *
Гистерезис компаратора жестко привязан к напряжению питания и от него зависит значение полной шкалы. Если будет плавать питание -будет ттечь и шкала.

От гистерезиса ничего не зависит(только размах пилы и частота, которая и так плавает). Вы не поняли работу АЦП.
Цитата(oran-be @ Nov 7 2007, 16:54) *
А согласовывать надо длительность импульсов, которые генерирует схема с тактированием счетчика. чтобы он выдал нужное количество разрядов и не переполнился при этом. Ведь эта самодостаточная схема вырабатывает ШИМ, которого для отображения в цыфре недостаточно.

Все там достаточно.Частота около 20Гц. А частота счетчика в проце 7МГц. И переполнения уж как-нибудь можно программно отследить.
Go to the top of the page
 
+Quote Post
oran-be
сообщение Nov 7 2007, 15:13
Сообщение #7


Местный
***

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



Цитата(Andreas1 @ Nov 7 2007, 18:12) *
От гистерезиса ничего не зависит(только размах пилы и частота, которая и так плавает). Вы не поняли работу АЦП.

А вы поняли? Запишите формулу. чему будет равна длительность импульса в зависимости от входного напряжения и обнаружите там значение гистерезиса. В этом одновибраторе гистерезис триггера выступает в качестве опоры. Или, может можно построить АЦП без опоры? smile.gif
Go to the top of the page
 
+Quote Post
singlskv
сообщение Nov 7 2007, 18:52
Сообщение #8


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(oran-be @ Nov 7 2007, 18:13) *
Или, может можно построить АЦП без опоры? smile.gif
Конечно можно smile.gif
Конечно, измерения будут относительными, но точными....
иногда этого достаточно...
Go to the top of the page
 
+Quote Post
oran-be
сообщение Nov 9 2007, 07:31
Сообщение #9


Местный
***

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



Цитата(singlskv @ Nov 7 2007, 22:52) *
Конечно можно smile.gif
Конечно, измерения будут относительными, но точными....
иногда этого достаточно...

lol.gif lol.gif lol.gif "измерения будут относительными, но точными".... Можно написать и так - неточных измерений не бывает, бывает мало пива. lol.gif lol.gif После определенного кол-ва любые измерения легко производятся на глаз, безо всякого АЦП.
У Лема есть одна концепция: Чем сложнее компьютер, тем проще на него писать программу и чем проще компьютер, тем сложнее на него писать программу. В общем, в итоге группа программистов после долгой работы написала бесконечно сложную программу, которая могла работать ваще без компьютера. Похоже, примерно тот случай.
Цитата(Andreas1 @ Nov 8 2007, 11:19) *
Я и говорю - не поняли. 01.gif В первом посте я давал формулу и где почитать. N пропорционально Uвх/Uопоры. Точность самого АЦП определяется точностью отношения резисторов интегратора, т.е точностью поддержания суммы опоры и входа. А опора - это полпитания, точно задаваемые тензодатчиком. Тем более, что усилитель токовый и поддерживает разбалланс моста по напряжению =0.

Как вы ваще программы пишыте с таким могучим логичским мЫшлением? "опора - это полпитания, точно задаваемые тензодатчиком". Ппц. Получается, основная опора - это таки питание, которое потом делится на 2. Еще у вас странные представления о работе тензодатчика. В вашей схеме "опора" будет уходить в плюс синхронно с сжатием датчика и без сжатия будет слегка в минусе относительно полпитания. Кроме этого, Ку вашего токового усилителя завязано на сопротивление тензодатчика, которое, скажу вам по секрету, весьма плывет от температуры.

Сообщение отредактировал oran-be - Nov 9 2007, 07:59
Go to the top of the page
 
+Quote Post

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


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

 


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


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