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

User Tag List

Страница 67 из 120 ПерваяПервая ... 636465666768697071 ... ПоследняяПоследняя
Показано с 661 по 670 из 1199

Тема: Орион-2010. Hard & Soft

  1. #661
    Super Moderator Аватар для Ewgeny7
    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    146
    Спасибо Благодарностей получено 
    76
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от aviator Посмотреть сообщение
    и необходим этот "прибамбас". Равно как и прерывания аппаратного таймера. Ну и контроллер прерываний, естественно.
    А давайте плюнем на Орион и сбацаем ПиСюк?
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

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

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

  3. #662
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,847
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    167 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от aviator Посмотреть сообщение
    Равно как и прерывания аппаратного таймера. Ну и контроллер прерываний, естественно.
    Можно и без контроллера обойтись, тем более, что команду DI запретить не получится. Единственный шанс переключиться на другую задачу, это будет NMI. Вот на него и повесить таймер.

    Единственная проблема, это то, что прерывание возникает в контексте пользовательской задачи, но это можно как раз таки решить аппаратно - при возникновении NMI одновременно подменить и область памяти в нижних адресах, на системную. Непонятно только, что делать, если пользовательская программа тоже работала в этих адресах, или стек там держала. Вообще, переход из режима ядра в пользовательский режим со своими 64Кб тоже требует аппаратной поддержки, поскольку перейти на произвольный адрес без модификации регистров можно только по RET, но желательно при этом не менять стек пользовательской задачи. Т.е. чтение адреса возврата лучше всего реализовать из аппаратных регистров, а не из памяти. Туда же его и сохранять по NMI. Ну или на момент переключения контекста для стековых команд реализовать доступ только к двум байтам по фиксированному адресу, т.е. использовать только младший бит адреса.
    Последний раз редактировалось b2m; 08.03.2010 в 20:34.

  4. #663
    Activist
    Регистрация
    18.09.2009
    Адрес
    г.Ногинск, МО
    Сообщений
    246
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    Начинать надо с проектной документации, согласно которой будут разрабатываться и аппаратные прибамбасы...
    Коллеги! Вот ниже сказано не в бровь, а в глаз! Добавить более нечего! Просто класс!!!!
    Цитата Сообщение от ewgeny7 Посмотреть сообщение
    А давайте плюнем на Орион и сбацаем ПиСюк?
    Цитата Сообщение от ewgeny7 Посмотреть сообщение
    Есть у меня проект простого USART. Надеюсь, не будет катастрофы, что скорость у него фиксированная... 19200.
    Прекрасно! Но если по ходу реализации удастся скорость увеличить вдвое - будет совсем чудно. Но здесь есть одно маленькое говёнце: у Z80 достаточно примитивная система прерываний. USART без прерываний по получению и отправлению байта - ничего серьёзного. Что придумать, чтобы USART мог сесть на свой вектор прерывания? Какие будут предложения? Нужен какой-то контроллер прерываний, но не для многозадачности (это все баловство!), а для обслуживания девайса. Очень хорошо иметь еще пару векторов на внешних выводах Альтеры, как это сделано в контроллерах. Кроме того, нужен внутренний таймер, имеющий тоже свой вектор прерывания. Не обязательно ВИ53. Можно что-то свое. Регистры управления и загрузки таймера можно посадить на какие-то внутренние порты. Адреса портов придумает Error404! Он у нас главный по этой части! Можно высказывать любые идеи, даже бредовые! Наша задача придумать идею, а ewgeny7 ее проанализирует и сам решит кого послать нахрен! Но это не смертельно!

    Цитата Сообщение от tnt23 Посмотреть сообщение
    А может здесь и SPI найдется?
    Последний раз редактировалось pvlad; 08.03.2010 в 21:59.
    Если ты чего-то не знаешь, то это не значит, что этого не может быть.

  5. #664
    Guru Аватар для tnt23
    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,634
    Спасибо Благодарностей отдано 
    396
    Спасибо Благодарностей получено 
    78
    Поблагодарили
    63 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от pvlad Посмотреть сообщение
    А может здесь и SPI найдется?
    А вы посмотрите http://www.fpga4fun.com/SPI.html

  6. #665
    Activist
    Регистрация
    18.09.2009
    Адрес
    г.Ногинск, МО
    Сообщений
    246
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от tnt23 Посмотреть сообщение
    А вы посмотрите http://www.fpga4fun.com/SPI.html
    Я уже смотрел, но этого мало. Будет отлично если ewgeny7 там найдет необходимое!
    Если ты чего-то не знаешь, то это не значит, что этого не может быть.

  7. #666
    Moderator
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,577
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    106
    Поблагодарили
    92 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от pvlad Посмотреть сообщение
    Что придумать, чтобы USART мог сесть на свой вектор прерывания? Какие будут предложения? Нужен какой-то контроллер прерываний, но не для многозадачности (это все баловство!), а для обслуживания девайса.
    Сейчас я обычно использую режим IM2 Z80. Этот режим допускает иметь в памяти таблицу векторов прерываний, конкретный вектор выбирается считывая значение с шины данных в момент прерывания. В текущей реализации с "пустой" шины всегда читается 0FFh и переход осуществляется по последнему (и пока единственному, кстати) вектору таблицы. Достаточно в момент прерывания выдавать лог."0" на, к примеру, D0 (тогда прочитается 0FEh), и прерываться по предпоследнему вектору таблицы - попадать спецом в обработчик USART.
    Этот способ не потребует никаких модификаций в железе текущей конфигурации ПК. Только в софте.
    Последний раз редактировалось Error404; 08.03.2010 в 22:52.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

  8. #667
    Super Moderator Аватар для Ewgeny7
    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    146
    Спасибо Благодарностей получено 
    76
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от pvlad Посмотреть сообщение
    и сам решит кого послать нахрен!
    Уже посылаю нахрен. После USART ног свободных нет. Сливайте воду.

    ---------- Post added at 23:22 ---------- Previous post was at 23:21 ----------

    Цитата Сообщение от pvlad Посмотреть сообщение
    Но если по ходу реализации удастся скорость увеличить вдвое - будет совсем чудно.
    Да, поковырял код, можно хоть 115000 с чем-то там делать...

    ---------- Post added at 23:23 ---------- Previous post was at 23:22 ----------

    Цитата Сообщение от pvlad Посмотреть сообщение
    А может здесь и SPI найдется?
    СПИ там найдется. Сувать есть куда, высовывать вот некуда.

    ---------- Post added at 23:24 ---------- Previous post was at 23:23 ----------

    Цитата Сообщение от Error404 Посмотреть сообщение
    Достаточно в момент прерывания выдавать лог."0" на, к примеру, D0 (тогда прочитается 0FEh), и прерываться по предпоследнему вектору таблицы - попадать спецом в обработчик USART.
    Легко.
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

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

  9. #668
    Moderator
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,577
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    106
    Поблагодарили
    92 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ewgeny7 Посмотреть сообщение
    Уже посылаю нахрен. После USART ног свободных нет. Сливайте воду.
    Как насчет все сделать на одной МСХ ОЗУ? Скажем, одной ИМС емкостью 512к. Как я понимаю, проблема только в реализации видеогенератора? Читать в двух соседних временнЫх "полуфазах" из страниц "0" и "1", одну из "полуфаз" временно хранить в регистре. И в ВГ одновременно выводить точки из ОЗУ (страницы 0), а их цвет из временного регистра (ну, или наоборот).
    Помимо уменьшения платы, упрощения разводки и увеличения объема ОЗУ, освободится чертова уйма ножек (порядка семи-восьми). Повторюсь, 256к - это мало. Мне 256к всегда было мало на старом Орионе.
    Последний раз редактировалось Error404; 08.03.2010 в 23:52.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

  10. #669
    Super Moderator Аватар для Ewgeny7
    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    146
    Спасибо Благодарностей получено 
    76
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сделал USART на отправку. Завтра сделаю чтение. Спокойной ночи!

    ---------- Post added at 23:49 ---------- Previous post was at 23:46 ----------

    Цитата Сообщение от Error404 Посмотреть сообщение
    Как насчет все сделать на одной МСХ ОЗУ? Скажем, одной ИМС емкостью 512к.
    Уже обдумавал только что, стоя под душем
    Нужно будет всё перелопачивать. И зачем я с вами связался?
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

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

  11. #670
    Moderator
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,577
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    106
    Поблагодарили
    92 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ewgeny7 Посмотреть сообщение
    Сделал USART на отправку. Завтра сделаю чтение. Спокойной ночи!
    С добрым утром!

    А как будет аппаратно реализовано с точки зрения конечного пользователя? Программа должна будет записывать/считывать туда побитно или уже целым байтом?

    Как я понимаю в реализации, должен быть порт делителя частоты тактирования USART и порт собственно записи/чтения данных. Адресное пространство F700..F7FF под порты в Орионе между девайсами делили обычно кусками по 16 байт (реже по 8 байт). Предлагаю для портов USART выбрать адреса из "уже испорченного" диапазона F760..F76F. Адреса F760 и F761 заняты 512ВИ1, F762 и F763 заняты SD-card. F764 и далее сколько там нужно можно использовать под USART. Что скажете?
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

Страница 67 из 120 ПерваяПервая ... 636465666768697071 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 22
    Последнее: 06.10.2008, 14:17
  2. MAGIC-SOFT
    от White_Hunter в разделе Люди
    Ответов: 1
    Последнее: 22.08.2008, 08:56
  3. MAGIC-SOFT
    от White_Hunter в разделе Люди
    Ответов: 2
    Последнее: 21.08.2008, 13:31
  4. soft dt
    от roxx в разделе Софт
    Ответов: 4
    Последнее: 30.01.2008, 18:41

Ваши права

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