Максимум что мне удалось найти это цоколевку разъема и названия сигналов. Кто знает где найти протокол и примерные алгоритмы работы?
Надеюсь, "ты дружишь" с железом и его не боишься. Идеальные ТВОИ знаиния в этом вопросе, когда освоишь сам контроллер флопика, его команды, придурошные "фазы результата" и проч. Давным давно это назввалось I8272, найти в инете RU описание просто. ЧИтать Кулавова и пр. статьи, книги по приводам, проекты ОСей, драйверов, на ворумах (в т.ч. и здесь) исходники некоторые ложили... Но это сторона материнки! I8272, т.е. контроллер флопа со стороны машины. А если тебе надо сторона железки, то этот совет тебе тоже должен помочь, т.к. все равно начнешь с машины пробовать его "за вымя". Никоем образом не советую вындоз! Только ДОС + отладчик(мониторить порты). А вообще сейчас сам контроллер не отдельная микруха, а частичка южного моста машины с логикой работы чуть более чем I8272.
Я ОС не пишу. И драйвер флопика не пишу тоже. И вообще вопрос не про ПК. Я собственно интересуюсь как работать с флопиком БЕЗ этого самого флопоконтроллера. Те юзая те КОНТАКТЫ которые есть на самом дисководе. Так что исходники мне нужны не для винды и даже не для доса а для какого-нибудь микроконтроллера.
срочно ? просто шас нету рядом книжки и название не помню. но несколько лет назад спаял по ней копировщик 5.25 дискет (из двух дисководов и pic16f84). на самом деле там все просто. если подождешь - постараюсь скинуть название книжки а если найду то и схему девайса.
Кто понял жизнь тот не спешит А вообще буду рад любой информации. Уже сам кое-что нарыл и еще много подготовительной работы надо сделать. Можно кидать на мыло: kvachon<at>bsu<dot>by или kvachon<at>mail<dot>ru.
там на самом деле все просто. основные сигналы которые я юзал типа такие: выбор этого устройства включить мотор смена дорожки / направление чтение / запись выходы: запись разрешена дорожка 0 сектор 0 данные (1 bit) для копирования алгоритм примерно такой 1. включить оба привода 2. выдать смену дорожки пока не будет дорожка 0 3. на устройстве для чтения дождаться сектор 0 4. читать данные с выхода и сохранять в буфере (я юзал внешнюю SRAM) только там заморочка с синхронизацией. пришлось точно подбирать кварц на нужную частоту. 5. на устройстве для записи дождаться сектор 0 6. выдать сигнал записи и данные (проблема если скорость вращения дисководов разная, пришлось подрегулировать)
Спасибо за информацию но меня интересует чтение данных те синхронизация с этим потоком. Там в форматирование заложена куча одинаковых байт для синхронизации. А каким образом на них синхронизироваться? Не совсем понял при чем тут частота кварца((
синхронизация про которую ты говоришь предназначена для контроллера чтобы он мог разбить дорожку на сектора. с точки зрения дисковода никаких секторов нету. есть только датчик (фотодиод) который показывает "начало дорожки". поэтому если просто читать данные с выхода - то там будет все что есть на дискете и эти данные будут повторяться каждые 200 мс. (скорость вращения диска 300 об.мин если я правильно помню) сколько данных туда записывать - дисководу тоже все равно, просто если попытаться записать больше чем расчитано - увеличится количество ошибок. так что в эту кучу одинаковых байт тоже можно что нибудь записать (так делали некоторые программы защиты дискет от копирования). >> А каким образом на них синхронизироваться так тебе нужно разбирать формат дискеты типа найти сектор с нужным номером ? вообще синхронизацию там придумали много лет назад, когда память денег стоила. вот и морочились чтоб отдельный сектор прочитать можно было. сейчас проще прочитать всю дорожку в буфер а потом уже разбирать.
Вот то что предназначено для контроллера меня и интересует. Я и хочу сделать "контроллер" для чтения. Мне кажется что датчика не достаточно для синхронизации на битовом уровне(скока там бит на дорожку?). А еще мне и хотелось бы читать не секторами а меньшими блоками тк засунуть целый сектор мне некуда. Так что синхронизация мне очень даже нужна. В любом случае спасибо.
сорри книжку я пробовал найти но не нашел. за столько времени наверно выкинули. называлась "ремонт дисководов". >> А еще мне и хотелось бы читать не секторами >> а меньшими блоками тк засунуть целый >> сектор мне некуда. в таком случае может удобнее поюзать свой формат ? поставь при форматировании размер сектора поменьше... >> Мне кажется что датчика не достаточно для >> синхронизации на битовом уровне обычно так и есть (из-за неравномерности скорости вращения). в стандартном контроллере используется спец. последовательность бит (между секторами). мне пришлось поюзать автоподстройку частоты (ФАПЧ) чтобы можно было прочитать всю дорожку в том числе такую где этой последовательности нету. особенно пришлось помучиться с прогами которые меняли скорость в процессе форматирования (то есть дается команда форматирования а через определенное время выключение мотора.) >> Я и хочу сделать "контроллер" для чтения может скажешь какой именно? или еще не выбрал? просто например в AVR есть UART/SPI который можно поюзать для приема читаемых данных. синхронизация там уже есть готовая.
>> в таком случае может удобнее поюзать свой формат ? >> поставь при форматировании размер сектора поменьше... Я просто думал читать сектор по частям(холостое чтение). Контроллер есть 8051 с SPI но мне данные не надо передавать в комп а юзать на месте небольшими порциями. Типа дискета пишется на компе и читается автономным дивайсом.
в общем если бы я делал что то подобное то попытался бы настроить какой нибудь из последовательных интерфейсов на прием данных от дисковода. на AVR точно можно, на MC51 наверно тоже (в них я не особо разбираюсь). имеется в виду что все что приходит по SPI записывать в буфер. а если размер буфера меньше сектора и данные случайно совпадут с последовательностью для синхронизации ? это к тому что буфер придется выбирать достаточной длины... >> Типа дискета пишется на компе и читается >> автономным дивайсом. а формат файловой системы тоже придется разбирать? мне эта задача кажется сложнее чем прочитаь сектор. то есть памяти полюбому понадобится немало. может стоит тогда поюзать внешнюю SRAM ? к тому же запись в нее можно сделать вообще независимо от контроллера (у меня как раз так и было сделано). шас схемку нарисовать негде только paint..