Ром диск на Орион с 256к + flesh память на 4 метра

Flesh память на Орионе - 128

Заказ плат и наборов микросхем, куплю микросхемы Платы и комплектующие на ПК Орион-128

Дата обновления инфы 17.09.2026

14/09/2026

От автора (Дамир Си) РОМ-диск на 256К с системой. С него всё и грузится. Остальное грузиться с флеш-памяти на 4М, которая подключается параллельно с РОМ .

Вот так подключается, флеш-память 25 Q32

Вот так подключается, флеш-память 25 Q32

Схема флеш-память 25 Q32

Схема флеш-память 25 Q32

Организация 16 страниц по 64К , выбор программного, электрически стирание

Описание

Подключение к ОРИОНу 128.

Микросхемы памяти W25Q32  содержат  64 страницы  по 64К байт памяти, интерфейс SPI, перед записью информации микросхему необходимо очистить, т е  записать во все ячейки 0FFH - для этого предназначена специальная процедура - команда стирания.  Запись производится блоками  по 256 байт.  Количество циклов перезаписи не ограничено. Есть ещё микросхемы  FM25V20 - в которых для перезаписи не требуется  очистка, по сигналам полностью совпадают с W25Q32  , но обьем памяти заметно меньше (до 256К) и цена значительно выше.

Микросхемы предназначена для работы с питанием 3,3В и соответственно сигналы тоже должны соответствовать этому уровню. Запись и Чтение производятся последовательно, программно.

Схема флеш-память 25 Q32

Схема подключения к выходам  ВВ55:

Для 4 сигналов SPI необходим преобразователь уровней, можно сделать на резисторах или купить платку небольшую с 4 транзисторами на 4 канала.

набор деталей для модуля:

Набор деталей для сборки модуля

2 разьема - угловой и прямой, плата преобразователей на 4 канала, плата для м\сх памяти и сама память W25Q32 и ещё нужен стабилизатор на 3.3В типа 622 малогабаритный - он припаивается к контактам с обратной стороны платы преобразователей.

Набор деталей для сборки модуля

6 контактный угловой разьем припаивается к высоковольтному HV (+5В ) входу платы преобразователей, сигналы на этом разьеме :
1 - HV1 - SS выбор микросхемы
2 - HV2 - MISO выход данных с м\сх
3 - HV - +5B вход питания +5В
4 - GND Вход общий, земля
5 - HV3 - MOSI вход данных
6 - HV4 - SCK тактовый вход SPI
Микросхемы памяти W25Q32 припаивается на свою платку с 8 выводами.

Даташит

4 контактный прямой разьем припаивается к выходам преобразователя с низковольтной стороны LV к сигналам
LV1, LV2, LV 3,3B, GND и собирается модуль согласно схеме.

Вот так подключается, флеш-память 25 Q32

При установке верхней платы необходимо чтобы сигнал LV1 попал на 1 вывод микросхемы SS .

Вот так подключается, флеш-память 25 Q32

Выводы 7и 8 содинить с контактом 3 разьма, LV3 - MOSI c выводом 5, LV4 - SCK с выводом 6. 8 и 7 свободны.

ПРОГРАММА

Программа чтения - записи называется SP-ORS3 в эмуляторе прога выглядит так :

Программа Орион-128

S - сохранить область памяти в выбранной странице.(реализована не полностью)
С - Копирование - на диск В из S0 ( 0 страница ) или с диска В на SPI S0
E - Очистка - стирание памяти - 4К, 64К (страницу) или 0 - всю микросхему
М - моде ещё не реализована F4 - выход в ОС.
V Стрелка вниз - переход в служебную строку , влево-вправо - выбор страницы S0 : S9.. SA:SF (пока 16 стр.)

Перед записью необходимо микросхему очистить командой Еrase.
Текст программы на Ассемблере для обслуживания SPI
Порты:
PPAYES equ 0F503h ; для ORI Регистр упр. слова ППА2
PORTEA equ 0F500h
PORTEB equ 0F501h
PORTEC equ 0F502h
PORTMx equ 0FE00h

Подпрограммы подготовки порта ВВ55 для SPI

