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

 
 
> ATMEL рекомендует ATmega32A и ATmega16A
elecelec
сообщение Jul 1 2008, 16:49
Сообщение #1





Группа: Новичок
Сообщений: 1
Регистрация: 30-06-08
Пользователь №: 38 665



ATMEL рекомендует ATmega32A и ATmega16A

ATmega16A при питании 2.7-5.5V частоты 0-16 MHz
http://www.atmel.com/dyn/products/product_...sp?part_id=2010

ATmega16A Datasheet полный - http://www.atmel.com/dyn/resources/prod_do...nts/doc8154.pdf

ATmega16A коротко - http://www.atmel.com/dyn/resources/prod_documents/8154S.pdf

Отличия ATmega16 и ATmega16A - апноут:
AVR522 Migrating from ATmega16 to ATmega16A Application Note
http://www.atmel.com/dyn/resources/prod_do...nts/doc8163.pdf
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Александр Куличо...
сообщение Jul 2 2008, 22:57
Сообщение #2


Местный
***

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



Цитата
Жаль частоту не подняли, хотя б до 20mHz...

Жаль конечно, но по сравнению с mega16L/32L подняли-то в 2 раза!
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Jul 3 2008, 07:51
Сообщение #3


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

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



Цитата(Александр Куличок @ Jul 3 2008, 07:57) *
Жаль конечно, но по сравнению с mega16L/32L подняли-то в 2 раза!

Все таки кривизна в архитектуре есть... целых 32 регистра, но полноценна только старшая половина...(
Хотя сейчас уже мало что изменишь, только частотой и можно выиграть, а в противном случае - потеря совместимости.


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


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

Группа: Свой
Сообщений: 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
Andrew O. Shadou...
сообщение Jul 5 2008, 13:49
Сообщение #5


Участник
*

Группа: Свой
Сообщений: 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
Сообщение #6


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

Группа: Свой
Сообщений: 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

Сообщений в этой теме
- elecelec   ATMEL рекомендует ATmega32A и ATmega16A   Jul 1 2008, 16:49
- - Дон Амброзио   А в чём проблема-то? Озвучьте   Jul 1 2008, 18:02
- - Kuzmi4   2 elecelec - так а чего кипиш подымать ? Я что-то...   Jul 2 2008, 13:35
|- - defunct   Цитата(Kuzmi4 @ Jul 2 2008, 16:35) 2 elec...   Jul 2 2008, 15:28
|- - Дон Амброзио   Цитата(defunct @ Jul 2 2008, 19:28) А где...   Jul 2 2008, 15:54
- - IgorKossak   Сообщаю для непонятлвых. На форуме публикуются не ...   Jul 2 2008, 17:03
|- - Дон Амброзио   Цитата(IgorKossak @ Jul 2 2008, 21:03) Со...   Jul 2 2008, 17:09
|- - defunct   Цитата(Дон Амброзио @ Jul 2 2008, 20:09) ...   Jul 2 2008, 22:45
- - proba   кажется атмел переводит самые популярные аврки с 0...   Jul 2 2008, 20:21
|- - aaarrr   Цитата(haker_fox @ Jul 3 2008, 11:51) цел...   Jul 3 2008, 08:29
|- - Dog Pawlowa   Цитата(ReAl @ Jul 4 2008, 12:55) Это как ...   Jul 4 2008, 10:51
||- - defunct   Цитата(Dog Pawlowa @ Jul 4 2008, 13:51) У...   Jul 4 2008, 19:49
||- - ReAl   Цитата(defunct @ Jul 4 2008, 22:49) Справ...   Jul 5 2008, 07:02
- - Kuzmi4   2 haker_fox - объясните пожалуста что вы имели вви...   Jul 3 2008, 08:27
|- - haker_fox   Цитата(Kuzmi4 @ Jul 3 2008, 17:27) 2 hake...   Jul 4 2008, 23:51
- - Александр Куличок   ЦитатаВсе таки кривизна в архитектуре есть... целы...   Jul 3 2008, 08:43
- - sensor_ua   похоже, старые JTAG ICE не подойдут - все на драко...   Jul 3 2008, 08:46
|- - MrYuran   Цитата(sensor_ua @ Jul 3 2008, 11:46) уси...   Jul 3 2008, 08:49
|- - defunct   Цитата(sensor_ua @ Jul 3 2008, 11:46) пох...   Jul 3 2008, 09:54
- - sensor_ua   ЦитатаА вроде бы всегда был.. разве нет? точно. н...   Jul 3 2008, 09:02
- - Александр Куличок   Цитатапохоже, старые JTAG ICE не подойдут - все на...   Jul 3 2008, 10:49
- - sensor_ua   ЦитатаА откуда такая информация? нехорошие предчу...   Jul 3 2008, 11:05
- - SasaVitebsk   Соглашусь полностью с последними двумя авторами. Н...   Jul 4 2008, 12:12
- - ArtemKAD   ЦитатаВот отсутствие хотя бы двух уровней приорите...   Jul 4 2008, 17:41
|- - ReAl   Цитата(ArtemKAD @ Jul 4 2008, 20:41) Не з...   Jul 4 2008, 18:47
|- - ArtemKAD   Цитата(ReAl @ Jul 4 2008, 21:47) А кто ме...   Jul 6 2008, 13:19
|- - ReAl   Цитата(ArtemKAD @ Jul 6 2008, 16:19) Силь...   Jul 6 2008, 19:27
||- - ArtemKAD   Цитата(ReAl @ Jul 6 2008, 22:27) "ес...   Jul 6 2008, 23:16
|- - SasaVitebsk   Цитата(ArtemKAD @ Jul 6 2008, 16:19) Не с...   Jul 7 2008, 11:27
|- - alexander55   Цитата(SasaVitebsk @ Jul 7 2008, 15:27) В...   Jul 7 2008, 12:17
- - Rst7   На самом деле у вариантов исполнения стека данных ...   Jul 7 2008, 05:53
- - ArtemKAD   Цитата1) Прерывания в AVR - аналог одного уровня п...   Jul 8 2008, 07:53
- - SasaVitebsk   И что? Я что-то не пойму? Если оставить все прерыв...   Jul 8 2008, 17:51
- - ArtemKAD   ЦитатаЕсли делать полный аналог системы прерываний...   Jul 8 2008, 19:46
|- - SasaVitebsk   Цитата(ArtemKAD @ Jul 8 2008, 22:46) А ес...   Jul 9 2008, 20:00
|- - mse   Цитата(SasaVitebsk @ Jul 10 2008, 00:00) ...   Jul 10 2008, 13:09
|- - zltigo   Цитата(mse @ Jul 10 2008, 15:09) Можно по...   Jul 10 2008, 13:26
|- - SasaVitebsk   Цитата(mse @ Jul 10 2008, 16:09) Арифмети...   Jul 10 2008, 19:33
- - Rst7   ЦитатаТак что все отнюдь не однозначно Так давайт...   Jul 10 2008, 13:45
- - ArtemKAD   ЦитатаЯ надеюсь, вы не считаете что разработчики I...   Jul 10 2008, 19:39
- - SasaVitebsk   Цитата(ArtemKAD @ Jul 10 2008, 22:35) Так...   Jul 10 2008, 19:43
- - defunct   Цитата(ArtemKAD @ Jul 10 2008, 22:39) Цит...   Jul 10 2008, 20:21


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

 


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


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