|
Настоящие инструкции AVR и..., не очень. |
|
|
|
 |
Ответов
(1 - 57)
|
Dec 9 2008, 18:30
|

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

|
Цитата(muravei @ Dec 9 2008, 20:08)  Знаю, часть мнемоник инструкций АВР сделаны из комерческих или иных соображений, и приводят к одному и тому же микрокоду. Нельзя узнать : сколько и какие? Из соображений удобства пользования. lsl r всяко удобнее и понятнее чем add r,r Скачайте документ AVR Instruction Set Reference , и поиском по ключевому тегу "(see" найдите все такие инструкции. Я насчитал всего 5. CLR CBR LSL ROL TST
|
|
|
|
|
Dec 9 2008, 19:11
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(defunct @ Dec 9 2008, 21:30)  Я насчитал всего 5. CLR CBR LSL ROL TST ИМХО, их намного больше чем 5, например: brhc 1111 01kk kkkk k101 brhs 1111 00kk kkkk k101 brid 1111 01kk kkkk k111 brie 1111 00kk kkkk k111 идт... те... 1111 xxkk kkkk kyyy где: xx=01 - if cleared xx=00 - if set yyy - номер бита в SREG kkkkkkk - смещение то есть, для всех этих команд, можно было бы писать что-нить типа brc(s) yyy, kkkkkkk yyy= C, I, H,..... но по маркетинговым соображениям Атмел решил что команд дб много...
|
|
|
|
|
Dec 9 2008, 20:24
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(Rst7 @ Dec 9 2008, 22:57)  По поводу условных переходов: если мне не изменяет память (документация далеко), то некоторые команды условного перехода - это не просто команды проверки единичных битов в регистре статуса, а команды проверки их комбинаций. Неа, там все однозначно Код breq 1111 00kk kkkk k001 Z=001(1) brge 1111 01kk kkkk k100 V=100(4) brhc 1111 01kk kkkk k101 H=101(5) brid 1111 01kk kkkk k111 I=111(7) brlo 1111 00kk kkkk k000 C=000(0) brmi 1111 00 kk kkkk k010 N=010(2) brtc 1111 01 kk kkkk k110 T=110(6) brvs 1111 00 kk kkkk k011 V=011(3) итд... И я очень бы удивился если бы это было не так...
|
|
|
|
|
Dec 9 2008, 20:30
|

Знающий
   
Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065