PortINI:
MVI A,83H ; (А,С4-7 - вывод, В - ввод, режим 0)
STA PPAYES ; Регистр упр. слова ППА2
MVI A, 0DFH
STA PORTEC
RET

Востановление для работы с РОМ диском.
PortINI0:
MVI A,90H ;progr.port ROM КА - Ввод
STA PPAYES ; Регистр упр. слова ППА2
RET

Подпрограмма чтения 1 байта :

READ_A: ; п\п чтения 1 байта
PUSH B
MVI C,00H ; чистый байт C
MVI B,08H ; сохраним в [B] счетчик бит
NEXT_BITR:
MVI A,0BH ; 0000.101_1b
STA PPAYES ; выставить бит_5" строб SPI SCK=1
LDA PORTEC ; читаем ППА2 ПортC
RAR ; cдвиг установит С признак
MVI A,0AH ; инвертируем бит_0
STA PPAYES ; выставим по нему бит_5 порта C. SPI SCK=0
MOV A,C ; взяли байт
RAL ; запись С -> [A0]
MOV C, A
DCR B ; уменьшим счётчик
JNZ NEXT_BITR ; повторим чтение бита, если не конец
MOV A,C ; взяли байт в А
POP B
RET

Подпрограммы подготовки записи :
WRD_SPI: ; подготовка записи по SPI - HL- нач. адр, MFR - режим, 02-Запись, 03-Чтение
CALL WRD_WREN ; вызов п\п записи команды ВКЛ WREN
MVI a,0CH ; бит_C6 = 0
STA PPAYES ; выставим бит_6 SS=0 выбор SPI
; Lhld Rda ; HL - нач. адр в ЕеПЗУ - назначается перед вызовом пп.
LDA Adrbl ; установка 24 битного адреса
MOV D, A ; в "D" -старший адрес блока в SPI (размер блока 64К)
LDA MFR ; режим, 02-Запись, 03-Чтение, 20,D8-Стирание
далее выполняется WRD_ADR
WRD_ADR: ; п\п записи режима и 24 битного адреса. А-режим, HL - Адрес, D - страница
CALL BYTE_WR
MOV A,D ; 24 бит Cтарший Адрес-блока по 64К (00-3FН)
CALL BYTE_WR
MOV A,H ; 24 бит Адрес - AH
CALL BYTE_WR
MOV A,L ; 24 бит Адрес - AL
CALL BYTE_WR
RET

WRD_WREN: ; п\п записи команды ВКЛ.Запись ( WREN)
MVI a,0CH ; инвертируем бит_0
STA PPAYES ; бит_6 SS=0
MVI A,06H ; команда WREN - Write Enable
CALL BYTE_WR
MVI A,0DH ; 0000.1101b
STA PPAYES ; бит_6" SS=1
RET

Подпрограммы записи 1 байта:

BYTE_WR: ; Запись 1 байта
PUSH B
MOV B,A ; сохраним байт в [D]
MVI C,08H ; счётчик бит в байте
NEXT_BITW:
MOV A,B ; вспомним байт B -> A
RLC ; цикл.сдвиг влево бит_7->бит_0
MOV B,A ; сохраним байт в [D]
ANI 01H ; выделим бит_0 - х
ORI 0EH ; дополним до "команды выставить бит_7"
STA PPAYES ; порта C: 0000.111хb
MVI A,0BH ; 0000.101_1b
STA PPAYES ; выставить бит_5" SCK=1
DCR A ; инвертируем бит_0 SCK=0
STA PPAYES ; выставим по нему бит_7 порта C.
DCR C ; уменьшим счётчик бит
JNZ NEXT_BITW ; повторим, по 8 бит
POP B
RET


Программа - SP-TAB-04.bin - размещается в ОЗУ по адресу 9000Н,
служебная область занимает область с 8000Н до 8FFFH.
при перезаписи используется область с 0000Н.

Скачать файл 1

Скачать файл 2

Скачать Архив

 

Купить платы, наборы микросхем на Орион-128, КР565РУ5В, КР565ру7В, к565ру5г AU, к565ру7г Au в позолоте, куплю микросхемы

 

Полезные и интересные статьи

На предыдущую страницу  На главную страницу  На следующую страницу