Питание флоппи дисковода распиновка
Выросло поколение пользователей, которые уже не знают, как им пользоваться и как вообще выглядит этот флопи привод. Когда-то 3,5-дюймовые флопи дискеты были настоящим передовым носителем информации. Во время своего появления они имели высокую плотность записи, сравнительно высокую надежность и компактные размеры (если сравнивать с 5,25-дюймовым предшественником). Но сегодня его место занимает кард-ридер, причём последний, похоже, также собирается кануть в небытие. Хотя, пока существуют устройства, носящие в себе карты памяти для расширения встроенной, ридер будет ещё сидеть в чреве нашего любимца.
Перемещение считывающей головки
Чтобы сместить головку на один шаг, необходимо подать одиночный импульс на контакт 20. Перемещение производится не по фронту, а по спаду импульса. Дисковод должен быть активизирован (минус на 12 контакт).
Направлением перемещения управляет 18 контакт. Когда он замкнут на минус, то головка перемещается по направлению к центру, в противном случае (по умолчанию), к краю диска.
Поперемещать считывающую головку дисковода просто. Достаточно «пощелкать» минусом по 12 контакту.
Головка способна переместиться на 80 шагов.
Включение двигателя
Чтобы запустить двигатель вращающий диск, надо соединить 16 контакт с минусом.
Однако, двигатель работает только тогда, когда в дисковод вставлена дискета.
Можно дискету не вставлять, а зажать отверткой кнопку-датчик.
Как вариант, установить на плату дисковода перемычку, шунтирующую кнопку.
Все проверенные мной дисководы запускают двигатель даже тогда, когда находятся в не активизированном состоянии, т.е. попросту не обращают внимание на уровень 12-го контакта.
Логические уровни TTL
In anycase the floppy interface used 5v TTL as the electrical interface, which would also comply with LVTTL switching levels.
На выходах отладочной платы логическая единица это 3.3в, а FDD интерфейс использует 5в, это означает, что подключать FDD нужно к «5v tolerant» пинам. Что бы их найти, достаточно открыть даташит контроллера STM32L152RBT6, который установлен на STM32L-DISCOVERY и посмотреть таблицу с названием ". pin definitions". Если в колонке «I/O structure» стоит «FT» (five-volt tolerant) значит на пин можно смело подавать 5в.
Из подробного мануала нам известны логические уровни TTL
An Input high voltage of 2.0 volts and and input low voltage of 0.8 volts.
An Output high voltage of 2.4 volts and and input low voltage of 0.5 volts.
это означает что 3.3в нам хватит с головой для подачи логической единицы.
В идеале, для согласования логических уровней у устройств должна быть общая земля, поэтому запитаем отладочную плату прямо от дисковода.
На дисководе есть стандартный разъем питания.
Припаиваем два проводка к плате дисковода (на 1 и 2 пин) и втыкаем в EXT_5V и GND на STM32L-DISCOVERY.
Как управлять FDD?
Для управления шаговым двигателем дисковода используется два пина, 18 DIR «Direction» и 20 STEP «Step».
Сначала нужно задать направление движения подав LOW (0) или HIGH (1) на DIR, а после этого сдвинуть головку на один трек:
Особенность интерфейса IDE FDD
Сигнальные входы подтянуты к питанию. Напряжение высокого уровня на них означает логический ноль, а низкого – логическую единицу.
Таким образом, чтобы подать логическую единицу на какой-либо контакт, достаточно соединить его с минусом.
Напомню, что нижний ряд контактов и корпус – это минус.
С чего начать?
Если посмотреть распиновку разъема то все входы/выходы являются четными, нечетные ножки это земля (GND). На дисководе должен быть зазор, что бы правильно вставить шлейф, переверни девайс зазором вниз, верхняя левая ножка это 2.
Поставь джампер на 12-11 ножки («Drive Sel B» с GND) загорится светодиод на передней панели дисковода, далее джампер на 16-15 («Motor Enable B» с GND) диск начнет крутится.
Выбор активного дисковода и свечение светодиода
Активизация дисковода производится соединением 12 контакта на минус (подача логической единицы). У активного дисковода сразу начинает светиться зелёный светодиод.
Перемещение считывающей головки возможно только если дисковод активизирован.
Проще всего активизировать дисковод с помощью жесткой перемычки между 11 (минус) и 12 (активизация) контактом.
Если 11 контакта (минуса) нет, то 12 контакт придется соединить с любым другим минусовым контактом нижнего ряда гибким проводом.
Ещё один вариант, это разобрать дисковод и сделать перемычку на минус прямо на плате.
Если все флоппики активизировать перемычками на минус заранее, то при построении флопотрона не потребуется к каждому дисководу подводить провод к 12 контакту.
Отрицательная сторона такого решения – светодиоды всех дисководов будут светиться всё время, даже когда они «не играют».
Пишем тестовую прошивку
Настраиваем порты GPIO на вывод обычного логического сигнала, включаем тактирование порта вывода и 6 таймера общего назначения. Шины к которым они подключены можно посмотреть в даташите. Далее в бесконечном цикле крутим шаговый двигатель на 100 треков, то назад то вперед.
Магическая цифра 2096 это стандартная внутренняя частота работы данного контроллера (2,097 МГц).
Однажды, исследуя просторы интернета наткнулся я на интересную плату с микроконтроллером. Называется эта удивительная вещица Arduino. Меня очень заинтересовала эта схемка. С ее помощью можно сделать самому робота, метеостанцию, сигнализацию и даже что-то посерьезней, например — «Умный Дом».
Прикупив сей девайс, начал изучать. Наигравшись со светодиодами, датчиком температуры и LCD дисплеем, решил сделать что-то такое эдакое. Увидел на YouTube ролик про музыкальный дисковод, заинтересовался. Благо у меня этого добра (Floppy Drive`ов) полно на работе. Полазив по рунету и не обнаружив подробных мануалов как это можно реализовать, полез на буржуйские сайты и к своему счастью там и нашел подробное описание. И так начнем.
Необходимые ингредиенты:
Дисковод 3,5'' гибких дисков, у меня их 6 штук
Arduino Uno
BreadBoard, можно и без него, но с ним все же удобней
Блок питания от компьютера, подойдет любой
Мы сразу замыкаем 2 контакта зеленый и черный чтобы включить блок питания
Подключение флоппи к Arduino:
Полную распиновку флоппика давать не буду, ибо все есть в инете. Нам необходимы следующие пины:
11 и 12 контакты дисковода замыкаем между собой с помощью джампера (Jumper).
17 и 19 контакты дисковода подводим к земле Arduino (GND).
18 контакт флоппа соединяем с 3 digital pin Arduino.
20 контакт флоппа соединяем со 2 digital pin Arduino.
Это что касается одного флоппика, с другими остальными 5-ю, как в моем случае, то повторяем процедуру так же. Единственное отличие, то что на 2 дисководе 18 контакт соединяем с 5 цифровым контактом Ардуины, а 20 с 4-м и так далее.
Ну и соответственно питаем 5В и GND сами дисководы.
Установка софта:
Качаем IDE для Ардуины, подключаем к компу, ставим драйвера.
На данном этапе, перед заливкой скетча в Ардуину, необходимо скачать к себе библиотеку
TimerOne в то место где находится папка с ардуино, например: %arduino%\libraries\
Далее нам необходимо залить скетч в Arduino.
Далее после заливки кода в микроконтроллер и после того как все железо подключено, необходимо установить Java JDK и интегрированную среду разработки NetBeans.
После качаем java проект MoppyDesk — по сути эта прога и есть тот самый мозг, который заставляет через микроконтроллер производить звуки на флоппи дисководах.
Затем скачиваем драйвера для программы MoppyDesk. Так как у меня Windows 7, то я копировал файлы:
RXTXcomm.jar в \jre\lib\ext
rxtxSerial.dll в \jre\bin
rxtxParallel.dll в \jre\bin
Открываем проект MoppyDesk в NetBeans и запускаем его, выбираем наш com порт (в диспетчере устройств можно посмотреть на какой порт установился Arduino), нажимаем кнопку Connect, далее необходимо выбрать midi файл, нажимаем Start и начинается дискотека. Так как у меня в серверной очень шумно, и дисководов почти не слышно, то я использовал микрофон, дабы усилить эффект.
Всё что нужно знать о Floppy Disk Drive
-
— очень подробно; — здесь расписан псевдокод операций чтения и записи; — пример подключения девайса.
Некоторые соображения
Как я уже говорил, можно сделать перемычку на плате дисковода между минусом и 12 контактом. В этом случае свечение светодиода будет постоянным.
Можно подвести к 12 контакту отдельный провод и активизировать дисковод только когда надо «пошуметь» головкой.
Еще один способ, это сделать перемычку на плате между 12 и 20 контактами. Тогда при подаче импульса на смещение головки на 20 контакт, автоматически будет происходить активизация дисковода и светодиод будет подмигивать на каждом шаге перемещения.
Другой вариант.
Другой вариант.
Трёхпроводные:
1 — «-» питания
2 — «+» питания
3 — датчик оборотов
-
Кабель для подключения дисководов(Floppi).
Существуют как минимум два разных документа с разными данными:
Русскоязычный вариант:
Жилы с 10 по 16 после первого разъёма перекручены - необходимо для идентификации дисковода. Нечетные контакты - корпус.
По такой схеме можно подключить индикатор активности.
DVD slim sata (распиновка стандарта мини сата).
USB 2.0 серии A, B и Mini
USB 2.0 Микро USB
Распиновка разъёма материнской платы для передней панели USB 2.0
USB 3.0 серии A, B, Micro-B и Powered-B. Серия Powered-B отличается от серии B, тем, что у него есть в наличии 2 дополнительных контакта, которые служат для передачи дополнительного питания, таким образом, устройство может получить до 1000 мА тока. Это снимает надобность в дополнительном источнике питания для маломощных устройств.
Распиновка разъёма материнской платы для передней панели USB 3.0
Разъемы данных (Северный мост):
Чтобы видеокарта заработала в режиме x8 PCI Express, мы заклеили часть контактов скотчем.
Та же самая видеокарта, но заклеено больше контактов. Она работает в режиме x4 PCI Express.
Если заклеить лишние контакты, то видеокарта PCI Express станет работать в режиме всего x1 PCI Express. Пропускная способность составляет 256 Мбайт/с в обоих направлениях.
Для того что бы подключить STM32L-DISCOVERY к FDD тебе понадобится 4 провода и 2 джампера.
Что жужжит и крутится?
В дисководе есть мотор, который вращает дискету, и шаговый двигатель, который перемещает считывающую головку. На дискете 80 дорожек, соответственно головка способна сделать 80 шагов.
Нулевая дорожка ближе к краю магнитного диска, восьмидесятая – ближе к его центру.
В музыкальных целях используется перемещение головки, но при желании двигателем тоже можно покрутить.
Питание дисковода FDD
Дисковод требует напряжения в 5 В. Запитать флоппик можно от компьютерного блока питания. Чтобы запустить блок питания, нужно на самом длинном разъеме перемкнуть контакт зеленого и любого из черных проводов.
Если вы впервые так «заводите» блок питания, то настоятельно рекомендую прочитать в интернете инструкцию на эту тему.
Ни в коем случае, не включайте блок питания компьютера без нагрузки!
Питание к дисководу подводится через четырехконтактный разъём (Mate-N-Lock). Чёрные провода – это минус, красный – +5 В, жёлтый – +12В. Напряжение в двенадцать вольт в дисководе не используется, поэтому соответствующий контакт впаян в плату, но ни к чему не подключён.
Для проведения экспериментов, мне оказалось комфортнее запитать дисковод от внешнего блока питания для жёсткого диска. Воспользовался переходником с Molex на Floppy. Такие переходники еще потребуются, поэтому рекомендую их подкупить заблаговременно.
На фотографии видно, что для питания действительно достаточно только двух проводов: +5 В (красный) и минус (чёрный).
Нумерация дисководов
На один кабель в компьютере можно было повесить два или даже четыре дисковода. Дисководы принято обозначать буквами A, B или как Drive 0, Drive 1, Drive 2, Drive 3.
Дисковод реагирует на команды перемещения головки только тогда, когда он выбран активным. Активность указывается подачей логической единицы на соответствующий пин:
- 6 – для Drive 3
- 10 – для Drive 0
- 12 – дляDrive1 илиB
- 14 – для Drive 2 или A
Специальной перемычкой (при наличии) на дисководе можно задать номер контакта (6, 10, 12 или 14), который будет отвечает за активизацию дисковода, т.е., по сути, присвоить номер (тип) устройству (Drive 0, Drive 1 - B, Drive 2 - A, Drive 3).
Со временем для подключения дисководов придумали кабель с перекрученными у одного из разъёмов проводами (Floppy Disk Drive Cable Twist), а дисководы с перемычками перестали производить.
Все дисководы стали выпускаться с предустановленным производителем типом. Самый распространённый – это Drive 1, он же B.
Один из двух подключенных к Twist-кабелю дисководов сохранял свой тип Drive 1 (B), а второй, за счет перекрутки, воспринимался компьютером как Drive 2 (A).
Мне с трудом удалось отыскать хоть какой-то дисковод с перемычкой. На Sony MPF520 перемычка позволяет назначить дисковод как Drive 1 (B) или Drive 0.
Скорее всего, все найденные вами дисководы будут дисководами типа B (Drive 1), поэтому в дальнейшем повествовании опираться буду только на них.
Поиск
Появилось желание собрать собственный Флопотрон – оркестр из старых флоппи дисководов. Энтузиастами ведется проект Moppy, в рамках которого создана программа и инструкция по дирижированию дисководами посредством Arduino и ПК. Но хочется не просто воспользоваться готовым рецептом, а детально разобраться что и как работает.
Это первая часть цикла про Флопотрон, тут расскажу, как подключить и заставить работать флоппи-дисковод, какие сигналы нужны для управления им. Контроллер Arduino можно на время отложить в сторону, сегодня он не понадобится.
ДЛЯ ПРОДОЛЖЕНИЯ ПРОЕКТА ФЛОПОТРОН НУЖНЫ:
Дисководов 5,25 дюйма + пара дискет
Дисковод 3,5 дюйма марки CHINON FB-354
Немножко дискет 3,5
ПРИМУ В ДАР ИЛИ КУПЛЮ НЕДОРОГО ИЛИ ОПЛАЧУ ПЕРЕСЫЛКУ
ПИШИТЕ НА ПОЧТУ KOBEJIKOV(a)RAMBLER
Флопи . Годами ранее.
А раньше многие компьютеры оборудовались двумя дисководами, которым назначались буквы A и B. В большинстве случаев один был 5.25» (вообще динозавр, сошёл на «нет» моментально). Нужен был механизм определения, какой из них будет A, а какой B. На выходе из материнской платы по 10-му и 14-му проводам шлейфа на флопповоды идут управляющие сигналы для дисковода A, а по 12-му и 16-му — для B. Потом в один прекрасный момент (следующий после первого разъема для подключения привода) наступает то, что в научной литературе называется «twist», и все провода с 10-го по 16 переворачиваются, и к ни о чем не подозревающему второму разъему шлейф приходит в состоянии, в котором по 10-му и 14-му проводам идут команды дисководу B (потому что это на самом деле 12-й и 16-й провода!), а по 12-му и 16-му соответственно — к дисководу A (по той же самой причине). Таким образом, шлейф вводит в заблуждение (чтоб не сказать хуже) второй дисковод, который, думая, что он A, работает как B, и наоборот. Все дисководы идут с джампером, предустановленным в режим работы B, таким образом, при установке двух дисководов на этот волшебный шлейф, у тебя автоматически один становится A (который в конце), а другой — B.
Обратите внимание. В таблице представлены только контакты чётные. Для нечётных всё просто: они «садятся » на корпус.
Комментарии публикую с постмодерацией. Извините, иногда бывают задержки.
Распиновка интерфейса IDE FDD
Разъём интерфейса 34-пиновый, но на практике не все контакты нижнего ряда могут быть установлены.
Нижний ряд может быть и почти совсем «беззубым» (зависит от конкретной модели), нам не принципиально.
В общем случае, нижний ряд (нечетные контакты) – это минус (Ground), верхний ряд (чётные контакты) – сигнальные линии.
В разных документах описывается как минимум два варианта распайки разъема IDE FDD.
Вариант первый
Контакт | Сигнал | Контакт | Сигнал |
2 | М/С | 20 | Step Pulse |
4 | N/C | 22 | Write Data |
6 | N/C | 24 | Write Enable |
8 | Index | 26 | Track 0 |
10 | Motor Enable А | 28 | Write Protect |
12 | Drive Select В | 30 | Read Data |
14 | Drive Select A | 32 | Select Head 1 |
16 | Motor Enable В | 34 | (Spare) |
18 | Stepper Direction |
Вариант второй
Контакт | Сигнал | Контакт | Сигнал |
2 | Reduced Write | 20 | Step |
4 | Reserved | 22 | Write Data |
6 | Drive Select 3 | 24 | Write Gate |
8 | Index | 26 | Track 0 |
10 | Drive Select 0 | 28 | Write Protect |
12 | Drive Select 1 | 30 | Read Data |
14 | Drive Select 2 | 32 | Side 1 Select |
16 | Motor On | 33 | Diskette Change |
18 | Direction Select |
Не указанные в таблицах контакты – это минус (Ground)
или же контакт отсутствует или не подключён.
Контакты нижнего ряда замкнуты на минус (общий провод). Исключения могут составить не подключённый 1 и сигнальный 33 контакты. 34 контакт верхнего ряда также может быть минусовым. Корпус дисковода также, как правило, замкнут на минус. Всё это зависит от конкретной модели флоппика. Всегда можно воспользоваться тестером и определить минусовые контакты конкретного экземпляра.
Поскольку флопотрон не будет задействовать функционал по записи и считыванию данных, то необходимости разбираться в назначении абсолютно всех контактов интерфейса смысла нет.
Нам интересны только несколько контактов:
Контакт | Сигнал | Значение |
12 (6, 10, 14) | Drive Select | Активизация привода |
18 | Direction Select | Смена направления движения головки |
20 | Step | Импульсы смещения головки |
16 (10) | Motor Enable | Включение двигателя вращения диска * |
* Двигатель вращения диска громких звуков не производит,
поэтому в флопотроне он задействован не будет.
Читайте также: