МикроКонтроллер AVR начинающим - общие вопросы

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение ZuOverture » 15 май 2010, 01:37

Снова я с тем же вопросом.
двумя страницами ранее... писал(а):Подскажите, пожалуйста, если в свойствах Unknown USB Device в поле Device Instance ID пишется USB\VID_0000&PID_0000 - это означает, что девайс не прошел enumeration (процедуру состыковки с хабом)? Что в таком случае может означать запись libusb0 в поле Class upper filters (была попытка установить драйвера для USB из комплекта Flip 3.4.1 вручную из *.inf, т.к. стандартная процедура утверждает, что драйвера и так стоят самые подходящие)? Платка на основе AT90USB647 с питанием от USB же, самоделка.

Девайс как не определялся, так и не определяется. Но выяснились некоторые дополнительные обстоятельства.
1) В Протеусе симуляция проходит абсолютно нормально. Прошивка 100% правильная, т.к. будучи считанной из девайса, она так же нормально работает в Протеусе.
2) TestLibUSB из пакета LibUSB-Win32 при подключении девайса показывает следующее:
Код: Выделить всё
DLL version:   1.1.14.0
Driver version:   -1.-1.-1.-1
bus/device  idVendor/idProduct

и более ничего.
3) Утилитка INF Wizard из того же LibUSB-Win32 позволяет создать следующий набор файлов:
Код: Выделить всё
My_driver.cat
My_driver.inf
My_driver_x64.cat

однако установка драйвера для Unknown Device наиболее топорным из методов (установить из указанного места - установить с диска - выбрать My_driver.inf) приводит лишь к сообщению "В указанном месте отсутствуют сведения об оборудовании". При запуске INF Wizard девайс ей самой либо не определялся, либо присутствовал как 0x0000/0x0000/Unknown Device. В качестве VendorID и ProductID утилитке скармливались параметры 0x03eb/0x2013 (с которыми всё работало в Протеусе).
4) В диспетчере устройств присутствует ключ Jungo, под которым, как я понимаю, должно располагаться правильно определенное устройство (под именем AT90USB647), но пока что там висит только некий WinDriver (%WINDIR%/system32/drivers/windrvr6.sys)

Даже не знаю, куда копать... Посоветуйте что-нибудь, пожалуйста.
ZuOverture
 
Сообщения: 5
Зарегистрирован: 10 фев 2010, 23:08
Откуда: Екатеринбург

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение galex1981 » 15 май 2010, 01:59

Если в Проотеусе симуляция проходит нормально, то могу предположить что сам контроллер неисправен...
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение ZuOverture » 15 май 2010, 10:08

Контроллер скорее всего исправен (правда, не поручусь, что целиком). Он нормально работал на тестовой прошивке с мигающим по таймеру диодом. Собака, вероятно, зарыта где-то в USB...
ZuOverture
 
Сообщения: 5
Зарегистрирован: 10 фев 2010, 23:08
Откуда: Екатеринбург

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение rat12 » 18 май 2010, 15:52

Вопрос. Есть контроллер мега128. Хочу развести на плате порт spi под внутрисхемное программирование. Но у данного процессора ноги MISO и MOSI (не основного порта spi, а те, которые испльзуются для прошивки) совмещены с ногами RX и TX нулевого уарта. На данный уарт навешено оборудование. Подскажите, пожалуйста, схему включения (без перемычек, размыкающих линию), чтобы можно было и прошивать контроллер, и, после отключения программатора, внешнее оборудование продолжало работать.
Заранее спасибо.
rat12
 
Сообщения: 14
Зарегистрирован: 24 фев 2010, 17:33
Откуда: Симферополь

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение avr123.nm.ru » 18 май 2010, 16:15

То, что к RX и TX подведено подключть через резисторы более 1.5 кОм примерно - от типа программатора зависит, т.е. от его выходного сопротивления.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение ZuOverture » 18 май 2010, 21:20

ZuOverture писал(а):Контроллер скорее всего исправен (правда, не поручусь, что целиком). Он нормально работал на тестовой прошивке с мигающим по таймеру диодом. Собака, вероятно, зарыта где-то в USB...

Всё решилось, а я - осёл. Ибо у AT90USB встроенные pull-up резисторы на D+ и D- )
ZuOverture
 
Сообщения: 5
Зарегистрирован: 10 фев 2010, 23:08
Откуда: Екатеринбург

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение LNShadow » 19 май 2010, 10:54

Дабы не изобретать велосипед:
есть ли готовые алгоритмы и код для управления STP16CP05 (Datasheet) с помощью avr'ки? И если да, где бы подглядеть? Спасибо большое.
P.S. По даташиту сам код не составлю, есть куча нюансов которые не знаю как сделать.
LNShadow
 
Сообщения: 19
Зарегистрирован: 06 окт 2008, 10:59
Откуда: Раменское

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение rat12 » 21 май 2010, 20:43