|
Цитата(Rst7 @ Dec 10 2008, 00:57)  Да ну? Вообще-то CBI и SBI работают только в диапазоне 0...31 и не достают до регистра статуса. Так что это отдельные команды для манипуляции конкретно регистром SREG. Ах, да, действительно! Фигню полную сморозил. Стыдно, блин... Спасибо за поравку.
--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
|
|
|
|
|
Dec 9 2008, 20:42
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата(singlskv @ Dec 9 2008, 22:24)  Неа, там все однозначно ... Код brge 1111 01kk kkkk k100 V=100(4) ... brvs 1111 00 kk kkkk k011 V=011(3) А почему тут два разных номера (3 и 4), хотя флаг называется V и там, и там?
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Dec 9 2008, 20:52
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(singlskv @ Dec 9 2008, 23:24)  Неа, там все однозначно В самом деле ? Цитата Код brge 1111 01kk kkkk k100 V=100(4) И я очень бы удивился если бы это было не так... Тогда, наверное, _внимательное_ прочтение "AVR Instruction Set" вызовет еще большее удивление...
|
|
|
|
|
Dec 9 2008, 21:17
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(Rst7 @ Dec 9 2008, 23:42)  А почему тут два разных номера (3 и 4), хотя флаг называется V и там, и там? потому что чисто на автомате ошибся при выборе нужных инструкций... смотрим инструкции brbc и brbs: Код If SREG(s) = 0 then PC <- PC + k + 1, else PC <- PC + 1 Syntax: Operands: Program Counter: BRBC s, k 0 ≤ s ≤ 7, -64 ≤ k ≤ +63 PC <- PC + k + 1 PC <- PC + 1, if condition is false 16-bit Opcode: 1111 01kk kkkk ksss Код If SREG(s) = 1 then PC ← PC + k + 1, else PC ← PC + 1 Syntax: Operands: Program Counter: BRBS s,k 0 ≤ s ≤ 7, -64 ≤ k ≤ +63 PC <- PC + k + 1 PC <- PC + 1, if condition is false 16-bit Opcode: 1111 00kk kkkk ksss Цитата(rx3apf @ Dec 9 2008, 23:52)  Тогда, наверное, _внимательное_ прочтение "AVR Instruction Set" вызовет еще большее удивление...  Чукча не читатель - чукча писатель, хотите поспорить насчет владения AVR Instruction Set ? предлагайте задачу... тока не очень объемную please...
|
|
|
|
|
Dec 9 2008, 21:25
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(singlskv @ Dec 9 2008, 23:11)  но по маркетинговым соображениям Атмел решил что команд дб много... Команд и должно быть много. Это удобнее. Я не чуть бы не обиделся на Intel, в своё время, если бы вместо знаменитого "XRA A" применял бы всем понятное "CLR A". И вообще не понимаю причины данного спора. Если вам не нравится мнемоника, то всегда можно программировать в кодах. Мне без разницы сколько реальных команд. Главное чтобы было понятно и удобно их применять. Кроме того, маркетинг - вещь нужная. Я тоже пытаюсь использовать такие вещи. И мне как-то в голову не лезет, обвинять в этом кого-то ещё.
|
|
|
|
|
Dec 9 2008, 21:26
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(singlskv @ Dec 10 2008, 00:17)  чукча писатель, Самокритично... Цитата хотите поспорить насчет владения AVR Instruction Set ? предлагайте задачу... тока не очень объемную please... Нет, предлагаю лишь _внимательно_ прочитать : ----- If Rd ≥ Rr (N ⊕ V = 0) then PC ← PC + k + 1, else PC ← PC + 1 ----- Это не слишком объемная задача ?
|
|
|
|
|
Dec 9 2008, 21:36
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(rx3apf @ Dec 10 2008, 00:26)  Самокритично...
Нет, предлагаю лишь _внимательно_ прочитать : ----- If Rd ≥ Rr (N ⊕ V = 0) then PC ← PC + k + 1, else PC ← PC + 1 ----- Это не слишком объемная задача ? это для команд brbc brbs ? если нет, то и темы для обсуждения нет, я имел в виду только их...
|
|
|
|
|
Dec 9 2008, 22:01
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(singlskv @ Dec 10 2008, 00:36)  это для команд brbc brbs ? если нет, то и темы для обсуждения нет, я имел в виду только их... Вот это уже лучше. Потому как первоначально было: --- По поводу условных переходов: если мне не изменяет память (документация далеко), то некоторые команды условного перехода - это не просто команды проверки единичных битов в регистре статуса, а команды проверки их комбинаций. --- Неа, там все однозначно ---
|
|
|
|
|
Dec 9 2008, 22:11
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(rx3apf @ Dec 10 2008, 01:01)  Вот это уже лучше. Потому как первоначально было:
--- По поводу условных переходов: если мне не изменяет память (документация далеко), то некоторые команды условного перехода - это не просто команды проверки единичных битов в регистре статуса, а команды проверки их комбинаций. --- Неа, там все однозначно --- Ну дык Вы и не путайте мои посты с чужими, я уже признался что выбирая примеры чуть ошибся... суть моих высказываний от этого не изменилась...
|
|
|
|
|
Dec 9 2008, 23:30
|

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

|
Цитата(singlskv @ Dec 10 2008, 00:11)  суть моих высказываний от этого не изменилась... У Intel'a JZ == JE, и что? ;> Команды переходов это IMHO особый случай, не думаю, что их стоит приплетать. Это просто правило хорошего тона иметь большой набор мнемоник для удобства пользования. Когда удобнее сделать переход по результату мат. опреации - берем команды мат. переходов brsh, brlo ... Когда удобнее флаговый синоним - пользуем флаговый синоним brcc, brcs ....
|
|
|
|
|
Dec 10 2008, 06:34
|
Участник
  
Группа: Свой
Сообщений: 462
Регистрация: 2-04-07
Из: Иркутск
Пользователь №: 26 695

