Мигать светодиодом. ARM или не-ARM?
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Мигать светодиодом. ARM или не-ARM?
Microchip анонсировала новые семейства микроконтроллеров PIC и AVR - волнующее электронщиков (применяющих не-ARM) событие.
Главные представители PIC16F18446 и ATmega4809.
Благодаря интеграции независимой от ядра периферии и интеллектуальных аналоговых блоков, новые микроконтроллеры PIC и AVR позволят упростить разработку сложных проектов
Микроконтроллеры семейства PIC16F18446 – это идеальные приборы для применения в сенсорных узлах и датчиках. PIC16F18446 и встроенный в него аналого-цифровой преобразователь с блоком вычислений сохраняют полную работоспособность в диапазоне напряжений питания 1.8 В – 5 В, обеспечивая тем самым совместимость с большинством аналоговых и цифровых датчиков. 12-разрядный АЦП автономно выполняет фильтрацию своих данных, повышая точность измерений, производимых с помощью аналоговых датчиков, что в конечном счете сказывается на качестве данных для конечного пользователя. Поскольку АЦП имеет возможность «разбудить» процессор только когда это необходимо, а не в заранее определенные периоды, потребление системы снижается, что определяет возможность применения этого микроконтроллера в приложениях с батарейным питанием.
В семейство AVR вошла новая серия микроконтроллеров ATmega4809, предназначенных для реализации эффективных приложений управления и контроля, в которых особое внимание уделяется времени срабатывания и отклика на события. Высокая производительность интегрированного АЦП позволяет ускорить преобразование аналоговых сигналов и получить детерминированные системные ответы. Представленные приборы являются первыми микроконтроллерами серии ATmega с независимой от ядра периферией (Core Independent Peripherals, CIP). Микроконтроллеры могут выполнять определенные задачи на аппаратном уровне, что приводит к уменьшению объема кода.
Благодаря своим характеристикам, микроконтроллер ATmega4809 был выбран для встраивания в платы Arduino следующего поколения.
Главные представители PIC16F18446 и ATmega4809.
Благодаря интеграции независимой от ядра периферии и интеллектуальных аналоговых блоков, новые микроконтроллеры PIC и AVR позволят упростить разработку сложных проектов
Микроконтроллеры семейства PIC16F18446 – это идеальные приборы для применения в сенсорных узлах и датчиках. PIC16F18446 и встроенный в него аналого-цифровой преобразователь с блоком вычислений сохраняют полную работоспособность в диапазоне напряжений питания 1.8 В – 5 В, обеспечивая тем самым совместимость с большинством аналоговых и цифровых датчиков. 12-разрядный АЦП автономно выполняет фильтрацию своих данных, повышая точность измерений, производимых с помощью аналоговых датчиков, что в конечном счете сказывается на качестве данных для конечного пользователя. Поскольку АЦП имеет возможность «разбудить» процессор только когда это необходимо, а не в заранее определенные периоды, потребление системы снижается, что определяет возможность применения этого микроконтроллера в приложениях с батарейным питанием.
В семейство AVR вошла новая серия микроконтроллеров ATmega4809, предназначенных для реализации эффективных приложений управления и контроля, в которых особое внимание уделяется времени срабатывания и отклика на события. Высокая производительность интегрированного АЦП позволяет ускорить преобразование аналоговых сигналов и получить детерминированные системные ответы. Представленные приборы являются первыми микроконтроллерами серии ATmega с независимой от ядра периферией (Core Independent Peripherals, CIP). Микроконтроллеры могут выполнять определенные задачи на аппаратном уровне, что приводит к уменьшению объема кода.
Благодаря своим характеристикам, микроконтроллер ATmega4809 был выбран для встраивания в платы Arduino следующего поколения.
- Реклама
Re: Мигать светодиодом. ARM или не-ARM?
Самый хреновый и неэффективный способ хранить в флехе ДАННЫЕ из всех которые я видел.RETLW Возврат из подпрограммы с загрузкой константы в W - дело привычки. Вот переключение банков напрягало.
Это достоинство? В других архитектурах есть команды работающие с памятью. Более того, когда даже регистры оборудования память (как в случае ARM, а сейчас и в x86) - все стройно и отлично програмится, прямо из си. Самого обычного. Единственное что ему надо сообщить что это "volatile".Зато вся память в PIC16 это регистры - большинство команд работает напрямую с этими регистрами (не надо загружать в рабочий регистр W).
У ARM "математика" только между регистрами. Когда вся команда 16 или 32 бита, невозможно кодировать 32-битный адрес напрямую.В AVR из RAM load/store (и в ARM вроде тоже).
Зато:
- Есть операции относительно program counter. Кодируется смещение, прямо в соотв load/store, "локальные" данные могут быть близко к процедуре и адресоваться "укорочено".
- Можно использовать регистр-"базу", вгружаемого 1 раз надолго и кодировать "смещения". Эффективно для работы с массивами.
- У ARM регистров - есть, поэтому постоянно перегружать чтобы расчистить не требуется.
- Константы (с некоторыми оговорками) могут быть вшиты прямо в соотв команду и немедленно доступны без прогулок в память вообще.
- А еще всякие мощные фишки типа условного выполнения, множественных вгрузок-выгрузок регистров и проч.
Поэтому оно как бы да, но реально все очень прилично, набор команд логичный и мощный и компилятору удобен, он прекрасно сделает переменные регистровыми если volatile не указан и все такое. ARM есть чем гордиться, набор команд у них хороший. И они очень изящно местами оптимизнули нужду работать с "длинными" адресами и большими порциями данных. А все эти атмелы и пики превращаются в EPIC FAIL как только порция данных крупнее 8 битов. А, простите, 8 битов для ADC например - поганенько!
Собрал для прикола (бенчмарк, типа) код рида-соломона(223,255) для ARM (в оригинале либа для PC, я танцевал от порта на dsPIC, уже обрублено под МК кем-то слегка). Взгляд упал на avr-gcc и ... и AVR по размеру кода невероятно просрал. Математика широкая и проч. PIC наверное тоже просрет, там еще и таблицы в флехе. Да и скорость работы такой штуки на мелочи будет издевательской.Переносил поделки когда то с PIC16 на AVR, показалось в PIC один и тот же код поплотнее размещался. Для поделок в основном PIC16F676 использовался ( Program Memory 1.75 KB), AVR - Mega48 (Program Memory 4 KB).
А кто там про железячников и программистов рассказывает - не понимаю как програмить МК не зная свое железо или как делать железо не зная чем будет заниматься софт. Там же все реконфигурируемое и куча соображений на границе софта и железа, железо должно делаться как это будет конфигурить софт. Ну и не в обиду микрочипу, сейчас многие cortex M стоят уже менее доллара, все больше вытесняя авр и пик в "фонарики". И даже там на пятки наступают M0. У STM-а есть всякая мелочь в tssop14, qfn20 3x3 и прочих chip scale 2x2 мм, при том оно все же 32 бита и если кто за периферию - ну ок, там 12-битный 1+ MSPS ADC например будет как и везде, и прочие STшные плюшки. А у атмела и микрочипа такой ADC вообще бывает? Да и что они с таким потоком будут делать с своим поганым ядром? Особенно когда более 8 битов на отсчет.
- КРАМ
- Друг Кота
- Сообщения: 25386
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Мигать светодиодом. ARM или не-ARM?
[uquote="linuxdude",url="/forum/viewtopic.php?p=3333299#p3333299"]А кто там про железячников и программистов рассказывает - не понимаю как програмить МК не зная свое железо или как делать железо не зная чем будет заниматься софт. Там же все реконфигурируемое и куча соображений на границе софта и железа, железо должно делаться как это будет конфигурить софт. Ну и не в обиду микрочипу, сейчас многие cortex M стоят уже менее доллара, все больше вытесняя авр и пик в "фонарики". И даже там на пятки наступают M0. У STM-а есть всякая мелочь в tssop14, qfn20 3x3 и прочих chip scale 2x2 мм, при том оно все же 32 бита и если кто за периферию - ну ок, там 12-битный 1+ MSPS ADC например будет как и везде, и прочие STшные плюшки. А у атмела и микрочипа такой ADC вообще бывает? Да и что они с таким потоком будут делать с своим поганым ядром? Особенно когда более 8 битов на отсчет.[/uquote]
1. Странный бинарный подход...
Речь не шла о незнании железячником методов и приемов программирования. Речь шла О ДРУГОМ ВОСПРИЯТИИ СУЩНОСТЕЙ инженером занимающимся схемотехникой при выборе платформы МК. И Ваши аргументы лишь подтверждают это (см.ниже).
2. При разработке алгоритмов для МК очень важно органично соединить математику реализуемую в железной части с математикой реализуемой в МК. Программист, оперирующий библиотеками обработки сигналов практически никогда не понимает ни физической сущности реализуемого, ни влиянии железа на алгоритм, ни алгоритма на железо. В подавляющем числе случаев подход программиста прост (читаем примитивен): собрать схему из кубиков на основе референсных решений производителей микросхем и приклеить к этому такой же референсный софт из аппнот производителя МК или компилятора.
3. Если стоимость МК в изделии ниже 2,5...3 долларов, эта стоимость, как правило, уже не имеет значения. В этом случае на первый план выходит удобство реализуемости на периферии этого МК, а так же комплементарность вычислительной части МК и реализуемой на этом МК математики. Так же имеет значение сложившаяся инфраструктура разработки и производства, сложившаяся логистика и просто комфорт взаимопонимания разработчика изделия и разработчика МК, выражающийся в скорости решения проблем на этапе разработки изделия (понятность документации, понятность аппаратных решений в МК и прочее). Хотя при прочих равных, цена может повлиять на выбор даже если она и ниже ранее упомянутой границы.
4. 12-разрядный АЦП требует нативной разрядности контроллера не ниже 16. А DSP ядра (команд) не ниже 24. 32-разряда данных АЛУ и ОЗУ в этой ситуации не мешают, но и не помогают. В dsPIC33 есть ориентированные на силовые преобразователи МК с АЦП имеющими 3,5 Мспс, а даже и выше. Счетверенный УВХ, которого нет в АРМах у СТМ, позволяет изящно и просто решать синхронные задачи обработки сигналов. Для генерации сигналов у Микрочипа появился программируемый секвенсер ко-процессор периферии (PTG). Я с трудом себе представляю каких аппаратных и вычислительных расходов потребовала бы замена этого модуля для решения моего класса задач (синхронизация работы двух и более изделий с джиттером на уровне десятка машинных циклов МК и менее). И это в МК стоимостью 2...3 доллара.
Вывод. Ортодоксальное и примитивное восприятие архитектур и столь же непотребная мотивация выбора приводит к потере больших возможностей. В конце концов, ортодоксу стоит задуматься над тем, почему на его взгляд очевидное техническое лидерство не выражается в экономическом. Может он (ортодокс) чего то пропустил? Или чего то в этой жизни не понимает? Это не катастрофа, но так часто бывает.

