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

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
service47
Прорезались зубы
Сообщения: 219
Зарегистрирован: Вт мар 12, 2013 16:05:45

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

Сообщение service47 »

Будет ли работать I2C если от микроконтроллера с 5В напряжения питания соединить через два резистора с ATmega88, запитанную от 3.5В.

Тут пишут:
http://we.easyelectronics.ru/Shematech/ ... oystv.html
что можно с полевым транзистором соединить по IIC два микроконтроллера. Как правильно это сделать и какой транзистор лучше применить.

И еще ATmega88 соединена по IIC с предусилителем на TDA7469 c напряжением питания 5В. Значит схема на полевых транзисторах получиться сдвоенной. От одного микроконтроллера с 5В с подтягивающими резисторами, через полевые транзисторы, снова подтягивающие резисторы, но к 3,5В и ко входу IIC ATmega88, затем с этих же входов снова на другие полевые транзисторы, после них подтягивающие резисторы к 5В и на вход IIC TDA7469.

Подходит ли для этих целей BSN20:
http://www.nxp.com/documents/data_sheet/BSN20.pdf
rahmaevao
Встал на лапы
Сообщения: 126
Зарегистрирован: Пн окт 13, 2014 09:31:45

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

Сообщение rahmaevao »

У меня вопрос.
Для связи двух устройств по rs-232 надо ли ставить как на схеме
Изображение
Или можно без них?
Аватара пользователя
просто КОТ
Друг Кота
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ
Контактная информация:

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

Сообщение просто КОТ »

Котаны, такой вопрос. Есть микроконтроллер. Будем считать что пожирнее, из STM32. К нему подходят две линии с изменяющимися лог.сигналами, единичками и нулями. Линии эти он опрашивает, с частотой 2,4МГц каждую. Т.е. имеем поток в 4,8МБит/сек некоторых данных. И необходимо сохранить их на SD карточку. Как это правильно сделать? Чтоб потом можно было к этим данным обратиться как к файлу некоторой программой с ПК.

Я праильно понимаю, что в буффере надо накапливать пачку из 512 бит и писать такими кусками? А сам файл какого типа взять? ТХТ? BIN? Или ещё какие варианты есть? Какие могут возникнуть тонкости?
Изображение
И ты врёшь!!! © Vladisman
Изображение
service47
Прорезались зубы
Сообщения: 219
Зарегистрирован: Вт мар 12, 2013 16:05:45

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

Сообщение service47 »

Если ATmega16 запитана от 3,5В и к ней подключен разъем USB (к INT0, INT1 через резисторы 68 Ом D+ и D-) на 5В, как согласовать уровни напряжений.
Chettuser

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

Сообщение Chettuser »

Здрасьте всем.
Мучаю АЦП STM32F030. Что то не получается считать последовательно два канала АЦП (IN_8, IN_9). Перевёл чтение в функции, которые вызываю вручную и получаю в переменных ADC936 и ADCPOT одинаково изменяющиеся значения (Переменный резистор на IN_9).
Вроде бы выборку канала делаю функцией ADC_ChannelConfig(). Функции ADC_Cmd(ADC1,ENABLE) и DISABLE применил на всякий случай.
Спойлерvoid ADC_POT()
{
/* Convert the ADC1 Channel 8 and 9 with 28.5 Cycles as sampling time */
ADC_ChannelConfig(ADC1, ADC_Channel_9, ADC_SampleTime_239_5Cycles);
ADC_Cmd(ADC1,ENABLE);
ADC_StartOfConversion(ADC1);
while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC));
ADCPOT = ADC_GetConversionValue(ADC1);
ADC_StopOfConversion(ADC1);
ADC_Cmd(ADC1,DISABLE);
return;
}

void ADC_936()
{
ADC_ChannelConfig(ADC1, ADC_Channel_8, ADC_SampleTime_239_5Cycles);
ADC_Cmd(ADC1,ENABLE);
ADC_StartOfConversion(ADC1);
while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC));
ADC936 = ADC_GetConversionValue(ADC1);
ADC_StopOfConversion(ADC1);
ADC_Cmd(ADC1,DISABLE);
return;
}

Где я ошибся или что не увидел?
Аватара пользователя
FireProoF
Мучитель микросхем
Сообщения: 424
Зарегистрирован: Чт май 14, 2015 15:11:39
Откуда: Саратов

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

Сообщение FireProoF »

Насколько понял, для измерения по двум каналам и более нужно настраивать АЦП, указывая количество каналов и включив сканирование по списку.
P.S. ну или попробуйте отключать ацп после каждого измерения.
Здесь есть оба варианта и Ваша проблема
Chettuser

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

Сообщение Chettuser »

Спасибо.

Кто нибудь пользовался OpenSTM32?
Я скачал, поставил. Но что то не могу открыть проект из Cube, посмотреть.
Изображение
Пункты меню неактивные. Обновления какие то среда сама закачала и установила.
rahmaevao
Встал на лапы
Сообщения: 126
Зарегистрирован: Пн окт 13, 2014 09:31:45

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

Сообщение rahmaevao »

service47 писал(а):Если ATmega16 запитана от 3,5В и к ней подключен разъем USB (к INT0, INT1 через резисторы 68 Ом D+ и D-) на 5В, как согласовать уровни напряжений.