|
Цитата(defunct @ Dec 10 2008, 02:30)  ... поиском по ключевому тегу "(see" найдите все такие инструкции. Я насчитал всего 5. CLR CBR LSL ROL TST вот ещё пара: SER R16 = LDI R16, 0xFF SBR R16, 0xNN = ORI R16, 0xNN Цитата + две неудобочитаемых команды работы с флагами SBI A, b ; установить бит b в адресном пространстве ввода/вывода CBI A, b ; сбросить бит b в адресном пространстве ввода/вывода дублируются парами команд SEC CLS SEN CLN SEZ CLZ SEI CLI SES CLS SEV CLV SET CLT SEH CLH Возможно имелось ввиду, что для этих инструкций есть синоним BSET s, а не SBI/CBI.
|
|
|
|
|
Dec 10 2008, 07:29
|
Местный
  
Группа: Участник
Сообщений: 246
Регистрация: 4-12-06
Пользователь №: 23 101

|
Цитата(muravei @ Dec 9 2008, 21:08)  Знаю, часть мнемоник инструкций АВР сделаны из комерческих или иных соображений, и приводят к одному и тому же микрокоду. Нельзя узнать : сколько и какие? Если только Вам не лень. Напишите "программу", включающую все команды. Их возьмите из даташита на контроллер. Посмотрите в окно дизассемблера. И поймёте. А чем CBR коммерчески более выгоден, чем ANDI? Относительно проверки 2-х бит. Написано "If Rd < Rr (N [+] V = 1) then PC <- PC + k + 1, else PC <- PC + 1" Но ещё написано • Bit S: Sign Bit, S = N ⊕ V. Так что переход всё-таки по одному биту, который, правда, (из коммерческих соображений?) есть xor двух других бит того же регистра. Помните, тут раньше встречался такой дотошный человек (забанили его), который исследовал код операции AVR на предмет оптимального распределения битов по полям(!), чтобы, значить, если сбойнёт бит в коде, так не было бы фатальных последствий.
|
|
|
|
|
Dec 10 2008, 10:45
|

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

|
Цитата(muravei @ Dec 10 2008, 11:30)  Просто подумал, у ближайших конкурентов Атмела где-то около 30 команд, а у него в 4 раза больше! Сразу ощущаешь гордость. Но понятно, что есть где-то ПЗУ микрокоманд и оно при большем числе , должно занимать большее место. А смысл? А гордость-то за что? Ладно бы команды какие особенные были - как например у Z80 были автоматические блоковые и цикловые команды - вот это я понимаю.
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
Dec 10 2008, 11:53
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(muravei @ Dec 10 2008, 14:43)  А я нет ! Это "вредные" команды, они по 250 тактов делались, или типа того. Мой склероз подсказывает, что 13 тактов на итерацию. Правда, это были фактически программные циклы, которые можно было прервать (прерыванием) в любой момент, и затем спокойно продолжить. На каждом цикле заново выбирался код операции и все такое... Точно, склероз - 21 такт (загрузки или сравнение) на итерацию !
Сообщение отредактировал rx3apf - Dec 10 2008, 12:13
|
|
|
|
|
Dec 10 2008, 16:28
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(muravei @ Dec 10 2008, 12:30)  Ни чем!  Простое здоровое не здоровое любопытство. (нужное зачеркнуть)  Надеюсь , льзя? Просто подумал, у ближайших конкурентов Атмела где-то около 30 команд, а у него в 4 раза больше! Сразу ощущаешь гордость. Но понятно, что есть где-то ПЗУ микрокоманд и оно при большем числе , должно занимать большее место. Даже если откинуть бредовые ser и т.п., и зачеркнуть дублированные - всё равно команд больше. И как не ехиднечай все они используются компилятором. movw, adiw, sbiw, ldd и т.д и т.п., что, в целом, делает прогу эффективнее. Что-то насчёт ПЗУ микрокоманд, вы похоже загнули. Это не пентиум. 1 такт на команду. То есть обычный дешифратор команд, скорее всего.
|
|
|
|
|
Dec 12 2008, 10:29
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(muravei @ Dec 11 2008, 12:06)  Верю.  А по поводу внутренних тактов: "их есть у них" См. ДС на 1200 стр. 9 рис. 12 Ну и "их нет у них". Чётко видно что все операции выполняются по переднему и заднему фронтам CLK. Оно и понятно. МК от кнопки работает. то есть на любой частоте. Процы с умножителями - так не умеют. К тому же видно что сама операция с ALU - одномоментная. Это видно и по системе команд. 2-ух и более тактные - только команды со сложной выборкой.
|
|
|
|
|
Dec 12 2008, 12:04
|
Частый гость
 
