Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
Pooher
Мучитель микросхем
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

Но где выводы питания для USB? Всмыле в самом разъеме...

В гугле :)
http://cxem.net/comp/comp70.php
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

Может я неправильно ищу, но что то не нашел))) Как компьютерную клавиатуру прикошачить к МК? мега 16?
Есть разем USB, на отладочной плате, потом, клава питается от USB и общается с компом по этой шине. Вопрос:
Каким образом по двум проводам передается столько команд от кнопок? я так понял, что клавиатура - соединена в столбцы и строки. Опрашивается, и выдается ответ в комп. Я правильно понял, что инфа принимается за счет определенной последовательностей импульсов. Помогите плиз)))
Не умеешь - не берись, но не взявшись не научишься...
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Сообщение GP1 »

Чем дальше, тем больше становлюсь занудой...
Изображение
SII
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пт янв 30, 2009 14:50:35
Откуда: Солнечногорск

Сообщение SII »

Stalker46 писал(а):Может я неправильно ищу, но что то не нашел))) Как компьютерную клавиатуру прикошачить к МК? мега 16?
Есть разем USB, на отладочной плате, потом, клава питается от USB и общается с компом по этой шине. Вопрос:
Каким образом по двум проводам передается столько команд от кнопок? я так понял, что клавиатура - соединена в столбцы и строки. Опрашивается, и выдается ответ в комп. Я правильно понял, что инфа принимается за счет определенной последовательностей импульсов. Помогите плиз)))


Чтобы действительно понять, как происходит обмен информацией по USB, надо ознакомиться с весьма толстой литературой (несколько сотен страниц). Если нужно узнать, как работает протокол PS/2, для начала можно посмотреть сюда: [url]http://wiki.osdev.ru/index.php/%D0%9A%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%
BB%D0%BB%D0%B5%D1%80_%D0%B8%D0%BD%D1%82%D0%B5%D1
%80%D1%84%D0%B5%D0%B9%D1%81%D0%B0_PS/2[/url] (там описывается контроллер PS/2, входящий в состав ПК, но описан и сам протокол обмена). Ну а сама клава -- действительно матрица кнопок, опрашиваемая внутренним контроллером (который находится в самой клаве). Он-то и преобразует нажатия-отпускания кнопок в последовательность сигналов на интерфейсах PS/2 и/или USB.[/url]
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

Интерфейс ай два си.
Изображение
куда резисторы подключать то? и что это за прямоугольники с шинами SDA и SCL? Это выводы контроллера? Мне надо на отладочную плату это прикошачить. По какой схеме? мега 16 - контроллер.
А также подскажите, как куда и по какой схеме подключать SPI. Пожалуйста - сначала сделаю, а потом разбираться буду...
Не умеешь - не берись, но не взявшись не научишься...
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Сообщение GP1 »

резисторы можно подключить в любом месте.
прямоугольнички это мелкосхемы/девайсы с интерфейсом I2C/TWI и имеющие соответствующие выводы.
SPI подключается к выводам согласно ДШ
Чем дальше, тем больше становлюсь занудой...
Изображение
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

резистор на плюс или на минус питания?
Не умеешь - не берись, но не взявшись не научишься...
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Сообщение GP1 »

есссно на плюс
Чем дальше, тем больше становлюсь занудой...
Изображение
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

Значит SPI - это просто разъем на выводы SS, MOSI, MISO, SCK?
Значит надо вывести два штыря на выводы SLC и SDA, потом от них же подвести два резистора и эти резисторы через джампер подключить в +? И все?
Не умеешь - не берись, но не взявшись не научишься...
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Сообщение GP1 »

можно и так, но я обычно ставил резисторы непосредственно возле МК

зы надо 3 пина на TWI: земля и 2 сигнала. это если устройство на другой плате.
Чем дальше, тем больше становлюсь занудой...
Изображение
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

резисторы я подключил возле управляющего МК. Джампером можно подключать и отключать эти рзеиторы)))
Не умеешь - не берись, но не взявшись не научишься...
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

Можно ли замыкать тумблером минусовой вывод? это как бы общее включение контроллера. ВОт схема.
Не умеешь - не берись, но не взявшись не научишься...
Аватара пользователя
Pooher
Мучитель микросхем
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

Во многих ситуациях даже НУЖНО :)
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

ВО как? :)) значит можно так? сделаю... спасибо.
Не умеешь - не берись, но не взявшись не научишься...
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

