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

User Tag List

Страница 1 из 13 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 127

Тема: RS232 - вариант на ATTiny2313

  1. #1
    Master Аватар для alx32
    Регистрация
    17.07.2010
    Адрес
    Ульяновск
    Сообщений
    751
    Благодарностей: 248
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию RS232 - вариант на ATTiny2313

    Я уже Z80Card собрал, только сам Z80 никак не могу найти, а так собираюсь сделать весь орион по максимуму, плюс RS232 на тиньке 2313 приделать.
    Вложения Вложения
    Последний раз редактировалось Error404; 19.11.2013 в 15:57.

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

  3. #2
    Moderator Аватар для Error404
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    3,748
    Благодарностей: 1014
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alx32 Посмотреть сообщение
    плюс RS232 на тиньке 2313 приделать.

    А по какой схеме/алгоритму работы?
    В Орионе-2010 была реализация RS232 в ПЛИС на портах F764,F765 (порт данных и порт статуcа) и эта реализация поддежана ПО (в CP/M - консоль, stat/pip, xModem, Kermit). Можно ли достичь совместимости с этим решением схемой на ATtiny2313?
    Последний раз редактировалось Error404; 22.05.2012 в 09:52.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  4. #3
    Master Аватар для alx32
    Регистрация
    17.07.2010
    Адрес
    Ульяновск
    Сообщений
    751
    Благодарностей: 248
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если эти программы работают с портом напрямую, то нужно знать алгоритм обмена, а если через драйвер, то можно организовать свой, кроме того в тиньке можно заделать буфер FI-FO, если конечно он нужен...
    Более того, можно предусмотреть возможность смены прошивки.
    Последний раз редактировалось alx32; 22.05.2012 в 12:21.

  5. #4
    Moderator Аватар для Error404
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    3,748
    Благодарностей: 1014
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alx32 Посмотреть сообщение
    Если эти программы работают с портом напряму, то нужно знать алгоритм обмена
    Консоль CP/M и xModem - напрямую. Алгоритм такой:
    Код:
    ; Отправка байта - запись в порт F764. 
    ; Прием байта - чтение порта F764.
    ; Контроль состояния передачи - порт F765 на чтение: 
    ;   D7     - TX_Ready (0 = идет отправка байта, порт не готов. 1 = можно записывать следующий байт для отправки)
    ;   D6     - RX_Status (0 = нет нового принятого байта. 1 = принят новый байт. После считывания байта из F764 этот бит сбрасывается в 0).
    ; Управление режимами - порт F765 на запись: 
    ;   D0, D1 - Скорости UART (4800 (умолчание), 9600, 19200, 38400)
    ;   D6     - "1" = разрешает прерывание по приему байта. На ШД ставится 0FDh.
    Kermit и stat/pip - через консольные п\п CP/M
    Последний раз редактировалось Error404; 22.05.2012 в 10:35.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  6. #5
    Master Аватар для alx32
    Регистрация
    17.07.2010
    Адрес
    Ульяновск
    Сообщений
    751
    Благодарностей: 248
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А прерывание как организуется (если не брать в расчёт 50Гц)?
    А всётаки буфер придётся делать...

  7. #6
    Moderator Аватар для Error404
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    3,748
    Благодарностей: 1014
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alx32 Посмотреть сообщение
    А прерывание как организуется (если не брать в расчёт 50Гц)?
    Периферийное устройство выдает импульс /INT и в какой-то момент (не помню диаграмм) на ШД выставляет 0FDh. Поскольку Z80 работает в режиме IM2, то считав с ШД код он перейдет на некий обработчик в памяти (в нашем случае в этом обработчике идет считывание байта с RS232 и помещение его во временный FIFO-буфер в ОЗУ Ориона). CP/M же читает данные уже из временного буфера (из ОЗУ Ориона) и готовность определяет по наличию в буфере данных. Так работает CP/M в режиме с поддержкой прерываний (режим INT)

    На самом деле париться на счет прерываний нет смысла: та же CP/M и все программы поддерживают и режим POLL (опрос готовности RS-232 в процессе работы). Как показала практика с Орион-2010, никакого выигрыша режим прерываний не приносит (разницы по скорости нет, и "проглатывания" символов ни в каком из ражимов тоже нет).
    Последний раз редактировалось Error404; 22.05.2012 в 11:44.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  8. #7
    Master Аватар для alx32
    Регистрация
    17.07.2010
    Адрес
    Ульяновск
    Сообщений
    751
    Благодарностей: 248
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Значит с прерываниями можно не париться?
    Кварц, скорее всего, будет 18.432, так как при тактовой процессора 5Мгц нужно успевать принимать и выдавать данные на ШД. Думаю скорости тиньки должно хватить, а биты состояния тинька будет выдавать напрямую через буфер типа ЛП8, с которого процессор их может считать в любой момент.

  9. #8
    Moderator Аватар для Error404
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    3,748
    Благодарностей: 1014
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну да, как-то так
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  10. #9
    Master Аватар для alx32
    Регистрация
    17.07.2010
    Адрес
    Ульяновск
    Сообщений
    751
    Благодарностей: 248
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Боюсь, как бы вейтить не пришлось...

  11. #10
    Guru Аватар для Mick
    Регистрация
    14.06.2005
    Адрес
    г. Калуга
    Сообщений
    7,802
    Благодарностей: 2833
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alx32 Посмотреть сообщение
    Боюсь, как бы вейтить не пришлось...
    А что так все боитись вайтить клаву. Что куча демок написано, где подсчитаны все такты. Сомневаюсь. Избавьтесь от комплеса вайта. У меня в Фениксе клава вайтится, и что с того - работает прекрасно и нигде не жмет.
    Сайт поддержки моих изделий - http://micklab.ru/
    Форум поддержки - http://forum.tslabs.info/viewforum.php?f=51

Страница 1 из 13 12345 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Контроллер AT клавиатуры на AT90S2313/ATTiny2313
    от Asd1995sse в разделе Устройства ввода
    Ответов: 53
    Последнее: 21.02.2012, 19:23
  2. Ответов: 12
    Последнее: 16.11.2011, 17:17
  3. NK-DOS (вариант MS-DOS под TR-DOS)
    от Nomy Graphics в разделе Оси
    Ответов: 30
    Последнее: 03.09.2007, 14:59
  4. RS232 и Cache
    от Sonic в разделе Unsorted
    Ответов: 8
    Последнее: 13.07.2007, 12:12
  5. Ответов: 2
    Последнее: 02.09.2005, 19:57

Ваши права

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