Группа: Участник
Сообщений: 127
Регистрация: 18-10-06
Пользователь №: 21 418

|
Цитата(SasaVitebsk @ Dec 12 2008, 13:29)  Ну и "их нет у них". Чётко видно что все операции выполняются по переднему и заднему фронтам CLK. Оно и понятно. МК от кнопки работает. то есть на любой частоте. Процы с умножителями - так не умеют. Забавно, кстати. На заглавной страничке пишут "fully static operation", а дальше "не меняйте внешнюю частоту больше, чем на 2% за раз, а то всё заглючит". А в каком-то чипе так и вообще, после смены коэф. делителя рекомендуют 8 нопов, чтоб, стало быть, не сглючило... Наводит на мысли по отсутствию-наличию умножителя.
|
|
|
|
|
Dec 12 2008, 16:41
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(_Pasha @ Dec 12 2008, 17:05)  Код ld Rx,Y == ldd Rx,Y+0 ld Rx,Z == ldd Rx,Z+0 st Y/Z - аналогично. Скока ужЕ насчитали?  Придурки вот сидят в этом Atmel!!! Придумывают инструкции ненужные никому. Надо было оставить вместо ld Rx,Y -- ldd Rx,Y+0 !!! Красиво, понятно, логично, лаконичнее, удобно!!! Особенно для тех кто пишет ассемблеры/ дизасемблеры. Им работы меньше на 0.5%. Их же больше чем тех, которые пишут на ASM.
|
|
|
|
|
Dec 12 2008, 16:59
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Цитата(SasaVitebsk @ Dec 12 2008, 20:41)  Придумывают инструкции ненужные никому. Точно. Вот какой смысл в инструкции adiw r30,0 ?  Если серьезно, то это следствие неидеальной ортогональности системы команд. Патамушо уже все укра приду микрочип, короче, красивее по системе команд. В смысле 8-битники
|
|
|
|
|
Dec 31 2008, 07:41
|
Местный
  
Группа: Свой
Сообщений: 433
Регистрация: 28-02-06
Пользователь №: 14 788

|
Цитата(SasaVitebsk @ Dec 12 2008, 13:29)  Чётко видно что все операции выполняются по переднему и заднему фронтам CLK. Ну ето Вы загнули. Там внутри ядра все по rising edge выполгяется.
|
|
|
|
|
Dec 31 2008, 08:44
|
Местный
  
Группа: Участник
Сообщений: 246
Регистрация: 4-12-06
Пользователь №: 23 101

|
Цитата(LordVader @ Dec 12 2008, 15:04)  Забавно, кстати. На заглавной страничке пишут "fully static operation", а дальше "не меняйте внешнюю частоту больше, чем на 2% за раз, а то всё заглючит". А в каком-то чипе так и вообще, после смены коэф. делителя рекомендуют 8 нопов, чтоб, стало быть, не сглючило... Наводит на мысли по отсутствию-наличию умножителя. "Если кто-то кое-где у нас порой..." Ссылку на даташит привести не затруднит?
|
|
|
|
|
Dec 31 2008, 11:54
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата Видно и по работе с портами. По работе с портами видно исключительно фронт тактового сигнала. Цитата Короче обсуждалось уже. Ссылку на обсуждение не найдете? Цитата Да и по диаграме видно. Если Вы про диаграмму Single Cycle ALU Operation, то та диаграмма значит вот что - по фронту фиксируется дешифрированная команда, а дальше, до результата, готового на write-back все на банальных задержках между элементами. Это же все банальная комбинационная логика, синхросигналов не требует. А по следующему фронту, при необходимости, делается write-back в нужный регистр. При этом, если значение этого регистра нужно в следующем цикле, то оно так-же появится на выходе регистрового файла через некоторое время. Просто картинка нарисованна при максимальной тактовой частоте. Если бы ее нарисовать при малой частоте, то она выглядела бы как фронт синхросигнала, быстренько Register Operands Fetch, ALU Operation Execute, и потом длинный-длинный Result Write Back аж до следующего фронта. Где-то посередине Result Write Back будет и спад тактового сигнала.
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Dec 31 2008, 22:44
|
Местный
  
Группа: Свой
Сообщений: 433
Регистрация: 28-02-06
Пользователь №: 14 788

