- Июн 06 Как сделать переходник sata ide. Делаем своими руками
- Содержание
- Что потребуется
- Инструкция
- Советы
- Стоит обратить внимание
- IDE SATA переходник – вторая жизнь для старых жестких дисков
- Различия SATA и IDE
- Зачем нужен переходник?
- Как выбрать?
- IDE SATA с USB выходом
- Питание
- Переходник или новый накопитель?
- Сделай сам
- Самодельный «адаптер» для подключения 3.5» HDD вместо ноутбучного 2.5»
- Адаптер HDD или IDE USB SATA переходник для винчестера
- IDE/SATA => USB переходник
- Переходник или новый накопитель?
- Сделай сам
- Что потребуется
- Инструкция
- Стоит обратить внимание
- Как подключить жесткий диск к ноутбуку?
- Как подключить второй жесткий диск к ноутбуку?
- Как подключить внешний жесткий диск к ноутбуку?
- Sata кабель своими руками
- Sata кабель или sata переходник
- Находка № 2
- Находка № 3
Июн 06 Как сделать переходник sata ide. Делаем своими руками
Хранением информации на вашем персональном компьютере занимается жесткий диск. Прогресс, как известно, стоять на месте не может, поэтому его скорость работы и надежность постоянно улучшаются. Смена поколений также влечет за собой смену интерфейсов. Сегодня поговорим о переходниках sata ide.
Содержание
Что потребуется
Инструкция
Не скроем тот факт, что разъемы типа Sata – это развитие ide-подключений, последний стандарт, все же, правильно называть АТА. После появления на рынке Sata-интерфейса, ATA был переименован в PATA. Как вы, возможно, знаете, шина, на которой работает ide, хвастается работающей частотой в 33Мгц. Если же вернуться к интерфейсу sata, работа его шины определяется частотой в 1.5Ггц. Разница, согласитесь, порядочная.
Это сразу отметает возможность понятия «переходник», ибо нельзя соединить пассивно два устройства, работающих на разных частотах – для этого применяют специальное приспособление под названием конвертер. Его задача – переделывать входящий сигнал одного протокола в другой, понятный для второго устройства
1. Покажем наглядно на рисунке, из чего состоит стандартный переходник-конвертер для ide и sata.
2. Как вы видите, передняя часть отвечает за подключение ide-шлейфа, задняя предусмотрена для sata. Микросхема по центру платы является тем самым контроллером, отвечающим за преобразования входящего сигнала в нужный выходящий. Также вы можете заметить разъем питания – он нужен для кварцевого генератора (блестящая «ванна») и контроллера.
3. Работа по «самоделке» не выдерживает никакой критики после выяснения стоимости устройства в магазине. Нижеприведенное доказательство должно напрочь отбить у вас желание тратить уйму своего времени на достаточно легкодоступное и дешевое устройство.
Цена в 4$—15$ — отличный показатель.
Также узнайте, можно ли сделать переходник с vga на тюльпан и sata usb своими руками.
Советы
Помните, что любое производство электроники в домашних условиях не может похвастаться должной безопасностью. Вам некому будет жаловаться, если ваш винчестер и контроллеры на материнской плате сгорят из-за подключения инородного устройства.
Стоит обратить внимание
Наглядно рассмотреть еще одного представителя вы можете тут.
Источник
IDE SATA переходник – вторая жизнь для старых жестких дисков
Производство жестких дисков не стоит на месте. Технологии активно развиваются: скорость записи и считывания растет, увеличивается срок эксплуатации, появляются новые стандарты и форм-факторы, из-за чего многие старые устройства становятся несовместимы с современными компьютерами. Использовав IDE SATA переходники, можно заставить даже старую машину работать с новыми накопителями.
Различия SATA и IDE
IDE (ATA) – параллельный интерфейс подключения накопителей или оптических приводов к материнской плате. Старый стандарт 1990-х годов. IDE технология использует разъем 40 пин для подключения к материнской плате и отдельно 4 пина питания. В настоящее время почти вышедший из употребления класс. Исключение составляет старая техника, которая все еще эксплуатируется по непонятным причинам.
SATA – последовательный интерфейс обмена информацией. Сейчас применяется во всех новых устройствах. Обладает рядом преимуществ перед старой системой.
Основные достоинства SATA:
- высокая скорость считывания/записи информации;
- увеличенный объем непосредственно накопителя;
- возможность подключения устройств без перезапуска системы.
Существует также более свежая разновидность – eSATA. Тот же SATA, но гарантирует стабильный контакт на протяжении всего времени работы. Применяется для внешних HDD.
Зачем нужен переходник?
Есть несколько проблем, которые способны вызвать желание приобрести переходник IDE SATA. Например, дома лежит старый жесткий диск с интерфейсом IDE на 80 ГБ, а вам вдруг понадобилось «вытянуть» из него фотографию. Подключить его к новому компьютеру с разъемами SATA не выйдет.
- На компьютере резко стало не хватать объема памяти, а под рукой оказался IDE жесткий диск нужного объема, который на первый взгляд бесполезен.
- Ситуация может быть и обратной: без апгрейда старого компьютера на IDE интерфейсах хочется получить больше дополнительной памяти или восстановить файлы.
У всех ситуаций одно решение – использовать SATA/IDE или IDE SATA переходник. Он способен конвертировать поток данных из одной системы в другую, таким образом стирая границы между разными стандартами. Сложность применения – не более чем использование адаптера для microSD карт.
Как выбрать?
Первым делом стоит определиться, какой именно переходник нужен. Есть целых пять вариантов:
Первые два пункта подходят для внутренней установки. Они будут полезны, если один или несколько жестких дисков, или SSD разных стандартов захочется поместить в корпус компьютера. Обычно эти переходники даже не имеют корпуса и никак не защищены. Выглядят как обычная плата, где интуитивно понятно — куда и что подключать.
Важным параметром переходника с IDE на SATA является скорость считывания и передачи информации. В случае с USB адаптером, это может быть 2.0 или 3.0 версия. Последняя позволяет быстрее оперировать информацией, но зависима от версии портов компьютера, а также от возможностей самого винчестера.
IDE SATA с USB выходом
Кроме адаптеров переключения между стандартами IDE SATA, на прилавках можно встретить IDE SATA USB переходники. Данный девайс позволяет подключать любые жесткие диски прямо к порту USB независимо от стандартов. Так, допускается использовать обычные HDD диски в качестве большой флэшки. Это полезно в большей степени для ноутбуков или планшетов.
Встречаются как универсальные (SATA IDE переходник на одной плате, подключение сразу нескольких носителей одного или разного типа), так и раздельные (только SATA или IDE) переходники. Выбор зависит от конкретных потребностей и цены. Важным параметром при выборе будет наличие встроенного или дополнительного блока питания. Без него адаптер обойдется немного дешевле, но окажется менее функциональным. Есть возможность использования центрального блока питания компьютера, но это не всегда удобно, к тому же придется каждый раз откручивать крышку.
Питание
Диски серии IDE питаются от обычного разъема Molex с выводами 12v и 5v. Он есть на всех блоках питания.
SATA диски требуют подключения для плат 12v, 5v и 3.3v. Для это можно подыскать обычный переходник питания SATA IDE на 15 пин с Molex разъема. Проблема в том, что стандартный Molex не имеет провода 3.3v, а значит, и запитать некоторый блок платы не в состоянии. Эта особенность была учтена производителями дисков, в некоторой степени решена.
Подключенный через SATA интерфейс накопитель с питанием от переходника Molex/Sata, будет адекватно работать на всех машинах, но не на всех сможет поддерживать технологию горячего подключения (извлечение или присоединение к системе во время работы). На большинстве современных блоков питания присутствует отдельный вывод – SATA разъем, который не относится к Molex и включает питание 3.3v. Так или иначе, но для работы современные SATA девайсы не требуют напряжения 3.3v.
Переходник или новый накопитель?
На этот вопрос нет однозначного ответа. Все зависит от ваших предпочтений и бюджета. В нынешнее время цены на память сильно снизились, но все равно не радуют в некоторых моментах. Возможно, более рациональным решением будет приобретение нового накопителя или док станции, которая позволит быстро подключать жесткие диски разных форматов по принципу флешки.
Стоит учесть, что покупка нового винчестера может потянуть за собой апгрейд всей системы, в то время как установка адаптера ни к чему не обязывает.
Сделай сам
Большинство полезных электронных девайсов можно собрать всего за несколько долларов своими руками, без особых знаний электроники, но адаптер IDE SATA вряд ли попадает под категорию легко воспроизводимых устройств. В конечном счете, скорее всего, будет потрачено куда больше времени и средств, чем в случае покупки готового переходника, хотя на просторах Интернета легко найти множество рабочих схем. А вот «техномонстрам» такая задача должна прийтись по душе.
Источник
Самодельный «адаптер» для подключения 3.5» HDD вместо ноутбучного 2.5»
За время сидения на карантине разобрал весь инструмент и незаконченные поделки, и избавился от гор мусора. Дошли руки до коробки с разным компьютерным железом, среди которого — несколько старых «трёхдюймовых» HDD непойми с чем. Перед тем, как сплавить их на барахолку или разобрать «на магнитики» хотелось оценить состояние. Но незадача — дома только ноутбуки, подходящего десктопа нет, и в наличии только переходник USB-SATA.
Под катом — микроскопический рассказ про то, как смастерить переходник, чтобы USB-SATA адаптер под «ноутбучные» диски увидел диск стандартного формата.
Схожий обзор тут уже был, но я обойдусь без пайки и какого-то вмешательства в работу USB-SATA адаптера.
Сначала — повторюсь про теоретическую часть. В SATA-разъёме предусмотрено подведение к диску 12, 5 и 3,3 вольт (хотя на практике контакт 3.3 не используется и чаще всего не разведён; а в стандарте SATA 3.3 так и вовсе отдан под другую функцию). «Ноутбучные» диски типоразмера 2,5 дюйма используют только 5 вольт, их более крупные трёхдюймовые собратья требуют дополнительно 12 вольт:
В стандартном USB-SATA адаптере 12 вольт отсутствуют, поэтому подключать к ним полноразмерный HDD бесполезно. Да и надо помнить, что типовая сила тока для HDD — это по 0,9А на каждой из линий, так что даже если применить повышающий преобразователь — это однозначно перебор для USB-порта компьютера.
Курочить адаптер не хотелось совершенно; зато в начале апреля наткнулся на Ali на такой вот копеечный «удлинитель SATA» и сразу сообразил, что я смогу соорудить из него нужное:
Жёлтый и чёрный провода я срезал «под корень» с одной стороны и насадил на них разъём 5.5×2.1. Жилы оказались по виду медными, и достаточной толщины, не «три волоска». Подключил разъём к диску и с мультиметром убедился, что чёрный провод по линии 5 вольт и по линии 12 вольт где-то внутри него замыкаются.
После чего штекер подключил ко внешнему источнику питания 12V2A, а второй конец «удлинителя» — к USB-SATA адаптеру.
Диск завёлся сразу и определился. К сожалению, мой USB-SATA адаптер не поддерживает SMART, поэтому сейчас вот проверяется поблочно; на очереди — его собратья.
Напоследок, в дань традиции — живность. Коты передают, что эпидемия-эпидемией, а месяц безвылазно терпеть людей в их квартире они не подписывались:
Источник
Адаптер HDD или IDE USB SATA переходник для винчестера
IDE/SATA => USB переходник
Моя первая покупка на DealExtreme. Посылка долго ехала (45 дней), была вскрыта на двух таможнях (в Китае и в этой стране), но всё таки пришла в целости и сохранности. Тем, кому интересно, что это за проводок, добро пожаловать под кат. Собственно, данный переходник нужен для подключения IDE/SATA устройств через USB. Максимальная скорость передачи данных — 480 Мбит/с (зависит от устройств и версии USB). В комплекте идут: сам адаптер, блок питания для устройств, SATA-кабель, переходник с 4-х контактного питания на 15-ти контактное для SATA-устройств и краткая инструкция на английском. Всё это пришло в обычной коробке.
Коробка с содержимым
Целями данной покупки были: 1. Подключение CD/DVD привода от старого компа. Ноутбучный уж полгода как сдох, собственные диски никак не записать, да и друзьям хочется красивеньких дисков (привод поддерживает LightScribe). 2. Подключение старых ЖД. На них осталось много нужной информации, да и просто хочется покопаться в старых файлах 3. Хотелось приконтачить флоппик, но пока нет проводов для подключения питания к онному. Жду того времени, когда руки дойдут до паяльника.
Приступим к сборке. Сначала втыкаем адаптер в нужное устройство. Подключаем блок питания, в блок питания вставляем удлинитель, последний суём в розетку. Осталось только подключить устройство через USB.
После подключения устройство будет опознано как неизвестное (проверено на 2х компах, на обоих Windows 7). Делаем ребут системы. После этого устройство можно подключать в любое время без ребутов (plug and play).
Как это видит ПК
Плюсы очевидны. Точней их нет. Конструкция работает без нареканий, всё читается и записывается. А вот минусы всегда есть: 1. Качество исполнения. Особенно соединения влока питания люфтят и шатаются, а так же китайский диод «вырви глаз» в темноте светит не хуже настольной лампы. (итак, набралось очень много комментов про печальный исход жёстких дисков после подключения данного блока питания. у меня с DVD приводом работает исправно, хоть и греется, но не сильно. так что если есть возможность, то подключайте через БП системника) 2. Скорость передачи для SATA маловата.
Вывод: нужная вещь для определённых целей. Свою стоимость оправдывает. Можно добавить и купить что-нибудь подороже и качественней, но мне хватает и этого. Если Ваш блок питания потерпел фиаско, то можно взять другой тут, у него много хороших отзывов.
Следующий обзор посвящу только что пришедшим наушникам с BIC’а.
Переходник или новый накопитель?
На этот вопрос нет однозначного ответа. Все зависит от ваших предпочтений и бюджета. В нынешнее время цены на память сильно снизились, но все равно не радуют в некоторых моментах. Возможно, более рациональным решением будет приобретение нового накопителя или док станции, которая позволит быстро подключать жесткие диски разных форматов по принципу флешки.
Стоит учесть, что покупка нового винчестера может потянуть за собой апгрейд всей системы, в то время как установка адаптера ни к чему не обязывает.
Сделай сам
Большинство полезных электронных девайсов можно собрать всего за несколько долларов своими руками, без особых знаний электроники, но адаптер IDE SATA вряд ли попадает под категорию легко воспроизводимых устройств. В конечном счете, скорее всего, будет потрачено куда больше времени и средств, чем в случае покупки готового переходника, хотя на просторах Интернета легко найти множество рабочих схем. А вот «техномонстрам» такая задача должна прийтись по душе.
В эру компьютерных технологий, скорость развития портов для коммуникации последних также задних не пасет. Другое дело, что конечным пользователям такая гонка ни к чему. Не успели они купить одно устройство, а оное уже не подходит. Сегодня разберемся с переходниками sata-usb.
- Что потребуется
- Инструкция
- Советы
- Стоит обратить внимание
Что потребуется
- Чип-конвертер;
- Печатная плата;
- Паяльная станция;
- Программатор.
Инструкция
Дабы не томить занятых посетителей, сразу скажем – непомерно проще и дешевле пойти в ближайший компьютерный магазин, заплатить эквивалент пары американских долларов и получить заведомо работающее устройство, потратив на это до часа своего времени.
Дальнейшая статья для людей, не терпящих скользких убеждений, требующих доказательств или просто любознательных индивидов.
1. Вам стоит начать с получения чипа-конвертера. Поскольку протоколы работы usb/sata в корне разные, нет возможности «перепаять тот проводник сюда, а этот сюда, и все заработает». В данном случае, требуется перекодировка сигнала, что может сделать только чип, выполненный именно под задачу перекодировки usb в sata. На рисунке показана одна из разновидностей таких чипов.
2. Теперь вам понадобится печатная плата. Это «пластинка», на которую крепятся элементы. Учитывая, что плата должна быть с полностью индивидуальной разводкой для вашего устройства, купить такую невозможно. Как сделать саму плату – это тема, достойная еще 10-ти статей и оборудования на кругленькую сумму (если есть такое — супер, Вам повезло).
3. Чтобы запаять чип на плату и организовать разводку, вам потребуется паяльная станция.
4. В завершение, если вы маг, и вам удалось выполнить все предыдущие инструкции, ваша магия потребуется и далее. После получения готовой платы понадобится программатор – устройство, разработанное специально для вашей платы, дабы запрограммировать ее именно под конкретные нужды.
Если Вы выполнили все действия и заскучали, можете попробовать сделать своими силами переходник sata ide и с vga на тюльпан? Читаем, узнаем, пробуем — отписываемся о результатах.
Стоимость производства устройства своими руками, не учитывая всего оборудования, превысит магазинный ценник в 30-200 раз. Стоит ли?
Стоит обратить внимание
Каждый шаг данной инструкции вам придется выполнять раз по 15, так как труд предстоит микроскопический, и случайно попавшая пылинка сведет на нет всю проделанную работу. Возможно, если вам нечем занять ваш пытливый ум, стоит смастерить нечто более простое, например – самодельного робота?
Как сделать переходник sata usb своими руками2.90 out of 50 based on 29 voters. Поблагодари за статью — поставь лайк. Простой клик, а автору очень приятно.
Как подключить жесткий диск к ноутбуку?
Диски от компьютера размером в 3,5″ и высотой 25 мм внутри ноутбука не поместятся, для данной цели используются HDD размером 2,5 ″ и высотой 9,5 мм. Для замены или установки нового накопителя нужно перевернуть ноутбук, отсоединить аккумулятор и снять крышку, освободив доступ к винчестеру. Далее откручиваем крепежные винты и можем вынимать старый диск или переходить непосредственно к подключению нового накопителя.
Как подключить дополнительный жесткий диск к ноутбуку:
- Располагаем шасси с винчестером в нишу, подсоединяем, вдавливая его до упора.
- Закрепляем жесткий диск в днище ноутбука специальными винтами.
- Устанавливаем аккумулятор.
Как подключить второй жесткий диск к ноутбуку?
Желание увеличить память своего устройства возникает у многих пользователей, но размеры тонкого ноутбука не разрешают сделать это удобным образом, как на персональном компьютере. Существует несколько способов реализовать данную идею, нужно разобраться с комплектующими деталями и выбрать правильный вариант. Не бойтесь ошибиться, в какой SATA подключать второй жесткий диск, в большинстве вариантов устройства оснащены всего одним разъемом для накопителя и разъемом для DVD-привода.
Варианты подключения второго винчестера к ноутбуку:
- В редких моделях существует посадочное место для второго жесткого диска.
- Используем переходники SATA-USB, SATA-IDE, IDE-USB. Питание к устройству подводим дополнительным шнуром.
- Применение заводских контейнеров для HDD, которые разрешают подсоединять накопитель через USB-порт. Покупая данный карман-переходник, нужно знать размер своего диска, существуют версии для 2,5 дюйма и 3,5 дюймов.
- Приобретение готового портативного внешнего жесткого диска к своему переносному компьютеру.
- Извлечь DVD-привод и установить вместо него второй винчестер.
Как подключить внешний жесткий диск к ноутбуку?
Данный способ расширения памяти имеет существенные преимущества, вам не требуется разбирать устройство и применять специальные переходники, поэтому быстро решить проблему, как подключить винчестер к ноутбуку способны даже новички. Покупаем внешний диск и приступаем к работе. Отметим, в некоторых моделях питание производится от сети и для них требуется наличие отдельного блока питания.
Как подключить жесткий диск к мобильному компьютеру:
- Подключаем питание к внешнему диску.
- Подсоединяем шнур USB к винчестеру.
- Второй конец шнура USB подсоединяем к свободному порту.
- Загорание индикатора говорит о готовности HDD к работе.
- Диск отображается на мониторе ноутбука.
Sata кабель своими руками
Приветствую вас друзья, читатели и посетители моего блога. В этом статье я расскажу про sata кабель. Как известно что все производители компьютерных технологии давно перешли на sata питания.
Этом статье будут описаны все нюансы создания sata кабеля или еще ее называют sata переходник, своими руками. И так начнем процесс.
Sata кабель или sata переходник
Для начало нам понадобиться нерабочий блок питания пк. А из блока питания нужно вытащить самый длинный sata кабель.
Самый длинный кабель желательно но если такого нет наличии конечно можно и кароткий.
В большинство случаи бывает что к sata кабелю присоединен какой-то другой разъем. Ее можно оставить можно и снять если она вам не пригодится или по какой-то причине мешает.
Находка № 2
Во время рассмотрения и комментирования функций я обнаружил, что очень часто в коде используется функция PRINTF (я так назвал ее). Интересно в ней то, что перед ее вызовом в регистр R7 записывается печатный символ.
Функция PRINTF в IDA Pro
Сама функция была представлена на рисунке выше. Давайте разберемся с ней. Первым делом нужно переместить значение из регистра с адресом 0x7F6 в аккумулятор. Если там оказался ноль, то выходим из функции. Самое интересное происходит, если там окажется не ноль. Тогда значение регистра R7 перемещается в регистр с адресом 0xC001, а, как мы помним, перед вызовом этой функции в R7 записывается печатный символ. Далее следует проверка, равно ли значение в R7 коду символа «.» или «-», если нет, то выходим из функции. А вот если сравнение оказалось удачным, то функция берет значение из регистра с адресом 0x16A и перемещает его в 0xC001, но делает это хитро. Например, вместо байта 0х41 (символ «А» в ASCII) функция переместит в 0хС001 байт 0х34 (символ «4» в ASCII), а потом 0х31 (символ «1» в ASCII). Снова выходим из функции.
Я выяснил, что проверка в начале функции не может быть пройдена, так как регистр с адресом 0x7F6 инициализируется нулем, потом в коде не изменяется. То есть данная функция отключена программистом, хотя и осталась скомпилированной. То, что в регистр 0хС001 только записываются байты (а иногда по два подряд), натолкнуло на мысль, что это, скорее всего, аппаратный регистр.
Все это напоминает UART. Чтобы выяснить, так ли это, необходимо сделать следующее:
- Определить ножки на ASM1051, куда выведен UART.
- Определить параметры UART (скорость, четность, количество стоп-битов).
- Хорошо бы включить UART в коде (судя по всему, он выключен).
Выглядит все достаточно просто: можно по очереди прикасаться к ножкам логическим анализатором и искать ту, на которой будет виден момент посылки UART. При наличии сигнала скорость можно определить по времени импульсов. С остальными параметрами тоже все понятно, достаточно лишь увидеть момент посылки байта на анализаторе.
Чтобы «включить» данную функцию, можно записать нули вместо первых трех строк, где выполняется проверка значения в регистре с адресом 0х7F6. Для этого еще раз открываю прошивку в WinHex.
Выделены шесть байтов, которые нужно обнулить
В редакторе меняю нужные шесть байтов на нули. Теперь прошивка готова и ее можно загрузить в эмулятор ПЗУ. Если предположить, что функция для вывода байтов в UART включена, а ее вызов расположен очень часто по всему коду, то можно ожидать, что байты должны «полететь» из UART при работе адаптера. Надеюсь увидеть трейсер, который сигнализирует байтами в UART о том, какая часть кода исполняется.
Как я уже писал выше, для того чтобы найти нужные ножки Rx и Tx, можно смотреть логическим анализатором по очереди все. Однако я предположил, что Rx и Tx на ASM1051 находятся там же, где и у ASM1053 – ножки 40 и 41 соответственно. Прикладываю щуп анализатора к пину 41 (предполагаемый Tx) и вижу что-то похожее на искомый сигнал:
Временная диаграмма с ножки 41 – Tx
Для того чтобы подключить преобразователь USB-UART и наблюдать в терминале приходящие печатные символы, пришлось припаять два тонких проводка прямо на плату адаптера и закрепить термоклеем.
Два проводка припаяны к RX и TX
Немного изучил диаграмму с рисунка «Временная диаграмма с ножки 41 – Tx»: время одного импульса, судя по всему, – 1 мкс, а для шести бит – 6,3 мкс. Пересчитав значение в боды, получил около 950000 бод, ближайшая стандартная скорость UART – 921600 бод. Думаю, такое расхождение получается из-за погрешности измерения логическим анализатором, я взял не самый достойный аппарат, а китайского «малыша». После установки параметров в окне программы Terminal 1.9b я смог наблюдать приходящие байты с МК ASM1051 во время его работы.
Окно программы Terminal 1.9b во время работы адаптера
Вывод:
В МК ASM1051 есть аппаратный модуль UART. Регистр для отправки данных имеет адрес 0хС001. Скорость передачи данных – 921600 бод. Имеется один стоп-бит. Ножка 41 – Tx, а 40 – Rx (хотя это не точно).
Находка № 3
Листая код в дизассемблере, добавляя комментарии, можно найти конструкции сложнее, чем запись числа в регистр. Так мне попался интересный обработчик, часть которого на С, выглядела как switch ().
Обработчик команды из регистра с адресом 0x800F
Понимая, что где-то обязательно должны обрабатываться SCSI-команды, я стал среди них искать байты, с которыми на рисунке выше сравнивается содержимое регистра с адресом 0x800F. Оказалось, что первые четыре ветки проверяют команды Read(10), Write(10), Read(16), Write(16). Сомнений в том, что это обработчик команд SCSI, больше не осталось. Далее я просмотрел функцию, которая вызывается в случае, если пришедшая команда не Read/Write (u_Switch). Она, в зависимости от байта в регистре с адресом 0x16A (значение взято из 0x800F), считывает адрес, на который мы попадем при выходе их этой функции. Это похоже на switch ().
Так как я уже определил байт, с которым сравниваю пришедшую в адаптер SCSI-команду, то быстро расставил соответствие адресов по командам. Так, например, на рисунке выше видно, что если бы в регистре с адресом 0x16A оказался байт 0x1A, то после выхода из функции u_Switch мы бы перешли по адресу 0x1B85. Интересно, что не все байты, с которыми происходит сравнение в u_Switch, были определены в стандарте SCSI. То есть адаптер может обработать байты 0хЕ6 или 0xDF, но они не закреплены стандартом.
Как видим, адаптер может выполнять кастомные команды и для них есть функции-обработчики.
Страница 13 из Universal Serial Bus Mass Storage Class
Обратим внимание на смещение 0x0F относительно адреса 0x8000. Перед обработчиком именно из регистра с адресом 0x800F считывается команда SCSI. Если внимательно прочитать таблицу на рисунке выше, то можно увидеть, что в Command Block Wrapper (CBW) поле CBWCB тоже имеет смещение 0x0F. Получается, что адреса RAM-памяти ASM1051, начиная с 0x8000, могут быть USB-буфером, как показано в таблице ниже.
Адрес памяти | Описание |
0х8000-0х8003 | dCBWSignature (USBC – в случае получения пакета) |
0х8004-0х8007 | dCBWTag |
0х8008-0х800B | dCBWDataTransferLength |
0х800C | bmdCBWFlag |
0х800D | bCBWLUN |
0х800E | bCBWCBLength |
0х800F-0х801F | CBWCB – SCSI-команда и ее параметры |
На рисунке ниже показан участок кода, где происходит сравнение со строкой USBC (такой должна быть сигнатура dCBWSignature) и расположена предполагаемая сигнатура с адреса 0х8000. Думаю, этого достаточно, чтобы убедиться в том, что USB-буфер расположен в RAM-памяти начиная с 0х8000.
Проверка поля dCBWSignature на совпадение со строкой USBC
Источник