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

RomanRom

Участник
  • Постов

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

  • Посещение

Весь контент RomanRom


  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. 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. А почему бы не так: 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. 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

    Обратите внимание на слова из предыдущего поста ...ВОЗМОЖЕН пробой... "Тиристорный" эффект не подчиняется строгим формулам типа "такой-то ток и сразу сгорел", специалисты относят его к вероятностным процессам и описывают статистическими приближениями. Если вы хотите, чтобы ваша аппаратура работала долго и счастливо, причем на любой партии микросхем - это одно. Если вы хотите доказать, что пользоваться цифрами из даташита вредно и необязательно - это ваши проблемы.
  16. Xmega

    Очень не хотелось продолжать дискуссию, но придется (надеюсь, в последний раз), поскольку эту ветку читают разные люди и некоторые из них могут сгоряча начать эксперименты по пропусканию тока в 40 мА через защитные диоды по входу... Максимум - это 1-2 мА и то не часто, в идеале только в аварийных ситуациях. Приведу еще один аргумент. Число 20 мА, как максимум тока через защитные диоды КМОП-структур, фигурирует в стандарте JEDEC (лениво искать ссылку). Стандарт относится и к микросхемам логики, и к микроконтроллерам, и к ПЛИС. Неужели фирма Atmel будет выпускать свою продукцию вразрез международным рекомендациям? Фирма Microchip в своих даташитах как раз и указывает предельный потолок JEDEC 20 мА, правда, нигде не рассказывает, при каких условиях проводились испытания (длительность воздействия неизвестна, а это очень принципиально). Складывается впечатление, что у разработчиков PIC-контроллеров сидят умные маркетологи. У меня лично больше доверия вызывают документы фирмы STMicroelectronics. Например, в даташитах на МК STM8, STM32 указаны два параметра: "Injected current on any pin +-5 мА" и тут же "Total injected current (sum of all I/O and control pins) +-25 мА". Ток инжекции и есть предельный ток через защитные диоды, причем через один вывод не больше 5 мА, а через несколько выводов всей микросхемы не больше 25 мА (иначе возможен пробой из-за "тиристорного эффекта"). Вот таким цифрам и методике я верю, здесь явно поработали инженеры-электронщики, а не маркетологи.
  17. Последовательные резисторы к выводам МК практикуют ставить при макетировании на этапе отладки программы. То есть, как говорят программисты, в каждой программе (если это не Hello, world, причем написанная не тобой) содержатся ошибки. При ошибках вход может перестроиться в режим выхода, и не пришельцами, а тобой, родимым. Еще бывают коллизии компилятора, чаще всего свободно распространяемого, когда он решает головоломно написанный Си-код и через стек "разваливает" настройку входов/выходов МК. После макетирования в штатной серии последовательный резистор обычно убирают. Его сопротивление можно безболезненно уменьшить до 240 Ом из расчета допустимого тока по выходу 20 мА (берется из даташита на МК). Как поступил бы пунктуальный немецкий электронщик? На макетке поставил бы последовательный резистор. Отладил бы программу. После получения работающего кода подключил бы параллельно этому резистору "умный" логический пробник или запоминающий осциллограф, смоделировал бы самые неблагоприятные условия (яркое освещение фототранзистора) и наблюдал бы появление на резисторе хотя бы кратковременно большого напряжения (на случай, если лог.0 все-таки появляется). Если большое напряжение обнаружено, то ищется глюк в программе и устраняется. Если большое напряжение не обнаружено, то резистор заменяется перемычкой.
  18. Xmega

    Я думаю, что вы в данном месте неверно трактуете обозначение I/O, принятое в даташитах Atmel (и не только). В предельных параметрах даны две строчки: DC Current per I/O Pin и ниже DC Current VCC and GND Pins. То есть I/O относится к линиям портов ИНФОРМАЦИОННЫХ сигналов, а VCC, GND (AREF) - к СИЛОВЫМ цепям. В PIC-контроллерах в даташитах также пишут I/O pin, но в отличие от Atmel, четко указывают два предельных параметра: Output clamp current 20 мА (ток через защитный диод) Maximum output current sunk by any I/O pin 25 мА (ток через любой информационный пин) Если не убедил, то давайте посчитаем на пальцах. Для Xmega указан допустимый ток через одну линию порта 20 мА, а в ATmega точно такой же параметр имеет значение 40 мА. Согласитесь, что защитные диоды в Xmega и ATmega выполнены по одной технологии, поэтому иметь разный допустимый ток они не могут.
  19. Xmega

    Утверждение спорное. Максимальный постоянный ток через вывод МК указывают только для ВЫХОДА, причем как вытекающего тока (лог.1), так и втекающего тока (лог.0). Максимальный ток по входу имеет совсем другие параметры. Он определяется допустимым током через защитные диоды и обычно составляет несколько миллиампер. Теперь о конденсаторе 0,1 мкФ. Если бы это было 1000-2000 пФ, то не страшно, в "фирменных" изделиях ставят и ничего. Если бы это было 1 мкФ и более, то по-хорошему пришлось бы вводить ограничительный резистор. А вот 0,1 мкФ, с моей точки зрения, - где-то на грани при 5-вольтовом питании, но при 3-вольтовом питании в верхней зоне допустимости для современных КМОП. Точного расчета допустимой емкости нагрузки врядли удастся найти, поскольку неизвестны точные параметры полевых транзисторов внутри МК в конкретной серии микросхем, изготовленных по технологии конкретной фирмы Atmel. Пробиваться выход МК будет не током (при подключении 1000 пФ ток на короткое время тоже будет больше, чем максимальный по даташиту), а энергией, то есть произведением тока на время воздействия, точнее его интегралом.
  20. WinAVR не обновляется с 2010 года. На форумах пишут, что вместо него используют 1) mhvavrtools, 2) Atmel AVR Toolchain Installer. У кого какие впечатления от этих проектов, кто что посоветует на замену WInAVR?
  21. Как я понимаю, на сайт Opecellid людей уже отсылали в 2011 году и ... молчок http://electronix.ru/forum/lofiversion/index.php/t88552.html Получается, что "чистой" компьютерной программы под Win до сих пор никто не разработал, а есть только API, которую надо вставлять в Net-приложение?
  22. Возвращаясь к теме. И все-таки плохо, что не все параметры можно восстанавливать к фабричным настройкам. У меня получился неудачный эксперимент - выставил случайно параметры битов четности/нечетности AT+ICF=3,2. Проверяю AT+ICF? 3,255. Теперь любые мои попытки вернуть параметр обратно к цифрам 3,3 (или 3,1) никак не получаются. На связь по UART это вроде бы не влияет. Сделал AT+ICF=2,1, ответ AT+ICF? 2,1, все отработало как положено, формат битов четности/нечетности изменился. Но если опять установить AT+ICF=3,3, то получается AT+ICF? 3,255. В мануале написано про этот код, но не написано, как вернуть его к фабричным 3,3.
  23. Все ли фабричные настройки параметров восстанавливаются по командам AT&F0, AT&W0? Например, скорость UART не восстанавливается, как была до изменения AT+IPR? 19200, так и осталась, хотя по дефолту должно восстановиться автоопределение скорости AT+IPR? 0 Может быть еще какие-то параметры надо сбрасывать вручную? =========================================== В вопросе разобрался самостоятельно. В документе AT-commands Manual v1.06 на стр.36-37 перечислены настройки, которые восстанавливаются по команде AT&F0. Параметр IPR (и многие другие) сюда не входит, значит, так задумал китайский разработчик, придется приспосабливаться...
  24. Существует ли компьютерная программа для автоматической расшифровки ответов от модуля SIM900 на команду AT+CENG=2,1? То есть идентификатор соты, мобильный код страны и т.д.
  25. Кто подскажет тип переменных резисторов с мягким ходом? Их иначе называют "маслянные" резисторы за плавный и приятный ход
×
×
  • Создать...