|
О сколько нам открытий чудных.... Цитата(SasaVitebsk @ Dec 31 2008, 19:14)  Тем не менее использование обоих фронтов синхросигнала - весьма распротраннённая практика. Простите где ? С тех пор как перестали использовать latch работа по двум фронтам не в почете. Вникните в разницу межде ARM7TDMI и ARM7TDMI-S например. В нормальной RTL team за работу по двум фронтам (вне специально оговоренных мест которые обычно расположены поближе к ногам чипа) дают по шее(так же кстати как и за latch). Загляните кстати в RMM. Цитата(SasaVitebsk @ Dec 31 2008, 19:14)  В том числе и для CPU. Ответственно заявляю и в AVR и в ARM (который -S) и в MIPS например 4K(лень рыть доки и искать были ли MIPS на latch но по моему не было) используется только rising edge.
|
|
|
|
|
Jan 1 2009, 01:36
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(klop @ Jan 1 2009, 02:44)  Простите где ? Например в ОЗУ. Простите, я не могу с вами спорить. Это спор глухого с немым. Не вы ни я не знаем используется или нет. Просто банально не знаем. Мне, к тому же, никто по шее не даёт. Знакомых разработчиков процов у меня нет, по этому никто не жаловался. Может у вас знакомый разработчик AVR ядра? Или вы в доке приведёте мне место, где чётко указано, что нет не единой операции тактируемой задним фронтом? Пока это чистый выпендрёж. То есть я не утверждаю что он используется. Я за этим просто не слежу (и это по крайней мере честно), но утверждать что либо не берусь, именно по причине отсутствия знаний. В каком-то процессоре я чётко видел инвертирование CLK и использование 2 фаз. Ещё раз - я, в предыдущем посте, согласился. Но поясните мне, пожалуйста, что случится если я применю два фронта сигнала? По возможности доступно.
|
|
|
|
|
Jan 1 2009, 23:35
|
Местный
  
Группа: Свой
Сообщений: 433
Регистрация: 28-02-06
Пользователь №: 14 788

|
Цитата(SasaVitebsk @ Jan 1 2009, 04:36)  Может у вас знакомый разработчик AVR ядра? Вы удивитесь но ето так. И самопальные AVR у меня в столе лежат уже года 4. В их ядре falling edge не используктся и количество тактов на иструкцию полностью совпадает с оригиналом. Но вас же это все равно не убедит  Впрочем- Any register in the core will update its contents only on the positive edge of cp2.
Эскизы прикрепленных изображений
|
|
|
|
|
Jan 2 2009, 21:17
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(klop @ Jan 2 2009, 03:35)  Но вас же это все равно не убедит  Ну почему же. Перечитайте внимательно мой пост 44. Обратите внимание на наименование документа, на который я ссылаюсь. Мне просто не нравится вот это ... Цитата Ответственно заявляю и в AVR и в ARM (который -S) и в MIPS например 4K... . Почему? Да потому, что вы никто чтобы что-то ответственно заявлять. Я тоже. Но я и не заявляю. Я могу предполагать и ошибаться. И вы тоже, хотя пока, по видимому, ещё об этом не знаете. PS: Возьмите даташит на 1200. Выберите раздел "Parallel programming". Рис. 33. Рассмотрите её. Обратите внимание на сигнал tXLWL. С такой вот расшифровкой: XTAL1 Low to WR Low. Вот кто его знает? Может всётаки где-то данный сигнал и применяется? Согласно документа, который привели выи на который ссылался я, задний фронт не применяется для работы с памятью и, соответственно, при работе с портами I/O так как они отображаются на память.
|
|
|
|
|
Jan 2 2009, 22:20
|
Местный
  
Группа: Свой
Сообщений: 433
Регистрация: 28-02-06
Пользователь №: 14 788

