Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: "Классический" 8051 (АТ89С51) и софтовый USB 1.1?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > MCS51
Tronix286
Привет,

Ну все знают, что есть софтовый USB для AVR (V-USB). Есть аналог и для PIC16F (16fusb). Есть попытки и для MSP430 (Mecrimus-B ). А вот не попадалось ли кому такое же решение для "классического" 8051? В смысле, исходников. То, что принципиально такое возможно, косвено можно судить по этому проекту: http://www.cqham.ru/usb-hdd.htm (к сожалению, без исходных кодов).
kovigor
Цитата(Tronix286 @ Jan 13 2015, 01:38) *
То, что принципиально такое возможно, косвено можно судить по этому проекту: ...

No comments. Начну с того, что Mass-Storage, согласно спецификации, реализуем на скоростях не ниже FS. А еще добавлю, что даже на ujhfplj более быстром AVR программный USB выглядит попыткой сэкономить на грузовике и возить кирпичи на Жигулях. Хорошо все равно не получится, так стоит ли тратить время и силы ? И это еще при том, что давно уже есть 8051 с аппаратным USB - движком (например, те же AT89C5131) ...
Harbinger
Про "классику" с 12 тактами на МЦ сразу забываем - понадобится тактовая частота этак 150 МГц.
Можно попытаться вытянуть аналог V-USB на однотактовых ядрах (CIP-51, MPC82, AT89LP...) при тактовой частоте от 16 МГц - но разве что из спортивного интереса; зачем извращаться, если у того же Силабса есть валом чипов с аппаратным USB по вполне вменяемым ценам?

P.S. Прошивку по ссылке скачал, на досуге дизассемблирую. Что-то слабо верится, что оно может работать.
Сергей Борщ
Цитата(Tronix286 @ Jan 12 2015, 23:38) *
А вот не попадалось ли кому такое же решение для "классического" 8051?
"Классический" - это 12-тактовый с частотой 12 МГц? Для 1-2 тактового AVR на 12 МГц процедура приема вылизана до такта, "классический" 8051 просто не успеет. Совсем. Вы можете проверить сами - в V-USB ассемблера всего-то полсотни команд. Остальное на Си должно перенестись вообще без правок. Впрочем, чтобы понять бесперспективность затеи, достаточно прочитать пару страниц описания V-USB. Но читать документацию - это для слабых.

А статья по ссылке - первоапрельская шутка.
Tronix286
Цитата(Harbinger @ Jan 13 2015, 10:30) *
зачем извращаться, если у того же Силабса есть ..... [skip]
P.S. Прошивку по ссылке скачал, на досуге дизассемблирую. Что-то слабо верится, что оно может работать.


Как вы правильно и заметили, чисто из спортивного интереса. Всерьез конечно использоваться такое решение не будет. Ну и немножко в учебных целях

Цитата(Сергей Борщ @ Jan 13 2015, 10:32) *
"Классический" - это 12-тактовый с частотой 12 МГц?

А статья по ссылке - первоапрельская шутка.


Классический, это хотя бы тот флеш атмеловеский AT80C51, который в статье. Я не очень с 8051, поэтому собственно и обратился в этот раздел к людям, работающих с этими камнями. Вдруг во времена нелегких советско-российских 90-хх кто-то тоже поднимал на сабжах USB, так как выбора не было?

Дизассемблить 4кб кода - мне кажется слишком трудно.
Aner
Во времена (90-х годов) ламп, транзисторов, ИК580 (Intel8080, Z80) как то про USB ничего не писали, ни кто не делал такого. Почему?
Историю создания стандарта USB для начала не пробовали копнуть в инете?
Harbinger
Цитата(Сергей Борщ @ Jan 13 2015, 09:32) *
А статья по ссылке - первоапрельская шутка.

Тем более интересно, чего там в коде нашутили. sm.gif

P.S. В конце 90-х в USB было просто нечего включать, да и не на всякой материнке сия шина присутствовала.
Aner
Молодое поколение оно такое, истории не знает. Среди ламп и ламповых схем USB никак не отыщут. Потом тупо чухают диз для 4К кода. Непонимая, что там скоростная аппаратно-регистровая архитектура нужна. А уж потом кусок софта. Да, многие интерфейсы не учат, по причине того, что не кому преподавать.
Фреймворк электронной советско-российской промышленности сломан и рухнул давно. Взамен ноль и сырьё. Госты тихо постарели и померли. Тут намедни еще один молодой ГОСТ искал на Езернет ( Ethernet...) ... и чёт не нашёл. Удивлялся, узнав что не гоже нам американские военные стандарты передирать.

