Работа с флопиком на уровне его интерфейса

Тема в разделе "WASM.ELECTRONICS", создана пользователем ravenEx, 24 ноя 2005.

  1. ravenEx

    ravenEx New Member

    Публикаций:
    0
    Регистрация:
    8 окт 2005
    Сообщения:
    18
    Максимум что мне удалось найти это цоколевку разъема и названия сигналов. Кто знает где найти протокол и примерные алгоритмы работы?
     
  2. VaStaNi

    VaStaNi Member

    Публикаций:
    0
    Регистрация:
    1 июн 2004
    Сообщения:
    203
    Адрес:
    Ukraine
    Надеюсь, "ты дружишь" с железом и его не боишься. Идеальные ТВОИ знаиния в этом вопросе, когда освоишь сам контроллер флопика, его команды, придурошные "фазы результата" и проч. Давным давно это назввалось I8272, найти в инете RU описание просто. ЧИтать Кулавова и пр. статьи, книги по приводам, проекты ОСей, драйверов, на ворумах (в т.ч. и здесь) исходники некоторые ложили...

    Но это сторона материнки! I8272, т.е. контроллер флопа со стороны машины. А если тебе надо сторона железки, то этот совет тебе тоже должен помочь, т.к. все равно начнешь с машины пробовать его "за вымя". Никоем образом не советую вындоз! Только ДОС + отладчик(мониторить порты).

    А вообще сейчас сам контроллер не отдельная микруха, а частичка южного моста машины с логикой работы чуть более чем I8272.
     
  3. ravenEx

    ravenEx New Member

    Публикаций:
    0
    Регистрация:
    8 окт 2005
    Сообщения:
    18
    Я ОС не пишу. И драйвер флопика не пишу тоже. И вообще вопрос не про ПК.

    Я собственно интересуюсь как работать с флопиком БЕЗ этого самого флопоконтроллера. Те юзая те КОНТАКТЫ которые есть на самом дисководе. Так что исходники мне нужны не для винды и даже не для доса а для какого-нибудь микроконтроллера.
     
  4. kropalik

    kropalik New Member

    Публикаций:
    0
    Регистрация:
    27 апр 2005
    Сообщения:
    155
    Адрес:
    msk
    срочно ? просто шас нету рядом книжки

    и название не помню. но несколько лет назад

    спаял по ней копировщик 5.25 дискет

    (из двух дисководов и pic16f84).

    на самом деле там все просто.

    если подождешь - постараюсь скинуть

    название книжки а если найду то и

    схему девайса.
     
  5. ravenEx

    ravenEx New Member

    Публикаций:
    0
    Регистрация:
    8 окт 2005
    Сообщения:
    18
    Кто понял жизнь тот не спешит:)

    А вообще буду рад любой информации. Уже сам кое-что нарыл и еще много подготовительной работы надо сделать.

    Можно кидать на мыло:

    kvachon<at>bsu<dot>by или kvachon<at>mail<dot>ru.
     
  6. kropalik

    kropalik New Member

    Публикаций:
    0
    Регистрация:
    27 апр 2005
    Сообщения:
    155
    Адрес:
    msk
    там на самом деле все просто.

    основные сигналы которые я юзал

    типа такие:

    выбор этого устройства

    включить мотор

    смена дорожки / направление

    чтение / запись

    выходы:

    запись разрешена

    дорожка 0

    сектор 0

    данные (1 bit)

    для копирования алгоритм примерно такой

    1. включить оба привода

    2. выдать смену дорожки пока не будет дорожка 0

    3. на устройстве для чтения дождаться

    сектор 0

    4. читать данные с выхода и сохранять в буфере

    (я юзал внешнюю SRAM) только там заморочка с синхронизацией. пришлось точно подбирать кварц

    на нужную частоту.

    5. на устройстве для записи дождаться сектор 0

    6. выдать сигнал записи и данные (проблема если

    скорость вращения дисководов разная, пришлось

    подрегулировать)
     
  7. ravenEx

    ravenEx New Member

    Публикаций:
    0
    Регистрация:
    8 окт 2005
    Сообщения:
    18
    Спасибо за информацию но меня интересует чтение данных те синхронизация с этим потоком. Там в форматирование заложена куча одинаковых байт для синхронизации. А каким образом на них синхронизироваться? Не совсем понял при чем тут частота кварца((
     
  8. kropalik

    kropalik New Member

    Публикаций:
    0
    Регистрация:
    27 апр 2005
    Сообщения:
    155
    Адрес:
    msk
    синхронизация про которую ты говоришь

    предназначена для контроллера чтобы

    он мог разбить дорожку на сектора.

    с точки зрения дисковода никаких секторов

    нету. есть только датчик (фотодиод) который

    показывает "начало дорожки". поэтому

    если просто читать данные с выхода - то там

    будет все что есть на дискете и эти данные

    будут повторяться каждые 200 мс. (скорость

    вращения диска 300 об.мин если я правильно помню)

    сколько данных туда записывать - дисководу

    тоже все равно, просто если попытаться записать

    больше чем расчитано - увеличится количество

    ошибок. так что в эту кучу одинаковых байт тоже

    можно что нибудь записать (так делали некоторые

    программы защиты дискет от копирования).



    >> А каким образом на них синхронизироваться

    так тебе нужно разбирать формат дискеты

    типа найти сектор с нужным номером ?



    вообще синхронизацию там придумали много лет назад,

    когда память денег стоила. вот и морочились

    чтоб отдельный сектор прочитать можно было.

    сейчас проще прочитать всю дорожку в буфер а

    потом уже разбирать.
     
  9. ravenEx

    ravenEx New Member

    Публикаций:
    0
    Регистрация:
    8 окт 2005
    Сообщения:
    18
    Вот то что предназначено для контроллера меня и интересует. Я и хочу сделать "контроллер" для чтения. Мне кажется что датчика не достаточно для синхронизации на битовом уровне(скока там бит на дорожку?). А еще мне и хотелось бы читать не секторами а меньшими блоками тк засунуть целый сектор мне некуда.

    Так что синхронизация мне очень даже нужна. В любом случае спасибо.
     
  10. kropalik

    kropalik New Member

    Публикаций:
    0
    Регистрация:
    27 апр 2005
    Сообщения:
    155
    Адрес:
    msk
    сорри книжку я пробовал найти

    но не нашел. за столько времени

    наверно выкинули. называлась

    "ремонт дисководов".



    >> А еще мне и хотелось бы читать не секторами

    >> а меньшими блоками тк засунуть целый

    >> сектор мне некуда.



    в таком случае может удобнее поюзать свой формат ?

    поставь при форматировании размер сектора поменьше...



    >> Мне кажется что датчика не достаточно для

    >> синхронизации на битовом уровне



    обычно так и есть (из-за неравномерности скорости

    вращения). в стандартном контроллере используется

    спец. последовательность бит (между секторами).

    мне пришлось поюзать автоподстройку частоты (ФАПЧ)

    чтобы можно было прочитать всю дорожку в том числе

    такую где этой последовательности нету.

    особенно пришлось помучиться с прогами

    которые меняли скорость в процессе форматирования

    (то есть дается команда форматирования а через

    определенное время выключение мотора.)



    >> Я и хочу сделать "контроллер" для чтения

    может скажешь какой именно? или еще не выбрал?

    просто например в AVR есть UART/SPI который

    можно поюзать для приема читаемых данных.

    синхронизация там уже есть готовая.
     
  11. ravenEx

    ravenEx New Member

    Публикаций:
    0
    Регистрация:
    8 окт 2005
    Сообщения:
    18
    >> в таком случае может удобнее поюзать свой формат ?

    >> поставь при форматировании размер сектора поменьше...

    Я просто думал читать сектор по частям(холостое чтение).



    Контроллер есть 8051 с SPI но мне данные не надо передавать в комп а юзать на месте небольшими порциями.

    Типа дискета пишется на компе и читается автономным дивайсом.
     
  12. kropalik

    kropalik New Member

    Публикаций:
    0
    Регистрация:
    27 апр 2005
    Сообщения:
    155
    Адрес:
    msk
    в общем если бы я делал что то подобное

    то попытался бы настроить какой нибудь

    из последовательных интерфейсов на прием

    данных от дисковода. на AVR точно можно,

    на MC51 наверно тоже (в них я не особо

    разбираюсь). имеется в виду что все что

    приходит по SPI записывать в буфер.

    а если размер буфера меньше сектора

    и данные случайно совпадут с последовательностью

    для синхронизации ? это к тому что буфер придется

    выбирать достаточной длины...



    >> Типа дискета пишется на компе и читается

    >> автономным дивайсом.



    а формат файловой системы тоже придется разбирать?

    мне эта задача кажется сложнее чем прочитаь сектор.

    то есть памяти полюбому понадобится немало.

    может стоит тогда поюзать внешнюю SRAM ?

    к тому же запись в нее можно сделать вообще

    независимо от контроллера (у меня как раз так

    и было сделано). шас схемку нарисовать негде

    только paint..
     
  13. kropalik

    kropalik New Member

    Публикаций:
    0
    Регистрация:
    27 апр 2005
    Сообщения:
    155
    Адрес:
    msk