1. Странный бинарный подход...
2. При разработке алгоритмов для МК очень важно органично соединить математику реализуемую в железной части с математикой реализуемой в МК. Программист, оперирующий библиотеками обработки сигналов практически никогда не понимает ни физической сущности реализуемого, ни влиянии железа на алгоритм, ни алгоритма на железо. В подавляющем числе случаев подход программиста прост (читаем примитивен): собрать схему из кубиков на основе референсных решений производителей микросхем и приклеить к этому такой же референсный софт из аппнот производителя МК или компилятора.
3. Если стоимость МК в изделии ниже 2,5...3 долларов, эта стоимость, как правило, уже не имеет значения. В этом случае на первый план выходит удобство реализуемости на периферии этого МК, а так же комплементарность вычислительной части МК и реализуемой на этом МК математики. Так же имеет значение сложившаяся инфраструктура разработки и производства, сложившаяся логистика и просто комфорт взаимопонимания разработчика изделия и разработчика МК, выражающийся в скорости решения проблем на этапе разработки изделия (понятность документации, понятность аппаратных решений в МК и прочее). Хотя при прочих равных, цена может повлиять на выбор даже если она и ниже ранее упомянутой границы.
4. 12-разрядный АЦП требует нативной разрядности контроллера не ниже 16. А DSP ядра (команд) не ниже 24. 32-разряда данных АЛУ и ОЗУ в этой ситуации не мешают, но и не помогают. В dsPIC33 есть ориентированные на силовые преобразователи МК с АЦП имеющими 3,5 Мспс, а даже и выше. Счетверенный УВХ, которого нет в АРМах у СТМ, позволяет изящно и просто решать синхронные задачи обработки сигналов. Для генерации сигналов у Микрочипа появился программируемый секвенсер ко-процессор периферии (PTG). Я с трудом себе представляю каких аппаратных и вычислительных расходов потребовала бы замена этого модуля для решения моего класса задач (синхронизация работы двух и более изделий с джиттером на уровне десятка машинных циклов МК и менее). И это в МК стоимостью 2...3 доллара.
Вывод. Ортодоксальное и примитивное восприятие архитектур и столь же непотребная мотивация выбора приводит к потере больших возможностей. В конце концов, ортодоксу стоит задуматься над тем, почему на его взгляд очевидное техническое лидерство не выражается в экономическом. Может он (ортодокс) чего то пропустил? Или чего то в этой жизни не понимает? Это не катастрофа, но так часто бывает.
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Мигать светодиодом. ARM или не-ARM?
у ортодоксов задачи ортодоксальные, пока не напорется 
PIC является сокращением от англ. peripheral interface controller, что означает «контроллер интерфейса периферии». Название объясняется тем, что изначально микроконтроллеры серии PIC предназначались для расширения возможностей ввода-вывода 16-битовых микропроцессоров CP1600.
CP1600 – 16 битный микропроцессор, созданный в середине 1970-х годов совместно компаниями General Instrument и Honeywell. Микропроцессор CP1600 был спроектирован на основе архитектуры мини-компьютера PDP-11, имеет восемь 16-битных регистров общего назначения (что-то напоминает).
Компания Microchip была основана в 1987 году концерном General Instrument.
Отличительной особенностью PIC-контроллеров является хорошая преемственность как внутри, так и между семействами в отличии от семейства AVR. Использовал раньше в разработках 28-и ногий PIC16F876, потом появился улучшенный PIC16F886 - по ногам и по периферии совместимый и дешевый (относительно), сейчас новые - по ногам совместимы, но периферию новая. Даже PIC18 есть по ногам совместимый.
Си (data - uint16_t):
PIC
Листинг:
PIC
STM32F0
retlw не так уж плох, как кажется
PIC является сокращением от англ. peripheral interface controller, что означает «контроллер интерфейса периферии». Название объясняется тем, что изначально микроконтроллеры серии PIC предназначались для расширения возможностей ввода-вывода 16-битовых микропроцессоров CP1600.
CP1600 – 16 битный микропроцессор, созданный в середине 1970-х годов совместно компаниями General Instrument и Honeywell. Микропроцессор CP1600 был спроектирован на основе архитектуры мини-компьютера PDP-11, имеет восемь 16-битных регистров общего назначения (что-то напоминает).
Компания Microchip была основана в 1987 году концерном General Instrument.
Отличительной особенностью PIC-контроллеров является хорошая преемственность как внутри, так и между семействами в отличии от семейства AVR. Использовал раньше в разработках 28-и ногий PIC16F876, потом появился улучшенный PIC16F886 - по ногам и по периферии совместимый и дешевый (относительно), сейчас новые - по ногам совместимы, но периферию новая. Даже PIC18 есть по ногам совместимый.
Вот как раз намедни попросил заказчик прошить в старую разработку PIC16F870 (семейство 28 ног) - этот PIC на 4МГц (/4 = 1 МГц) полностью управляет прессом - считает, поворачивает на нужный угол, отслеживает датчики, дает команду рубить. Используется для рубки пазов роторных пластин для шахтного двигателя (узкого) - по алгоритму Брезенхема рубятся очень равномерно (важно) по кругу нужное колличество пазов. Сейчас бы конечно в такую разработку поставил STM32F0, но тогда микроконтроллерными АРМами и не пахло, а запас плат под PIC у заказчика еще имеется - разработки нового железа не будет.Математика широкая и проч. PIC наверное тоже просрет
8 битов для ADC например - поганенько!
Спойлер
з.ы. АЦП у большинтства PIC 10 разрядов (12 - в новых), весьма неплохой - Vref+ и Vref- наружу выведены да и компаратор хороший. Да 16-и битный результат АЦП требует больше комманд для обработки восьмибитником - это понятно.Си (data - uint16_t):
PIC
Код: Выделить всё
if (data > 450)
return 2;PIC
Код: Выделить всё
movlw 1
subwf data+1,w
movlw 195
skipnz
subwf data,w
btfsc 3,0
retlw 2Код: Выделить всё
LDRH r0,[r0,#0] ; data
MOVS r1,#0xff
ADDS r1,r1,#0xc3
CMP r0,r1
BLS |L1.22|
MOVS r0,#2
BX lr
L1.22|- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Мигать светодиодом. ARM или не-ARM?
интересно, волнующе (имхо)
ATSAMA5D2 – микроконтроллеры с ядром ARM Cortex-A5 и встроенной DDR2 от Microchip
Одним из сложных этапов разработки становится реализация интерфейса с внешней памятью. Для того чтобы упростить жизнь разработчикам, некоторые производители начали выпускать микроконтроллеры и процессоры с большим объемом встроенной памяти SDRAM. Примером такого решения стало семейство SIP-микроконтроллеров (System In Package) SAMA5D2 от компании Microchip.
Современная электроника оказывается весьма «прожорливой», когда речь заходит об используемой оперативной памяти. Это касается смартфонов, одноплатных компьютеров, графических приложений и многих других устройств. В графических приложениях ОЗУ используется в качестве экранной памяти, чем выше разрешение и глубина цвета, тем больше памяти требуется. Если взять разрешение высокой четкости HD (1280 x 720) и глубину цвета 24 бита, то для одного единственного экранного слоя понадобится 2700 кбайт ОЗУ. Очевидно, что не всякий микроконтроллер имеет на борту столько памяти, поэтому разработчикам приходится использовать внешнее ОЗУ.
При проектировании микроконтроллера со встроенным ОЗУ, производитель берет на себя все самые сложные проблемы. Если процессор и память уже интегрированы в одну микросхему, то разработчику, остается развести только относительно медленные интерфейсы. Это дает целый ряд преимуществ: ускорение разработки, гарантированное соблюдение ЭМС (при правильной разводке питания), уменьшение места, занимаемого на печатной плате, повышение экономической эффективности и т. д.
SAMA5D2 – семейство SIP-микроконтроллеров со встроенной памятью DDR2 объемом до 1 Гбит, построенных на базе высокопроизводительного ядра Arm® Cortex®-A5 с рабочей частотой до 500 МГц.
Основными особенностями SIP- микроконтроллеров SAMA5D2 являются:
* Кэш L1: 32 кбайт данных и 32 кбайт команд;
* 128 кбайт кэш L2;
* 128/512/1024 Мбит DDR2-SDRAM;
* 128 Кбайт внутреннего ОЗУ SRAM;
* 160 Кбайт ПЗУ, 64 кбайт загрузчика;
* 16-битный DDR-контроллер внешней памяти;
* 8-битный контроллер внешней памяти SLC/MLC NAND;
* Контроллер внешней памяти QSPI;
* Широкий выбор режимов пониженного потребления;
* LCD TFT-контроллер с разрешением до 1024x768, выходным 24-битным RGB-интерфейсом, с поддержкой четырех слоев (с возможностью альфа смешивания, вращения и т.д.)
* Контроллер светочувствительных матриц с разрешением 5 Мп;
* Последовательные интерфейсы: SSC, I2SC, CAN, UART, SPI, LIN;
* Контроллер сенсорных емкостных панелей (4 x 8-канальный);
* USB (UDPHS/UHPHS/HSIC);
* 10/100 Ethernet MAC (GMAC);
* Поддержка протоколов: IEEE 802.3az, IEEE802.1AS, IEEE802.1Qav, IEEE1588 (PTP);
* Two high-speed memory card hosts:
* 2 x SDMMC0;
* До 90/128 портов вывода/вывода;
* 12-битный многоканальный 1 MSPS АЦП;
* 32/16-битные таймеры;
* Функции криптографии: SHA256, SHA512, AES256, TDES, генератор случайных чисел TRNG и др.
Для быстрого освоения SIP-микроконтроллеров семейства SAMA5D2 компания Microchip предлагает использовать отладочный набор ATSAMA5D27-SOM1-EK1

ATSAMA5D2 – микроконтроллеры с ядром ARM Cortex-A5 и встроенной DDR2 от Microchip
Одним из сложных этапов разработки становится реализация интерфейса с внешней памятью. Для того чтобы упростить жизнь разработчикам, некоторые производители начали выпускать микроконтроллеры и процессоры с большим объемом встроенной памяти SDRAM. Примером такого решения стало семейство SIP-микроконтроллеров (System In Package) SAMA5D2 от компании Microchip.
Современная электроника оказывается весьма «прожорливой», когда речь заходит об используемой оперативной памяти. Это касается смартфонов, одноплатных компьютеров, графических приложений и многих других устройств. В графических приложениях ОЗУ используется в качестве экранной памяти, чем выше разрешение и глубина цвета, тем больше памяти требуется. Если взять разрешение высокой четкости HD (1280 x 720) и глубину цвета 24 бита, то для одного единственного экранного слоя понадобится 2700 кбайт ОЗУ. Очевидно, что не всякий микроконтроллер имеет на борту столько памяти, поэтому разработчикам приходится использовать внешнее ОЗУ.
При проектировании микроконтроллера со встроенным ОЗУ, производитель берет на себя все самые сложные проблемы. Если процессор и память уже интегрированы в одну микросхему, то разработчику, остается развести только относительно медленные интерфейсы. Это дает целый ряд преимуществ: ускорение разработки, гарантированное соблюдение ЭМС (при правильной разводке питания), уменьшение места, занимаемого на печатной плате, повышение экономической эффективности и т. д.
SAMA5D2 – семейство SIP-микроконтроллеров со встроенной памятью DDR2 объемом до 1 Гбит, построенных на базе высокопроизводительного ядра Arm® Cortex®-A5 с рабочей частотой до 500 МГц.
Основными особенностями SIP- микроконтроллеров SAMA5D2 являются:
Спойлер
* Процессорное ядро ARM Cortex-A5 Core с рабочей частотой до 500 МГц, ARM TrustZone, медийный процессор NEON™;* Кэш L1: 32 кбайт данных и 32 кбайт команд;
* 128 кбайт кэш L2;
* 128/512/1024 Мбит DDR2-SDRAM;
* 128 Кбайт внутреннего ОЗУ SRAM;
* 160 Кбайт ПЗУ, 64 кбайт загрузчика;
* 16-битный DDR-контроллер внешней памяти;
* 8-битный контроллер внешней памяти SLC/MLC NAND;
* Контроллер внешней памяти QSPI;
* Широкий выбор режимов пониженного потребления;
* LCD TFT-контроллер с разрешением до 1024x768, выходным 24-битным RGB-интерфейсом, с поддержкой четырех слоев (с возможностью альфа смешивания, вращения и т.д.)
* Контроллер светочувствительных матриц с разрешением 5 Мп;
* Последовательные интерфейсы: SSC, I2SC, CAN, UART, SPI, LIN;
* Контроллер сенсорных емкостных панелей (4 x 8-канальный);
* USB (UDPHS/UHPHS/HSIC);
* 10/100 Ethernet MAC (GMAC);
* Поддержка протоколов: IEEE 802.3az, IEEE802.1AS, IEEE802.1Qav, IEEE1588 (PTP);
* Two high-speed memory card hosts:
* 2 x SDMMC0;
* До 90/128 портов вывода/вывода;
* 12-битный многоканальный 1 MSPS АЦП;
* 32/16-битные таймеры;
* Функции криптографии: SHA256, SHA512, AES256, TDES, генератор случайных чисел TRNG и др.
Спойлер

- Реклама
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Мигать светодиодом. ARM или не-ARM?
зацепило
Полку одноплатных компьютеров прибыло: теперь доступно решение Orange Pi 4G-IoT, особенность которого заключается в поддержке широкого набора средств беспроводной связи.
Решение имеет размеры всего 85 × 55 мм. Применён процессор Mediatek MT6737, который содержит четыре вычислительных ядра с архитектурой ARM Cortex-A53 (до 1,3 ГГц) и интегрированный графический контроллер ARM Mali-T720. Чип функционирует в тандеме с 1 Гбайт оперативной памяти DDR3.
Новинка обеспечивает поддержку беспроводной связи Wi-Fi и Bluetooth. Более того, интегрированный сотовый модем и слот для карты nano SIM дают возможность обмениваться данными через сеть LTE. Наконец, предусмотрен приёмник спутниковой навигационной системы GPS.
Мини-компьютер несёт на борту флеш-модуль eMMC вместимостью 8 Гбайт с возможностью расширения за счёт карты microSD. Есть разъём HDMI, три порта USB, порт Micro-USB и 3,5-миллиметровый аудиоразъём. Упомянуты микрофон и акселерометр. Плюс к этому доступны такие интерфейсы, как SPI, I2C, UART и др.
Полку одноплатных компьютеров прибыло: теперь доступно решение Orange Pi 4G-IoT, особенность которого заключается в поддержке широкого набора средств беспроводной связи.
Спойлер

Новинка обеспечивает поддержку беспроводной связи Wi-Fi и Bluetooth. Более того, интегрированный сотовый модем и слот для карты nano SIM дают возможность обмениваться данными через сеть LTE. Наконец, предусмотрен приёмник спутниковой навигационной системы GPS.
Мини-компьютер несёт на борту флеш-модуль eMMC вместимостью 8 Гбайт с возможностью расширения за счёт карты microSD. Есть разъём HDMI, три порта USB, порт Micro-USB и 3,5-миллиметровый аудиоразъём. Упомянуты микрофон и акселерометр. Плюс к этому доступны такие интерфейсы, как SPI, I2C, UART и др.
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Мигать светодиодом. ARM или не-ARM?
Новости Электроники №2/2018
https://www.compel.ru/lib/ne/2018/2
в номере:
С ветерком: как разработать электросамокат с помощью компонентов Infineon
Используется демонстрационный набор 300W Motor Control Application Kit, позволяющий за минимальное время разработать программную часть контроллера привода электросамоката мощностью до 300 Вт.
В состав набора входит отладочная плата, содержащая всю необходимую электронику для подключения вентильного двигателя, адаптер USB/UART, необходимый для подключения платы к персональному компьютеру, и USB-накопитель, на котором находится среда разработки программного обеспечения и необходимый комплект технической документации.
Формирование сигналов управления инверторов осуществляется 8-разрядным микроконтроллером XC836M2FRI, который поставляется с предустановленной прошивкой с уже реализованными специализированными функциями для управления вентильным двигателем.
Гироскутер Hublex Gyropod: умная начинка от STMicroelectronics
Основной микроконтроллер STM32F4, два микроконтроллера STM32F0 для контроля управления и аккумуляторов, акселерометр/гироскоп LSM6DSL – все от STMicroelectronics. Аккумуляторы, элегантная ходовая часть, щепотка периферии – тщательно перемешать, и гироскутер Hublex Gyropod – ваш!
STSPIN820: все управление шаговыми двигателями до 45 В - в одной миниатюрной ИС
Компании STMicroelectronics, за счет отказа от встроенного микроконтроллера, удалось упаковать драйвер шагового двигателя с разрешением 256 микрошагов и напряжением до 45 В в корпус 4х4 мм.
Модули Mbee DualBand на контроллерах CC1350 в системах учета ресурсов
Современные счетчики учета ресурсов с импульсным выходом объединяются в систему сбора и учета данных с помощью беспроводного канала. Но дополнить эту функцию возможностью считывания пользователем текущих значений можно с помощью беспроводного контроллера CC1350 производства Texas Instruments, двухдиапазонных беспроводных модулей MBee-DUAL-3.3 производства российской компании СМК .
Безопасный и экономичный Bluetooth с помощью МК CC2640R2F
Благодаря особенностям специализированных беспроводных контроллеров CC2640R2F производства Texas Instruments, разработчики получили возможность максимально реализовать алгоритмы защиты в устройствах интернета вещей в рамках беспроводного протокола Bluetooth версий 4.0, 4.1, 4.2 и 5.0.
https://www.compel.ru/lib/ne/2018/2
в номере:
С ветерком: как разработать электросамокат с помощью компонентов Infineon
Используется демонстрационный набор 300W Motor Control Application Kit, позволяющий за минимальное время разработать программную часть контроллера привода электросамоката мощностью до 300 Вт.
В состав набора входит отладочная плата, содержащая всю необходимую электронику для подключения вентильного двигателя, адаптер USB/UART, необходимый для подключения платы к персональному компьютеру, и USB-накопитель, на котором находится среда разработки программного обеспечения и необходимый комплект технической документации.
Формирование сигналов управления инверторов осуществляется 8-разрядным микроконтроллером XC836M2FRI, который поставляется с предустановленной прошивкой с уже реализованными специализированными функциями для управления вентильным двигателем.
Гироскутер Hublex Gyropod: умная начинка от STMicroelectronics
Основной микроконтроллер STM32F4, два микроконтроллера STM32F0 для контроля управления и аккумуляторов, акселерометр/гироскоп LSM6DSL – все от STMicroelectronics. Аккумуляторы, элегантная ходовая часть, щепотка периферии – тщательно перемешать, и гироскутер Hublex Gyropod – ваш!
STSPIN820: все управление шаговыми двигателями до 45 В - в одной миниатюрной ИС
Компании STMicroelectronics, за счет отказа от встроенного микроконтроллера, удалось упаковать драйвер шагового двигателя с разрешением 256 микрошагов и напряжением до 45 В в корпус 4х4 мм.
Модули Mbee DualBand на контроллерах CC1350 в системах учета ресурсов
Современные счетчики учета ресурсов с импульсным выходом объединяются в систему сбора и учета данных с помощью беспроводного канала. Но дополнить эту функцию возможностью считывания пользователем текущих значений можно с помощью беспроводного контроллера CC1350 производства Texas Instruments, двухдиапазонных беспроводных модулей MBee-DUAL-3.3 производства российской компании СМК .
Безопасный и экономичный Bluetooth с помощью МК CC2640R2F
Благодаря особенностям специализированных беспроводных контроллеров CC2640R2F производства Texas Instruments, разработчики получили возможность максимально реализовать алгоритмы защиты в устройствах интернета вещей в рамках беспроводного протокола Bluetooth версий 4.0, 4.1, 4.2 и 5.0.
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Мигать светодиодом. ARM или не-ARM?
Одноплатники растут как грибы.
Одноплатный компьютер Ultra96
Представлен одноплатный компьютер Ultra96, рассчитанный на разработчиков, реализующих проекты в сфере Интернета вещей и устройств для «умного» дома.
Основой решения служит «система на чипе» Xilinx Zynq UltraScale+ MPSoC ZU3EG A484. Этот процессор содержит четыре ядра ARM Cortex-A53 и два ядра ARM Cortex-R5. За обработку графики отвечает интегрированный контроллер ARM Mali-400MP2 GPU.
Мини-компьютер несёт на борту 2 Гбайт оперативной памяти LPDDR4. Для хранения данных служит карта microSD; комплект поставки включает носитель вместимостью 16 Гбайт.
Новинка располагает адаптерами беспроводной связи Wi-Fi 802.11b/g/n и Bluetooth 4.2. Есть порты USB 3.0 Micro-B, USB 3.0 (×2) и USB 2.0. Для вывода изображения служит интерфейс Mini DisplayPort.
Одноплатный компьютер имеет размеры 85 × 54 мм. Дополнительные интерфейсы можно задействовать через 40-пиновый и 60-пиновый коннекторы.
Разработчики смогут использовать решение Ultra96 в комплексе с программной платформой на ядре Linux.
Одноплатный компьютер Ultra96
Представлен одноплатный компьютер Ultra96, рассчитанный на разработчиков, реализующих проекты в сфере Интернета вещей и устройств для «умного» дома.
Основой решения служит «система на чипе» Xilinx Zynq UltraScale+ MPSoC ZU3EG A484. Этот процессор содержит четыре ядра ARM Cortex-A53 и два ядра ARM Cortex-R5. За обработку графики отвечает интегрированный контроллер ARM Mali-400MP2 GPU.
Мини-компьютер несёт на борту 2 Гбайт оперативной памяти LPDDR4. Для хранения данных служит карта microSD; комплект поставки включает носитель вместимостью 16 Гбайт.
Спойлер

Одноплатный компьютер имеет размеры 85 × 54 мм. Дополнительные интерфейсы можно задействовать через 40-пиновый и 60-пиновый коннекторы.
Разработчики смогут использовать решение Ultra96 в комплексе с программной платформой на ядре Linux.
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Мигать светодиодом. ARM или не-ARM?
ну дают - у китайцев акция - Bluetooth модуль E73-2G4M04S за US $2.55.
Внутри чип nRF52832.
Чипсет nRF52832 - новая мощная, малопотребляющая и гибкая система на кристалле с поддержкой протоколов Bluetooth® Smart, ANT и проприетарных стеков собственной разработки пользователя в частотном диапазоне 2.4GHz. nRF52832 построен на 32-разрядном процессорном ядре ARM® Cortex™-M4F с 512kB Flash и 64kB RAM памяти. По протоколу работы nRF52832 полностью совместим с предыдущими сериями nRF51, nRF24L и nRF24AP производства Nordic Semiconductor.
подробнее:
nRF52832 содержит мощное процессорное ядро ARM Cortex-M4F, соответствующее требованиям многих требовательных к вычислительной производительности, но при этом компактных приложений, способных работать на одном кристалле. Ядро способно решать задачи цифровой обработки сигналов, выполнять операции с плавающей точкой, выполнять операции с мультиплексированием и накоплением в пределах одного рабочего цикла, аппаратно поддерживает энергетически эффективно реализованную операцию деления в вещественной и комплексной формах.
Мультипротокольная радио часть
Радиочасть 2.4 ГГц совместима со стеками протоколов Bluetooth Smart, ANT и любыми проприетарными стеками. Радио имеет встроенный регистр RSSI высокого разрешения с возможностью автоматической работы в режиме EasyDMA для прямого доступа к памяти в момент приема и передачи данных по радиоканалу. Nordic предоставляет стеки протоколов Bluetooth Smart, ANT и Gazel (2.4GHz) в качестве загружаемого контента на своем официальном веб-сайте.
Отладочные средства
nRF52 Series Software Development Kit
The nRF52 Software Development kit (SDK) offers developers source code (in C) and pre-compiled libraries containing Bluetooth Smart and ANT+ device profiles, wireless communication as well as application examples. Nordic Semiconductor’s proprietary 2.4 GHz stack for human interface devices (Gazell) is also supported. Examples and driver libraries for all the peripherals found on the nRF52832 SoC are contained in this SDK. The nRF52 SDK is built on the ARM® CMSIS standard and supports the following SW development tool chains:
Keil MDK-ARM
GCC
IAR Embedded Workbench
Спойлер

Чипсет nRF52832 - новая мощная, малопотребляющая и гибкая система на кристалле с поддержкой протоколов Bluetooth® Smart, ANT и проприетарных стеков собственной разработки пользователя в частотном диапазоне 2.4GHz. nRF52832 построен на 32-разрядном процессорном ядре ARM® Cortex™-M4F с 512kB Flash и 64kB RAM памяти. По протоколу работы nRF52832 полностью совместим с предыдущими сериями nRF51, nRF24L и nRF24AP производства Nordic Semiconductor.
подробнее:
Спойлер
Повышенная производительность процессораnRF52832 содержит мощное процессорное ядро ARM Cortex-M4F, соответствующее требованиям многих требовательных к вычислительной производительности, но при этом компактных приложений, способных работать на одном кристалле. Ядро способно решать задачи цифровой обработки сигналов, выполнять операции с плавающей точкой, выполнять операции с мультиплексированием и накоплением в пределах одного рабочего цикла, аппаратно поддерживает энергетически эффективно реализованную операцию деления в вещественной и комплексной формах.
Мультипротокольная радио часть
Радиочасть 2.4 ГГц совместима со стеками протоколов Bluetooth Smart, ANT и любыми проприетарными стеками. Радио имеет встроенный регистр RSSI высокого разрешения с возможностью автоматической работы в режиме EasyDMA для прямого доступа к памяти в момент приема и передачи данных по радиоканалу. Nordic предоставляет стеки протоколов Bluetooth Smart, ANT и Gazel (2.4GHz) в качестве загружаемого контента на своем официальном веб-сайте.
Отладочные средства
nRF52 Series Software Development Kit
The nRF52 Software Development kit (SDK) offers developers source code (in C) and pre-compiled libraries containing Bluetooth Smart and ANT+ device profiles, wireless communication as well as application examples. Nordic Semiconductor’s proprietary 2.4 GHz stack for human interface devices (Gazell) is also supported. Examples and driver libraries for all the peripherals found on the nRF52832 SoC are contained in this SDK. The nRF52 SDK is built on the ARM® CMSIS standard and supports the following SW development tool chains:
Keil MDK-ARM
GCC
IAR Embedded Workbench
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Мигать светодиодом. ARM или не-ARM?
интересная (имхо) статейка для любителей и не-любителей ARM
https://geektimes.ru/post/299575/?utm_campaign=299575
Внутри CPU ARM1:
https://geektimes.ru/post/299575/?utm_campaign=299575
Внутри CPU ARM1:
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Мигать светодиодом. ARM или не-ARM?
На Geektimes - программирование современных микроконтроллеров: лекция 1
Конспект первой лекции по программированию современных микроконтроллеров на примере STM32 и операционной системы RIOT. Лекции читаются в Институте информационных технологий МИРЭА.
Курс рассчитан на студентов второго и третьего курсов, знакомых с языком C и базовыми понятиями электроники и электротехники. Предварительное знакомство с микроконтроллерами не требуется.
Цель курса — освоение навыков, позволяющих свободно работать с микроконтроллерами на ядре ARM Cortex-M на современном уровне и, при наличии такого желания, двигаться в сторону дальнейшего углубления своих знаний.
Сегодняшняя лекция — первая, поэтому на ней будут разбираться общие понятия: что такое вообще микроконтроллер и зачем он нужен, что такое прошивка и как она получается, зачем нам нужна операционная система, и наконец — как работать с git. Результат практического занятия — собственный репозитарий на GitHub с исходными кодами ОС, а также успешно настроенная среда сборки на локальном компьютере.
https://geektimes.ru/company/samsung/bl ... ign=299187
з.ы. для радиолюбителей, знакомых с языком C и базовыми понятиями электроники и электротехники тоже будет интересно (имхо).
Добавлено after 1 hour 27 minutes 19 seconds:
з.ы.з.ы. под Linux (у меня Mint) пример "hello world" замечательно собирается

Конспект первой лекции по программированию современных микроконтроллеров на примере STM32 и операционной системы RIOT. Лекции читаются в Институте информационных технологий МИРЭА.
Курс рассчитан на студентов второго и третьего курсов, знакомых с языком C и базовыми понятиями электроники и электротехники. Предварительное знакомство с микроконтроллерами не требуется.
Цель курса — освоение навыков, позволяющих свободно работать с микроконтроллерами на ядре ARM Cortex-M на современном уровне и, при наличии такого желания, двигаться в сторону дальнейшего углубления своих знаний.
Сегодняшняя лекция — первая, поэтому на ней будут разбираться общие понятия: что такое вообще микроконтроллер и зачем он нужен, что такое прошивка и как она получается, зачем нам нужна операционная система, и наконец — как работать с git. Результат практического занятия — собственный репозитарий на GitHub с исходными кодами ОС, а также успешно настроенная среда сборки на локальном компьютере.
https://geektimes.ru/company/samsung/bl ... ign=299187
з.ы. для радиолюбителей, знакомых с языком C и базовыми понятиями электроники и электротехники тоже будет интересно (имхо).
Добавлено after 1 hour 27 minutes 19 seconds:
з.ы.з.ы. под Linux (у меня Mint) пример "hello world" замечательно собирается
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Мигать светодиодом. ARM или не-ARM?
еще внутренности, теперь не-ARM
Российский процессор Байкал:
Этот маленький процессор потребляет всего 5 Вт и может работать даже без радиатора. В процессор встроены три контроллера Ethernet (два гигабитных и один 10-гигабитный), контроллер памяти DDR3-1600, поддерживающий до 8 ГБ, контроллер PCIe Gen.3, контроллер SATA 3.0 (6 Гбит), контроллер USB 2.0.
Процессор построен на 2-ядерном MIPS 32 r5 P5600 (это первая в мире реализация процессора на этом ядре), работающем на частоте до 1,2 ГГц, встроенная кэш-память 1 Мбайт, технологический процесс 28 нм.
https://geektimes.ru/post/273192/
Российский процессор Байкал:
Этот маленький процессор потребляет всего 5 Вт и может работать даже без радиатора. В процессор встроены три контроллера Ethernet (два гигабитных и один 10-гигабитный), контроллер памяти DDR3-1600, поддерживающий до 8 ГБ, контроллер PCIe Gen.3, контроллер SATA 3.0 (6 Гбит), контроллер USB 2.0.
Процессор построен на 2-ядерном MIPS 32 r5 P5600 (это первая в мире реализация процессора на этом ядре), работающем на частоте до 1,2 ГГц, встроенная кэш-память 1 Мбайт, технологический процесс 28 нм.
https://geektimes.ru/post/273192/
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Мигать светодиодом. ARM или не-ARM?
было тут раньше про клончик atmega328 - жив курилка
Новинка: EDMINI — Arduino совместимая плата для разработки на базе микроконтроллера LGT8F328P, продаваемой на Electrodragon за 1,40 доллар США . Плата выглядит как клон Arduino Pro Mini.
Основные технические характеристики платы EDMINI:
* MCU — LogicGreen 8F328 (LGT8F328P) MCU — 99% совместимости с MCU ATMEGA238P
* Расширение — те же контакты, что и Arduino Pro Mini плюс SWD/SWC, контакты PE4/PE5
* Разное — светодиодный индикатор питания, светодиод D13, кнопка сброса
* Электропитание — 5В непосредственно; регулируемый источник 3,3 В
Плата не включает внешний кристалл, внутри high-precision RC. Плата поставляется с загрузочным модулем для MCU, можно напрямую программировать его с помощью Arduino IDE.
Особенности LGT8F328P
* Выход ЦАП
* PWM с «мертвой» зоной
* Высокоточный двухтактный PWM
* Вычислительный ускоритель (DSC)
* Система расширения стеков
* Тактовая 32M
LogicGreen продает его на Taobao в трех разных вариантах:
* SSOP20 — 1,80 юаней (0,29 доллара США)
* LQFP32 — 2,80 юаней (0,45 доллара США)
* LQFP48 — 2,90 юаней (0,46 доллара США)
Вики:
http://www.electrodragon.com/w/Logicgreen
Новинка: EDMINI — Arduino совместимая плата для разработки на базе микроконтроллера LGT8F328P, продаваемой на Electrodragon за 1,40 доллар США . Плата выглядит как клон Arduino Pro Mini.
Спойлер

* MCU — LogicGreen 8F328 (LGT8F328P) MCU — 99% совместимости с MCU ATMEGA238P
* Расширение — те же контакты, что и Arduino Pro Mini плюс SWD/SWC, контакты PE4/PE5
* Разное — светодиодный индикатор питания, светодиод D13, кнопка сброса
* Электропитание — 5В непосредственно; регулируемый источник 3,3 В
Плата не включает внешний кристалл, внутри high-precision RC. Плата поставляется с загрузочным модулем для MCU, можно напрямую программировать его с помощью Arduino IDE.
Особенности LGT8F328P
Спойлер
* АЦП 12-bit* Выход ЦАП
* PWM с «мертвой» зоной
* Высокоточный двухтактный PWM
* Вычислительный ускоритель (DSC)
* Система расширения стеков
* Тактовая 32M
LogicGreen продает его на Taobao в трех разных вариантах:
* SSOP20 — 1,80 юаней (0,29 доллара США)
* LQFP32 — 2,80 юаней (0,45 доллара США)
* LQFP48 — 2,90 юаней (0,46 доллара США)
http://www.electrodragon.com/w/Logicgreen
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Мигать светодиодом. ARM или не-ARM?
Мигание светодиодом на PIC12F629 (выкрал код с пиковой темы
)
Чутка поправил, чтоб работало:

Чутка поправил, чтоб работало:
Спойлер
Код: Выделить всё
#pragma config FOSC = INTRCIO //
#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = ON // Power-Up Timer Enable bit (PWRT enabled)
#pragma config MCLRE = OFF //
#pragma config BOREN = ON // Brown-out Detect Enable bit (BOD enabled)
#pragma config CP = OFF // Code Protection bit (Program Memory code protection is disabled)
#pragma config CPD = OFF // Data Code Protection bit (Data memory code protection is disabled)
// #pragma config statements should precede project file includes.
// Use project enums instead of #define for ON and OFF.
#include <xc.h>
#define _XTAL_FREQ 4000000
void main(void){
//Вспомогательная переменная
//для организации временной задержки
unsigned long counter;
//Настройка портов ввода/вывода PIC12F675
//Выключение подтягивающих резисторов
WPU = 0x00;
//Запретить использование подтягивающих резисторов
OPTION_REGbits.nGPPU = 1;
// отключить компаратор
CMCON = 0x07;
//Настрока выходов GP4, GP5 на выход
TRISIO = 0;
//Установка на выходах GP4, GP5 лог. 0
GPIO = 0;
//Бесконечный цикл.
while(1){
GPIObits.GPIO4 ^=1; //выв. 3 инверсия бита 4
//Задержка на 1 сек
__delay_ms(1000);
}
}-
Пока_без_кота
- Потрогал лапой паяльник
- Сообщения: 359
- Зарегистрирован: Чт авг 08, 2013 01:06:54
Re: Мигать светодиодом. ARM или не-ARM?
Вот это поворот.
Re: Мигать светодиодом. ARM или не-ARM?
[uquote="Пока_без_кота",url="/forum/viewtopic.php?p=3353126#p3353126"]Вот это поворот.[/uquote]
Ничего удивительного, у нас в магазинах этот PIC12, а в некоторых даже PIC10, дороже мелких STM32, так что людям вполне может быть интересно узнать на каких мк из одного ценового диапазона лучше мигать светодиодом
Ничего удивительного, у нас в магазинах этот PIC12, а в некоторых даже PIC10, дороже мелких STM32, так что людям вполне может быть интересно узнать на каких мк из одного ценового диапазона лучше мигать светодиодом
-
Lublu_megy
- Первый раз сказал Мяу!
- Сообщения: 31
- Зарегистрирован: Вт дек 12, 2017 16:52:57
- Откуда: Вам широту и долготу скинуть?
Re: Мигать светодиодом. ARM или не-ARM?
[uquote="oleg110592",url="/forum/viewtopic.php?p=3352979#p3352979"]Мигание светодиодом на PIC12F629 (выкрал код с пиковой темы
)
Чутка поправил, чтоб работало:
[/uquote]
У меня же и "стырил", а я так и не проверил…
(Тема от куда "стырили".
)
Чутка поправил, чтоб работало:
Спойлер
Код: Выделить всё
#pragma config FOSC = INTRCIO //
#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = ON // Power-Up Timer Enable bit (PWRT enabled)
#pragma config MCLRE = OFF //
#pragma config BOREN = ON // Brown-out Detect Enable bit (BOD enabled)
#pragma config CP = OFF // Code Protection bit (Program Memory code protection is disabled)
#pragma config CPD = OFF // Data Code Protection bit (Data memory code protection is disabled)
// #pragma config statements should precede project file includes.
// Use project enums instead of #define for ON and OFF.
#include <xc.h>
#define _XTAL_FREQ 4000000
void main(void){
//Вспомогательная переменная
//для организации временной задержки
unsigned long counter;
//Настройка портов ввода/вывода PIC12F675
//Выключение подтягивающих резисторов
WPU = 0x00;
//Запретить использование подтягивающих резисторов
OPTION_REGbits.nGPPU = 1;
// отключить компаратор
CMCON = 0x07;
//Настрока выходов GP4, GP5 на выход
TRISIO = 0;
//Установка на выходах GP4, GP5 лог. 0
GPIO = 0;
//Бесконечный цикл.
while(1){
GPIObits.GPIO4 ^=1; //выв. 3 инверсия бита 4
//Задержка на 1 сек
__delay_ms(1000);
}
}У меня же и "стырил", а я так и не проверил…
(Тема от куда "стырили".
ааааааааааааааааааааааааа็аааааааааааааааааааааааа็аааааааааааааааааааааааа, I love this.ааааааааааааааааааааааааа็аааааааааааааааааааааааа็аааааааааааааааааааааааа
Re: Мигать светодиодом. ARM или не-ARM?
oleg110592 замените
GPIObits.GPIO4 ^=1; //выв. 3 инверсия бита 4
на
GPIO4 ^=1; //выв. 3 инверсия бита 4
Память программ же не резиновая.
GPIObits.GPIO4 ^=1; //выв. 3 инверсия бита 4
на
GPIO4 ^=1; //выв. 3 инверсия бита 4
Память программ же не резиновая.
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Мигать светодиодом. ARM или не-ARM?
да проверил - в случае:
GPIObits.GPIO4 ^=1;
Program space used 38 words ( 3.7%)
Data space used 5 bytes ( 8.1%)
листинг:
GPIObits.GPIO4 ^=1;
а в случае:
GPIO4 ^=1;
Program space used 29 words ( 2.8%)
Data space used 5 bytes ( 8.1%)
листинг:
GPIO4 ^=1;
29 слов на Си - весьма экономично, + там еще несколько переключений банков присутствуют в листинге.
Но зачем тогда в хидере варианты:
вариант 2
Вариант 1 для решения проблемы RMW?
Заодно на популярной TINY13 подобную мигалочку соорудим, тоже на Си:
Used FLASH: 68 bytes out of 1024 bytes (6%)
Used RAM: 0 bytes out of 160 bytes (0%)
Менее экономично, глядя на весь листинг - на ассемблере тут можно потягаться.
В этом кусочке самого мигания не прибавить не убавить (имхо):
хм два регистра, чтоб заксорить.
GPIObits.GPIO4 ^=1;
Program space used 38 words ( 3.7%)
Data space used 5 bytes ( 8.1%)
листинг:
GPIObits.GPIO4 ^=1;
Спойлер
Код: Выделить всё
bcf 3,5 ;RP0=0, select bank0
swapf 5,w ;volatile
andlw 1
movwf ??_main
movlw 1
xorwf ??_main,f
swapf ??_main,f
movf 5,w ;volatile
xorwf ??_main,w
andlw -17
xorwf ??_main,w
movwf 5 ;volatileGPIO4 ^=1;
Program space used 29 words ( 2.8%)
Data space used 5 bytes ( 8.1%)
листинг:
GPIO4 ^=1;
Спойлер
Код: Выделить всё
bcf 3,5 ;RP0=0, select bank0
movlw 16
xorwf 5,fНо зачем тогда в хидере варианты:
Спойлер
вариант 1Код: Выделить всё
// bitfield definitions
typedef union {
struct {
unsigned GP0 :1;
unsigned GP1 :1;
unsigned GP2 :1;
unsigned GP3 :1;
unsigned GP4 :1;
unsigned GP5 :1;
};
struct {
unsigned GPIO0 :1;
unsigned GPIO1 :1;
unsigned GPIO2 :1;
unsigned GPIO3 :1;
unsigned GPIO4 :1;
unsigned GPIO5 :1;
};
} GPIObits_t;
extern volatile GPIObits_t GPIObits @ 0x005;вариант 2
Код: Выделить всё
extern volatile __bit GPIO4 @ (((unsigned) &GPIO)*8) + 4;Заодно на популярной TINY13 подобную мигалочку соорудим, тоже на Си:
Спойлер
Код: Выделить всё
#include <avr/io.h>
#include <util/delay.h>
int main()
{
DDRB |= (1 << 0);
for (;;)
{
PORTB ^= (1 << 0);
_delay_ms(1000);
}
}Used RAM: 0 bytes out of 160 bytes (0%)
Менее экономично, глядя на весь листинг - на ассемблере тут можно потягаться.
В этом кусочке самого мигания не прибавить не убавить (имхо):
Спойлер
Код: Выделить всё
LDI R25,0x01 Load immediate
IN R24,0x18 In from I/O location
EOR R24,R25 Exclusive OR
OUT 0x18,R24 Out to I/O location- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18673
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Мигать светодиодом. ARM или не-ARM?
PINB = 1;
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!