|
Цитата(SasaVitebsk @ Jan 3 2009, 00:17)  Почему? Да потому, что вы никто чтобы что-то ответственно заявлять. Улыбнуло. Извините у меня род деятельности такой - проверять(прототипировать) проекты на FPGA перед тем как они на фаб уйдут и поправить уже будет ничего нельзя. Соответственно и RTL различных ядер у меня перед глазами постоянно. Впрочем я уже понял что доказать вам что либо нереально. P.S. Цитата(SasaVitebsk @ Jan 3 2009, 00:17)  Согласно документа, который привели выи на который ссылался я, задний фронт не применяется для работы с памятью и, соответственно, при работе с портами I/O так как они отображаются на память. В моем документе написано английским по белому что все регистры работают по фронту. Page 3 Table 1.
|
|
|
|
|
Jan 3 2009, 20:05
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(klop @ Jan 3 2009, 02:20)  Впрочем я уже понял что доказать вам что либо нереально.  Да нет. Я признал свою ошибку в посте 44 сразу после поста Rst7. Причём ваших усилий не понадобилось. Я просто сам посмотрел документ, который вы привели 5 постами позже. Я как раз человек сомневающийся в своей правоте. Поэтому стараюсь избегать категоричных заявлений. А вот таким как вы, людей обладающих абсолютным знанием, доказать что-либо действительно нереально. Более того, даже посеять сомнение в вашей голове - нереально. И таких знатоков от бога, много во всех областях. Выделяют их всегда категоричные заявления и обширные знания. Аргументы другой стороны они не замечают. Нафига снисходить до конкретных пунктов? Можно просто снисходительно, свысока своих знаний посмеяться, а вопросы оставить без ответов.
|
|
|
|
|
Jan 4 2009, 08:52
|
Знающий
   
Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693

|
Цитата(GetSmart @ Jan 3 2009, 23:53)  Случайно не знаете, почему АВРовцы не делают более быстрые AVR по принципу как в LPC (расширение разрядности внутреннего флэша) ? Ведь так легко можно сделать AVR и в 2 и в 4 раза быстрее. Скорее всего - какие-нить патентные заморочки. И рады бы, да дорого или просто не продают. А может быть, чтобы не было внутрифирменной конкуренции продуктов. Их, блин, не поймёш. Эт только после 10 лет в Гарварде... ;О)
|
|
|
|
|
Jan 4 2009, 13:19
|
Частый гость
 
Группа: Участник
Сообщений: 127
Регистрация: 18-10-06
Пользователь №: 21 418

|
Цитата(Maik-vs @ Dec 31 2008, 11:44)  "Если кто-то кое-где у нас порой..."
Ссылку на даташит привести не затруднит? Пожалуйста. atmega128, страница 371: === 3. Stabilizing time needed when changing XDIV Register After increasing the source clock frequency more than 2% with settings in the XDIV register, the device may execute some of the subsequent instructions incorrectly. === ещё, страница 43 там же === When applying an external clock, it is required to avoid sudden changes in the applied clock fre- quency to ensure stable operation of the MCU. A variation in frequency of more than 2% from one clock cycle to the next can lead to unpredictable behavior. It is required to ensure that the MCU is kept in Reset during such changes in the clock frequency. === attiny25, страница 31 === Avoid changing the calibration value in large steps when calibrating the calibrated internal RC Oscillator to ensure stable operation of the MCU. A variation in frequency of more than 2% from one cycle to the next can lead to unpredicatble behavior. Changes in OSCCAL should not exceed 0x20 for each calibration. It is required to ensure that the MCU is kept in Reset during such changes in the clock frequency ===
Сообщение отредактировал LordVader - Jan 4 2009, 13:21
|
|
|
|
|
Jan 5 2009, 11:58
|
Местный
  
Группа: Участник
Сообщений: 246
Регистрация: 4-12-06
Пользователь №: 23 101

|
Цитата(LordVader @ Jan 4 2009, 16:19)  Пожалуйста. ... A variation in frequency of more than 2% from one clock cycle to the next can lead to unpredictable behavior. ... Спасибо. Действительно, везде, где задаётся частота, воткнута эта фраза. Тактовая частота указана min 0 MHz max 20 MHz. Конкретно частота упомянута "To use a 32.768 kHz watch crystal as the clock source for the device, the low-frequency crystal oscillator must be selected by setting CKSEL..."; аж даже зачесались руки потактировать её от кнопки  . Получается, тактовая может меняться на 3 порядка без малого, а ещё есть System Clock Prescaler с делением до 1:256 значит, тактовая ядра меняется на 5 порядков, но не более чем 2% за такт? Действительно, пусть klop объяснит.
Сообщение отредактировал Maik-vs - Jan 5 2009, 12:18
|
|
|
|
|
  |
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|