The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Проект Arduino представил новый бренд Genuino и начал произв..."
Отправлено Аноним, 26-Май-15 10:08 
> Программа для МК должна быть простой и надежной.

Не любителям атмелов разглагольствовать про надежность, имхо.

1) У атмела нет никаких обработчиков исключений. Процессорному ядру - пофиг абсолютно все. Мусор в коде? Улет program counter? Клали на это AVR'ки. По мнению атмеловского ядра - системных ошибок не бывает. Если кажется что это не так, см. пункт 1. Заполнить пустую часть флешки опкодом, быстро вызывающим исключение? Ишь чего захотели.

2) По старой традиции у АВРок имеет тендецию слетать EEPROM и FLASH при пониженном напряжении. Фирменная фича семейства. Атмел пыжился, через годы воплей - BOD кой-как сделал. Но работает он с перемнным успехом. А ардуинонубы вообще не в курсе что это и зачем. Некоторые ардуинщики до сих пор сцыкуют по части 0-й ячейки еепрома.

3) То что наиболее критичные регистры неплохо бы защищать от случайных записей - до атмела стало доходить относительно недавно, местами, и в основном не в AVR.

4) Хилость периферии побуждает атмелистов городить фееричные костыли. Софтварно вытягивая дохлость периферии. Ну вот тот же уарт. Железячный UART делает изрядный oversampling, принимая решение о том единица или ноль по мажоритарному принципу. При этом неидеальная стыковка клоков с разных сторон линка или кратковременные импульсные помехи не вызывают ошибок. А в софтварных UART, особенно на приличной скорости с этим будет понятно как. Зато усложняется софт.

Так что у нас там про надежность?

> МК нужны для автоматизации рутинных действий, взаимодействие с человеком
> должно быть минимальным.

Микроконтроллеры - покрывают все ниши от замены жесткой логики до "совсем компьютерообразных" Cortex A. И потому бывают довольно разными. И вот так их всех под одну гребенку...

Тиньки - для дубья с 1 кнопкой, которое к писюку или чему-то подобному как правило не интерфейсится. А чему противоречит, например, интерфейснуть МК к компу и, допустим, утащить с мк более-менее приличный поток данных, ну скажем с ADC? Понятно что это надо не всем. Но кому надо - DMA могут оценить по достоинству: ADC у STM32 относительно шустрый.

И да, не в обиду атмелу - у них полный брейнфак например с обновлением прошивки в уже собранной схеме. Гарвардская сущность с невозможносью выполнять код из RAM делает апдейт прошивки не слишком пресным. А таскаться на отдельные программатор - каменный век. Гемор и для юзеров и разработчиков. В мегах с их бутлоадером еще относительно сносно. Но например замена бутлоадера на ходу... атмел показал, как "фантомас в очках на аэроплане" выглядит при программировании мк :)

> один светодиод, одна кнопка

Замечательно. Но вот самолично таскаться куда-то чтобы жать кнопки и смотреть на светодиоды - затея на любителя.

> бы наглядно видеть работает ли он вообще.

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

> 3. ду ик для управление моторизированным потенциометром

Да, мсье знает толк в извращениях :)

> 4. фильтрация (FIR!) сигнала датчика движения, UI - сигнализация ;) + программный
> uart (нужен был при настройке FIR),

"Как подолбаться на ровном месте for dummies". И эти люди рассказывают про сложность DMA...

И на мой вкус, так даже примитивному автомату кормления рыб и прочей поливки цветов - неплохо б интерфейситься к чему-то более компьютерообразному. Ака "серверу домашней автоматизации". Так, на случай если я уже сижу в самолете или поезде и тут вдруг осознал что оказывается я забыл воспользоваться мегаинтерфейсом с одной кнопкой. Не говоря о том что параметры нехило бы настраивать. Желательно не методом 2 притопа, 3 прихлопа, типичном для таких девайсов.

> не поверил что это возможно на столь простом контроллере если бы сам не сделал.

Ну если перец на атмеле сделал софтварный USB 1.1 (при том работающий даже на достаточно мелких атмелах) - возможно и покруче. Но это отдает затеями типа написания колибри-ОС. Т.е. mad skillz, конечно. Но - создание себе уймы сложностей на ровном месте. В целом довольно контрпродуктивно.

