Контроллеры Texas Instruments кто юзает ?

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Друг Кота
Аватара пользователя
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Вообще-то для эффективности реализации SPI/I2C следует использовать встроенные модули МК. В этом случае максимальная частота SPI будет равна частоте MCLK, т.е. тактовой частоте процессора. Соответственно, можно просто реализовать 1мгц/400кгц/100кгц тактовую частоту I2C задействовав "прескейлер" модуля USI.

Если-же Вы хотите реализовать эти интерфейсы программно и гонитесь за скоростью, то С не самый удобный язык для этого. Лучше такие фрагменты кода писать на АСМе, где Вы полностью контролируете ситуацию, и смотреть в отладчике сколько тактов занимает каждая операция. Число тактов можно также оценить по описанию каждой инструкции ЦПУ в документе SLAU144 "MSP430x2xx Family User's Guide". Например, чтобы изменить состояние выводов порта 1 закодированных в регистре R5 с 0 на 1, можно использовать инструкцию "BIS R5, &P1OUT", занимающую 4 цикла ЦПУ. Т.е. программная реализация интерфейсов (особенно SPI) будет гораздо медленнее, и частота тактирования линии SCK интерфейса будет зависеть от того как написана программа.

Кстати, насчет литературы на русском, в Радио 8-9/2011 есть пара статей про бутлоадер в MSP430, а в 9-м номере см. нашу статью про часы на MSP430F2101. В исходнике к статье, доступной с сайта журнала, можно найти подпрограммы на асме реализации функций интерфейса I2C.
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2095
Зарегистрирован: Чт апр 08, 2010 18:50:01
Откуда: Краснодар

Сообщение Кислый »

:) в восемь раз меньше тактовой.. хмм.
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
Контактная информация:
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2095
Зарегистрирован: Чт апр 08, 2010 18:50:01
Откуда: Краснодар

Сообщение Кислый »

А разгонять пробовали ?
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Нет, разгонять не пробовал, но пробовал тактировать SPI память на тактовой частоте МК 16 мгц используя USI блок. Если Вам нужно быстро менять напряжение на выводе МК, смотрите всегда в сторону использования его периферийных модулей. Если это не устраивает, опишите в общих чертах что Вы делаете и почему не хотите использовать аппаратную поддержку SPI/I2C. Это вопрос который я задаю себе, читая Ваши посты. Мне трудно что-то посоветовать дельное, не зная Ваших намерений.
Реклама
Эиком - электронные компоненты и радиодетали
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2095
Зарегистрирован: Чт апр 08, 2010 18:50:01
Откуда: Краснодар

Сообщение Кислый »

вопросы пока чисто абстрактные.. и пока меня интересует именно младшие козявки. Хочу проэкт на них сделать.. эмулировать муравейник =) поэтому интересуюсь двунаправленным бит бандингом =)

а описание я нашел на GAW
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Скорость программной реализации интерфейсов с помощью бит-бангинга определяется не только скоростью дрыгания ногами, то также еще скоростью подготовки нового бита при передаче и приема бита с линии и компоновки их в байт. На это уйдет основное время приема/передачи. Для такого приложения несущественны 16-битные операции, может более приемлимым в плане скорости будет использовать МК, где подавляющее число команд выполняется за 1-2 цикла ЦПУ.

Насколько я могу себе представить, люди реализуют интерфейсы SPI/I2C программно в основном по следующим причинам (наверняка имеются и другие):
1. нужно оба интерфейса SPI и I2C и на разных выводах, а блок SPI/I2C всего один.
2. выводы отведенные в МК под SPI/I2C заняты под другие нужды в схеме.

Если это и Ваш случай, очень советую посмотреть в сторону 8-битных Silabs C8051. У них (как и у AVR8) установка значения на выводе занимает 2 цикла ЦПУ. Кроме того, есть внутренняя переключающая сеть, позволяющая переназначить выводы блоков SPI и I2C (они там раздельные !) практически на любые выводы корпуса (и если хотите использовать их одновременно на прием/передачу аппаратно и одновременно еще дрыгать другими ногами программно). Если нужно, скажем, 2 или более интерфейса I2C и на разных пинах корпуса, шины I2C можно в любой момент переназначить ПРОГРАММНО на другие выводы МК. Мы все уже привыкли к тому, что АЦП имеют несколько входов, и если нужен только 1 из них то появляется гибкость в выборе пина удобного для разводки. В 16-битных PIC имеется несколько фиксированных пар I2C на корпусе, но такой гибкости в плане назначения выводов под блоки как у C8051 я не знаю не у одного другого семейства МК.