Частники наконец дозарабатывались на нефте и газе. В китае спасение. На сегодня USB первой версии, как и AVRы превратились в ископаемые. Так что, тот кто этим будет заниматься знайте: вы занимаетесь интерфейсно-микропроцессорной археологией. И электронные мусорки ваш удел. Позанимались с USB для AVR недельку не более. Все стоп. Смотрим, что у китайцев, ARMы USB2/USB3 ... уже не догнать. Начинаем ползти, двигатся, ... не догоним, ... но хоть немного согреетесь - говорят китайцы.

С Новым Старым годом! всех читающих это.
Tronix286
Цитата(Aner @ Jan 13 2015, 21:40) *
Молодое поколение оно такое, истории не знает. Среди ламп и ламповых схем USB никак не отыщут. Потом тупо чухают диз для 4К кода. Непонимая, что там скоростная аппаратно-регистровая архитектура нужна.


Молодое может быть и не знает истории, но хотя-бы интересуется. Согласитесь, что уже хотя бы это (интерес) не плохо. Ну промахнулся я с 90-ми, но позвольте, и вы тоже с лампами тогда промазали, причем похлеще меня. 4Кб кода незнакомой архитектуры - да, мне кажется много. Даже для родного и близкого мне x86 ассемблера - это прилично, хотя читать (а когда то, давным-давно, и писать) могу без словаря.

Чем вас так задела эта тема? Я прекрасно понимаю, что практического применения у сабжа нет. Я же написал, что интерес чисто спортивной, вашими словами - цифровая археология.

Примерно такие матерые дедушки эмбедеры тоже лет 7-8 назад твердили, что на PIC16F не может быть USB потому что такого быть не может, и что система команд ущербная, и частота никакая, и практически ваши слова один в один повторяли. А потом чувак взял и сделал, принял вызов, так сказать. Конечно пришлось идти на кучу ухищрений и не стандартных решений, разгона частоты с дефолтных 20МГц до 24МГц. Но сделал, и оно прекрасно работает. Вот я сам на прошлой неделе нашел у себя давно валявшийся PIC16F628A и сделал на нем музыкальную USB-безделушку за пару вечеров. Чисто для себя, ради забавы. Все работает, песенки поет и теплыми ламповыми DIP-корпусами поблескивает.

Конечно, находясь в здравом рассудке, никуда в продакшен я такое не потащу. Конечно там ARMы. Конечно там USB3. Разве я с этим спорю?
Tronix286
Хотя да, если верить какому-то даташиту на 8051, который нашел, то простая команда у него при 12Мгц выполняется за 1мкс. По спецификации USB 1.1 low speed один бит передается за 666,7нс. То есть даже не успеет бит обработать, не говоря уже о том, что бы еще параллельно поймать конец пакета (когда D+ и D- в нуле). В принципе, конец пакета можно и не ловить, а разбирать с начала пакета, скажем первые 88 бит, а дальше переходить уже на декодинг... Но, черт возьми, действительно не укладывается даже на декодинг одного бита по времени.

Действительно, проект по первой ссылке, кажется теперь и мне сомнительным. Хотя, может у 89C51 какой-нибудь множитель можно x2 включить, или время выполнения команд другое. Не могу на него нормальный даташит найти, попадается только краткий. Да хотя какое - другое, ну максимум что сделали - однотактовые команды все, то есть та же микросекунда на все про все.

Возможно в схеме ошибка, и камень тактуется от 24MHz кварца - тут уже разговор другой.
alexunder
Цитата(Tronix286 @ Jan 13 2015, 01:38) *
Ну все знают, что есть софтовый USB для AVR (V-USB). Есть аналог и для PIC16F (16fusb). Есть попытки и для MSP430 (Mecrimus-B ). А вот не попадалось ли кому такое же решение для "классического" 8051?

самый главный вопрос: ЗАЧЕМ городить софтовый USB на "ржавом ведре", если есть Silabs с двухтактным ядром 51 и замечательной библиотекой для работы с USB? Если нужен именно режим FS, то силабс-самое то. Если HS и 51, то Cypress FX2.
редактор
У более поздних версих AT есть внутренний множитель на 2 и внешний кварц может стоять до 24 МГц. Итого 4 МГц частота ядра. С таким железом уже можно "извращаться".
Но все равно сомнительно - поскольку за один такт (ядра не генератора) выполняется не очень большой набор команд, большинство требует 2-3 циклов.
mantech
Цитата(Tronix286 @ Jan 13 2015, 00:38) *
То, что принципиально такое возможно, косвено можно судить по этому проекту:


8051 на 12!!! Мгц, плюс еще работа с винтом по иде.... Мммда, либо программист ГЕНИЙ, но судя по этому"Контроллер проверен с несколькими дисководами... " я уже ничему не удивлен biggrin.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.