реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> "Классический" 8051 (АТ89С51) и софтовый USB 1.1?, Никто не встречал исходников?
Tronix286
сообщение Jan 12 2015, 21:38
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 71
Регистрация: 25-10-14
Пользователь №: 83 341



Привет,

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

Сообщение отредактировал Tronix286 - Jan 12 2015, 21:39
Go to the top of the page
 
+Quote Post
kovigor
сообщение Jan 12 2015, 23:51
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 949
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(Tronix286 @ Jan 13 2015, 01:38) *
То, что принципиально такое возможно, косвено можно судить по этому проекту: ...

No comments. Начну с того, что Mass-Storage, согласно спецификации, реализуем на скоростях не ниже FS. А еще добавлю, что даже на ujhfplj более быстром AVR программный USB выглядит попыткой сэкономить на грузовике и возить кирпичи на Жигулях. Хорошо все равно не получится, так стоит ли тратить время и силы ? И это еще при том, что давно уже есть 8051 с аппаратным USB - движком (например, те же AT89C5131) ...
Go to the top of the page
 
+Quote Post
Harbinger
сообщение Jan 13 2015, 07:30
Сообщение #3


старший лаборант
******

Группа: Свой
Сообщений: 2 600
Регистрация: 30-09-05
Из: ЮЗЖД
Пользователь №: 9 097



Про "классику" с 12 тактами на МЦ сразу забываем - понадобится тактовая частота этак 150 МГц.
Можно попытаться вытянуть аналог V-USB на однотактовых ядрах (CIP-51, MPC82, AT89LP...) при тактовой частоте от 16 МГц - но разве что из спортивного интереса; зачем извращаться, если у того же Силабса есть валом чипов с аппаратным USB по вполне вменяемым ценам?

P.S. Прошивку по ссылке скачал, на досуге дизассемблирую. Что-то слабо верится, что оно может работать.


--------------------
Китайская комплектация - европейское качество! ;)
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 13 2015, 07:32
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 093
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



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

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


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Tronix286
сообщение Jan 13 2015, 09:17
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 71
Регистрация: 25-10-14
Пользователь №: 83 341



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


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

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

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


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

Дизассемблить 4кб кода - мне кажется слишком трудно.
Go to the top of the page
 
+Quote Post
Aner
сообщение Jan 13 2015, 09:45
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 4 477
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



Во времена (90-х годов) ламп, транзисторов, ИК580 (Intel8080, Z80) как то про USB ничего не писали, ни кто не делал такого. Почему?
Историю создания стандарта USB для начала не пробовали копнуть в инете?
Go to the top of the page
 
+Quote Post
Harbinger
сообщение Jan 13 2015, 14:53
Сообщение #7


старший лаборант
******

Группа: Свой
Сообщений: 2 600
Регистрация: 30-09-05
Из: ЮЗЖД
Пользователь №: 9 097



Цитата(Сергей Борщ @ Jan 13 2015, 09:32) *
А статья по ссылке - первоапрельская шутка.

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

P.S. В конце 90-х в USB было просто нечего включать, да и не на всякой материнке сия шина присутствовала.


--------------------
Китайская комплектация - европейское качество! ;)
Go to the top of the page
 
+Quote Post
Aner
сообщение Jan 13 2015, 18:40
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 4 477
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



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

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

С Новым Старым годом! всех читающих это.
Go to the top of the page
 
+Quote Post
Tronix286
сообщение Jan 13 2015, 20:07
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 71
Регистрация: 25-10-14
Пользователь №: 83 341



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


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

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

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

Конечно, находясь в здравом рассудке, никуда в продакшен я такое не потащу. Конечно там ARMы. Конечно там USB3. Разве я с этим спорю?
Go to the top of the page
 
+Quote Post
Tronix286
сообщение Jan 13 2015, 21:38
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 71
Регистрация: 25-10-14
Пользователь №: 83 341



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

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

Возможно в схеме ошибка, и камень тактуется от 24MHz кварца - тут уже разговор другой.

Сообщение отредактировал Tronix286 - Jan 13 2015, 21:57
Go to the top of the page
 
+Quote Post
alexunder
сообщение Jan 13 2015, 23:08
Сообщение #11


unexpected token
****

Группа: Свой
Сообщений: 797
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(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.


--------------------
Go to the top of the page
 
+Quote Post
редактор
сообщение Jan 14 2015, 09:17
Сообщение #12


Местный
***

Группа: Участник
Сообщений: 345
Регистрация: 9-06-07
Пользователь №: 28 315



У более поздних версих AT есть внутренний множитель на 2 и внешний кварц может стоять до 24 МГц. Итого 4 МГц частота ядра. С таким железом уже можно "извращаться".
Но все равно сомнительно - поскольку за один такт (ядра не генератора) выполняется не очень большой набор команд, большинство требует 2-3 циклов.


--------------------
Хорошую систему делают из стандартных блоков нестандартно мыслящие инженеры.
Go to the top of the page
 
+Quote Post
mantech
сообщение Aug 29 2015, 17:21
Сообщение #13


Профессионал
*****

Группа: Участник
Сообщений: 1 688
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Tronix286 @ Jan 13 2015, 00:38) *
То, что принципиально такое возможно, косвено можно судить по этому проекту:


8051 на 12!!! Мгц, плюс еще работа с винтом по иде.... Мммда, либо программист ГЕНИЙ, но судя по этому"Контроллер проверен с несколькими дисководами... " я уже ничему не удивлен biggrin.gif
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th November 2017 - 12:00
Рейтинг@Mail.ru


Страница сгенерированна за 0.01323 секунд с 7
ELECTRONIX ©2004-2016