avr123.nm.ru писал(а):То, что к RX и TX подведено подключть через резисторы более 1.5 кОм примерно - от типа программатора зависит, т.е. от его выходного сопротивления.

Спасибо большое за совет!
rat12
 
Сообщения: 14
Зарегистрирован: 24 фев 2010, 17:33
Откуда: Симферополь

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение rat12 » 29 май 2010, 16:12

Снова здравствуйте.
Чуть ранее в этой ветке задавал вопрос про SoftUart. Уважаемый 123avr подсказал мне вариант с сайта производителя CVAVR http://www.hpinfotech.ro/softuart.zip
Скачав данный пример и скомпилировав его, запустил эмуляцию в VMLAB. Вот архив с проектом VMLAB:
soua.rar
(5.08 КиБ) Скачиваний: 0

Почему-то некорректно происходит прием символов. Есть какая-то непонятка с дешифрацией последовательностей, приходящих с порта. Подскажите, пожалуйста, как можно исправить проект или эмуляцию, чтобы заработало.
Заранее спасибо.
rat12
 
Сообщения: 14
Зарегистрирован: 24 фев 2010, 17:33
Откуда: Симферополь

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение avr123.nm.ru » 29 май 2010, 18:42

Я строку

Код: Выделить всё
putchar3(getchar3()); // just send it back !


заменил такой фигней:

Код: Выделить всё
  simbol = getchar3(); //
     
      #asm("nop")
     
      putchar3('R');


Но все равно в simbol постоянно FFh записывается и выводит не R а чепуху. Т.е. отладте вначале вывод в UART - можно по коду отдебагить а можно просто вывести сигнал в SCOPE и посмотреть что он туда гонит. Потом прием.

Добавлено спустя 46 минут 9 секунд:
Может что-то с симуляцией таймеров в меге128 не так. Попробуйте PROTEUS или железо.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение rat12 » 07 июн 2010, 23:49

По последнему посту- заработало после увеличения параметра длительности стартового бита с 1.5 длины бита данных до 2-х длины бита данных. Бред с точки зрения теории, но заработало как в VMLAB, так и в реальности.

Новый вопрос знатокам. По интерфейсу SPI.
Пусть связь организована между 2-мя микросхемами. Одна ведущая, другая ведомая. Есть линия CS, переход 1 в 0 которой активизирует режим приема пакета на ведомой стороне.
Вопрос 1. Насколько зависит время (в тактах SCK) перевода CS от начала следования пакета от ведущего к ведомому? Т.е. можно ли, к примеру, установить CS, потом подождать 5-10 тактов SCK, а потом только загрузить данные в регистр SPDR на отправку?
Вопрос 2. Если вышеобозначенное время не жестко обозначено, то откуда ведомая система узнает о начале отправленных данных?

Мне все это надо, чтобы понять, почему не работает подключенная к мега128 память at45d321. Подключал подобно известному примеру из курса 123avr. По шине MISO от памяти вообще отсутствуют импульсы. Приходящий от памяти запрошенный бит данных равен постоянному нулю. :( При этом все входящие сигналы на память на осциллографе присутствуют.

Конечно глупый вопрос, но в чем может быть дело? Код практически из вышеназванного примера от 123avr... Т.е. верю, что проверенный, рабочий.
rat12
 
Сообщения: 14
Зарегистрирован: 24 фев 2010, 17:33
Откуда: Симферополь

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение avr123.nm.ru » 08 июн 2010, 00:20

Наверно CS надо програмно активировать при передаче.

Вы посмотрите осциллограммы вашей меги128 в PROTEUS инструмент GRAPH - и сравните с тем что в даташите памяти. Можете сдесь картинку и прожект выложить.

Думаю такт можно долго не давать после активации CS но когда даете так то ведомый уже читает битики и именно по тому событию на которе настроен - фронт или спад.

А мой пример в задаче 7 действительно именно в железе делался и точно рабочий но с at45db161.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение Michael_K » 08 июн 2010, 00:54

rat12 писал(а):установить CS, потом подождать 5-10 тактов SCK

sck само по себе не молотит.
Вот когда вы в мастере положите байтик в spdr, тогда на sck и появятся 8 импульсов...
Ждите сколько хотите...
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение rat12 » 08 июн 2010, 01:06

Ага! Вот оно как... А тогда еще один вопрос на засыпку. Входящий MISO в микроконтроллер должен быть сконфигурирован как вход С подтяжкой или БЕЗ подтяжки?
rat12
 
Сообщения: 14
Зарегистрирован: 24 фев 2010, 17:33
Откуда: Симферополь

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение Michael_K » 08 июн 2010, 01:11

Я на всякий случай его конфигурирую как вход, но по факту, когда вы ставите SPI enable,
проц его конфигуряет как вход независимо от настроек порта.
Обратите внимание: SS на МАСТЕРЕ должен быть или настроен на ВЫХОД, или подтянут к плюсу
(иначе он в режим слейва самопроизвольно перейдет)
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Пред.След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 4