User Tag List

Показано с 151 по 160 из 563

Тема: DSDOS для ПРК "Орион-128"

Древовидный режим

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

    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,236
    Спасибо Благодарностей отдано 
    494
    Спасибо Благодарностей получено 
    996
    Поблагодарили
    643 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    Cool Быстрый порт COM2 на БИС 16C550

    В продолжении тематики виртуального диска, раскрою тему быстрого порта COM2 на микросхеме 16C550.

    Электрическая схема порта:



    альтернативаня ссылка на схему


    Устройство представляет собой карту расширения, подключается в системный разъём ПРК "Орион-128.2" (нумерация контактов указана согласно схеме рев.512).
    Возможны два варианта сборки: упрощённый и стандартный. Первый вариант - без дешифратора 1533ИД3, его использование возможно только если в системе больше нет никаких других устройста, занимающих адресное пространство F700..F7FFh. Второй вариант с помощью дешифратора позволяет корректно занимать только диапазон F7E0..F7EFh, в этом случае сигнал ПРК "SEL_F7xx" (В30) идёт на БИС 16C550 через дешифратор.
    Для упрощения схемотехники в качестве тактового генератора используется специализированный чип с HCMOS/TTL-выходом, например такой - http://www.chipdip.ru/product/7.3728mhz-hcmos-ttl/. Частота генератора - 7.3728 МГц.
    Для преобразования сигналов (TTL<->RS232) используется микросхема MAX232. Вариантов исполнения этого популярного преобразователя вагон и маленькая тележка, они требуют разные номиналы конденсаторов обвязки, поэтому на схеме указан номинал с вариацией. Более точно нужно смотреть даташит на ваш конкретный экземпляр "макса".

    На плате ПРК требуется небольшая доработка (если она у вас не была сделана ранее): на линию "В20" системного разъёма заводится сигнал RESET с выхода "9" микросхемы DD18.2 (ТМ7).

    Как было сказано ранее, программно порт поддержан в ОС DSDOS начиная с версии v3.81, его наличие в системе определяется автоматически при загрузке, скорость обмена программируется максимальная - 115200 Бод.

    Схема не требует наладки, при исправных деталях и правильном монтаже работает сразу.

    Мой "макетный" вариант выглядит так:





    Фото №1 Фото №2


    В нём микросхем больше, т.к. я одновременно распаял два порта: COM1 и COM2. Причём первый с вариацией: 1) под КР580ВВ51А (скорость обмена 38400 Бод) и 2) под MSM82C51A-2 (скорость обмена 115200 Бод).


    Информация по программированию порта COM2:

    Код:
    ; BIOS (2/2) для DSDOS v3.81 (Орион-128.2)
    ; (C) 1998-2016 Соловьев Д.Н. /Санкт-Петербург/
    ; 18.06.2016
    
    ; Порт COM2 (16C550)
    
    RG_RWD:EQU 0F7E0H; Read/Write Data
    RG_IER:EQU 0F7E1H; Interrupt Enable Reg
    RG_LCR:EQU 0F7E3H; Line Control Reg
    RG_MCR:EQU 0F7E4H; Modem Control Reg
    RG_LSR:EQU 0F7E5H; Line Status Reg
    RG_SCR:EQU 0F7E7H; Scratch Reg
    
    
    IniCOM:
    ; Инициализация UART 16C550
    LXI H,RG_IER
    MVI M,0; отключить все прерывания
    INX H
    INX H
    MVI M,80H; маска установки DLAB
    MVI L,RG_RWD
    MVI M,4; LSB делителя (4 = 115200 Бод)
    INX H
    MVI M,0; MSB делителя
    INX H
    INX H
    MVI M,03H; настройка протокола (8,N,1)
    RET
    
    
    SvbCOM:
    ; Запись байта в порт обмена
    ; I: [C]-записываемый байт
    ; O: <C>=0 - [A]=записанный байт,
    ;    <C>=1 - порт не готов
    MVI B,0; time-out const = 256
    
    SVB2:
    DCR B
    JZ LDB2_4
    LDA RG_LSR
    ANI 20H
    JZ SVB2
    MOV A,C
    STA RG_RWD
    RET
    
    
    LdbCOM:
    ; Чтение байта из порта обмена
    ; O: C=0 - [A]=байт, C=1 - порт не готов
    
    LDB2_0:
    ; проверка на преждевременную готовность
    LDA RG_LSR
    RRC
    JC LDB2_2
    
    ; ожидание поступления данных
    PUSH B
    LXI B,33000; time-out const
    
    LDB2_1:
    DCX B
    MOV A,B
    ORA C
    JZ LDB2_3
    LDA RG_LSR
    RRC
    JNC LDB2_1
    POP B
    
    LDB2_2:
    LDA RG_RWD
    CMC
    RET
    
    LDB2_3:
    POP B
    
    LDB2_4:
    STC
    RET
    Последний раз редактировалось Denn; 11.02.2024 в 11:54. Причина: Изменение путей ссылок
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

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

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

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

Похожие темы

  1. Ответов: 17
    Последнее: 26.12.2015, 23:22
  2. продам платы "Орион-128"
    от AHTuXPuCT в разделе Барахолка (архив)
    Ответов: 70
    Последнее: 19.06.2012, 20:39
  3. Платы ром-диска "Орион-128"
    от AL.EX в разделе Барахолка (архив)
    Ответов: 45
    Последнее: 10.06.2012, 12:54
  4. Куплю плату "Орион-ПРО"
    от АлександрПП в разделе Барахолка (архив)
    Ответов: 3
    Последнее: 15.05.2011, 20:48
  5. Ответов: 0
    Последнее: 15.08.2010, 14:38

Ваши права

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