Важная информация

User Tag List

Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 17 из 17

Тема: Быстродействующая софтовая обработка протокола клавы PS/2 на процессоре ВМ2.

  1. #11
    Member
    Регистрация
    25.11.2015
    Адрес
    г. Москва
    Сообщений
    192
    Спасибо Благодарностей отдано 
    12
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    14 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    MM, миллион натягивается в случае, когда нужно прочитать код команды длиной в одно слово, а больше никаких обращений к памяти не требуется. А к примеру команд 063737 xxxxxx yyyyyy, выполнится в 6 раз меньше, потому что занимает три слова, выполняет два чтения и одну запись. Если у вас изменение читаемого слова вызвано изменением синхросигнала, то как раз и получается, что на 1 бит ВМ2 успевает прочитать около 25 слов. А клава у вас точно 40 кГц выдаёт?

  2. #12
    Moderator Аватар для MM
    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    4,134
    Спасибо Благодарностей отдано 
    470
    Спасибо Благодарностей получено 
    519
    Поблагодарили
    412 сообщений
    Mentioned
    42 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Результаты измерений при частоте 1806ВМ2 - 5.5 мгц, 0 тактов ожидания ОЗУ :
    1. Тест :
    001000 : 012700 177632 012701 000000 012702 000100 012703 002000
    001020 : 011023 077202 077107 000000
    Время - 35 сек.
    Производительность дампа - порядка 120 т. записей в 1 сек. К-во проходов цикла - порядка 4.194.304.
    2. Тест :
    001000 : 012700 177632 012701 000000 012702 000100 012703 002000
    001020 : 011023 077201 077107 000000
    Время - приблизительно 17.5 сек, т.е. холостой ход.
    Итого производительность команды 011023 - в районе 250 т. при наличии ветвления.

    - - - Добавлено - - -

    3. Тест :
    001000 : 012700 177632 012701 000000 012702 000001 012703 002000
    001020 : 011023 011023 011023 011023 011023 011023 011023 011023
    001040 : 011023 011023 011023 011023 011023 011023 011023 011023
    001060 : 011023 011023 011023 011023 011023 011023 011023 011023
    001100 : 011023 011023 011023 011023 011023 011023 011023 011023
    001120 : 077201 077146 000000
    Результат - 11 сек, т.е. 4.194.304 списываний регистра, быстродействие - 381 т. ком.
    *
    Как ниже отметили, реальный результат - 190 т. ком/с, т.к. к-во комад - 2097152 = 65536*32
    Последний раз редактировалось MM; 14.06.2016 в 23:33.
    Блог : http://collectingrd.kxk.ru/ . В ЛС прошу не писать, все сообщения [email protected]

  3. #13
    Member
    Регистрация
    25.11.2015
    Адрес
    г. Москва
    Сообщений
    192
    Спасибо Благодарностей отдано 
    12
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    14 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    MM, 3й тест записан неправильно, 001120 : 077201 077146 000000 - здесь получается холостой внутренний цикл. Вообще циклы лучше местами поменять и 65536 итераций делать во внутреннем, тогда результаты измерений будут точнее. И еще непонятно почему в первых двух тестах в R2 грузится 64, а в третьем 1, команд 011023 там 32 штуки, так что грузить нужно 2.

  4. #14
    Moderator Аватар для MM
    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    4,134
    Спасибо Благодарностей отдано 
    470
    Спасибо Благодарностей получено 
    519
    Поблагодарили
    412 сообщений
    Mentioned
    42 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Тогда соответственно пересчитать по получившимуся времени. Спасибо за детект еррор.
    Соответственно, 32*65536/11 сек= 190 т. ком.
    А число 77201 - так, для затычки, т.к. оно исполнится проходом с крайне небольшой задержкой.
    *
    Довольно скоро опубликую тему с описанием конструктива, где все эти пироги тусуются.

    - - - Добавлено - - -


    Где в R4 - адрес массива данных индикатора ( указан вольно ) , 177636 - регистр данных 16-сегментного индикатора, 177632 младший байт - адрес подключения номера индикатора, значение 377 - младший знак, значение 376 - 1-й знак и т.д.
    Соответственно, результат - в R0 - данные с PS/2 порта в виде 1 байта.
    С адреса 152 идет набор битов в R0.
    Если быстродействия не хватит - тогда сначала заготовка данных, потом их анализ.
    Блог : http://collectingrd.kxk.ru/ . В ЛС прошу не писать, все сообщения [email protected]

  5. #15
    Moderator Аватар для MM
    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    4,134
    Спасибо Благодарностей отдано 
    470
    Спасибо Благодарностей получено 
    519
    Поблагодарили
    412 сообщений
    Mentioned
    42 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Предварительные результаты тестирования текста из скриншота выше показывают на достаточность быстродействия ВМ2.
    Вот только текст так никто и не смотрел - там по адресу 142 должно быть 001402 - т.к. код с клавы передается в прямом виде, а не инверсном.
    Кстати, восьмеричный код клавиши "пробел" - 51 ( Хекс - 29 ).

    - - - Добавлено - - -

    Время между передачами байтов одного кода клавиши - более 300 мкс .
    Блог : http://collectingrd.kxk.ru/ . В ЛС прошу не писать, все сообщения [email protected]

  6. #16
    Moderator Аватар для MM
    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    4,134
    Спасибо Благодарностей отдано 
    470
    Спасибо Благодарностей получено 
    519
    Поблагодарили
    412 сообщений
    Mentioned
    42 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если кто добренький и грамотный - посоветуйте, как сделать обработку котов - через перевод в ASCII или только по номеру кнопки БК ?
    Блог : http://collectingrd.kxk.ru/ . В ЛС прошу не писать, все сообщения [email protected]

  7. #16
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #17
    Activist
    Регистрация
    11.08.2009
    Адрес
    Минск
    Сообщений
    234
    Спасибо Благодарностей отдано 
    21
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от MM Посмотреть сообщение
    Если кто добренький и грамотный - посоветуйте, как сделать обработку кодов - через перевод в ASCII или только по номеру кнопки БК ?
    В каком виде выдавать результат зависит от того куда это будет включаться:
    1) если в новодел вместо ВП1-014 то естественно в ASCII(?) - правильнее в эквивалент того что выдаёт 014
    2) если для замены БК-шной клавы то в коды для замыкания контактов клавиатурных разъёмов на плате БК, такой контроллер уже есть на АТМеге...
    Последний раз редактировалось Ал-р; 02.07.2016 в 16:11.

Страница 2 из 2 ПерваяПервая 12

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Аюша-80 - компьютер на процессоре 580ВМ80
    от rw6hrm в разделе Разработка электроники
    Ответов: 0
    Последнее: 29.04.2016, 16:15
  2. Обработка звука на iBook
    от megabyte в разделе Apple
    Ответов: 3
    Последнее: 01.01.2011, 22:39

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •