User Tag List

Страница 11 из 134 ПерваяПервая ... 789101112131415 ... ПоследняяПоследняя
Показано с 101 по 110 из 1333

Тема: Самодельный компьютер на Z80 и не только

  1. #101

    Регистрация
    26.11.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    270
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А если попробовать завести RxRDY через RС цепочку, по типу как сделано в "Ленинграде", может поможет.

    Ух, прям руки чешутся, глядя на вас. Пошёл свою железку допиливать...
    Ленинград-1 48К
    ЮТ-88 в минимальной конфигурации

  2. #102

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KeKc Посмотреть сообщение
    А если попробовать завести RxRDY через RС цепочку, по типу как сделано в "Ленинграде", может поможет
    Прерывание-то останется однократным, а нужно террабайты принимать с ПЦ на компик
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  3. #103

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ewgeny7 Посмотреть сообщение
    В общем, убрал прерывания, можно и без них обойтись. Но загадка осталась.
    Нельзя обойтись. Вывод на LCD медленный, нужно в прерываниях ловить данные с USART.
    Еще немножко поковырялся с ВВ51, но пока не победил его RxRDY...
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  4. #104

    Регистрация
    14.09.2012
    Адрес
    г.Севастополь
    Сообщений
    474
    Спасибо Благодарностей отдано 
    279
    Спасибо Благодарностей получено 
    78
    Поблагодарили
    56 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А не логичней было бы все принятые данные сначала загонять в какой-то буфер (сколько там ? 20х2=40 байт), и только по окончанию посылки передавать данные из буфера в дисплей ?

  5. #105

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ALS Посмотреть сообщение
    А не логичней было бы все принятые данные сначала загонять в какой-то буфер (сколько там ? 20х2=40 байт), и только по окончанию посылки передавать данные из буфера в дисплей ?
    Логичней, это и Ёжику понятно.
    Но вот только код Бейсика писал пресловутый Билли Гей-тс, а ему хотелось всё делать через символ. Можно залезть в дебри Васика, но можно и просто решить задачу с прерываниями, и принимать байты в буфер, неспеша рисуя символы. Воть...
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  6. #106

    Регистрация
    10.07.2005
    Адрес
    Ставрополь
    Сообщений
    1,158
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    61
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Немного вспомню, как это делал на 6850...
    1. Передача слова на внешнее устройство:
    - Проверяем регистр статуса передачи. Если не пустой, значит передача предыдущего слова ещё не окончена - ждём в цикле. Если пустой, то записываем в регистр данных слово на передачу. По идее передача начинается сразу, как только слово помещено в регистр данных.
    2. Приём слова с внешнего устройства:
    - проверяем регистр статуса приёма. Если пуст, то нам ничего не поступило, можем заняться основной программой. Если полон, то считываем слово из регистра данных. Обнуляем регистр статуса приёма.
    - проверяем полученный байт. Если это комбинация ctrl+C, то передаём управление прерыванию исполнения текущей программы, иначе просто принимаем байт (по крайней мере у меня для работы с Бейсиком это нужно).
    Т.е. без проверки флагов никак. А вот для остановки внешнего устройства, если оно торопливое, а мы не успеваем обрабатывать, RxRDY как раз и нужен, в комп заводить его не надо кмк, а вывести сигналом RTS наружу

    Почти та же фигня и с ЛСД, у многих есть сигнал BUSY, который показывает, что дисплей ещё не обработал символ. Вот и приходится метаться между этими двумя "неуспевающими"...
    Последний раз редактировалось rw6hrm; 07.04.2016 в 15:06.

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

  8. #107

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    rw6hrm, я до кучи и про 6850 документы читал. Была мысль ее использовать (там есть выход INT), но у нас их нету в питерах.
    А вот выход RxRDY у ВВ51А даже в документации заводится на проц для инициации прерывания. Но рабочего примера с прерыванием я не нашел
    А насчет флагов - все подобно 6850.
    Бит 0 регистра статуса - 1- передатчик занят, 0 - можно засылать байт на отправку.
    Бит 1 - 1 - новый байт в приемник не прилетел, 0 - есть новый поступивший байт.
    Т.е., когда порт статуса читается как 0, то делай вообще что хочешь
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  9. #108

    Регистрация
    14.09.2012
    Адрес
    г.Севастополь
    Сообщений
    474
    Спасибо Благодарностей отдано 
    279
    Спасибо Благодарностей получено 
    78
    Поблагодарили
    56 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А сколько времени уходит на запись символа в ЖКИ ?
    Может, на небольших скоростях (скажем, 9600bps) интервала между отдельными байтами посылки будет достаточно, чтобы, не озираясь ни на что, вывести символ на индикатор и не спеша вернуться в тело программы.
    Конкретно на 9600 это ок. 120uS :

    Последний раз редактировалось ALS; 07.04.2016 в 18:37.

  10. #109

    Регистрация
    10.07.2005
    Адрес
    Ставрополь
    Сообщений
    1,158
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    61
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В хабровских статьях о применении ЖКИ не парятся относительно сигнала занятости ЖКИ, там просто играются программными задержками. Но ведь не всегда это возможно, если проц под сотню МГц и выше, тогда фиксим задержками ибо не жалко, а если, как в нашем случае, максимум 2-3 МГц (тактовой, реально рабочая скорость ещё ниже раза в три-пять), то задержки уже жирно как по временным затратам, так и по коду в ПЗУ...


    Ewgeny7, я вот посматриваю на Вашу реализацию, учусь, поскольку с 6850 уходить придётся, если надеяться, чтобы конструкцию хоть кто-то повторил...

  11. #110

    Регистрация
    14.09.2012
    Адрес
    г.Севастополь
    Сообщений
    474
    Спасибо Благодарностей отдано 
    279
    Спасибо Благодарностей получено 
    78
    Поблагодарили
    56 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сейчас глянул даташит на AC162D : Set RAM address - 39uS и Write DATA to RAM - 43uS
    Это даже меньше, чем пауза между байтами при 9600bps.
    Кроме того, пока мы принимаем следующий байт (а это вообще ок. 950uS), это тоже своего рода задержка для ЖКИ.
    Т.е. - да, при 9600 никакие доп. задержки для ЖКИ точно не нужны (ну, разве что, во время инициализации и очистке дисплея, там от 1,5mS до 30). И тут главное, чтоб проц успел.
    Последний раз редактировалось ALS; 07.04.2016 в 19:30.

Страница 11 из 134 ПерваяПервая ... 789101112131415 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Самодельный станок для намотки ТВЗ
    от Ратмир в разделе Творчество
    Ответов: 3
    Последнее: 25.05.2017, 13:32
  2. Самодельный телевизор
    от KALDYH в разделе Творчество
    Ответов: 34
    Последнее: 18.09.2013, 13:09
  3. Самодельный kickstart под ЛУТ :D
    от fan в разделе Amiga
    Ответов: 6
    Последнее: 21.08.2010, 16:18
  4. Лучший самодельный компьютер
    от roxx в разделе Зарубежные компьютеры
    Ответов: 10
    Последнее: 08.12.2007, 22:53
  5. Самодельный принтер
    от Ewgeny7 в разделе Несортированное железо
    Ответов: 3
    Последнее: 07.08.2005, 18:11

Ваши права

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