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

User Tag List

Страница 3 из 6 ПерваяПервая 123456 ПоследняяПоследняя
Показано с 21 по 30 из 51

Тема: Специалист_МХ2 ПЛМ

  1. #21
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    318
    Спасибо Благодарностей получено 
    597
    Поблагодарили
    443 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Нашел у себя K6R4008V1D. 512КБит х 8 шустрая SRAM (до 10нс). 2шт. Она 3.3в, что хорошо для моей CPLD (но не обязательно).
    Последний раз редактировалось HardWareMan; 25.09.2014 в 20:45.

  2. #22
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    318
    Спасибо Благодарностей получено 
    597
    Поблагодарили
    443 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    У меня есть хитрый план: не ставить ПЗУ вообще. Я уже почти отладил свой "хитрый" SD/MMC контроллер, который инициализирует карту сам. Он вполне способен предоставить любой сектор сам. Если выгорит - то это будет компьютер полностью без ПЗУ.

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

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Я уже почти отладил свой "хитрый" SD/MMC контроллер, который инициализирует карту сам.
    Круто. А сможешь потом допилить его до эмуляции ВГ93? Для начала, чтобы работал с дефрагментированными файлами-образами, лежащими в корневом каталоге? Хотя бы с первым файлом, тогда не надо лезть в каталог и искать начало файла. Но чтобы начало можно было менять через порты ВГ93 какой-нибудь ничего не значащей для самого ВГ93 команды (например прыгнуть на дорожку 255 после чего послать в порт данных специальную последовательность с указанием адреса первого сектора).

  4. #24
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    318
    Спасибо Благодарностей получено 
    597
    Поблагодарили
    443 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну можно. Только когда дойдет дело до реализации ВГшки, нужна будет твоя консультация. Ибо я программировал свой ВГ93 в Орионе строго по журналу Радио за 94 (вроде) год по статьям о корвете. Т.е. информация о контроллере чисто общая.
    Последний раз редактировалось HardWareMan; 08.10.2014 в 15:47.

  5. #25
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    318
    Спасибо Благодарностей получено 
    597
    Поблагодарили
    443 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В общем, идея такая: т.к. у нас проц все равно внутри CPLD, то его можно останавливать, например, сигналом READY и использовать его слот времени для пересылки данных. Такой неполный DMA. Адрес начала и размер задавать в регистрах управления контроллером. Причем, он для карты будет формировать полные 512 циклов чтения сектора, чтобы не сбить логику ее работы, а в память писать ровно столько, сколько надо. Это позволит загружать файлы прямо по месту байт в байт, не затрагивая лишние. Это в нативном режиме. В режиме эмуляции ВГ93 можно сделать останов при чтении из регистра данных ВГ93, как это сделано в контроллере дисковода для Специалиста (чтобы тот софт так же мог работать без изменений).
    Касаемо полноценной эмуляции ВГ93, то было бы здорово установить размер кластера кратный 1 сектору дискеты (1КБ же, так?). Т.е., придется форматировать карту памяти с особыми параметрами (лучше если написать специальную программку). В пользу программки говорит и факт ROMless загрузки: чтобы контроллер всегда знал откуда брать загрузчик. Хотя, я думаю с SD/MMC карты никто грузиться не будет и поэтому загрузчик можно положить вместо PCшного, оставив остальные структуры как есть. Карта будет признаваться компьютером и одновременно быть загрузочной для Специалиста.

    PS Нечто подобное, я думаю, можно будет сделать и для Спектрума 48К/128К.

  6. #26
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    318
    Спасибо Благодарностей получено 
    597
    Поблагодарили
    443 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Возможно все-таки использование одной 8ми битной SRAM не лишено смысла. Если прикинуть на стандартные тайминги, то можно сделать так:

    PixClk щелкает пиксели. PixLd загружает следующий байт для сдвига самих пикселей. AtrLd загружает значение атрибутов, их "догоняют" пиксели, задержанные на 2 точки (в спектруме, например, задержка на 4 пикселя). Страница атрибутов выбирается сигналом AtrPage, который участвует в формировании адреса синхрогенератора и процессора. В первой половине активного полупериода сигнала VM80F2 формируется сигнал обращения к ОЗУ, который активируется сигналом Screen. Таким образом обращение формируется только при обращении к экрану. Это возможно потому, что процессор гарантировано удерживает шины (адреса, данных и управления) весь активный полутакт, поэтому атрибуты из регистра цвета четко попадают в экранную область страницы атрибутов. Осталось проверить, как эта идея ляжет на тайминги SVGA. Если от памяти не потребуется сверхскорости, то я сделают так и с 16ти битным ОЗУ будет покончено раз и навсегда.

  7. #27
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    318
    Спасибо Благодарностей получено 
    597
    Поблагодарили
    443 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну, похоже, что все взлетит.

    В режиме SVGA пиксельклок равен 20МГц. Обращение к памяти равно периоду пиксельклоку или 50нс. Частота процессора при этом равна 2,5МГц, но используется уже проверенный в железе МХ2 финт с 4/5 такта, что дает эффективную скорость на уровне 2МГц. В режиме телевизионной развертки пиксельклок равен 8МГц а обращение к памяти равно половине такта пиксельклока или 62,5нс. При этом, задержка атрибута на 1 пиксель от сдвигаемого видео (в режиме SVGA 2 пикселя). Частота процессора в этом режиме строго 2МГц, за 8 точек отрабатывается 2 полноценных обращения. Сигнал обращения к экрану вырабатывает дополнительное обращение, как уже это было описано в предыдущем посте, вместе с сигналом страницы атрибутов используется для записи атрибутов. Более того, этот же сигнал позволяет реализовать автоматическое чтение атрибута из видеопамяти в регистр цвета, что было бы неплохой плюшкой. Закупленные у китайцев специально для этого проекта IS61LV5128AL-10TLI способны выдать (или принять) данные за 10нс и имеют на борту 512Кбайт. Это в 5 раз превышает требования, так что можно продолжать проект. Кварцевый генератор используется один на 80МГц. Из него легко получаются как 20МГц, так и 8МГц.

    Т.к. проект предполагается реализовать на одном чипе памяти и быть максимально совместимым с МХ2, то я предлагаю следующий "распил" памяти: страницы с 0 по 5 будут обычные страницы памяти MXа, страница 6 будет выполнять роль основной страницы памяти а страница 7 - ее атрибутной части. При этом, она будет доступна целиком, как у Ориона, нижняя и верхняя (относительно экрана) части будут эмулировать ПЗУ МХа и стандарта и будут снабжены защитой от записи. Пока все, задавайте свои вопросы.
    Последний раз редактировалось HardWareMan; 27.10.2014 в 13:14.

  8. #28
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    318
    Спасибо Благодарностей получено 
    597
    Поблагодарили
    443 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сегодня закончил клавиатуру. Я ее уже показывал, покажу еще раз:

    Да, она способна передать нажатие на все кнопки сразу. :3 Да, для сброса надо нажать все 5 клавиш 'СБРОС'. :3 Да, курсорные кнопки дублируются и есть еще 4 дополнительные кнопки. В качестве интерфейса я выбрал I2C (частный случай TWI). Почему? Потому что клавка была USB и двунаправленный интерфейс не требуется. А I2C ведомый легко реализуется в CPLD как простейший конечный автомат. Старт, стоп:


    Всего передается 79 бит информации: 72 кнопки оригинальной клавиатуры, 4 дополнительные кнопки, шифт, сброс и четность. По четности CPLD будет принимать решение записывать принятое в регистр или нет - простейший контроль. Битрейт я особо не рассчитывал, но получилось приемлиемо: примерно 20Кбод. Полная посылка с небольшой задержкой между пакетами занимает примерно 4мс, что дает FPS интерфейса на уровне 248Гц, что более чем достаточно:

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

    Немного о контроллере. Я наконец-то перешел к АТХМегам. Здесь - 32А4.

    Однако, как же мало ему надо! Работает от встроенного 32МГц RC генератора (сильная стабильность тут не нужна), кондеры только по питанию. Хочет 3.3в, которые есть у моего CPLD Специалиста. В общем, я доволен как слон. Теперь уже точно можно заняться самим компьютером.
    Последний раз редактировалось HardWareMan; 16.11.2014 в 21:02.

  9. #29
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    755
    Поблагодарили
    353 сообщений
    Mentioned
    86 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Осциллограф прикольный, еще такой Rigol не видел, из новых серий?
    Клавиатурка красивая

  10. #30
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,557
    Спасибо Благодарностей отдано 
    1,220
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Сегодня закончил клавиатуру. Я ее уже показывал, покажу еще раз:
    Клаву из чего делал и как?

Страница 3 из 6 ПерваяПервая 123456 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 153
    Последнее: 16.12.2021, 19:07

Ваши права

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