|
|
  |
С чего начать? |
|
|
|
Jan 7 2015, 19:18
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Цитата(internal enemy @ Jan 7 2015, 19:52)  Скажите пожалуйста, а зачем в одном контроллере комбинируют два ядра M4 и M0? В общих чертах, в каких областях это применимо? Просто. M0 обрабатывает панель управления - кнопки, энкодеры, или принимает/передает, в-общем, выполняет монотонную рутину, а M4 - обрабатывает, творит. Скажем, устранение дребезга кнопок - работа не очень тяжелая, но тратить время на регулярные прерывания (особенно вход и выход из прерывания) - жалко. В PC в клавиатуре тоже стоит свой микроконтроллер. А в ZX Spectrum - нет. Что лучше? :-)
|
|
|
|
|
Jan 7 2015, 20:25
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(ViKo @ Jan 7 2015, 21:18)  Скажем, устранение дребезга кнопок - работа не очень тяжелая, но тратить время на регулярные прерывания (особенно вход и выход из прерывания) - жалко. Да ну, это мелочь. Да и никто (т.е. Я  ) дребезг по прерываниям не отрабатывает. А то так можно любой процессор завалить. Дребезг может длиться десятки миллисекунд с полным заполнением микросекундными импульсами. А вот в Kinetis от Freescale на всех GPIO линиях есть специальные настраиваемые аппаратные фильтры против дребезга.
|
|
|
|
|
Jan 7 2015, 20:35
|

Знающий
   
Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467

|
Цитата(AlexandrY @ Jan 7 2015, 15:25)  Да ну, это мелочь. Да и никто (т.е. Я  ) дребезг по прерываниям не отрабатывает. А то так можно любой процессор завалить. Дребезг может длиться десятки миллисекунд с полным заполнением микросекундными импульсами. А вот в Kinetis от Freescale на всех GPIO линиях есть специальные настраиваемые аппаратные фильтры против дребезга. А я отрабатываю. Первый раз поймал кнопку на прерывании, запретил, завел переменную для таймера. Таймер отщелкал по прерыванию, установил флажок, поймал его - кнопка нажата. Или не установил. А правильные пацаны как? В лупе крутятся 20 миллисекунд? Цитата(ViKo @ Jan 7 2015, 14:18)  Просто. M0 обрабатывает панель управления - кнопки, энкодеры, или принимает/передает, в-общем, выполняет монотонную рутину, а M4 - обрабатывает, творит. Скажем, устранение дребезга кнопок - работа не очень тяжелая, но тратить время на регулярные прерывания (особенно вход и выход из прерывания) - жалко.
В PC в клавиатуре тоже стоит свой микроконтроллер. А в ZX Spectrum - нет. Что лучше? :-) Вы кстати, с ним чего нибудь запустили? Я в итоге отказался от LPC1143. Не понравился он мне. Поддержка у NXP на форуме никакая.
--------------------
Верить нельзя никому, даже себе. Мне - можно.
|
|
|
|
|
Jan 7 2015, 20:39
|

Знающий
   
Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467

|
Цитата(Xenia @ Jan 7 2015, 05:59)  Как будто боятся того, что демо-плата будет использована не по назначению - т.е. не как демо, а как готовое устройство. А может быть и так, что в демо-варианте они стремятся до предела уменьшить себестоимость, экономя на спичках. В результате чего, в большинстве случаев, имеем пустые платы с контактами на краях, которые на глаз выглядят как сделанные для смеха огромные переходники от мелкой микросхемы, распятой в центре, до размера здоровенной вентиляционной трубы  . И это касается не только демоплат для МК, но и демоплат для АЦП, выпускаемых TI. Демоплаты они для демонстрации, зачем им мелкий размер? На STM3210C-EVAL чего только нет, например..
--------------------
Верить нельзя никому, даже себе. Мне - можно.
|
|
|
|
|
Jan 7 2015, 20:54
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(A. Fig Lee @ Jan 7 2015, 22:35)  А я отрабатываю. Первый раз поймал кнопку на прерывании, запретил, завел переменную для таймера. Таймер отщелкал по прерыванию, установил флажок, поймал его - кнопка нажата. Или не установил.
А правильные пацаны как? В лупе крутятся 20 миллисекунд? Да как то небезопасно. Прерывания могут и от глитчей проскочить и просто от программных глюков. И что от первого же фронта начинать целую бодягу с сохранением контекста, обработкой прерывания, передачей ивента в тело основной задачи и проч. и все из-за случайной помехи? Нее... пацаны тратят пару тактов в цикле задачи обработки кнопок. Все равно это одна из задач в контексте RTOS и она еще кучу других дел делает и всегда крутится с определенным приоритетом. Стандартный loop RTOS - 10 мс
|
|
|
|
|
Jan 7 2015, 22:43
|
Гуру
     
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025

|
Цитата(A. Fig Lee @ Jan 7 2015, 22:39)  Демоплаты они для демонстрации, зачем им мелкий размер? На STM3210C-EVAL чего только нет, например.. Чего нет, чего нет.... Цены там маленькой нет. 328 долларов "для демонстрации"-это деньги. Я у китайцев за 180 побольше функционала прикупил. И все отдельными модульками. Когда нулевую плату делали для прототипа - так эти же модули и использовал для штатных функций (езернет, SD-диск, RS-232, RS-485, кнопочки), они ж все на разъемчиках к китайскому киту стыкуются. И сейчас иногда что-то пользую из модулей. А тут- вещь в себе, ни отпилить ни допаять. Демо из европы.
|
|
|
|
|
Jan 7 2015, 23:13
|