Лучшая из англо-язычных книг по MSP430:
http://elektrobook.ucoz.ru/load/51-1-0-863
Очень серьезная книга, автор знает о чем пишет. Она не есть перевод/перепечатка даташитов, как многие другие, а дополняет их.
Реклама
Открыл глаза
Сообщения: 44
Зарегистрирован: Пн июл 06, 2009 07:42:07

Сообщение grinay »

В нынешнее время атмеловкие барыги совсем аборзели (это я про наших дилеров).
Последнее время закзываю контроллеры тут.
http://chipster.ru/catalog/active-compo ... l/304.html
ATTINY13A-PU - 30р считаю вполне приемлемо. Да и за мегу8 70рублей копейки)
Друг Кота
Аватара пользователя
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Сообщение Satyr »

Полезный материал для тех, кто еще дает держать себя за лоха:
"Сравниваем микроконтроллеры до 50 рублей" - http://habrahabr.ru/blogs/controllers/120611/
И для тех, кто усиленно очкует - http://www.terraelectronica.ru/idea.php?ID=379
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2095
Зарегистрирован: Чт апр 08, 2010 18:50:01
Откуда: Краснодар

Сообщение Кислый »

блин, Cатир !! Оставь свой крестовый поход ! Да и задачи тут немного иные, у арм нет малоногих моделей, и по площади они больше чем надо. А надо уместить под крышечкой от бутылки пэт
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Сообщение Satyr »

Кислый писал(а):Да и задачи тут немного иные, у арм нет малоногих моделей, и по площади они больше чем надо. А надо уместить под крышечкой от бутылки пэт
Опять миф. В крышку - да без проблем.
У ST хватает мелких МК в корпусе VFQFPN36 - футпринт 6.5 на 6.5 мм на печатной плате. те же SOIC у самых мелких tinyXX с учетом ног занимают даже больше.

На лазерный утюг, при некотором опыте, вполне паяется.
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

Satyr писал(а):У ST хватает мелких МК в корпусе VFQFPN36 - футпринт 6.5 на 6.5 мм на печатной плате. те же SOIC у самых мелких tinyXX с учетом ног занимают даже больше.
На лазерный утюг, при некотором опыте, вполне паяется.
У Вас нет примера односторонней печатной платы под такой микроконтроллер? Посмотрел - 8 ног питания. Площадку на "пузе" надо ли припаивать? Лично для меня нужно вывести ноги програмирования и отладки. И кварц часовой бы прицепить. И развести бы ноги на 4 разрядный семисегментный индикатор, чтоб один порт 8 бит был на сегменты , ну катоды/аноды как придется. Под MEGA48 TQFP у меня такая плата давно уже есть
mega48.jpg
(22.69 КБ) 457 скачиваний
, есть подобная плата и под PIC соик, есть и под MSP430 (еще не использовал). Везде выведены ноги для програмирования, они же отладка ( мегу отлаживаю по spi). Все порываюсь сделать подобную на ARM - прикупил давно кучку LPC1111, пока руки не доходят.
Пробовал делать проект под LPC1111 типа hello wold - printf сожрал почти всю память, почитал (ниже цитата) вообще пока отбило охоту применять ARM. Может сейчас что-то улучшилось?

Опубликовано xenon в августа 27, 2010

Работаю тут с отладочной платой EK-LM3S8962.
После AVR сложилось впечатление, что ARM Сortex M3 - редкая гадость. Прежде всего из-за средств разработки. Тулчейнов тьма тьмущая, но половина старые, половина коммерческие. Коммерческие сразу отпадают хотя и достаточно эффективные, взять тот же IAR. Поэтому помучался с CodeSourcery Lite, но нету готовых сборок под FreeBSD, да и для Linux нету под AMD64 - короче не понравилась.
Ещё один неприятный момент заключается в том, что разновидностей MCU на базе ядра ARM Cortex M3 примерно столько же, сколько и китайцев. Отсюда всякие несовместимости и т. д. Отсутствует нормальная стандартная библиотека Cи. Из свободных только убожество под названием newlib. У меня на AVR так printf не тормозил, правда под AVR была вообще замечательная библиотека avr-libc. Почему под такую популярную платформу как ARM никто не родил оптимизированной библиотеки совершенно непонятно.
Прошивальщик, он же OpenOCD, тоже пока не радует, хотя толком не разбирался, всё-таки это отладчик по jtag, а с ним работаю впервые.
Вообщем AVR вспоминаюс с ностальгией.(C)
Друг Кота
Аватара пользователя
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Сообщение Satyr »

