|
|
  |
Удобные для ручной пайки 32-битные микроконтроллеры в корпусах soic, tssop и dip с малым количеством выводов., Всё на борту (АЦП, FLASH, RAM). |
|
|
|
Dec 21 2011, 10:25
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
QUOTE (MrYuran @ Dec 21 2011, 15:11)  Это, видимо, из самых младших. Даже заштатный F149 имеет 60к флеши и 2к ОЗУ. Честный ADC12, аналоговый компаратор. TQFP64: не дип, конечно, но при некоторой сноровке можно и проводки к ножкам подпаять. Заточен исключительно под микропотребление. По остальным параметрам Cortex M0 его порвет. И особенно по цене. Если верить документации, то и Cortex-M3 его порвёт даже по потреблению. Если оный кортекс из EFM32. QUOTE (Alexashka @ Dec 21 2011, 16:22)  По ходу вопрос, а есть ли в природе Cortex M0 с 12-битным АЦП? Есть, вроде, - например, эти. 12 бит, 1 мегасэмпл в секунду.
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
Dec 21 2011, 10:41
|
Гуру
     
Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261

|
Цитата(Alexashka @ Dec 21 2011, 13:22)  а есть ли в природе Cortex M0 с 12-битным АЦП? Есть Cortex™-M3 STM32L152CB: • 12-bit ADC up to 1 Msps/24 channels • 2 × 12-bit DACs with output buffers • LQFP 48
|
|
|
|
|
Dec 21 2011, 11:19
|

Практикующий маг
     
Группа: Свой
Сообщений: 3 634
Регистрация: 28-04-05
Из: Дубна, Моск.обл
Пользователь №: 4 576

|
Цитата(dxp @ Dec 21 2011, 14:25)  Если верить документации, то и Cortex-M3 его порвёт даже по потреблению. Если оный кортекс из EFM32. Есть, вроде, - например, эти. 12 бит, 1 мегасэмпл в секунду. Интересные процы, в плане замены тех же MSP430, тока вот не особо популярные еще, и видимо никогда не догонят Техас по популярности. Будут доступны в 2012г. Ну чтож поглядим, уже не долго ждать осталось  Цитата(blackfin @ Dec 21 2011, 14:41)  Есть Cortex™-M3 STM32L152CB: • 12-bit ADC up to 1 Msps/24 channels • 2 × 12-bit DACs with output buffers • LQFP 48 Спасибо, но великоват всетаки) Мне бы хватило и десятка ног. Цитата(tmtlib @ Dec 21 2011, 14:10)  А я вот тут подумал, генератор белого шума на пол бита нельзя ли программно сделать, замкнув выход ЦАП на входы АЦП и шипеть туда. Разрядность ЦАП-а вроде больше. Поискал на эту тему, но ничего не нашёл. Лучше не белого, а голубого  чтобы не повышать уровень шума в рабочей полосе. Но это лишний гемор имхо. Хотя вот например в контроллерах Silabs в АЦП есть даже аппаратный auto-averaging аккумулятор, призванный увеличивать разрядость с 10 до 12 или 13 бит. Вот только как там внеполосный шум накладывается я так и не понял, скорей всего -никак.
|
|
|
|
|
Dec 21 2011, 17:44
|

Практикующий маг
     
Группа: Свой
Сообщений: 3 634
Регистрация: 28-04-05
Из: Дубна, Моск.обл
Пользователь №: 4 576

|
Цитата(Herz @ Dec 21 2011, 15:49)  Так вот, тот же NUC100, который Ivan Panov упоминал. По всему видно, что проц заточен под индастриал, 5В питание, все токи в спящем режиме на порядок больше аналогичных у 3-вольтовых аналогов. Еще бросилось то, что АЦП не умеет запускаться от внутреннего таймера. Но есть и плюсы- высокая тактовая, 12бит АЦП и можно на ноги повесить все вплоть до белых светодиодов
|
|
|
|
|
Dec 22 2011, 10:02
|

developer
   
Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032

|
Для управления 5-ти вольтовых Цитата a la 44780 есть вот такой способ http://elm-chan.org/docs/lcd/lcd3v.html
--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
|
|
|
|
|
Dec 22 2011, 11:14
|
Местный
  
Группа: Участник
Сообщений: 200
Регистрация: 30-10-10
Пользователь №: 60 531

