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

 
 
> USB 1.1 for MSP430F2013, реализуемо ли?
VVlad
сообщение Apr 22 2010, 07:23
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 67
Регистрация: 7-12-09
Пользователь №: 54 109



Уважаемые форумчане, друзья, братья по увлечению!
В 3-мартовском номере журнала РАДИО за 2010 год на с.25-28 С.Суров из Нижнего Новгорода

опубликовал описание демонстрационного USB HID устройства на микроконтроллере ATmega88-20DPI

с обменом данными по шине USB 1.1
Меня заинтересовала возможность подключения микроконвертора MSP430А2013 аналогичным образом.
Преимущества - упрощение конструкции (не нужен будет мост USB-COM и драйверы виртуального

порта), повышение надёжности.
Препятствия -
1) ограничение по частоте. В режиме LS (low speed) скорость 1.5 Мбит/с означает время

передачи одного бита - не более 667 нс.
В описании к MSP430 декларирована максимальная тактовая частота 16 МГц (62.5 нс), но это для

процессора. С интерфейсом работает таймер_А, который можно тактировать от SMCLK. Сигнал

тактирования SMCLK можно получить от источника с цифровым управлением (DCO).
На обработку одного бита данных будет приходится 667/62.5=10 тактов. Хватит ли их?
В статье Кристиана Старкйогана http://www.obdev.at/developers/articles/00003.html убедительно показано, что для AVR контроллера можно обойтись и восемью тактами.
2) переносимость клиентского кода. В среде визуального программирования С++ Builder 6 можно подключить созданный Робертом Мартином Марквардом компонент TJvHidDeviceController. Есть ли подобные компоненты для среды Delphi?
3) Процессор ATmega88-20DPI существенно и глубоко восьмибитен, преимущественно ли бороться за 16-битность, пытаясь перейти к MSP430? Буду благодарен за информацию, есть ли 16-разрядные процессоры с небольшим количеством терминалов (16-24 pins) с реализованной функцией интерфейса по USB 1.1 типа HID?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rezident
сообщение Apr 22 2010, 15:38
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(VVlad @ Apr 22 2010, 14:46) *
"Являясь процессором RISC, MSP430 AVR выполняет большинство инструкций за один цикл тактирования. Поэтому будет справедливой необходимость упаковать в 8 инструкций-команд следующие действия, необходимые для обработки каждого бита

Цитата(VVlad @ Apr 22 2010, 20:14) *
"Хотя можно и исходный алгоритм переработать. Но в этом случае во время обмена контроллер не сможет ни на что отвлекаться. Потому что счёт на такты процессора. То есть все прерывания должны быть запрещены.
В принципе, автор как раз и подчёркивает, что для его реализации не нужна никакая периферия, только опрос порта и 100% занятость процессора в момент обмена."

Выделенные нюансы препятствуют реализации желаемого на MSP430. Потому, что, например, вывод в порт
Код
P1OUT=0x01;
у MSP430 занимает 4 такта, вместо одного у AVR. А наложение маски типа
Код
P1OUT|=0x01;
занимает у MSP430 - 5 тактов.
Go to the top of the page
 
+Quote Post
VVlad
сообщение Apr 23 2010, 05:52
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 67
Регистрация: 7-12-09
Пользователь №: 54 109



Цитата(rezident @ Apr 22 2010, 19:53) *
Выделенные нюансы препятствуют реализации желаемого на MSP430. Потому, что, например, вывод в порт
Код
P1OUT=0x01;
у MSP430 занимает 4 такта, вместо одного у AVR. А наложение маски типа
Код
P1OUT|=0x01;
занимает у MSP430 - 5 тактов.

Благодаря любезному ответу Резидента мне стало понятно, что без обработки прерываний, только на процессоре MSP, реализовать USB1.1 невозможно.
Если же использовать периферический ТаймерА, тактируя его сигналом SMCLK от DCO, настроенного на 12 МГц, можно успеть обработать пакеты данных?
план такой -
1) отключаем сторожевой таймер, настраиваем порты, систему тактирования, регистр захвата-сравнения таймера А
2) в бесконечной петле цикла происходит запуск АЦП, переход в спящий режим с разрешением прерываний, прерывание от АЦП будит процессор, тот запрещает все прерывания, выполняет усреднение и готовит пакет данных для передачи, кодируя его в NRZI c битстаффингом, включает прерывания и передаёт управление на таймер А. По истечении интервала (0.6 мкс) для передачи очередного бита формируется следующий. Задача передачи данных более простая, чем приём. Не требуется искать фронты сигналов, процессор сам решает, когда передавать данные. Готовая последовательность битов из буферного регистра TxData аппаратно сдвигаются на выход P1.1 при помощи регистра CCR0 таймера А. По окончании передачи происходит переход в начало цикла, следующий запуск АЦП и так далее.

Нет ли здесь методических ошибок?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- VVlad   USB 1.1 for MSP430F2013   Apr 22 2010, 07:23
- - MrYuran   Цитатапреимущественно ли бороться за 16-битность, ...   Apr 22 2010, 07:48
|- - VVlad   Цитата(MrYuran @ Apr 22 2010, 12:03) Если...   Apr 22 2010, 08:31
- - MrYuran   Цитата"Являясь процессором RISC, MSP430 выпол...   Apr 22 2010, 08:57
|- - VVlad   Цитата(MrYuran @ Apr 22 2010, 13:12) Это ...   Apr 22 2010, 13:59
|- - MrYuran   Цитата(rezident @ Apr 22 2010, 19:53) Выд...   Apr 23 2010, 06:10
|- - _3m   Цитата(MrYuran @ Apr 23 2010, 10:25) Но в...   Apr 23 2010, 06:45
- - VVlad   Порадовали, благодарю м-ра Юрана за конкретные инс...   Apr 23 2010, 10:50
- - rezident   VVlad, когда нам понадобилось дешевое решение с US...   Apr 23 2010, 19:05
|- - ih_   Цитата(rezident @ Apr 23 2010, 23:05) ......   Apr 26 2010, 05:21
||- - rezident   Цитата(ih_ @ Apr 26 2010, 11:21) Если взя...   Apr 26 2010, 15:26
|- - VVlad   Цитата(rezident @ Apr 23 2010, 23:05) VVl...   Apr 26 2010, 05:52
|- - gotty   Цитата(VVlad @ Apr 26 2010, 08:52) напрям...   Apr 26 2010, 06:03
|- - _3m   Цитата(VVlad @ Apr 26 2010, 09:52) Соглас...   Apr 26 2010, 06:47
|- - MrYuran   Цитата(VVlad @ Apr 26 2010, 09:52) Соглас...   Apr 26 2010, 07:03
|- - ih_   Цитата(VVlad @ Apr 26 2010, 09:52) Каков ...   Apr 26 2010, 08:22
- - sensor_ua   ЦитатаОднако, основное требование заказчика - испо...   Apr 27 2010, 07:15
- - VVlad   Цитата(sensor_ua @ Apr 27 2010, 11:15) та...   Aug 19 2016, 14:46
- - _pv   Цитата(VVlad @ Aug 19 2016, 20:46) Мы ост...   Aug 19 2016, 21:15


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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 19:34
Рейтинг@Mail.ru


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