Мелкие вопросы по МК и ПЛИС.
- Chip115
- Сверлит текстолит когтями
- Сообщения: 1132
- Зарегистрирован: Пт фев 16, 2007 14:18:20
- Откуда: Новосибирск
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Всем привет! Хочу К155ИД3 подружить с STM32F100. Дешифратор ТТЛ, питание (по справочнику) 5 В. Контроллер 3.3 В. Не хочется отдельно стабилизатор ставить на 5В ради одной микросхемы. Будет ли работать К155ИД3 от 3,3 В?
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн
© Альберт Эйнштейн
- просто КОТ
- Друг Кота
- Сообщения: 12364
- Зарегистрирован: Пт дек 17, 2010 15:07:50
- Откуда: Крымский Федеральный Округ
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
ТТЛ этой серии строго на 5В по справочнику. Может конечно и сможет, но... Напряжения никто не регламентировал ему в таком режиме. Ни по входам, ни по выходим. Так что попробуйте на макете, а там уж как повезёт.
Вам бы вообще КМОП микросхемы. Типа 561 серии, или 1564...
Вам бы вообще КМОП микросхемы. Типа 561 серии, или 1564...

- КРАМ
- Друг Кота
- Сообщения: 25154
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Мелкие вопросы по МК и ПЛИС.
Chip115 писал(а):Хочу К155ИД3 подружить с STM32F100.
Ставите на каждом входе ИД3 подключенном к МК по обычному ключу (биполярному или полевому) с питанием ключа от 5 вольт и получаете инвертированные сигналы на входах ИД3. Надеюсь программно обеспечить инверсию на выходах МК для Вас проблем не составит.
ЗЫ. Правда все это как то бестолково...
- Chip115
- Сверлит текстолит когтями
- Сообщения: 1132
- Зарегистрирован: Пт фев 16, 2007 14:18:20
- Откуда: Новосибирск
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Спасибо за ответы! ))
Да, бестолково. Но эта микра у меня тупо есть в наличии.
Да, бестолково. Но эта микра у меня тупо есть в наличии.
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн
© Альберт Эйнштейн
Re: Мелкие вопросы по МК и ПЛИС.
При симуляции в протеусе с одного микроконтроллера пересылаются байты на другой. Первые два байта совпадают, то что помещено в регистр TWDR, то же самое и поступает на второй регистр TWDR, а вот третий байт пересылается 0х22, а принимается 0х45. Получается, что то что помещено в регистр передается по проводкам и поступает в регистр 2-го микроконтроллера, но там уже вместо 0х22 величина 0х45.
- просто КОТ
- Друг Кота
- Сообщения: 12364
- Зарегистрирован: Пт дек 17, 2010 15:07:50
- Откуда: Крымский Федеральный Округ
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
А как ведут себя четвёртый и пятый? А если пересылать по два байта, с паузами?
Re: Мелкие вопросы по МК и ПЛИС.
Всего 4 байта пересылается. Сначала байт адреса, затем команды записи, а после данные. Что интересно так это то, что 0х45 если смотреть в двоичном коде так это те же 0х22 только смещенные на один бит влево. Пример программы используется Атмелевский. В протеусе так:
S 10 A 10 A 22 N 08 A 84 A 42 A 21 A 10 N ...
10 - адрес
10 - команда записи
22 - данные
а вот тут должно быть 0х33.
Затем повтор.
S 10 A 10 A 22 N 08 A 84 A 42 A 21 A 10 N ...
10 - адрес
10 - команда записи
22 - данные
а вот тут должно быть 0х33.
Затем повтор.
-
____Eugene____
- Открыл глаза
- Сообщения: 47
- Зарегистрирован: Вт авг 31, 2010 18:26:35
Re: Мелкие вопросы по МК и ПЛИС.
помогите решить задачку:
есть несколько микроконтроллеров и все они занимаются одним и тем же
синхронно включают и гасят диод
они могут быть объединены с одним мастером и периодически должны работать автономно (так что каждый должен тактироваться от своего источника)
Вопрос:как сделать так чтобы мастер периодически синхронизировал роботу.
при этом необходимо выявить устройство которое явно выбивается из частоты
то есть мастер получает числа от устройств
10
9
11
45
как найти того кто явно спешит
есть несколько микроконтроллеров и все они занимаются одним и тем же
синхронно включают и гасят диод
они могут быть объединены с одним мастером и периодически должны работать автономно (так что каждый должен тактироваться от своего источника)
Вопрос:как сделать так чтобы мастер периодически синхронизировал роботу.
при этом необходимо выявить устройство которое явно выбивается из частоты
то есть мастер получает числа от устройств
10
9
11
45
как найти того кто явно спешит
- GARMIN
- Держит паяльник хвостом
- Сообщения: 952
- Зарегистрирован: Вс дек 02, 2012 16:58:33
- Откуда: от туда
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Подать групповую команду сброс.
Re: Мелкие вопросы по МК и ПЛИС.
Мастер только высылает команду/код синхронизации.
Каждый из периферийных контроллеров самостоятельно решает - применить или нет (в зависимости от текущего положентия программы).

