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

User Tag List

Страница 31 из 33 ПерваяПервая ... 27282930313233 ПоследняяПоследняя
Показано с 301 по 310 из 328

Тема: Контроллер дисковода для УКНЦ, работающий с образами на micro-SD карте.

  1. #301
    Guru
    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Jarik65535, как успехи? Я сейчас занимаюсь параллельным проектом на STM32, так у меня получается, что необязательно полностью отключаться от системы на время операции с uSD. Аппаратный селектор адреса узнает, что обратились к нам и выдает сигнал(ы) внешнего прерывания. По этому прерыванию смотрим, пишут нам или читают, если читают, выдаем код "Думаю, прошу не мешать", если пишут - отмечаем, что нужно прервать текущую операцию. После этих действий выдаем СИП. Да, долго, неэффективно (а не фига общаться с нами прополкой), но ни разу не смертельно. Мой 72-МГц STM32 успевает с запасом, думаю, твой 48-МГц CyPress тоже успеет. А по завершении операции с SD-шкой, запрещаем это самое внешнее прерывание и входим в короткий цикл нормальной работы с Q-BUS/МПИ.

    Как я понимаю, это чисто программируемые дела, то есть изменений в аппаратуре не требуется. Может попробуешь?
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

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

  3. #302
    Member
    Регистрация
    25.08.2015
    Адрес
    г. Ульяновск
    Сообщений
    186
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я не часто сейчас занимаюсь контроллером. Голова пухнет от этих конечных автоматов, встроенных один в другой. По прерываниям cypress едва успевает на шине ПП, и то надо очень аккуратно обработчик писать, но с аппаратным ответом лучше же. Тоже думал про STM32 особенно F4 какой-нибудь, но там и аппаратная обвязка нужна и преобразователь уровней.

  4. #303
    Guru
    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Jarik65535 Посмотреть сообщение
    По прерываниям cypress едва успевает на шине ПП, и то надо очень аккуратно обработчик писать, но с аппаратным ответом лучше же.
    Это если делать в прерывании что-то серьезное. А так (на STM32): аппаратура ущучила обращение к CSR нашего контроллера, в смысле, адрес опознан и пришел СИА. Этот СИА, при опознанном адресе нашего CSR, вызывает внешнее прерывание. 12 тактов займет сама отработка прерывания, то есть аппаратное сохранение PSR, PC, LR, R0-R3 и R12, затем наша программа отработки этого прерывания должна прочитать из GPIO состояние сигналов ВВОД Н и ВЫВОД Н (5-10 тактов, считаем худший случай, 10). Если активен ВВОД Н, переключаем тот порт GPIO, который подключен к ДА00-15 на вывод (5-10 тактов), выдаем туда код "Думаю, прошу не мешать" (2-4 такта) и выдаем СИП. Все, критичное место пройдено, до него 12 + 10 + 10 + 4 == 36 тактов, на частоте 72 МГц это 0.5 мкс, что многократно меньше 10 мкс, которые вызовут тайм-аут МПИ. Далее, простой прополкой, ждем, когда снимется СИА (неважно, сколько там будет тактов), после чего переключаем GPIO шины данных снова на ввод (5-10 тактов), снимаем СИП и выходим из прерывания (пара тактов наших и 12 аппаратных на выход из прерывания, итого 10 + 2 + 12 == 24). Следующая команда, даже в случае прополки нашего контроллера, не будет обращаться к CSR, поэтому эти 24 такта будут некритичны. Обмен с SD-шкой тоже потерпит, занятое прерыванием время Кортекса просто задержит очередную операцию записи/считывания байта или слова. А, может быть, и не задержит, а отнимет это время у нашей прополки аппаратного контроллера SPI, если он используется.

    Если же программа прерывания обнаружит не чтение CSR, а запись в него, то считываем порт GPIO шины данных, если там команда СТОП, отмечаем где-то, что надо прекратить обмен, иначе взводим состояние ошибки, после чего уходим туда, где выдают СИП и завершают цикл обмена с МПИ. Тут тоже будет не более 3-4 десятков тактов, т.е. во времянку МПИ мы укладываемся полностью.
    Это на 72-МГц STM32F103. На 48-МГц CyPress оно, конечно, будет похуже, но не фатально. Хуже другое - при прямой злобной прополке нашего CSR у нас бОльшая часть времени будет занята отработкой этой самой прополки, из-за чего отработка основных действий будет заметно тормозить. Но это актуально только в начальных загрузчиках, где первичный драйвер должен работать именно в режиме прополки. (В отличие от основного системного драйвера, который работает в прерываниях ЦП и никакой прополки там нет.) Так вот, в рекомендациях по написанию этого первичного драйвера мы, по-простому, укажем требование делать прополку с задержкой - проверили регистр, не понравилось - делаем пустой цикл в сотню-другую команд (или десяток-другой, конкретную цифру уточним) и только после этого суёмся к CSR в следующий раз.

    Так вот, когда основная задача, которая принимала блок с SD-шки, или, наоборот, отсылала его на нее, закончит свою работу, закрываем (маскируем) это самое внешнее прерывание и уходим в короткий цикл непосредственного обмена с МПИ.

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

    Да, писал по памяти и слегка напутал - после выдачи СИП надо ждать, пока снимется не СИА, а ВВОД Н или ВЫВОД Н, после чего надо снимать СИП, следом ЦП снимет СИА.
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  5. #304
    Member
    Регистрация
    25.08.2015
    Адрес
    г. Ульяновск
    Сообщений
    186
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Единственный плюс — реализация экстренного останова.
    А никто не оценивал максимальную частоту прополки на шине ЦП двумя командами, может там не так все плохо?

  6. #305
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Jarik65535 Посмотреть сообщение
    А никто не оценивал максимальную частоту прополки на шине ЦП двумя командами, может там не так все плохо?
    На процессоре ВМ1 с частотой 5.3 МГц это ~ 120 кГц, на процессоре ВМ2 с частотой 10 МГц - ~ 210 кГц.

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

    Это если проверять только бит READY. Если по маске проверять (например) бит 40000 - будет ещё на 30% медленнее.
    Последний раз редактировалось Patron; 02.11.2017 в 12:53.

  7. #306
    Guru
    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Jarik65535 Посмотреть сообщение
    Единственный плюс — реализация экстренного останова.
    А он обязателен, иначе возможны чудеса. Изредка, конечно, но это еще хуже. Это с RT11FB. А RT11SJ, вместо команды экстренного останова посылает сигнал RESET (СБРОС Н), это тоже надо учитывать.

    Цитата Сообщение от Patron Посмотреть сообщение
    На процессоре ВМ1 с частотой 5.3 МГц это ~ 120 КГц, на процессоре ВМ2 с частотой 10 МГц - ~ 210 КГц.
    Своими глазами видел 1201-02 (ВМ2) на которой SPEED.SAV показывала 1 млн регистровых операций в секунду. (Не знаю, кто ее так разогнал, но работала без вопросов. Впрочем, неудивительно: там же мультивибратор без кварца.) То есть, максимальная частота, которую следует ожидать от ВМ2 - 330 кГц (три цикла шины). Впрочем, на УКНЦ, вроде-бы, кварц 8 МГц?
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  8. #307
    Guru
    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Jarik65535 Посмотреть сообщение
    Единственный плюс — реализация экстренного останова.
    Ну да, я не подумал, у тебя-то все просто: удалось запихнуть в ПЛИС нужную схему, прописал ее в PSoC4, и вперед! А мне делать аппаратный ответ с кодом "Думаю, прошу не мешать" - это пара-тройка лишних микросхем, которые надо распаять/прикрутить на макетке, и все это под гнётом вопроса: а как оно потом разведется на двусторонней печатке? Ибо 4 и более слоев - это резкое удорожание платы. Я тут, как раз, потихоньку клепаю эту самую макетку, плотно сесть и быстро сделать - тоже времени нет...
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  9. #308
    R.I.P. Аватар для hobot
    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    370
    Поблагодарили
    309 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Jarik65535 Посмотреть сообщение
    Единственный плюс — реализация экстренного останова.
    А никто не оценивал максимальную частоту прополки на шине ЦП двумя командами, может там не так все плохо?
    если надо какой-то кусочек кода или тестовый исполняемый файл на живой УК-НЦшке прогнать дайте знать.
    И конечно не мне одному интересны все (любые) подробно\новости по обоим(параллельным) проектам?
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  10. #309
    Activist
    Регистрация
    09.04.2009
    Адрес
    Зеленоград
    Сообщений
    449
    Спасибо Благодарностей отдано 
    127
    Спасибо Благодарностей получено 
    427
    Поблагодарили
    195 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    @hobot дал попробовать такие устройства:

    Белая платка сначала не подавала признаков жизни, но после пропила стала вести себя так-же как и зеленая:

    После показа что на картинке - УКНЦ виснет.
    Что бы это значило?

  11. Этот пользователь поблагодарил Ynicky за это полезное сообщение:

    hobot (02.12.2019)

  12. #310
    Member
    Регистрация
    25.08.2015
    Адрес
    г. Ульяновск
    Сообщений
    186
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ynicky Посмотреть сообщение
    После показа что на картинке - УКНЦ виснет.
    Что бы это значило?
    Очень странно. Очевидно, аппаратных проблем нет, работает и эмуляция ПЗУ и чтение с карты, а что это за полосы внизу, без контроллера также? Другие образы пробовали? На СТОП реагирует?

Страница 31 из 33 ПерваяПервая ... 27282930313233 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Контроллер дисковода
    от andrew76 в разделе Внешние накопители
    Ответов: 54
    Последнее: 08.02.2017, 10:37
  2. Контроллер дисковода +3 DOS
    от Tim в разделе Внешние накопители
    Ответов: 8
    Последнее: 17.04.2012, 16:32
  3. [Украина]Продам контроллер дисковода УКНЦ,аукцион.
    от Mad Killer/PG в разделе Барахолка (архив)
    Ответов: 5
    Последнее: 25.12.2011, 00:09
  4. Куплю контроллер дисковода
    от djvini в разделе Барахолка (архив)
    Ответов: 10
    Последнее: 21.04.2011, 01:19
  5. Куплю контроллер дисковода для УКНЦ
    от tnt23 в разделе Барахолка (архив)
    Ответов: 2
    Последнее: 27.02.2009, 08:51

Ваши права

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