Jump to content

    

RomanRom

Участник
  • Content Count

    230
  • Joined

  • Last visited

Community Reputation

0 Обычный

About RomanRom

  • Rank
    Местный

Контакты

  • ICQ
    Array
  1. Для графических 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. В 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. А почему бы не так: 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. Провел аналогичный эксперимент на 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. Нет, отсчитывал по секундомеру одинаковые интервалы. Сам удивляюсь, может быть кто-то повторит этот эксперимент на фирменном примере CooCoxa?
  9. В фирменном примере от CooCoxа интервал отсчитывается по тактам процессора. Но я проверял аналогичную программу по таймеру на прерываниях. Эффект тот же, то есть длительность мигания увеличивается в 6 раз при срыве генерации.
  10. 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. Получил ответ из службы поддержки 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. Ответов нет, видно разработчики сейчас в отпусках... Нашел в документе 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. Хорошо, самому стало интересно. Вынесем на общее обсуждение 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. Обратите внимание на слова из предыдущего поста ...ВОЗМОЖЕН пробой... "Тиристорный" эффект не подчиняется строгим формулам типа "такой-то ток и сразу сгорел", специалисты относят его к вероятностным процессам и описывают статистическими приближениями. Если вы хотите, чтобы ваша аппаратура работала долго и счастливо, причем на любой партии микросхем - это одно. Если вы хотите доказать, что пользоваться цифрами из даташита вредно и необязательно - это ваши проблемы.