Проблема была с развлетвлением питания. Мне хотелось бы, чтобы тумблер переключил, включил юизби питание, поставил джампер для подачи юизби питания на всю плату и все - плата запитана. или опять же, включил тумблер, включил батарейное питание или ИП в разъем для питания, потом джампер воткнул на соединение с цепью стабилизатора. т.е. получится как бы двойное питание - можно от компа запитать, можно от чего то своего.
Не умеешь - не берись, но не взявшись не научишься...
Аватара пользователя
Dexa
Встал на лапы
Сообщения: 119
Зарегистрирован: Ср ноя 07, 2007 15:17:20
Контактная информация:

Сообщение Dexa »

Код: Выделить всё

void delay(unsigned short ms) // Минимальная задержка с кварцем 8 МГц - 1 мс
{
   unsigned short i, j, k; // объявляем переменные
      
              for (i=0; i<ms; i++) // главный цикл формирования задержки
                     for (j=0; j<185; j++) // вложенный цикл формирования задержки
                              k++; // произвольное действие
}
/****************************************************/

1 Как определить максимальную и минимальную задержи МК исходя из частоты кварца?
2 Объясните как работатет этот кусок программы. Для строки for (i=0; i<ms; i++) понятно - т.е. цикл прошел и благодаря инкременту i, содержимое переменной увеличилось на 1 и так до тех пор пока i<ms. Аналогично и для второго цикла, но как они оба связаны не могу понять и откуда взяли число 185?
Далее код этой же программы

Код: Выделить всё

int main(void) // начало основной программы
{
   
   DDRC = 0xff; // все выводы порта C сконфигурировать как выходы

        while (1) {  // Бесконечный цикл

            // ---------- вращаем моторы вперед 1 сек ----------

            PORTC |= _BV(PC1); // установить "1" на линии 1 порта C
            PORTC &= ~_BV(PC2); // установить "0" на линии 2 порта C
            PORTC |= _BV(PC3); // установить "1" на линии 3 порта C
            PORTC &= ~_BV(PC4); // установить "0" на линии 4 порта C

            delay(1000); // ждем 1 сек.
            // ----------


                        // ---------- вращаем моторы назад 1 сек ----------

                        PORTC &= ~_BV(PC1); // установить "0" на линии 1 порта C
                        PORTC |= _BV(PC2); // установить "1" на линии 2 порта C
                        PORTC &= ~_BV(PC3); // установить "0" на линии 3 порта C
                        PORTC |= _BV(PC4); // установить "1" на линии 4 порта C

                        delay(1000); // ждем 1 сек.
                        // ----------


                   } // закрывающая скобка бесконечного цикла

} // закрывающая скобка основной программы


3 delay(1000) - почему таким образом формируется задержка 1 с? (возможно пойму если получу ответ на 1-й вопрос), нельзя было сделать через _delay_ms()?
4 Как я понял функция имеет такой тип:
тип_возвращаемого_значения имя_ф-ии (список_параметров)
вместо тип_возвращаемого_значения просто тип int, char и т.д., или же void если ф-я не возвращает никакого значения - что значит возвращает и не возвращает?
список_параметров тоже не совсем ясно. Например, int primer (int n) здесь в скобках просто объявление переменной n, что можно было сделать так 2-мя строчками:
int n
int primer ()? Все правильно понял?
5 В скобках иногда указано void - что это значит?
Извините, просто сильно запутался((((
void delay(unsigned short ms),
разве не надо было typedef unsigned short ms сначала прописать или есть такой тип?
......aлкоголь расширяет сосуды, курение их сужает, а сдают почему-то нервы......
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

Кароче для АЦП нужно подать питание от Vcc на AVcc через дроссель на 120микрогенри. Можно ли применить вот такую индуктивность?
http://www.chipdip.ru/product0/17106.aspx
Не умеешь - не берись, но не взявшись не научишься...
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Сообщение GP1 »

вполне можно.
вот только цена чипе :shock: :shock: :shock:
я у местных барыг по 2.90 беру.
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
Marsyk
Открыл глаза
Сообщения: 63
Зарегистрирован: Пт ноя 14, 2008 00:16:00
Откуда: с.Барсуково

Сообщение Marsyk »

Здравствуйте может кто знает, вообще какие есть программы кроме вот этих: PonyProg2000, ProgCode, IC-Prog 1.06.
......__|__
___ / **** \=======#
;|HH*T-34*HH:\
(@=@=@=@=@)
Аватара пользователя
Pooher
Мучитель микросхем
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

AVROSPII :))
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Ответить

Вернуться в «Разные вопросы по МК»