> Приведите примеры реальных задач и их интерфейс.

Вполне реальная хотелка: врубить чертов автомат поливки цветов когда я уже сижу в самолете или поезде. И нехило бы еще и интервалы програмить в человеческом виде. А сложные задачи типа работы с сетью и отрисовки вебморды доступной отовсюду может взять на себя более могучая железка типа ARMовских платок. Но МК на той стороне должен работать хотя-бы с UART. А лучше - с беспроводным трансивером, поскольку превращать дом в подобие гнезда человека-паука - нравится не всем. А это означает что неплохо бы еще какую-нибудь криптографическую защиту всего этого. Но в тиньку все это явно не влезет.

> LCD 20x4 вполне хватает,

Хватает. Но это архаичный и плохой юзеринтерфейс, об который приходится долго ломать глаза.

Хороший показометр должен быть наглядным и быстро схватываемым на глаз. А это явно не про 20х4. В смысле, по какому-нибудь bar- или speedometer-образному графическому индикатору текущее состояние дел в загрубленном, но дающем достаточное понимание ситуации виде будет схватываться "мгновенно". А читать экран 20х4 вместо этого...

Так, наблюдение: такие экраны были заменены КЕМ во всех автоматах которые я видел.

> да и не кто не запрещает делать дополнительные страницы

...что достаточно неудобно и чаще всего являет собой пример хренового юзеринтерфейса.

> на дорогу смотреть надо, а не на экраны :)

Поэтому подобная штука в общем случае должна быть чем-то типа кучки bar или speedometer-like индикаторов. Чтобы ситуация в загрубленном "обзорном" виде - схватывалась за мгновение, а более точные данные - уже при необходимости более долгим вчитыванием или листанием.

Это как-то так: надпись "RPM=2000" мало что говорит вот так сразу. Надо убить кучу времени чтобы это прочитать и потом еще вспомнив параметры агрегата, самому прикинуть: много это или мало? Тогда как bar или speedometer может очень наглядно и крайне быстро показать как текущее значение соотносится с возможностями и предпочитаемыми режимами.

> Вторая atmega8 подключена через uart и пишет лог на microsd.

Ишь ты, карманный вариант героя^W CAN :)

> Уже обсуждали - отдельный uart-wifi с этим справится гораздо лучше

Только фокус-чпокус в том что там проц - в десять раз круче любой атмеги :). Хвост виляет собакой?

> и можно в качестве экрана использовать хоть планшет, хоть телефон.

Можно. Хотя при таком желании имхо логичнее было бы взять какую-нибудь платку на ARM, цепануть туда небольшую TFT панель и прицепить атмегу туда по уарту для быстрых и низкоуровневых дел. То же самое, но - влобовую, с известным софтом и без потенциально ненадежного беспроводного линка посередине, что для показометра параметров все-таки нехорошо.

> Я тоже перспектив у avr не вижу,

К тому же это уникальное фирменное ядро, которое использует только атмель. Есть некий шанс что эти знания в основном можно будет спускать в трэш. Хотя у атмелок довольно симпатично I/O сделано. Капельку быстрее и капельку предсказуемее кортекса и порты чуть сильнее. В общем делать программный usb на кортексе я бы не подписался.

> хорошее решение по соотношению цены и сложности.

Как раз по ценам атмель зарывается, они за свои античные окаменелости дерут как за Cortex M0+, а то и M3. За что? За то что кто-то в это вляпался?

> Они простые и дешевые,

У атмела традицонно очень интересные понятия о "дешевизне", а также о том какая где периферия нужна и как ее делать.

> - но это большие сроки.

С учетом цен в большинства розничных контор - проще покупать комплектуху "батчами". Или у китаезов или у контор с большим складом, ориентирующихся на прототипирование и мелкотираж.

> В общем KISS рулит не только в ПО, но и в MK.

Ну да, софтварные уарты так "просто" релизовывать и они так "хороши" по параметрам. Зато какой-нибудь DMA, конечно же, мегасложный. А вовсе и не периферия у атмела кастрированная. Мне тут какие-то двойные стандарты ощущаются.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру