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

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> ATMEL рекомендует ATmega32A и ATmega16A
MrYuran
сообщение Jul 3 2008, 08:49
Сообщение #16


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(sensor_ua @ Jul 3 2008, 11:46) *
усилитель в АЦП впихнули...

А вроде бы всегда был.. разве нет?


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
sensor_ua
сообщение Jul 3 2008, 09:02
Сообщение #17


Профессионал
*****

Группа: Свой
Сообщений: 1 266
Регистрация: 22-04-05
Из: Киев
Пользователь №: 4 387



Цитата
А вроде бы всегда был.. разве нет?

wink.gif точно. не заметил за столько летwink.gif


--------------------
aka Vit
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 3 2008, 09:54
Сообщение #18


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(sensor_ua @ Jul 3 2008, 11:46) *
похоже, старые JTAG ICE не подойдут - все на дракошу - и нехорошо

Подозреваю, что это можно будет обойти. Выбрать в отладчике старый m16/32.
Go to the top of the page
 
+Quote Post
Александр Куличо...
сообщение Jul 3 2008, 10:49
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 256
Регистрация: 6-03-06
Из: Украина, г. Винница
Пользователь №: 15 017



Цитата
похоже, старые JTAG ICE не подойдут - все на дракошу - и нехорошо

А откуда такая информация?
Go to the top of the page
 
+Quote Post
sensor_ua
сообщение Jul 3 2008, 11:05
Сообщение #20


Профессионал
*****

Группа: Свой
Сообщений: 1 266
Регистрация: 22-04-05
Из: Киев
Пользователь №: 4 387



Цитата
А откуда такая информация?


нехорошие предчувствия из отсутствия цифирек
Table 24-1. JTAG Version Numbers
ATmega16A revision TBD


--------------------
aka Vit
Go to the top of the page
 
+Quote Post
ReAl
сообщение Jul 4 2008, 09:55
Сообщение #21


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(haker_fox @ Jul 3 2008, 10:51) *
Все таки кривизна в архитектуре есть... целых 32 регистра, но полноценна только старшая половина...(
Хотя сейчас уже мало что изменишь, только частотой и можно выиграть, а в противном случае - потеря совместимости.
Это как раз не самое противное.
Вот отсутствие хотя бы двух уровней приоритета прерывания (хотя бы как в MCS51) - это бяка.
Изначально плохо продуманное распределение SFR-регистров по адресам (например, TIFR & Co в битово-неадресуемой области, EEDR/ADCW/... в битово-адерсуемой) - бяка.
Неоднородное расположение регистров сходных узлов (одинаковых таймеров, UART), делающее невозможной естественную обработку одинаковой периферии через передачу указателя на начало блока регистров - начали исправлять в свежих кристаллах, но ... Ведь это не новинка, просто атмел где-то заснул. Что-то в духе horisontal windowing от MCS196 кто мешал сделать?

Кто не дал сделать запрет прерываний на одну следующую команду при обращении к SPH (для время загрузки SPL), я уже не говорю про такое для всех словных SFR? Места много не заняло бы, а удовольствия...
Причём это даже на совместимость не сильно влияет, можно было бы просто для новых кристаллов под условную компиляцию код упрощать.

На этом фоне несимметричность регистров не самое страшное.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Jul 4 2008, 10:51
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(ReAl @ Jul 4 2008, 12:55) *
Это как раз не самое противное.
...
На этом фоне несимметричность регистров не самое страшное.

У каждого свои претензии. Меня вот огорчает жесткая привязка функциональных выводов. Для того, чтобы использовать некоторые драйверы моторов с ШИМ, нужно внешнюю логику использовать, чтобы сигналы направления с ШИМ объединить.
Но это уже оффтопик, пожалуй smile.gif


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Jul 4 2008, 12:12
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Соглашусь полностью с последними двумя авторами. Но... в xmega все эти проблемы устранены уже.

Осталось только дождаться. smile.gif
Особенно радует наличие от 16 до 36 каналов ШИМ. Из стандартных камней только atmega640 подходит, но она дорога и избыточна для меня. Плюс корпус...
Go to the top of the page
 
+Quote Post
ArtemKAD
сообщение Jul 4 2008, 17:41
Сообщение #24


Профессионал
*****

Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364



Цитата
Вот отсутствие хотя бы двух уровней приоритета прерывания (хотя бы как в MCS51) - это бяка.

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

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

Где там у старых AVR "одинаковая периферия" кроме портов? Вот когда сделали в новых кристаллах по 5 UART-ов wink.gif , вот тогда и начали "исправлять"...

Цитата
Кто не дал сделать запрет прерываний на одну следующую команду при обращении к SPH (для время загрузки SPL),

А кто SPL вообще трогает?! Кто мешает, если уж сильно охота, запретить прерывания?
Go to the top of the page
 
+Quote Post
ReAl
сообщение Jul 4 2008, 18:47
Сообщение #25


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(ArtemKAD @ Jul 4 2008, 20:41) *
Не знал, что гибкая настройка системы прерываний (какие хошь прерывания, такие в данном месте и разрешай) это хуже фиксированных 2-х..
А кто мешает у MCS51 точно так же "какие хочешь, такие в данном месте и"?
Рукопашное "какие хошь прерывания, такие в данном месте и разрешай" точно так же можно и у 51-го дёргать. Никаких плюсов у АВР тут нет, ни капли не "гибче".
Вы хоть поняли, о чём я? Вы хоть знаете/помните, как оно у 51-го сделано?
Объясняю медленно:
Вошли, например, в прерывание по INT0. Но у нас ещё UART, из которого побыстрее выбрать надо, и какой-нибуть АЦП, который может и подождать.
У 51-го можно просто поднять приоритет UART выше приоритета INT0 и тогда без никаких беганий по регистрам других устройств в обработчике INT0 (а часто преріваний гораздо больше, чем три) - сохранение состояния разрешения прерывания от АЦП и его запрет на входе и восстановление состояния при выходе - UART сможет прервать INT0, а АЦП - нет.
И два уровня - это только в начальных 51-ых, массово вообще 4 уровня было.

Цитата(ArtemKAD @ Jul 4 2008, 20:41) *
А кто SPL вообще трогает?!
GCC в прологах/эпилогах трогает. Любой переключатель задач трогает. Кроме SPL я ещё и словные SFR припомнил - очень весело при каждом обращении к 16-битным таймерным регистрам запрет прерывания дёргать.

Цитата(ArtemKAD @ Jul 4 2008, 20:41) *
Кто мешает, если уж сильно охота, запретить прерывания?
Ну да. Вместо поднятия приоритета важных прерываний "если уж сильно охота" дёргать биты по разным регистрам, вместо аппаратного запрета прерывания на одну команду (почему-то у i86-го не поленились такое при записи в SS для атомарного изменения пары SS:SP сделать) тоже вручную дёргаться.
Так можно вообще договориться до того, что команда умножения - фигня, "не знал, что гибкая система сложений и сдвигов - это хуже двух команд умножения". Никто не мешает.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 4 2008, 19:49
Сообщение #26


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Dog Pawlowa @ Jul 4 2008, 13:51) *
У каждого свои претензии.

Справедливости ради следует отметить, что все же претензий к чипам значительно меньше чем
к 51м и PIC'ам.
Балланс памяти (флеш, ОЗУ, eeprom), периферии, регистров и проч., прямая адресация всего ОЗУ, "TRUE" однотактовые порты, делает претензии к КПП, к урезанному банку регистров, к неполноценному SP мизерными. А больше претензий вроде бы как и нет.

Можно жить (хорошо жить) с одноуровневым КПП.
Можно жить без полноценного SP (на кой он нужен вообще (полноценный), если стек данных можно организовать самостоятельно.)
Можно жить и с 16-тью регистрами, можно и с 8-ю, кастрированный банк можно расценивать как бонус.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Jul 4 2008, 23:51
Сообщение #27


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Цитата(Kuzmi4 @ Jul 3 2008, 17:27) *
2 haker_fox - объясните пожалуста что вы имели ввиду , а то я что-то не въехал...

Просто хотел сказать, а потом и другие уважаемые участники форума подтвердили, что можно было бы иметь лучше, чем имеем.

Цитата(defunct @ Jul 5 2008, 04:49) *
Справедливости ради следует отметить, что все же претензий к чипам значительно меньше чем
к 51м и PIC'ам.

Что верно, то верно!
Для многих решений AVR самое то!


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
ReAl
сообщение Jul 5 2008, 07:02
Сообщение #28


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(defunct @ Jul 4 2008, 22:49) *
Справедливости ради следует отметить, что все же претензий к чипам значительно меньше чем к 51м и PIC'ам.
Балланс памяти (флеш, ОЗУ, eeprom), периферии, регистров и проч., прямая адресация всего ОЗУ, "TRUE" однотактовые порты, делает претензии к КПП, к урезанному банку регистров, к неполноценному SP мизерными. А больше претензий вроде бы как и нет.
Несимметричные регистры меня как-то не сильно раздражают, особенно после появления lpm R,Z+. Иногда удручает "неполноценность" указательной пары X. Ну а если бы ещё и пара R25:R24 (W) указательной была, так и вообще прекрасно было бы wink.gif, причём если выбирать что-то одно, то даже тяжело так навскидку сказать - лучше было бы иметь пару W такой же "неполноценной" как X, или пусть лучше W не будет указательной, зато X получит адресацию со смещением.
Отсутствие ldi/andi/.. у младших 16 регистров - последнее, на что обратил бы внимание.
А вот хотя бы два приоритета прерываний, пусть даже хотя бы в относительно крупных кристаллах (т.е., где оно нужнее, где самих прерываний больше, ну, например, во всех мегах) - сильно кристалл не раздули бы. Как и запрет прерываний на одну команду при обращении к соответствующим половинкам словных регистров (включая "большой" SP) - опять таки, чем больше кристалл, тем это нужнее. А места заняло бы ну точно меньше, чем умножитель, который в мегах же есть.
Я не говорю, что без этого кристалл никудышним стал :-)
Но жаль, что они об этом не подумали.

Цитата(defunct @ Jul 4 2008, 22:49) *
Можно жить (хорошо жить) ....
Ну так живу же smile.gif 10 лет уже. С 51-ых как раз и перешёл. ПИК16 как-то не пропёрли. Попробовал pic16c64 (заказчик даже пикстарт какой-то покупал, я пару своих pic16c64, зашитых пикстартом в комплекте с дискеткой "что именно зашито" отдавал на Квазар-Микро на растерзание, чтобы они в свой программатор "Унипрог" добавили) и pic16f84 после чего с радостью встретил 90s8515 и 90s4433.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
Andrew O. Shadou...
сообщение Jul 5 2008, 13:49
Сообщение #29


Участник
*

Группа: Свой
Сообщений: 37
Регистрация: 13-05-07
Из: Minsk, Belarus
Пользователь №: 27 694



Цитата(ReAl @ Jul 4 2008, 12:55) *
Вот отсутствие хотя бы двух уровней приоритета прерывания (хотя бы как в MCS51) - это бяка.
Как ни странно, в аврах приоритетов гораздо больше, чем 2…
Цитата
Изначально плохо продуманное распределение SFR-регистров по адресам (например, TIFR & Co в битово-неадресуемой области, EEDR/ADCW/... в битово-адерсуемой) - бяка.
Для EEPROM и ADC битовость наоборот более удобна, ибо позволяет производить проверку завершения операции одной командой.

--
WBR, Andrew
Go to the top of the page
 
+Quote Post
ReAl
сообщение Jul 5 2008, 15:06
Сообщение #30


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(Andrew O. Shadoura @ Jul 5 2008, 16:49) *
Как ни странно, в аврах приоритетов гораздо больше, чем 2…
Прошу прощения, а Вы хоть поняли, о чём я? Мой ответ ArtemKAD выше читали? Как вообще устроена система прерываний хотя бы у MCS51 знаете?
Ещё раз медленно:
Да, у AVR все запросы прерываний выстроены в цепочку, запрос от того устройства, которое расположено дальше от ядра, маскируется тем, которое стоит ближе. Ну без такой цепочки в той или иной форме просто нельзя, надо же как-то выбрать того, кто сейчас будет обслуживаться.
В некотором смысле это можно называть "приоритетами". Но работают такие "приоритеты" только в случае одновремённого анализа этих прерываний, т.е. при строго одновремённом их возникновении либо при их возникновении в любом порядке во время запрещённых прерываний. Если же уже начал работать обработчик, к примеру, SPI, то не имеет никакого значения факт "наиприоритетности" INT0 - оно не прервёт "менее приоритетный" обработчик SPI до тех пор, пока в том не будет выполнена команда SEI. Но сразу после неё резко так обработчик EE_RDY тоже сможет прервать обработчик SPI - т.е. коту под хвост пошло теперь уже то, что обработчик SPI якобы приоритетнее EE_RDY.
Конечно, можно поизвращаться и при входе в обработчик SPI сохранить состояние разрешения прерывания EE_RDY, запретить его, потом сделать SEI, порабтать, (по вкусу - выполнить CLI) и восстановить состояние разрешения EE_RDY. Именно о таком спочобе эмуляции приоритетной системы прерываний писал ArtemKAD. Но это только программная эмуляция того, что у других бывает аппаратно.
В том же MCS51 имеется две или четыре таких цепочки, которая у AVR одна. И битиками можно перемещать запросы между цепочками, не меняя порядка. У цепочек есть свои приоритеты. Запрос из более приоритетной цепочки может прервать уже работающий обработчик из всех менее приоритетных цепочек. Запрос из менее приоритетной цепочки будет ждать, пока не закончатся все обработчики из его и более приоритетных цепочек.
В этом случае, например, можно прерывание от аналогового компаратора переместить в самую приоритетную цепочку и сработка компаратора сразу же вызовет его обработчик - без ожидания, пока
работающий уже в данный момент обработчик какого-нибудь таймера расщедрится на сохранение контекста, для прерываний от UART да ADC сохранит состояния и запретит их, разрешит глобальные прерывания.
В ещё более продвинутом случае у процессора в статусе может быть несколько битов, задающих "приоритет процессора". Только запросы из более приоритетных цепочек могут прервать данный участок кода, остальные подождут.

Да, без этого можно жить. Можно стараться обработчики прерываний делать покороче, чторбы задержка в них не была существенной, можно, как это часто обсуждается, в нужных обработчиках запрещать "менее приоритетные" и после этого разрешать прерывания - но сама частота подобных обсуждений говорит о том, что систему прерываний AVR можно было бы поправить хотя бы в духе MCS51 - это не так дорого стоит, гораздо дешевле умножителя. Без которого тоже можно жить smile.gif

Цитата(Andrew O. Shadoura @ Jul 5 2008, 16:49) *
Для EEPROM и ADC битовость наоборот более удобна, ибо позволяет производить проверку завершения операции одной командой.
Товарищ А.Накойхер интересуется - зачем для "проверки завершения операции одной командой" в битово-адресуемой области находятся регистры EEARH, EEARL, EEDR, ADCH, ADCL ? И за компанию с ними UBRR, UDR, SPDR, TWDR, TWAR ?
Господин К.А.Кого-Фига также интересуется - а не лучше ли было бы вместо них в битово-адресуемую область опустить регистры TIFR, TIMSK, GICR, GIFR, а у кого и тот же TWCR (это вообще 5 баллов - у меги8 TWDR "внизу", TWCR "вверху" !!!).

Я где-то выше сказал хоть слово про то, надо было переместить "вверх" регистры EECR, ADCSR ?

Да, в свежих AVR это дело потихоньку поправили, но изначально был такой ляп...


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 15th July 2025 - 16:34
Рейтинг@Mail.ru


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