Перейти к содержанию

    

RomanRom

Участник
  • Публикаций

    231
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о RomanRom

  • Звание
    Местный
  1. Кириллица для TFT

    Для графических TFT-дисплеев есть методика масштабирования компьютерных шрифтов, в том числе и с кириллицей (журнал РХобби, 6/2013, стр.47). Правда, это для Ардуино, но сам принцип, наверное, можно прикрутить и к АРМ
  2. Мой вопрос в первом топике был примерно такой: "Один ли я вижу просчеты в статье "Не верьте слепо Datasheet (на примере LM317)"? Спасибо за ответы.
  3. Нашел статью про якобы ошибки в даташите LM317, но многое вызывает сомнения. http://vgsemenov.wordpress.com/2011/02/23/...80%D0%B5-lm317/ Негативные комментарии к приведенной выше статье быстро удаляются, поэтому хотелось бы знать мнение знатоков. Например, я измерил ток по управляющему электродуAdj 60 мкА, то есть в даташите правильно. Рабочее напряжение 3-40 В - это маркетинговый ход, поскольку в даташите указано напряжение между входом и выходом, а не на входе. Обратный диод D1 между входом и выходом нужен, если емкость конденсаторов на входе меньше, чем на выходе или низкоомная нагрузка по входу и т.д.
  4. GPIO STM32F1 против STM32F4

    В STM32F1xx в режиме выхода GPIO встроенные pull-up/down резисторы отключаются по умолчанию. В STM32F4xx в режиме выхода GPIO встроенные pull-up/down резисторы можно программно подключать/отключать. Вопрос: - какой смысл нагружать высокоомными резисторами выходы push-pull и alternate?
  5. По даташиту датчики влажности HIH-5030 и HIH-5031отличаются друг от друга только отсутствием и наличием фильтра, наклеенного на корпус датчика. Вопросы. 1) Каково назначение фильтра - защита от капель влаги, от механических повреждений при транспортировке или что-то другое? 2) Нужен ли этот фильтр при работе или его надо обязательно снимать? Ухудшаются ли характеристики датчика HIH-5031, если фильтр не снять с корпуса? 3) Нужно ли на аналоговом выходе датчика ставить конденсатор 0,1 мк на "землю"? Нормально ли, что показания датчика "плавают" в пределах 5-10 единиц АЦП (измерение без усреднения)?
  6. STM32F100 три вопроса

    Цитата(Falkon_99 @ Dec 17 2013, 23:48) не совсем, а точнее так: PLL configuration = (HSE / 2) * 6 = 24 MHz, где HSE = 8MHz - сам кварц. А почему бы не так: PLL configuration = (HSE * 1) *3 = 24 MHz, где HSE = 8MHz - сам кварц В этом случае через регистр PREDIV1 частота умножается на 1, а через регистр PLLMUL - умножается на 3. Могут быть и другие сочетания коэффициентов. Логичное объяснение разницы периодов мигания в 6 раз может быть в том, что ФАПЧ действительно в аварийном режиме отключается, причем под отключением понимается не переброс регистра SW на коммутацию от HSI, а установка коэффициента умножения регистра PLLMUL в 1. Тогда получается HSI / 2 * 1=4 МГц, то есть в 6 раз меньше, чем 24 МГц. Единственное, что меня смущает, это отличие периода мигания в STM32VLDiscovery не в 6 раз, а где-то в 8 раз, что не вписывается в данную теорию. Но раньше на другой плате (не Discovery) я видел отличие ровно в 6 раз. P.S. А как насчет двух других моих вопросов про входы/выходы GPIO для PD0-PD1 (выводы подключения кварцевого резонатора)?
  7. STM32F100 три вопроса

    Цитата(adnega @ Dec 17 2013, 21:03) А выложить можете? Провел аналогичный эксперимент на STM32VLDiscovery. Создал новый проект CoIDE-1.7.5, компилятор 2012q4, дальше ни единой строчки сам не пишу, а только добавляю из пункта "GPIO (with 10 examples)" функцию GPIO_Blink (add). Компилирую с ключом О0, получаю мигающий зеленый светодиод с периодом чуть больше 2 с. Затем, не выключая питание, вынимаю кварцевый резонатор 8 МГц из панельки. Период увеличивается до 17 с. Компилирую с ключом О1, получаю мигание с кварцем 0,5 с, без кварца 4 с. Когда кварц ставлю обратно в панельку (не выключая питание), то быстрое мигание опять восстанавливается. void GPIO_Blink(void); int main(void) { //automatically added by CoIDE GPIO_Blink(); while(1) { } } /** ****************************************************************************** * @file GPIO/GPIO_Blink/main.c * @author MCD Application Team * @version V1.0.0 * @date 30-October-2010 * @brief Main program body ****************************************************************************** * @attention * * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. * * <h2><center>© COPYRIGHT 2010 STMicroelectronics</center></h2> ****************************************************************************** */ /* Includes ------------------------------------------------------------------*/ #include "stm32f10x.h" #include "stm32f10x_gpio.h" #include "stm32f10x_rcc.h" void GPIO_Blink(void) { int i; /* Initialize Leds mounted on STM32 board */ GPIO_InitTypeDef GPIO_InitStructure; /* Initialize LED which connected to PC6,9, Enable the Clock*/ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); /* Configure the GPIO_LED pin */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_9; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOC, &GPIO_InitStructure); while (1) { /* Toggle LEDs which connected to PC6*/ GPIOC->ODR ^= GPIO_Pin_6; /* delay */ for(i=0;i<0x100000;i++); /* Toggle LEDs which connected to PC9*/ GPIOC->ODR ^= GPIO_Pin_9; /* delay */ for(i=0;i<0x100000;i++); } }
  8. STM32F100 три вопроса

    Нет, отсчитывал по секундомеру одинаковые интервалы. Сам удивляюсь, может быть кто-то повторит этот эксперимент на фирменном примере CooCoxa?
  9. STM32F100 три вопроса

    Цитата(adnega @ Dec 17 2013, 17:52) А каким образом отсчитывается этот интервал? По таймеру? По числу тактов процессора? В фирменном примере от CooCoxа интервал отсчитывается по тактам процессора. Но я проверял аналогичную программу по таймеру на прерываниях. Эффект тот же, то есть длительность мигания увеличивается в 6 раз при срыве генерации.
  10. STM32F100 три вопроса

    1) Имеется плата STM32F100 с подключенным кварцевым резонатором 8 МГц. В CoIDE загружен тестовый пример мигания Blink, выставлен период мигания светодиодов 1 с. Проект нормально компилируется, светодиоды мигают. Как я понимаю, по умолчанию в проектах CooCox выставляется режим работы от кварцевого генератора с внутренним умножением частоты на 3, то есть тактовая частота 24 МГц. Теперь я срываю генерацию кварца прикосновением пинцета, при этом период мигания светодиодов увеличивается в 6 раз. Если пинцет убираю, то вновь период возвращается к 1 с. В доках пишут, что при аварии внешнего тактового сигнала начинает работать внутренний генератор частотой 8 МГц. То есть, по идее период мигания должен увеличиться в 3 раза, а не в 6 раз. Вопрос - почему? 2) Если подключается кварцевый резонатор к линиям PD0, PD1, то в какой режим надо переводить регистры GPIO - вход, вход-pull-up/down, выход или ресет? Надо ли вообще активировать тактирование порта PD? 3) Аналогичный пункту 2 вопрос, если вместо кварцевого резонатора подключается внешний цифровой сигнал на линию PD0 (то есть как настраивать линии PD0 и PD1 по GPIO)?
  11. Подключение антенны УКВ

    Имеется приемная штыревая антенная для УКВ-приемника (музыкальный диапазон). От места установки антенны до входа приемника примерно 30 см. Чем лучше соединить антенну и приемник - 1) куском провода неэкранированного, 2) коаксиальным кабелем, при этом экранированная оплетка соединяется с массой приемника только с одной стороны, то есть у приемника. Вопросы. Могут ли на кусок неэкранированного провода могут наводиться импульсные помехи от процессорной платы (насколько это влияет на качество приема)? Достаточно ли заземлить коаксиальный кабель с одной стороны (не будет ли он являться продолжением антенны)?
  12. Xmega

    Получил ответ из службы поддержки Atmel. Я спрашивал о том, относится ли ток 40 мА в даташите на ATmega к входу или выходу и можно ли пропускать ток 40 мА через защитные диоды. Вот выдержка из письма Yes you are correct, the DC current per IO pin 40 mA is a sink and source current when the pin is enabled as output. And as you mentioned the input max current is 1mA. Свои четыре вопроса в этой ветке я снимаю, мне однозначно все ясно. Желающие могут обратиться с аналогичным вопросом в службу поддержки Atmel, они исправно отвечают в течение трех рабочих дней (выходные не в счет) P.S. Спорить с Фомой Неверующим не буду, бессмысленно
  13. Xmega

    Ответов нет, видно разработчики сейчас в отпусках... Нашел в документе Atmel AVR182: Zero Cross Detector http://www.atmel.com/Images/doc2508.pdf схему, поясняющую работу защитных диодов в AVR-контроллерах и фразу о токе через них: "It is not recommended that the clamping diodes are conducting more than maximum 1 mA", так что мои прежние рекомендации (ток не более 1-2 мА) остаются в силе.
  14. Xmega

    Хорошо, самому стало интересно. Вынесем на общее обсуждение 4 вопроса. 1) Является ли фраза «DC Current per I/O Pin» у Atmel указанием на ток через вход и выход или в фразе «DC Current per I/O Pin» буквы I/O указывают на информационные (а не силовые) выводы микроконтроллера? 2) Почему в PIC-контроллерах, а также STM8, STM32 буквы I/O относятся однозначно к указанию информационных выводов? Пример «Output current source by any I/O and control pin». То есть PIC и STM32 шагают не в ногу, а Atmel в ногу? 3) Если предположить, что буквы I/O у XMega обозначает ток через защитные диоды 20 мА, то почему в ATmega (любых) этот ток в 2 раза больше 40 мА? Допускается ли в ATmega пропускать через входные защитные диоды ток 40 мА или этот ток относится только к выходу? 4) Бывает ли физически такое, что мощные выходные полевые транзисторы КМОП имеют такие же параметры как входные защитные диоды (это тоже КМОП-транзисторы)? Ответ хотелось бы услышать от профессионалов (судя по всему, от АртемаКАД ничего нового уже не услышишь, он свое мнение не изменит)
  15. Xmega

    Цитата(ArtemKAD @ Jun 12 2013, 18:11) Ну что-ж тогда сделаю я эксперимент - благо системка с xMega128A3 на столе. Через 1кОм вход без защит подключен к 16В через милиамперметр. Ток 13мА. Почему уже за пол часа не сгорает? Обратите внимание на слова из предыдущего поста ...ВОЗМОЖЕН пробой... "Тиристорный" эффект не подчиняется строгим формулам типа "такой-то ток и сразу сгорел", специалисты относят его к вероятностным процессам и описывают статистическими приближениями. Если вы хотите, чтобы ваша аппаратура работала долго и счастливо, причем на любой партии микросхем - это одно. Если вы хотите доказать, что пользоваться цифрами из даташита вредно и необязательно - это ваши проблемы.