Каждый из периферийных контроллеров самостоятельно решает - применить или нет (в зависимости от текущего положентия программы).
-
Chettuser
Re: Мелкие вопросы по МК и ПЛИС.
Делаю в DipTrace плату, смутило обозначение ноги 19 у STM32F207:

Vdd_12 - это просто позиция Vdd под номером 12 или выведен внутренний источник 1,2 В? В RM0033 и datasheet на него ничего похожего нет. В CubeMX также обозначен просто как Vdd - надо полагать что это обычная питающая нога?

Vdd_12 - это просто позиция Vdd под номером 12 или выведен внутренний источник 1,2 В? В RM0033 и datasheet на него ничего похожего нет. В CubeMX также обозначен просто как Vdd - надо полагать что это обычная питающая нога?
- svetl1928
- Потрогал лапой паяльник
- Сообщения: 305
- Зарегистрирован: Пт сен 03, 2010 19:29:56
- Откуда: Планета Земля
Re: Мелкие вопросы по МК и ПЛИС.
Ребята, извините за может дурной вопрос, в мк не очень силен.
Не получается у меня прошить Attiny13 в смд корпусе. Программатор USBASP, сто процентов рабочий, Atmega8 шьется без проблем. Но тинька вообще никак. И перемычку на программаторе ставил для низкой частоты, все равно. Выдает ошибку.
Вот что меня еще тревожит. Мегу я шью в отладочной плате, а тиньку просто на переходнике, сделанном специально для soic8 корпусов. Не нужна ли обвязка на тиньку, на Reset к примеру. Может в этом дело?
Система стоит Виндовс 8.
Не получается у меня прошить Attiny13 в смд корпусе. Программатор USBASP, сто процентов рабочий, Atmega8 шьется без проблем. Но тинька вообще никак. И перемычку на программаторе ставил для низкой частоты, все равно. Выдает ошибку.
Вот что меня еще тревожит. Мегу я шью в отладочной плате, а тиньку просто на переходнике, сделанном специально для soic8 корпусов. Не нужна ли обвязка на тиньку, на Reset к примеру. Может в этом дело?
Система стоит Виндовс 8.
Re: Мелкие вопросы по МК и ПЛИС.
А в Тиньке что раньше было? Если она Б/У и работала с внешним тактовым сигналом, то без него её прошить не выйдет, т. к. AVRы требуют работы тактового генератора при программировании. Вспоминайте где взяли. Если же Тиня новая, то по умолчанию там стоит внутренний RC на 9,6МГц и она без проблем шьется "прям так".
Reset я обычно подтягиваю к +5В резистором 10 кОм. Непомню, есть ли внутри подтяжка, но попробуйте для начала поставить резистор.
Да, а керамический кондер 0,1 мкФ по питанию на ногах Тини стоит? Это еще одна причина! Он обязателен. А лучше поставить 0,1 мкФ керамика || 10 мкФ тантал/электролит.
Проверьте правильно ли подключили MISO, MOSI, SCK, RESET? Не перепутали местами MISO и MOSI?
Reset я обычно подтягиваю к +5В резистором 10 кОм. Непомню, есть ли внутри подтяжка, но попробуйте для начала поставить резистор.
Да, а керамический кондер 0,1 мкФ по питанию на ногах Тини стоит? Это еще одна причина! Он обязателен. А лучше поставить 0,1 мкФ керамика || 10 мкФ тантал/электролит.
Проверьте правильно ли подключили MISO, MOSI, SCK, RESET? Не перепутали местами MISO и MOSI?
- svetl1928
- Потрогал лапой паяльник
- Сообщения: 305
- Зарегистрирован: Пт сен 03, 2010 19:29:56
- Откуда: Планета Земля
Re: Мелкие вопросы по МК и ПЛИС.
Тинька новая, с магазина только. Распиновку сто раз проверил, прозванивал от программатора к самой тиньке.
Вот не по питанию ни на Reset ничего нет, может и правда тут причина. Питание на тиньку подается с программатора.
Вот не по питанию ни на Reset ничего нет, может и правда тут причина. Питание на тиньку подается с программатора.
Re: Мелкие вопросы по МК и ПЛИС.
Хвост от программатора длинный. Без кондера - нельзя! Сделайте как я сказа, должно получиться. Ну если только Тиня не "фуфло" и пустая внутри, как иногда бывает в современном мире...
- svetl1928
- Потрогал лапой паяльник
- Сообщения: 305
- Зарегистрирован: Пт сен 03, 2010 19:29:56
- Откуда: Планета Земля
Re: Мелкие вопросы по МК и ПЛИС.
Все, заработала! Поставил кондер 0.1 мкф по питанию и подтянул Reset через 10кОм к плюсу. Но скорее всего был плохой контакт с тинькой, потому как она просто лежала на дорожках переходника.
- hosturik
- Потрогал лапой паяльник
- Сообщения: 354
- Зарегистрирован: Чт июл 24, 2014 23:09:23
- Откуда: Киев
Re: Мелкие вопросы по МК и ПЛИС.
Начал только осваивать MK AVR, поэтому будет возможно глупый вопрос по UART.
Почему перед тем как писать данные в регистр UDR (чтобы передать) их нужно предварительно обработать функциями?
Причем для строк это одна функция а для числового типа другая. Если не обработать то даже компилировать откажется, не говоря уже о работоспособности.
Не хочется терять в быстродействии из за функций
И еще вопросик. Насколько будет быстрым этот код?
Почему перед тем как писать данные в регистр UDR (чтобы передать) их нужно предварительно обработать функциями?
Причем для строк это одна функция а для числового типа другая. Если не обработать то даже компилировать откажется, не говоря уже о работоспособности.
Не хочется терять в быстродействии из за функций
И еще вопросик. Насколько будет быстрым этот код?
Спойлер
Код: Выделить всё
void send_Uart(unsigned char c)// Отправка байта
{
while(!(UCSRA&(1< <UDRE))) // Устанавливается, когда регистр свободен
{}
UDR = c;
}
void send_Uart_str(unsigned char *s)// Отправка строки
{
while (*s != 0) send_Uart(*s++);
}
void send_int_Uart(unsigned int c)// Отправка числа от 0000 до 9999
{
unsigned char temp;
c=c%10000;
temp=c/100;
send_Uart(temp/10+'0');
send_Uart(temp%10+'0');
temp=c%100;;
send_Uart(temp/10+'0');
send_Uart(temp%10+'0');
}- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
во-первых, USART передаст ровно те данные, что вы запишите в UDR. если вы сумеете передать нужные вам данные без "функций" - пожалуйста, передавайте.hosturik писал(а):Почему перед тем как писать данные в регистр UDR (чтобы передать) их нужно предварительно обработать функциями?
Причем для строк это одна функция а для числового типа другая. Если не обработать то даже компилировать откажется, не говоря уже о работоспособности.
во-вторых, компилировать откажется, если в программе будут ошибки, обработка функциями или отсутствие таковой на это никак не влияет.
скорость передачи байта будет определяющим фактором для работы скорости работы этого кода, т.к. всякий раз будет происходить ожидание конца передачи байта. т.е. время на передачу информации есть произведение количества байт на время передачи одного байта. скорость исполнения остальной части будет многократно выше и существенного влияния на общую скорость работы не окажет.hosturik писал(а):Насколько будет быстрым этот код?
P.S. функции используют для того, чтобы было удобнее работать с данными. поэтому без них вряд ли получится обойтись...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!

