User Tag List

Показано с 1 по 10 из 585

Тема: Компьютер "Aleste 520EX"

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    03.10.2017
    Сообщений
    242
    Спасибо Благодарностей отдано 
    31
    Спасибо Благодарностей получено 
    49
    Поблагодарили
    24 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Это не зависит от скорости печати. Зависит от времени считывания строки после установки строки в PPI. Назовём это время tReadRaw. Если сканирование строки вашей схемой занимает 88 циклов чтения отдельных клавиш. То чтение одной клавиши:

    tReadKey = tReadRaw / 88

    Если предположить что tReadRaw равно 8 циклов
    4мгц, это 8*250ns. (Я думаю в реальности будет больше) то результат будет 2us.

    tReadKey = 2000ns / 88 = 22ns.

    Это очень маленькое время, для сканирования клавиши. И даже для выборки из ROM
    Последний раз редактировалось Sherlock; 28.11.2021 в 10:31.

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

  3. #2

    Регистрация
    09.07.2018
    Адрес
    р.п. Пролетарий, Новгородская обл.
    Сообщений
    58
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sherlock Посмотреть сообщение
    tReadRaw равно 8 циклов
    Цитата Сообщение от Sherlock Посмотреть сообщение
    4мгц, это 8*250ns.
    Один цикл примерно четыре такта (M1). (8*250ns)*4=8us.

    LD B, F6 LOOP
    OUT (C), C
    LD B, F4
    IN A, (C)
    LD B, (HL)
    LD (HL), A
    AND B
    CPI
    LD (DE), A
    INC HL
    INC DE
    INC C
    LD A, C
    AND 0Fh
    CP 0Ah
    JR NZ, LOOP
    Для такой процедуры требуется 22 цикла, 22*4 получим 88 тактов 250ns * 88 получается 22us это время считывания одной строки (байта) всего 11 строк, значит за 242us процессор опросит всю клавиатуру. Выше я писал время замкнутой цепи 5ms, тогда процессор успеет 20 раз прочитать одну и туже кнопку.
    На сколько я понимаю обычно добавляют подпрограмму задержки, чтобы проверить клавишу на: нажатие, отпускание, и удержание.
    Конвертер Aleste на каждую кнопку выделяет 64us каждые 20ms.
    Вложение 76513

  4. #3

    Регистрация
    03.10.2017
    Сообщений
    242
    Спасибо Благодарностей отдано 
    31
    Спасибо Благодарностей получено 
    49
    Поблагодарили
    24 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от RN1TZ Посмотреть сообщение
    На сколько я понимаю обычно добавляют подпрограмму задержки, чтобы проверить клавишу на: нажатие, отпускание, и удержание.
    Конвертер Aleste на каждую кнопку выделяет 64us каждые 20ms.
    Нужно смотреть не на всю процедуру опроса всех клавиш, а на код от установки строки в PPI до чтения данных этой строки. Тесть время между: Out и In

    Буковка "и" может быть небольшой задержкой. Вы правы.

    И не важно сколько времени тратит перекодировщик в алесте, там все проблем решает dual port ram. И в том случае времена сканирования можно подгонять "под машинистку". На самом деле достаточно под 1 кадр экрана.

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

    Думаю получившийся результат стоит поделить на два. Так как ваша схема опроса клавиш асинхронна по отношению к процессору. И в момент когда процессор сменил строку, ваша схема может находится в состоянии сканирования бита N предыдущей строки.

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

    Желаю вам удачи в решении этой задачи.
    Последний раз редактировалось Sherlock; 28.11.2021 в 10:42.

  5. #4

    Регистрация
    09.07.2018
    Адрес
    р.п. Пролетарий, Новгородская обл.
    Сообщений
    58
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Последний раз редактировалось RN1TZ; 01.12.2021 в 15:33.

  6. #5

    Регистрация
    09.07.2018
    Адрес
    р.п. Пролетарий, Новгородская обл.
    Сообщений
    58
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Z80/Недокументированные команды

    ED 4C NEG */ Z280 NEG HL */
    ED 4E IM 0/1 */ Z280 IM 3 */
    ED 54 NEG */ Z280 nc */
    ED 55 RETN */ Z280 RETIL */
    ED 5C NEG */ Z280 nc */
    ED 5D RETN */ Z280 nc */
    ED 64 NEG */ Z280 EXTS A */
    ED 65 RETN */ Z280 PCACHE */
    ED 6C NEG */ Z250 EXTS HL */
    ED 6D RETN */ Z280 ADD HL, A */
    ED 6E IM 0/1 */ Z280 LDCTL (C), HL */
    ED 70 IN F, (C) / IN (C) */ Z280 TSTI, (C) */
    ED 71 OUT (C), 0 */ Z280 SC, nn */
    ED 74 NEG */ Z280 nc */
    ED 75 RETN */ Z280 nc */
    ED 76 IM 1 */ Z280 nc */
    ED 7C NEG */ Z280 nc */
    ED 7D RETN */ Z280 nc */
    ED 7E IM 2 */ Z280 nc */

    Остальные недокументированные инструкции Z80 за документированы в MPU Z280.
    На сколько важны эти инструкции в Aleste EX520?

  7. #6

    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    14,288
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    202
    Спасибо Благодарностей получено 
    1,456
    Поблагодарили
    946 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от RN1TZ Посмотреть сообщение
    На сколько важны эти инструкции в Aleste EX520?
    всё зависит от программиста.
    из практического применения
    OUT (C), 0 на разных процессорах может записать в порт и #FF ; иногда используется в муз.плейерах на ZX / CPC
    IN F, (C) ; используется в хитрых загрузчиках с ленты.

    остальные команды часто применяют с целью запутать код

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

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

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

Похожие темы

  1. Ответов: 1076
    Последнее: 11.05.2022, 06:59
  2. Ответов: 0
    Последнее: 15.08.2010, 14:38
  3. Ответов: 27
    Последнее: 19.12.2009, 18:49
  4. Куплю компьютер Aleste 520EX (Алеста)
    от Nickolas в разделе Барахолка (архив)
    Ответов: 9
    Последнее: 23.10.2009, 05:06
  5. Ответов: 0
    Последнее: 26.06.2005, 11:52

Ваши права

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