|
Цитата(Alexashka @ Dec 21 2011, 13:22)  Зачем? подключите светодиод "минусом" к выходу контроллера, получится инверсия. Заработало! Но пока без светодиода. символ пробел = 0xBF = 191 = 10111111 символ пробел = 0x20 = 32 = 00100000 - так должно быть символ "0" = 0x9f = 159 = 10011111 символ "0" = 0x30 = 48 = 00110000 - так должно быть т.е. уровни нужно инвертировать, и съедается стартовый бит. Но как новичок в этом деле я не совсем врубаюсь как ставить светодиод. Я оптопару напрямую подключаю к выходам микроконтроллера. Внутри оптопары по сути уже есть светодиод. Если я снаружи поставлю ещё один, то в зависимости от полярности либо всё перестанет работать, либо ничего не изменится. Короче я завис  Может есть схемка на подобную тему. p.s. Подрубил оптопару к выходам "GND" и "PA9" на STM32 Discovery. PA9 - это выход TX с USART1. Скорость USART-а задал как USART1->BRR=8000000L/9600L, т.е. исходя из скорости кварца в 8МГц, хотя здесь (http://habrahabr.ru/blogs/DIY/132739/) прочитал, что скорость по умолчанию 24МГц (8МГц умножается на 3?).
|
|
|
|
|
Dec 22 2011, 17:50
|

Практикующий маг
     
Группа: Свой
Сообщений: 3 634
Регистрация: 28-04-05
Из: Дубна, Моск.обл
Пользователь №: 4 576

|
Цитата(tmtlib @ Dec 22 2011, 15:14)  p.s. Подрубил оптопару к выходам "GND" и "PA9" на STM32 Discovery. PA9 - это выход TX с USART1. Скорость USART-а задал как USART1->BRR=8000000L/9600L, т.е. исходя из скорости кварца в 8МГц, хотя здесь (http://habrahabr.ru/blogs/DIY/132739/) прочитал, что скорость по умолчанию 24МГц (8МГц умножается на 3?). Эээээ...я какбэ и имел ввиду светодиод, который в оптопаре Все правильно, у Вас щас на него идет "1" и он горит, и "1" появляется на COM-порту. Инверсии нет. А она должна быть для корректной работы UART<->RS232. А если подключить оптопару плюсом на 3,3В (такое ведь питание IO контроллера?) и минусом на порт (РА9) получится инверсия- светодиод будет гореть при "0" в порту. Понимаете мысль?  Про битрэйт не скажу, проще всего воткнуть щуп осциллоскопа и посмотреть своими глазами какой там битрейт. А вообще если берете пример от производителя, то обычно там указывается скорость, у моего атмеля например было так, функция настройки UART принимает тактовую частоту и желаемую частоту UART, и если цифры адекватные, она и выставляется.
|
|
|
|
|
Dec 23 2011, 02:21
|
Местный
  
Группа: Участник
Сообщений: 200
Регистрация: 30-10-10
Пользователь №: 60 531

|
Цитата(Alexashka @ Dec 22 2011, 21:50)  Эээээ...я какбэ и имел ввиду светодиод, который в оптопаре Все правильно, у Вас щас на него идет "1" и он горит, и "1" появляется на COM-порту. Инверсии нет. А она должна быть для корректной работы UART<->RS232. А если подключить оптопару плюсом на 3,3В (такое ведь питание IO контроллера?) и минусом на порт (РА9) получится инверсия- светодиод будет гореть при "0" в порту. Понимаете мысль?  Спасибо за ответ, хотя понимаю что мой вопрос немного слишком =) Подключил осциллограф и до меня начало доходить. Сейчас смотрю книгу "Сопряжение ПК с внешними устройствами" 2001: если по схеме снизу подключить к "плюсу" оптопары 3.3в, а к "минусу" - PA9, то для нормальной работы схемы PA9 должно выдавать от 0 до 3.3вольт, и при 3.3 вольтах диод погаснет. У меня на PA9 выдаётся 1 вольт. Честно скажу, в документации ещё не смотрел какое напряжение должно быть. Т.е. нужно или резистор ставить или ещё чего. Для начала попробую верхнюю схему =) И ещё вспомнилось: Цитата А что у STM родной софт с ограничениями? У Freescale ограничение по коду 128кБ (CodeWarrior для Kinetis), пожалуй для такого мощного камня это уже маловато. Если без ограничения на размер кода, то помимо TrueStudio оказалось ещё есть интересная штука http://coocox.org/CoIDE/CoIDE_Updates.htm (CoIDE?). Вчера в какой-то статье нашёл ссылку на эту софтину. По описанию - похоже на TrueStudio. Всё это не только для STM, так что возможно имеет смысл попробовать. UPDATE: Заработало, по схеме с инверсией из книжки - подтяжка к 5 вольтам. Но вот у меня теперь возник другой вопрос. Без нагрузки на выходе мк PA9 есть 3.3 Вольта, а после подключения оптопары (светодиод) напряжение на PA9 падает где-то до 1.5 Вольта. Как это для мк-то, стерпит? Может нужно ставить токоограничительный резистор, но будет ли тогда нормально светить инфракрасный диод в оптопаре не представляю.
Сообщение отредактировал tmtlib - Dec 23 2011, 03:56
Эскизы прикрепленных изображений
|
|
|
|
|
Dec 23 2011, 06:09
|