Можно не согласовывать, так как МК нормально поймет 5-ти вольтовые сигналы, а если МкК захочет лог 1 дать, то 3,5 входит в диапазон для лог 1 (более 2,5 В). Если уж совсем не в моготу, можно согласовать с помощью транзисторных ключей.
Изображение
(как на картинке, только используйте n-канальные транзисторы (серия даже есть IRLML).
service47
Прорезались зубы
Сообщения: 219
Зарегистрирован: Вт мар 12, 2013 16:05:45

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

Сообщение service47 »

Для V-USB требуется тактовая частота микроконтроллера от 12 МГц и более. Используется ATmega16A, запитанная от 3.5В. Будет ли стабильно работать чтение данных из USB.
xxx2142
Родился
Сообщения: 5
Зарегистрирован: Вт апр 26, 2016 16:18:29

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

Сообщение xxx2142 »

Товарищи, подскажите , что за чип такой ST 1825-0057 и с чем его едят. Чип установлен на маленькой плате для обработки данных с картриджа принтера HP. Мне нужно снять с него дамп.
st1825.jpg
(21.88 КБ) 333 скачивания
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25148
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

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

Сообщение КРАМ »

xxx2142 писал(а):Мне нужно снять с него дамп.
Даже если Вы бы знали какой это контроллер, то и в этом случае Вы бы его не прочитали. У микросхем подобного назначения прошивки всегда залочены.
Скорее всего, это какой нибудь STM32F0 с заказной прошивкой. Причем с высокой степенью вероятности еще и масочной.
Chettuser

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

Сообщение Chettuser »

Нашёл в stm32f0xx.h следующее выражение:
ADC_CCR_VBATEN
В описании регистра CCR что то такого не нашёл. Это для чего?
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25148
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

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

Сообщение КРАМ »

Есть мнение, что это КОНСТАНТА...
И ее значение в хедере откомментировано:

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

#define  ADC_CCR_VBATEN                       ((uint32_t)0x01000000)       /*!< Voltage battery enable */
Аватара пользователя
scorpi_0n
Вымогатель припоя
Сообщения: 616
Зарегистрирован: Вс ноя 01, 2015 13:13:49

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

Сообщение scorpi_0n »

RM0091

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

Bit 24 VBATEN: VBAT enable
This bit is set and cleared by software to enable/disable the VBAT channel.
0: VBAT channel disabled
1: VBAT channel enabled
Note:Software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing).
Аватара пользователя
FireProoF
Мучитель микросхем
Сообщения: 424
Зарегистрирован: Чт май 14, 2015 15:11:39
Откуда: Саратов

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

Сообщение FireProoF »

Всем привет. Такая ситуация. Спрашиваю датчик на i2c в тупом цикле, все норм. Как только начинаю опрашивать его через таймер, то чтение встает на месте. Частоту таймера уже до герца снизил.
Stm32f3 discovery. L3gd20
Аватара пользователя
FireProoF
Мучитель микросхем
Сообщения: 424
Зарегистрирован: Чт май 14, 2015 15:11:39
Откуда: Саратов

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

Сообщение FireProoF »

Еще вопрос: как передать по UART число с точкой, чтобы можно было принять на компьютере в терминале без проблем?
P.S. с предыдущим вопросом разобрался. Там таймер с измерениями стартовал раньше инициализации периферии.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25148
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

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

Сообщение КРАМ »

FireProoF писал(а):как передать по UART число с точкой

Вероятно, передав в нужном месте эту самую точку... :)))
Вопрос странный...
Вы не в курсе относительно форматирования вывода в sprintf или относительно того, что в терминал нужно передавать ASCII?
Аватара пользователя
FireProoF
Мучитель микросхем
Сообщения: 424
Зарегистрирован: Чт май 14, 2015 15:11:39
Откуда: Саратов

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

Сообщение FireProoF »

Я вот с точкой понял. Т.е. сначала передаем целую часть, потом знак точки, потом дробную. Дробную часть придётся урезать. ПРост думал, может что получше есть)
Chettuser

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

Сообщение Chettuser »

Постигаю просветление с DMA в STM32. А вот как народ умудряется с GPIO через DMA работать? На картинках в RM в разделе DMA про GPIO ничего нету, это и понятно. Как я понимаю вместо начального адреса памяти надо прописать адрес порта и без инкремента? А какой тогда режим выставлять - "память-периферия" или "память-память"? И как тут быть с сигналом "Event"?
Спасибо.
Аватара пользователя
FireProoF
Мучитель микросхем
Сообщения: 424
Зарегистрирован: Чт май 14, 2015 15:11:39
Откуда: Саратов

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

Сообщение FireProoF »

Столкнулся с необъяснимым) Есть L3GD20. Это ДУС с термометром. Выходной регистр термометра размером в один байт. Масштабный коэффициент 1 град/бит. Вроде всё здорово). Считываю показания: 0х12 = 18 град. Тут мне пришла мне мысль нагреть его феном. Грею, а показания температуры стали опускаться! Даж в минус уходит.
За основу взял STэмовскую библиотеку под stm32f3discovery
Спойлер

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

void Demo_GyroReadTempRaw (uint8_t* pfData, uint8_t* pfDataSign)
{
  uint8_t rawData = 0;
  int i =0;
 
  L3GD20_Read(&rawData,L3GD20_OUT_TEMP_ADDR,1);
 
   if(((uint8_t)rawData > 0x7F) == 0) { *pfDataSign = 0;}
   else
   {
      *pfDataSign = 1;
      rawData &= 0x7F;
      rawData = 0x7F - rawData;
   }
      
   *pfData = rawData;
}

Кто-нибудь может это объяснить?
Ответить

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