pontificator
     
Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483

|
Цитата(SII @ Jan 7 2015, 23:51)  Не соглашусь -- хотя б потому, что кто-то же должен разрабатывать эти самые стандартные библиотеки или там микросхемы. Не всем нужны эти знания и умения, поскольку разработчиков стандартных библиотек и микросхем нужно немного. Не надо изо всех новичков растить энциклопедистов, современный мир стоит на разделении труда и узкой специализации. Цитата(SII @ Jan 7 2015, 23:51)  Т.е. я использую готовое, но когда-то я его освоил на куда более глубоком уровне, чем требуется для простого использования. Очень хорошо, но зачем советовать остальным быть точно таким же, как вы? Даже при том, что вы обрисовали свои знания, вы не упомянули, какие на практике вы получаете выгоды от их использования. Вот я, к примеру, до сих пор наизусть помню цоколевку советских германиевых транзисторов, всяких МП13 и иже с ним, в молодости мне это было нужно. А сейчас какой с этого прок? Никакого. Цитата(SII @ Jan 7 2015, 23:51)  Ну и про критерии успеха. Результат и сроки -- оно хорошо, конечно, но Вы забыли ещё про качество. Вряд ли наспех собранный из готовых кусков проект будет им обладать. Это не аргумент. Наспех написанный самопальный код тоже не будет обладать качеством. А при равных затратах времени, где качество будет выше? У кулибиных, заново изобретающих велосипед, или у тех, кто изучит доку и применит отлаженные либы и операционную систему?
|
|
|
|
|
Jan 8 2015, 01:52
|

Знающий
   
Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467

|
Цитата(Ruslan1 @ Jan 7 2015, 17:43)  Чего нет, чего нет.... Цены там маленькой нет. 328 долларов "для демонстрации"-это деньги. Я у китайцев за 180 побольше функционала прикупил. И все отдельными модульками. Когда нулевую плату делали для прототипа - так эти же модули и использовал для штатных функций (езернет, SD-диск, RS-232, RS-485, кнопочки), они ж все на разъемчиках к китайскому киту стыкуются. И сейчас иногда что-то пользую из модулей. А тут- вещь в себе, ни отпилить ни допаять. Демо из европы. Я не впечатлен китайскими. Поделки/самоделки. И дисковери 3 штуки валящтся, даром достались. Вот СТМовские платы и библиотеки имеют и мануаль и куча периферии. Мне бесплатно 2 штуки досталось, когда компания развалилась. Очень я зауважал дорогие платы.
--------------------
Верить нельзя никому, даже себе. Мне - можно.
|
|
|
|
|
Jan 8 2015, 17:20
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(AlexandrY @ Jan 8 2015, 02:25)  Да ну, это мелочь. Да и никто (т.е. Я  ) дребезг по прерываниям не отрабатывает. А то так можно любой процессор завалить. Дребезг может длиться десятки миллисекунд с полным заполнением микросекундными импульсами. Дребезг по уму подавляют не по прерываниям от источника дребезга, а по таймерным прерываниям. Запускаете периодическое прерывание ~50Гц и в нём опрашиваете кнопы.Тогда даже самый дохый AVR не завалите. Цитата(A. Fig Lee @ Jan 8 2015, 02:35)  Вы кстати, с ним чего нибудь запустили? Я в итоге отказался от LPC1143. Не понравился он мне. Поддержка у NXP на форуме никакая. LPC хорош тем, что поддержка не нужна - как в доках написано так всё и работает
|
|
|
|
|
Jan 8 2015, 20:03
|

Знающий
   
Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467

|
Цитата(Ruslan1 @ Jan 8 2015, 03:46)  А что именно из продукции WaveShare Вы использовали, какое семейство CPU/PLD ? И чем оно не понравилось? Я только для STM32F4Discovery у них платы брал, очень понравилось. Может, Xilinx или LPC или еще кто-то из десятков поддерживаемых ими семейств гораздо хуже сделано, не знаю. Но собираюсь кое-что еще брать, так что скажите заранее с каким семейством у них не так. Open4337-C. У них в пакете нет примеров для двойных ядер. Только на уровне мигнуть светодиодом. Я попробовал сходить на lpcware, сдаунлодил примеры, но запустить для своих целей не смог. Примеры только для определенных плат, как описать свою плату, неясно, документации нет - "download and build it". Во первых, примеры для Keil, не IAR. Как работать с 2мя корами тоже не совсем понятно. Скомпилил я для М0, загрузил через JLink, М0 сам по себе не стартует, его должен стартануть M4, значит я должен скомпилить для М4, загрузить его, как теперь мне дебагить M0, если я соединен с М4? Я пробовал детачнутся от М4и после ресета аттачнутся к М0. Jlink не может соединится. Както ненадежно и непонятно. Остановился на варианте: стереть все FlashMagicом, загрузить им же M0, потом можно дебагить M4. Но как дебагить второй кор, М0, так и не понял. Мрак, в общем.. Чашу переполнила невозможность аттачмента JLinkом.. Начальство на это не решилось. Мой вопрос на их форуме висит неотвеченным с октября прошлого года. Цитата(jcxz @ Jan 8 2015, 12:20)  LPC хорош тем, что поддержка не нужна - как в доках написано так всё и работает  Читал. На lpcware.com: "download, install, and it will build" Угу..
--------------------
Верить нельзя никому, даже себе. Мне - можно.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|