Практикующий маг
     
Группа: Свой
Сообщений: 3 634
Регистрация: 28-04-05
Из: Дубна, Моск.обл
Пользователь №: 4 576

|
Цитата(tmtlib @ Dec 23 2011, 06:21)  UPDATE: Заработало, по схеме с инверсией из книжки - подтяжка к 5 вольтам.
Но вот у меня теперь возник другой вопрос. Без нагрузки на выходе мк PA9 есть 3.3 Вольта, а после подключения оптопары (светодиод) напряжение на PA9 падает где-то до 1.5 Вольта. Как это для мк-то, стерпит? Может нужно ставить токоограничительный резистор, но будет ли тогда нормально светить инфракрасный диод в оптопаре не представляю. Не не не не не, резистор 100 ОМ оставьте! Он нужен для ограничения тока через порт. Я думал, что он у Вас какбы само собой стоит, вот и не сказал. Напряжение падает потому что выход контроллера не может выдавать большой ток, максимальный ток указан в электрических параметрах в даташите контроллера -чтото порядка 20мА. Если со 100 Ом будет норм.работать так и оставляйте.
|
|
|
|
|
Dec 23 2011, 06:18
|
Местный
  
Группа: Участник
Сообщений: 200
Регистрация: 30-10-10
Пользователь №: 60 531

|
Цитата(Alexashka @ Dec 23 2011, 10:09)  Не не не не не, резистор 100 ОМ оставьте! Он нужен для ограничения тока через порт. Я думал, что он у Вас какбы само собой стоит, вот и не сказал. Напряжение падает потому что выход контроллера не может выдавать большой ток, максимальный ток указан в электрических параметрах в даташите контроллера -чтото порядка 20мА. Если со 100 Ом будет норм.работать так и оставляйте. Нашёл datasheet на оптопару: Графа Typical по диоду: "Vf = 1.1v, 5mA". То есть я так понял ему хватает 1 вольта 5 мА. Сейчас впаяю какой-нибудь резистор (тьфу, сначала транзистор написал) UPDATE: Вставил токоограничительный резистор 200 Ом, всё работает, и выглядит более пристойно: на выходе мк 3.3в, на входе в оптопару около 1в. Со стороны порта "подтягиваюсь" к 5 вольтам резистором на 500 Ом - не маловато ли? Здесь: Цитата вообще советуют 10кОм. В принципе всё должно логично вытекать из формулы R = U / I и "даташитов", с поглядыванием на осциллограф. Заметил, что некоторые микроконтроллеры в LQFP48 дороже и труднее доставаемы, чем аналогичные или даже превосходящие по параметрам в LQFP64. Видимо лучше использовать 64 =)
Сообщение отредактировал tmtlib - Dec 23 2011, 06:52
|
|
|
|
|
Dec 23 2011, 10:49
|

Практикующий маг
     
Группа: Свой
Сообщений: 3 634
Регистрация: 28-04-05
Из: Дубна, Моск.обл
Пользователь №: 4 576

|
Цитата(tmtlib @ Dec 23 2011, 10:18)  Со стороны порта "подтягиваюсь" к 5 вольтам резистором на 500 Ом - не маловато ли? Заметил, что некоторые микроконтроллеры в LQFP48 дороже и труднее доставаемы, чем аналогичные или даже превосходящие по параметрам в LQFP64. Видимо лучше использовать 64 =) Нормально, оптопаре 10мА не повредит, порту 5В тоже, он ведь на вход работает  Политика с корпусами мне тоже не совсем понятна, видимо все от тиража зависит, о чем мы можем только догадываться глядя на цены.
|
|
|
|
|
Dec 23 2011, 11:08
|
Местный
  
Группа: Участник
Сообщений: 200
Регистрация: 30-10-10
Пользователь №: 60 531

|
Офигеть! Всё заработало! Попробую в свободное время нарисовать схему, может кто знает что за программа рисует принципиальные схемы на листе в клеточку жирными линиями? Видел в некоторых статьях подобные аккуратненькие эскизы, или это в Paint-е? Канал приёма: Токоограничительный резистор 1шт. R=1.5 кОм Диод в параллель оптопаре 1шт. (но задом наперёд, для того чтобы отрицательное напряжение с RS-232 ушло в землю RS-232). Оптопара 1шт. Подтягивающий резистор 1шт. для подтяжки к 3.3В Канал передачи: Токоограничительный резистор 1шт. R=200 Ом Оптопара 1шт. DC-DC преобразователь 5в/5в Подтягивающий резистор 500 Ом Прошивка простенькая - при посылке данных в контроллер он их выдаёт обратно. Всё работает. Спасибо Alexashka за ответы на мои порою глупейшие вопросы. Кстати, меня немного напрягает неидеальность приведения RS-232 уровня (которое может быть -12в...+12в) к уровню для оптопары (0..1 вольт). Я поставил токоограничительный резистор параллельно линии RX, а диод - в параллель оптопаре. В итоге после всего этого уровни напряжения примерно -0.5...1.1 вольта. Вроде не критично. Может ещё резистор на землю поставить после диода....
Сообщение отредактировал tmtlib - Dec 23 2011, 11:11
Эскизы прикрепленных изображений
|
|
|
|
|
Dec 24 2011, 04:21
|
Местный
  
Группа: Участник
Сообщений: 200
Регистрация: 30-10-10
Пользователь №: 60 531

|
Цитата(Alexashka @ Dec 23 2011, 20:08)  Вы все правильно сделали. Для оптопары все что ниже +1В считается отсутствием сигнала, поскольку это токовый прибор (управляется током, а не напряжением). Диод защищает оптопару от обратного напряжения, что хорошо. Не понял Вы хотели полную гальваноразвязку сделать? Но ведь у Вас еще USB сидит на плате. По поводу DC/DC- там на схеме на первом листе вроде как задумка делать подтяжку сигналом DTR (хотя может и ошибаюсь) в этом случае DC/DC не нужен. У меня на переходнике USB-COM сигнал DTR всегда выдаёт 0. Питание есть только на CTS, когда открыт терминал. Когда стал брать питание с CTS, переходник начал глючить: ошибки в принятых данных, и даже иногда вылазила ошибка "Cannot set CommState". Как взял блок питания 220 -> 5в, всё сразу заработало. Можно было бы взять и с USB отладочной платы, но я хочу попробовать сделать источник питания 12->3.3 вольта. А потом и вовсе убрать отладочную плату Discovery и впаять имеющийся STM32F на плату с дырочками, там есть LQFP48 и 64, запитавшись от 12 вольт. Сейчас подумываю какой бы стабилизатор использовать. Для экспериментов хорошо иметь "стандартные" напряжения 3.3, 5, 10, 12 и т.п. , туда и экран можно засунуть, и диоды, и динамик небольшой для писков. Вчера искал сайт с "минималистическими" схемами, но что-то не густо. Я в номенклатуре элементов не силён, а вот знатоки этого дела когда встаёт вопрос "нужно 10 вольт" могут сразу выдать парочку схем с более-менее современными элементами. Да ещё применить правильно и получить заодно +/-5 вольт и т.д. p.s. У меня новенький трансформаторный блок питания на 12В 1А выдаёт 22В без нагрузки и 18В с подключением лампочки =) Внутри всё выглядит более-менее: трансформатор, резистор, диодный мост и конденсатор.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|