ruhi

логическое И на AVR

48 сообщений в этой теме

my504    356

Логическая функция ног - это совершенно тривиальная задача, которая используется в каждом первом случае. Количество инструкций зависит от того кода, в котором этот анализ производится. Две инструкции или пять - ПО БАРАБАНУ. Для уменьшения латентности применяют аппаратные приблуды (прерывание по изменению ног, встроенные микроПЛИСы и т.п.).

То есть даже как этюд задача неинтересна.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

:D А я то думаю что это я один только учавствую. Можно тип МК с ПЛИС на борту очень интересно!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
my504    356

Открываете сайт микрочипа и ищите МК с модулем CLC на борту...

Это очень много МК, включая новые инкарнации атмелевского наследия.

ЗЫ. Количество модулей может быть больше одного, есличо...

Изменено пользователем my504

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
hasl    60

Когда кажется.

Читают UserGuide, DataSheet и т.д.

когда хотят просто поп....(поговорить), сидят в форуме

;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
UTSource

Найдите миллионы труднодоступных

электронных компонентов

5 часов назад, my504 сказал:

Для уменьшения латентности применяют аппаратные приблуды (прерывание по изменению ног...

Вот тут трудно не согласиться с Марком. Если изменение сигнала (в Ваших алгоритмах) произойдет сразу за первой инструкцией (in R, pinX), то можете смело удваивать алгоритмы вдвое. Ну разве не джиттер (до 90%)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ruhi    34

Ключ к архиву: 

AndUnitsCode

В 31.01.2018 в 17:54, Геннадий сказал:

трудно не согласиться с Марком.

С Марком можно сколько угодно соглашаться, но джиттер здесь ни при чем!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
my504    356
1 час назад, ruhi сказал:

джиттер здесь ни при чем!

Бездоказательное утверждение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ruhi    34
1 час назад, my504 сказал:

Бездоказательное утверждение.

Конечно, потому что тут нечего доказывать, смотрите условия задачи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
my504    356

Причем тут условия задачи? Я отметил, что программный логический вентиль будет иметь очень большой джиттер. И все.

Кому джиттер по барабану, тот может это все реализовать. Но если нужно быстро, то как может не волновать джиттер? Однако есть и такой класс задач. Просто их совсем мало. Синтетическая реализация предложенная здесь далека от жизни. Синтетическая она потому, что является блокирующим кодом. Ну разве только весь МК только и делает, что решает эту задачу. Тогда чем он лучше классического вентиля?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ruhi    34
24 минуты назад, my504 сказал:

Причем тут условия задачи? Я отметил, что программный логический вентиль будет иметь очень большой джиттер. И все.

Я когда в институте учился, на такие утверждения преподаватели обычно спрашивали: по сравнению с чем очень большой?

Что бы ответить надо какую то прикладную задачу рассматривать. А в общем можно сказать, что при минимальном времени переключения входных сигналов на порядок большем чем время максимальной задержки фронта процессором, решение можно рассматривать для практического применения и в контексте сравнения всех остальных параметров. (будет кажется около 50 мкс минимум входного периода переключений).

Цитата

что является блокирующим кодом.

Ну да! Это конечно тоже надо учитывать при рассмотрении для практического применения. Но можно выходить по прерываниям, если потребуется в реальной задаче.

Но на С такое конечно не напишешь - стек надо подменять, но драйверы тоже не всегда на чистом С пишутся.

Изменено пользователем ruhi

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Starichok    1 232
10 часов назад, my504 сказал:

Ну разве только весь МК только и делает, что решает эту задачу.

совершенно верно подмечено - весьма подходящее занятие для МК - максимально быстро делать логическое И и больше ни чем не заниматься...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ruhi    34
11 час назад, Starichok сказал:

совершенно верно подмечено - весьма подходящее занятие для МК - максимально быстро делать логическое И и больше ни чем не заниматься...

Вообще то, изначально, задача позиционировалась как теоретическая, если что. Читайте сначала.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
my504    356

Любая теоретическая задача имеет смысл лишь тогда, когда приводит к каким то практическим результатам (рано или поздно, прямо или апосредовано). Представленную задачу даже трудно позиционировать как теоретическую, поскольку она ничего не обобщает и решение жестко привязано к системе команд рассматриваемой платформы. А уж про практический выхлоп и говорить не приходится. По сути все сводится к обычной логике программного кода.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ruhi    34
1 час назад, my504 сказал:

она ничего не обобщает

А вы вот здорово обобщаете! У вас, конечно, нет практического выхлопа в этом направлении (реализация специфичной логики через специфичные возможности контроллера), потому что вы им никогда не занимались, видимо, но у меня то он есть - годами девайсы работают! 

Ну не интересно вам, ну не хочется из своей норы выглядывать, ну и ладно, чего так расстраиваться то, что кто то увидит больше чем вам хочется?

Изменено пользователем ruhi

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Starichok    1 232

ну и в чем твой выхлоп из 10 процессорных циклов выразится в практическом смысле, если у тебя он есть?..

а то мы тут собрались слепые и не видим в этой затее вообще никакого выхлопа...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ruhi    34
12 часа назад, Starichok сказал:

ну и в чем твой выхлоп из 10 процессорных циклов выразится в практическом смысле, если у тебя он есть?..

Так он не только у меня есть! Я же привел пример: программная реализация поддержки USB - посмотрите как сделана. В моем понимании это и есть "реализация специфичной логики через специфичные возможности контроллера" на практике.

Реализация отдельного элемента логического И, большого (вообще, какого то) практического смысла действительно не имеет, я согласен.

Но как упражнение для понимания возможностей управления этими специфичными возможностями, мне кажется, является достаточно показательным примером!

Не даром все кинулись задержку считать, умными словами (типа джиттер :) ) начали бросаться.

