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

User Tag List

Страница 1 из 4 1234 ПоследняяПоследняя
Показано с 1 по 10 из 38

Тема: SPI контроллер для Ориона на дискретных ИС

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

    По умолчанию SPI контроллер для Ориона на дискретных ИС

    Просыпайтесь. А то весна уже скоро.
    Предлагаю обсудить SPI контроллер для Ориона на дискретных ИС.
    На данный момент для Ориона есть 2 поддержанные реализации подключения SPI (а точнее SD-карт, т.е. усеченного SPI) - их схемы во вложении.

    1) Схема от n8vem (тупо регистр на запись и буфер на чтение) - самая очевидная и самая медленная, в ней все импульсы реализуются программно. Скорость примерно в два-три раза медленнее дисковода (за исключением позиционирования).

    2) Схема цельнотянутая с MSX (запись побитно программно, чтение автоматизировано через регистр, но 1 бит = одна команда ЦПУ). Скорость примерно в полтора раза медленнее дисковода (за исключением позиционирования).

    Т.е. обе не сахар по быстродействию. Нужна схема с аппаратным сдвигом и чтением/записью данных целым байтом. Наблюдая за похожими проектами (HardwareMan, PVV) родилась мысль попробовать собрать аналог аппаратного SPI. Вот что получается прикидочно: схема по сложности равная MSX, но работать будет со скоростью близкой к авторскому IDE от PRO (ну или NEMO IDE, т.е. даже еще быстрее чем IDE на ВВ55) или схеме с внешним микроконтроллером:



    В полном варианте схемы 9* корпусов с полным дешифратором (2* корпуса, в принципе у кого-то сократится на уже имеющийся) и 2 чипа на регистр выбирающий длину пакета (1..8 бит), скорость передачи (одну из двух) и SPI-устройство от одного до трех (регистр дает выбрать длину пакета менее 8 бит, чтобы подключать устройства с пакетом не кратным 8 битам, например SPI-часы и датчики многие такие). Если ограничиться только одной SD-картой (и на ИЕ7 фиксированно поставить предустановку в 7 ) и условно выкинуть дешифратор портов, то в контроллере остается 5(?) корпусов. И в любом варианте контроллер получается меньше чем контроллер НГМД или IDE варианта Nemo-like (у схемы IDE на ВВ55, понятно, конкурентов по простоте нет )

    В подпрограмме spi_sel инициализация ИЕ7 (холостой прогон клоков чтобы сработал перенос и защелка предустановки из регистра) делается при сначала невыбранных устройствах.

    Предлагаю обсудить - чтобы понять косяки еще до пайки (т.к. паяю и отлаживаю железки я долго и грустно, системами моделирования не владею, что явно видно по рисунку ).
    Аппаратный SPI да на несколько устройств - это вообще весчь! Можно подключить не только SD-карту, но и дешевые часы-RTC и контроллеры Ethernet, различные датчики типа термометров и т.п., причем все это на общую шину MISO/MOSI/SCK - только селекты раздельные подать.
    Вложения Вложения
    • Тип файла: zip sdcard.zip (76.1 Кб, Просмотров: 235)
    Последний раз редактировалось Error404; 10.09.2017 в 12:21. Причина: Поправил схему
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

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

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

    По умолчанию

    Я строил дискретную схему исходя из того, что мне доступно. ИР24 нет, а вот ИР13 есть. В остальном поддерживаю.

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

    По умолчанию

    Я ир24 для себя вообще недавно открыл, листая на ночь для заснуть справочник. Оказалась очень удобной: и сдвиг в любую сторону с вводом, и хранение с параллельной загрузкой и чтением, и шину умеет в Z ставить. В Москве много где продается, рублей по десять, в чипадипе негуманных 28 рублей стоит (как обычно у них - втридорога)
    Последний раз редактировалось Error404; 14.02.2017 в 14:58.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

  5. #4
    Member
    Регистрация
    23.01.2016
    Адрес
    г. Омск
    Сообщений
    189
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А программно это чем поддерживается?
    Радио-86РК-SRAM, Орион-128 512, ОРИОН-ПРО 3.2, ZXM-Phoenix 05.2 (+VGA), ПОИСК-2, Xi 8088, Micro 8088

  6. #5
    Member
    Регистрация
    12.12.2014
    Адрес
    г. Сыктывкар
    Сообщений
    74
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Наверное в мониторе загрузчик будет. Для N8vem и msx есть мониторы ,а из под Ордос загрузчик.

  7. #6
    Guru Аватар для Denn
    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,220
    Спасибо Благодарностей отдано 
    473
    Спасибо Благодарностей получено 
    899
    Поблагодарили
    591 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    Cool

    SDHC - это хорошо. Быстрая поддержка и на дискретах - вообще прекрасно. С удовольствием понаблюдаю за развитием

    У меня идея сабжа немного другая, она как-бы чуть меньше по религии А именно, поручить МК всю "черновую" работу с SDHC, т.о. освободить 8-битку от кучи рутины, отнимающей драгоценное ОЗУ. В итоге принцип такой: 8-битка видит регистры (данных, команд, состояния), также имеется небольшое СОЗУ для хранения данных, команд и сектора (512 байт, возможно нескольких секторов, т.к. СОЗУ обычно 2 или 8 Кб, почему бы не закэшировать туда сразу несколько? ). 8-битка пишет в СОЗУ/регистры необходимые данные, и МК в фоне начинает исполнять команду. В это время 8-битка покуривая и попивая кофе чекает регистр состояния, и если всё готово, то забирает либо готовые данные, либо код ошибки (если что-то пошло не так). На МК ложатся: определение карты, хэндшейкинг, хранение ID-сессии, алгоритмы чтения/записи сектора, форматирование... в общем, весь низкий уровень.
    8-битка работает на уровне: есть/нет SDHC, записать/считать целевой сектор.

    Сопсно, в чём профит такого решения:

    - полностью асинхронная работа (нет привязки к быстродействию 8-битки, МК молотит с картой на своих скоростях, 8-битка пишет/читает данные на своих);
    - есть возможность использования быстрого 4-битного протокола с картой, вместо черепашьего SPI;
    - 100500 байт кода обслуживания протокола с SDHC не занимают ОЗУ 8-битки;
    - при выходе новых карт/стандартов, просто меняется прошивка МК, 8-битка об этом и знать не знает;
    - схемотехника минимальна по кол-ву корпусов (СОЗУ, ПЗУ /логика/, МК, преобразование уровней 5в<->3в).

    Вроде МК как-бы мимо религии, но не более чем сама SDHC, у которой внутрях тот же МК
    Последний раз редактировалось Denn; 14.02.2017 в 17:30.
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  8. #7
    Member
    Регистрация
    12.12.2014
    Адрес
    г. Сыктывкар
    Сообщений
    74
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Интересно конечно. Жаль только что стандарт не "утвержденный", в каждом случае свой.

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

    По умолчанию

    Цитата Сообщение от tol123 Посмотреть сообщение
    Интересно конечно. Жаль только что стандарт не "утвержденный", в каждом случае свой.
    Утверждающие на работу не вышли.
    На самом деле для новых устройств, которые уже в 21 веке пошли (когда Орион уже сошел с дистанции), нет никаких ограничений (в виде авторских планов). Тут, думаю, кроме нас самих некому задавать что и как будет. Старый диапазон устройств не трогаем (там устройств то - полдюжины едва наберется), а о новых договоримся.

    - - - Добавлено - - -

    Цитата Сообщение от DIMKA55 Посмотреть сообщение
    А программно это чем поддерживается?
    Пока ничем. Главное чтобы железка заработала (она пока только на бумаге). Если говорить за SD-карты, то программно разные схемы отличаются как раз таки лишь низовыми подпрограммами записи и чтения байта (которые на картинке). Меняешь их, а все остальное работает как надо.

    - - - Добавлено - - -

    Цитата Сообщение от Denn Посмотреть сообщение
    SDHC - это хорошо. Быстрая поддержка и на дискретах - вообще прекрасно. С удовольствием понаблюдаю за развитием
    У меня идея сабжа немного другая, она как-бы чуть меньше по религии А именно, поручить МК всю "черновую" работу с SDHC, т.о. освободить 8-битку от кучи рутины, отнимающей драгоценное ОЗУ.
    Китайцы делают нечто подобное для эмуляции IDE(ATA) через контроллер к SD-карте. Я даже покупал такой адаптер и пробовал его на Орионе-ПРО. На схеме с ВВ55 он запустился, а на "НЕМО"-IDE авторском - не захотел. В этом смысле схема на контроллере с меньшим количеством интерфейсных линий (для IDE надо все 24) и более простым протоколом чем ATA (чтобы не было такого как у китайцев "тут работает, тут нет"), вполне будет годна.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

  10. #9
    Guru Аватар для Denn
    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,220
    Спасибо Благодарностей отдано 
    473
    Спасибо Благодарностей получено 
    899
    Поблагодарили
    591 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Error404, на схеме из заглавного поста фигурирует сигнал "/iorq". Я правильно понимаю, что владельцы классического Ориона (на ВМ80А) курят бамбук?
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

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

    По умолчанию

    Цитата Сообщение от Denn Посмотреть сообщение
    Error404, на схеме из заглавного поста фигурирует сигнал "/iorq". Я правильно понимаю, что владельцы классического Ориона (на ВМ80А) курят бамбук?
    Не, просто я навскидку не помню как выбираются порты по OUT на классике. В частности и поэтому дешифратор выделен отдельным блоком - нет предпочтений как оно должно быть. Например для ПРО вроде принято ВУ адресовать как порты, а для Ориона-128 как память диапазона F7xx, и дешифратор будет другой. Самой схеме надо два порта, а как они будут выбраны пока не важно (схема в процессе осмысления, пока не понятны более критичные вещи - например, прямым или инверсным SCK надо тактировать сдвиг у ИР24).
    Последний раз редактировалось Error404; 15.02.2017 в 12:49.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

Страница 1 из 4 1234 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Игры для Ориона 128
    от Dota в разделе Орион
    Ответов: 9
    Последнее: 13.06.2020, 06:03
  2. FUZIX для Ориона (ПРО)
    от b2m в разделе Орион
    Ответов: 18
    Последнее: 10.04.2016, 12:25
  3. Новый IDE-контроллер для Ориона
    от alx32 в разделе Орион
    Ответов: 24
    Последнее: 26.01.2015, 23:14
  4. cp/m для Ориона-128
    от sergey2b в разделе Орион
    Ответов: 7
    Последнее: 11.02.2011, 17:52

Ваши права

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