Если товарищ криворукий или просто не разобрался - это его беда, а не архитектуры.
Имел дело с:
AVR - atmega8, atmega16, atmega48, at90usb62, at90usb646
AVR32 - at32uc3b164, at32uc3b0256, at32uc3a3256
ARM7TDMI - at91sam7s256, lpc2478
Cortex-M3 - lm3s6432, lpc1785

Жить можно со всеми, но с первыми ооочень скучно. Самое приятное - это последние.
Друг Кота
Аватара пользователя
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Сообщение Satyr »

oleg110592 писал(а): Пробовал делать проект под LPC1111 типа hello wold - printf сожрал почти всю память, почитал (ниже цитата) вообще пока отбило охоту применять ARM. Может сейчас что-то улучшилось?
ARM то тут причем ? -)))
Ты думаешь у него stdlib что, аппаратный ? -)))
По плотности кода Thumb2 даже лучше AVR, так что тут чисто кривость в выборе/конфигурировании библиотек.

В том же IAR библиотеки и, в частности, глубино поддержки аргументов xprintf() можно настраивать. Если в AVR скомпилено только с поддержкой строк и интов без паддинга, а в ARM с флоатами, паддингами и прочим, то ессно во втором случае прилинкуется куда больше.

Проблемы в слепости и безграмотности радиогубителей, а не в архитектурах.
Опытный кот
Аватара пользователя
Сообщения: 842
Зарегистрирован: Чт дек 31, 2009 19:27:45
Откуда: Бровари, Україна

Сообщение avreal »

Satyr писал(а):Жить можно со всеми, но с первыми ооочень скучно. Самое приятное - это последние.
Э... Иногда скучно-не-скучно, а эффект счтать надо :-)
Вот та табличка на хабре -- это ж к stm32f100c4 надо добавить стоимость монтажа 48 ног, а к tiny13 -- 8. И тогда оказывается, что тинька ощутимо дешевле. Конечно, при пайке на линии хотя бы тысячи изделий в месяц, а не на кухне одной за воскресенье.
(про LPC1102 знаю, но ставить такой корпус в серию не готов, плата не уменьшится, так как определяется другими вещами, а класс платы резко повышается по сравнению с TSSOP).

Да и mA/MHz цифра не всегда отражающая реальные микроамперы в реальных применениях. Когда можно спать долго-долго, просыпаться ненадолго и снова спать, то тогда «быстро всё сделать АРМ-ом и опять уснуть» может и выгоднее.
А когда нужно постоянно что-то щёлкать, сотни раз в секунду на что-то реагируя и контролируя времена по таймеру (в полный power down удаётся уйти меньше половины времени работы, надо таймер тактировать), то оказывается, что 8 МГц внутренний RC в ARM-е (независимо от того, насколько его поделили перед подачей на ядро) тупо гораздо больше жрёт, чем DLL в MSP430 на частоте 0.5MHz вместе с ядром и таймерами.

Так что при том, что в уже находящихся в разработке платах стоят stm32f100r6, stm32f103cb, вот на подходе платы с lpc1768 (в avreal не зря давно включеня поддержка FT2232, но нет прочих вариантов -- иметь на столе одну железку для программирования и AVR, и ARM просто удобно), в очередное мелкое изделие идут колебания между attiny24A и msp430G2xxx с медленным дрейфом в сторону MSP (макет на tiny24 работает и полностью удовлетворяет, но в долгосрочной перспективе MSP приятнее).
STM8L -- нет мелких кристаллов с АЦП. Кристаллы хорошие, но номенклатура (пока?) маловата.
Satyr писал(а):ARM то тут причем ? -)))
Ты думаешь у него stdlib что, аппаратный ? -)))
По плотности кода Thumb2 даже лучше AVR, так что тут чисто кривость в выборе/конфигурировании библиотек.
...
Проблемы в слепости и безграмотности радиогубителей, а не в архитектурах.
А вот тут согласен полностью.
Кстати, пример по плотности кода.
Идущие с scmRTOS примеры, довольно мелкие, на уровне 2-3 килобайт, компилируются в приблизительно одинаковый объём кода что для AVR, что для Cortex-M3. И это при том, что у кортекса таблица прерываний гораздо больше по размеру.
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Сообщение Satyr »

avreal писал(а): Вот та табличка на хабре -- это ж к stm32f100c4 надо добавить стоимость монтажа 48 ног, а к tiny13 -- 8. И тогда оказывается, что тинька ощутимо дешевле. Конечно, при пайке на линии хотя бы тысячи изделий в месяц, а не на кухне одной за воскресенье.
На линии цена микроскопически поменяется, на порядки ниже, чем экономия в цене микросхемы.
Наборному станку пофиг что на платы класть. Копеечная разница только при производстве трафаретов, где больше апертур.
Друг Кота
Аватара пользователя
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Сообщение Satyr »

avreal писал(а): (про LPC1102 знаю, но ставить такой корпус в серию не готов, плата не уменьшится, так как определяется другими вещами, а класс платы резко повышается по сравнению с TSSOP).
Какой класс ? сейчас у всех, что ивдел, дорожка/зазоры 0.2/0.2мм - самое примитивное и дешевое, что существует. корпуса с шагом 0.5мм как раз проходят. Что там повышается ?
Опытный кот
Аватара пользователя
Сообщения: 842
Зарегистрирован: Чт дек 31, 2009 19:27:45
Откуда: Бровари, Україна

Сообщение avreal »

Satyr писал(а):На линии цена микроскопически поменяется, на порядки ниже, чем экономия в цене микросхемы.
Наборному станку пофиг что на платы класть. Копеечная разница только при производстве трафаретов, где больше апертур.
Увы, на партиях в несколько сот заготовок (по 6-10 небольших плат) у нас сейчас первоначальный рассчёт идёт от числа ног, потом уже торговля. Что меня лично удивляет, так как стоит-то час работы установщика, даже не число перенесённых им за это время корпусов, не говоря уже о ножках. Ну у нас с прошлой зимы провал, ничего не заказывали. Может, что-то и поменялось за то время, что у нас руководство колебалось -- а не плюнуть ли на всё это :-)
Satyr писал(а):Какой класс ? сейчас у всех, что ивдел, дорожка/зазоры 0.2/0.2мм - самое примитивное и дешевое, что существует. корпуса с шагом 0.5мм как раз проходят. Что там повышается ?
Для вывода сигналов от внутренних шариков корпуса WLCSP16 с шагом шариков 0.5 мм (зазор между шариками на уровне 0.22 мм) нужны не 0.2 зазор + 0.2 дорожка + 0.2 зазор = 0.6 да еще сами пятаки под шарики, а 0.07 зазор 0.08 дорожка 0.07 зазор. Ну или переходные 0.3.
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Сообщение Satyr »

Ну, зачем такие крайности. Да, BGA это дорого, если речь не про масштабы в десятки и сотни тыс.

Но все эти мелкие АРМы, что мы вроде тут обсуждаем, в корпусах qfn/mlf/qfp с шагом 0.5мм, что по сегодняшним временам - топорные технологии и не дороже всяких SOICов

Насчет мелкого см. пример, что я Кислому писал. там 6.5 на 6.5 мм на плате - как SOICи. и без BGA
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 190
Зарегистрирован: Сб июн 12, 2010 16:19:17
Откуда: Россия, Томск

Сообщение Zheleznjakov »

avreal писал(а): STM8L -- нет мелких кристаллов с АЦП. Кристаллы хорошие, но номенклатура (пока?) маловата.
Появились STM8L151F в корпусе tssop20, но пока нет в наличии, если только бабину заказывать :(
http://ziblog.ru/2011/09/11/stm8l-v-korpuse-tssop20/
С уважением, Денис Железняков aka ZiB
Мой блог: http://ziblog.ru
Контактная информация:
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2095
Зарегистрирован: Чт апр 08, 2010 18:50:01
Откуда: Краснодар

Сообщение Кислый »

ага и стоят они 100-200р
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
Контактная информация:
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»