А я, было время, даже генератор ассемблерного кода написал для одной специальной задачи отсчета N=12 (кажется) интервалов времени с точностью до периода тактовой частоты процессора от 1 до 2в32 периодов на одном представителе AT90 серии (атмег тогда еще не было).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
my504    356

Сам по себе программный ЮСБ уже мало кому нужен, гораздо проще  найти МК с аппаратной поддержкой да еще и за меньшие деньги.. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ruhi    34
3 часа назад, my504 сказал:

Сам по себе программный ЮСБ уже мало кому нужен, гораздо проще  найти МК с аппаратной поддержкой да еще и за меньшие деньги.. 

ваша правда! да он еще и максимально медленный!

А, когда-то, я был приятно удивлен возможностью разобраться с работой протокола на уровне фронтов и наносекунд. На ассемблере описание гораздо компактнее чем на английском, да и подебажить можно!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
my504    356

С работой протокола проще всего ознакомится по спецификациям на usb.org

А разбираться с программной генерацией импульсов и через эту галиматью осваивать протокол - выглядит несколько перректально, извините.

Изменено пользователем my504

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ruhi    34
38 минут назад, my504 сказал:

С работой протокола проще всего ознакомится по спецификациям на usb.org

ознакомиться мне было недостаточно. Мне надо было, именно, досконально разобраться, проверить на практике что я правильно понял спецификацию.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
my504    356

Разве для разбора УАРТа требуется его программная эмуляция?

Ерунда какая то....

Вы пытаетесь доказать, что кривая частная реализация HID может служить учебным пособием?

Подключите осциллограф к дифпаре ЮСБ и снифферите физуровень. Все лучше, нежели разбирать чужие каракули на АСМе.

 

Изменено пользователем my504

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ruhi    34
18 минут назад, my504 сказал:

Вы пытаетесь доказать, что кривая частная реализация HID может служить учебным пособием?

Любая частная реализация чего угодно, может служить учебным пособием этого чего угодно, если она работает. Для меня это аксиома, соответственно, мне нечего тут доказывать.

И ассемблер мне читать труда не составляет, и биты в памяти гораздо проще разбирать чем на осциллографе.

И УАРТ это не протокол, там сложности нет никакой - разбирать нечего.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
my504    356

УАРТ такой же "не протокол", как и физуровень ЮСБ.

Кроме физуровня в АСМе разбирать нечего.

ЗЫ. К слову. Вы пытались привязать местную задачу к "разобранному" Вами ЮСБ. Сделали это крайне неуклюже. По сути представленная тут задача никакого отношения к программному ЮСБ не имеет. В том смысле, что ЮСБ реализует только входные маски, но никак не выходной сигнал. А если выходной, то никак не входную логику. Это я все к тому, с каким "качеством" Вы разобрали оный АСМ, если мне пришлось Вам долго доказывать вышесказанное....

Изменено пользователем my504

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Похожие публикации

    • Автор: Kudich
      Всех приветствую!
      Сам я программирую на стандартной среде ардуинки, и в одном проекте потребовалось увеличить частоту ШИМ на портах 5,6,9,10,11,13 Arduino Micro. На этой ардуино стоит Atmega32u4, есть тут знатоки avr? Как повысить частоту на этих пинах?
    • Автор: Evg69
      добрый день. Вернулся к микроконтроллерам после длительного перерыва. Сижу туплю и даже гугл не помог.
      Два вопроса по Atmel Studio 7. Режим отладки. Симуляция.
      1. Как включить окно в котором можно посмотреть что контроллер выплевывает
      в UART? Не содержимое регистра, а типа терминала.
      2. Как подсунуть студии файлик с содержимым EEPROM?
    • Гость Keil
      Автор: Гость Keil
      Добрый день, ситуация такая - попались мне под руку куча рассыпухи в числе которых достаточное количетво тинек и прочей лабуды - пытась хеловродить, попробовал взять готовый пример работы тиньки и лсдишника здесь также имею ардуинку как  Айсипи и чудесно мигаю светодиодом на мк прошитом ею же  так вот при попытке залить код который по ссылке чуда не произошло.
      курение мануалов лсдишника дало понять лиш одно что старший и младший биты одинаковы с лсдишником со статьи - лсдишник рабочий (игрался контрастом одной строки через V0  и потенциометр ) - как в прочем и мк, было задумано ковырнуть все это в протеусе и атмельстудии, но результатом не увенчалось. Пожалуйста тыкните носом что да где не так.
      fail.zip
    • Автор: Static
      Доброго дня всем!
      Не так давно решил опробовать использовать в схемах ATmega в корпусе TQFP и возник такой вопрос. На ней имеется аж три ноги на "-" и две под "VCC". Подсоединять нужно все или можно только по одной любой?
      Заранее благодарен за помощь.
    • Автор: Doublman
      Всем доброго времени суток.
      Развел платки - коммутаторы на основные МК.
      Платы коммутационные для HV PROG (параллельного программирования).
      Питание 5в оставил для перемычки (видно на фото).
      Комплект из 3-х плат ATMEGA 8, 16, 32, 48(P), 88, 164P, 168, 324P, 664P, 1284P, 8535, ATTINY 48, 2313.
      https://radikal.ru/fp/4f4203a9b1d54f9fbb92318c2234e576
      Имею 5 комплектов. Цена 450 за все 3 платки ("лист" на этой фотографии) Имею 5 комплектов. https://radikal.ru/fp/73ce63f7f99b4f7d9b744b2563204c1b
      Платки находится в Самаре, если почтой то +50р почте.