Borisov_E

Помогите Выбрать - Pic Или Avr Или Arm

266 сообщений в этой теме

my504    154

........ Но скажу одно, самому учиться - это ужас.....

"Охота пуще неволи..."

Если самому учиться - ужас, то нужно немедленно бросить эту профессию (хобби).

Ужас - первый признак неудачного выбора.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
pazak    17

На все 100% согласен с Марком, я учился программировать PICи с нуля сам без учителей и товарищей по учёбе (к стати по КЕА), тоже было не легко, но было большое желание и здоровая злость (я что хуже?).

С уважением.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

доброго всем вечера.

Давно читаю эту ветку, много интересных мнений, но позволю и себе сказать:

а какая разница с какого МК (точнее, какой фирмы) начинать?

(всё, что ниже написано - мое личное мнение, я его не завязываю другим!)

1. знание основ электроники Обязательно

2. знание основ цифровой эл-ки ЖЕЛАТЕЛЬНО

3. необходимость освоения МК = цель

4. время и хотя бы минимум деталей/инструмента

главное, понять минимум устройства "типовых" МК: PIC, AVR, x51...

начинал Бейсика на "Спектрум", затем немного ассемблера х86 (чуть-чуть), потом PIC (PICBasic), потом AVR (FastAVR)

Да никакой разницы, как сложится!

исключение: конкретное знание того, что необходимо срочно получить за ограниченное время

Если так какая-то дикая математика или обработка сигналов в реальном времени, то да: тут заранее необходимо выбрать и ядро, и модель МК и учить именно его

а остальным советую: (извиняюсь за ссылки - лень набирать. Если уважаемый Модератор сочтет ссылки излишними -грохайте, но в Соглашении форума это не запрещено :)

1. http://kniga.mybb.ru/viewtopic.php?id=13

2. http://pic-avr.narod.ru/MK-teoriya.htm

готов отстаивать свою точку зрения :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
my504    154

Позвольте, уважаемый Александр, с вами не согласиться вот в чем.

Для успешного проектирования любой задачи на МК необходимо ПРЕЖДЕ ВСЕГО быть ХОРОШИМ СХЕМОТЕХНИКОМ как в аналоговой, так и в цифровой части. Необходимо (а не желательно) блестяще представлять себе архитектуру вычислительных машин, которые вообще применяют в этой (эмбеддерской) области. легкость написания программ типа "хеллоу" не имеет к разработке реального оборудования (устройств) абсолютно никакого отношения. Все равно как считать шофера инженером-автомехаником.

Т.е. эмбеддинг - это радиотехника в чистом виде... и ничего более. Программирование и языки вообще не являются профессией, а лишь ИНСТРУМЕНТ разработки, как автокад, пикад, микрокап... далее везде.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
rtfcnf    1

Программирование и языки вообще не являются профессией, а лишь ИНСТРУМЕНТ разработки, как автокад, пикад, микрокап... далее везде.

А как, Вы, прокомментируете утверждение, что в разработке среднего или крупного проекта как правило идет разделение в команде на схемотехника, программиста и конструктора (других пока, типа тех писателя, алгоритмиста итд мы пока трогать не будем)?

Изменено пользователем rtfcnf

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

rtfcnf успел ответить раньше меня )

я полностью с ним согласен: в СЕРЬЕЗНОМ проекте (я в них не учавствовал) в _большинстве_ случаев имеется разделение задач как минимум на электронную и программную.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
my504    154

А как, Вы, прокомментируете утверждение.........

А вот так.

В любом проекте есть движущая сила. Это схемотехник. Для проектирования радиотехнических систем. О программных проектах на готовом универсальном оборудовании речь не идет.

Если он не может все, включая программу и конструктив разработать сам (пусть долго и неоптимально с точки зрения самого процесса, а не результата), то это никчемный схемотехник. И результат разработки будет корявым.

И как бы не показалось обидным для чистых программистов, но они не в состоянии найти оптимальное соотношение железо-софт, не в состоянии минимизировать затраты в конечном изделии (себестоимость), не в состоянии отследить физические причины багов. Если конечно этот программист сам не квалифицированный радиоинженер, а схемотехникой занимается подсобник. Такое бывает. Когда все сложности в основном в алгоритме, а схема тривиальна.

И даже в этом случае радиоинженер - фигура номер один в проекте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
rtfcnf    1

В любом проекте есть движущая сила. Это схемотехник.

Если отбросить шаманство в СВЧ и звуковых Hi-End схемах, то схемотехника в большинстве современных проектах сводиться к использованию типовых схем включения ИС, рекомендуемой производителем, у схемотехника просто нет времени вникать в тонкости работы каждой конкретной микросхемы при этом еще не факт, что его решение получиться лучше. Для творчество остается только общая компоновка устройства и согласование разных частей схемы. На первый план встают именно алгоритмы обработки, зашитые внутри устройства, то есть работа программиста. Проектирование платы тоже лучше отдать конструктору. Описать общею компоновку, пожелания, для МК возможность замены пинов и пусть человек творит в рамках полученного ТЗ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
my504    154

Как раз типовое включение микросхем я и отношу к тривиальной схемотехнике. Такие проекты радист-эмбеддер должен делать сам. И программу и схему. И конструкцию заодно.

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

ЗЫ. Недавно поссорился (случайно, не желая) с коллегой на работе как раз по обсуждаемому поводу...

Амбиции программиста обычно вредят делу...

ЗЫЗЫ. СВЧ - это совсем не шаманство....

Изменено пользователем my504

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
rtfcnf    1

Значит мне всегда попадались тривиальные задачи:D, а насчет делать сам, так зачем, когда есть специально обученные люди, не отнимать же у них хлеб.:lol:

Хотя я полностью с Вами согласен, чистому программисту заниматься контроллерами категорически не рекомендуется.

P.S. и оффтоп

А на одном финансовом ТВ канале под словом "эмбеддер" все время называют строителей, хотя во всем мире принято радистов-схемотехников. Так что по аккуратней с термином :D:lol:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
my504    154

Вот в тему пример.

Сейчас на микрочип.су обсуждается тема измерения плотности зефирной массы...

Ну и какие готовые схемотехнические решения упакованные в ИС на эту тему имеются?

Между прочим, готовы купить за 12 килоевро...

И еще. А собственно что может нерадист-программист? Он знает мат.методы обнаружения сигналов?

Или может способен корректно построить софт радиолокатора?

Даже за кодом из под его руки нужен глаз да глаз. Я уже трижды за последние две недели буквально силком заставлял программиста отказаться от своих стерильных манер написания кода. Иначе не лезет в архитектуру, а следующий шаг вверх в выборе чипа (платформы) делает проект нерентабельным.

Но попробуйте доказать программисту, что читабельность самого кода(без коментов) не стоит ломаного гроша при таком выборе... Я уже готов писать на АСМе. Тем более проект 100%-но реализуем на ныне используемом МК.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
rtfcnf    1

Вот в тему пример.

Сейчас на микрочип.су обсуждается тема измерения плотности зефирной массы...

Ну и какие готовые схемотехнические решения упакованные в ИС на эту тему имеются?

Вы здесь немного лукавите. Насколько, я понял, еще никто не предложил сам физический принцип измерения. То есть ни кто не знает, что будем мерить и как. Как только появиться метод найдутся и кубики для схемотехники.

ИМХО: но это работа не схемотехника верней не одного схемотехника.

Изменено пользователем rtfcnf

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
my504    154

Ни капли не лукавлю. Это именно схемотехническая задача. Какой бы датчик не взяли за основу. Само проектирование преобразователя физика-электрическая величина - это чистая радиотехника.

Что проку с прожектерства, если неизвестна реализуемость?

Автор кстати предложил недурной вариант с пьезом. Тоже нет готовой схемотехники. (Знаю, поскольку только закончил один проект по УЗ датчику и как раз там измерял время его собственного звона).

Изменено пользователем my504

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
rtfcnf    1

И еще. А собственно что может нерадист-программист? Он знает мат.методы обнаружения сигналов?

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
my504    154

И что? Этот Ваш коллега способен самостоятельно выстроить проект системы? Да ни в жисть не поверю...

Это абстрактные знания. Почти схоластика. Его полезно привлечь в качестве консультанта при выборе метода. И только. Код писать такому не поручишь - дорого. Избыточная квалификация. Ему только в супермега проектах работать. Типа софт на бортовые РЛС писать-проектировать.... под руководством генерального конструктора. rolleyes.gif

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
rtfcnf    1

И что? Этот Ваш коллега способен самостоятельно выстроить проект системы?. rolleyes.gif

Нет не сможет.

Но я или потерял нить или все же мы о разделении функций работающих над проектом людей.

Это именно схемотехническая задача. Какой бы датчик не взяли за основу. Само проектирование преобразователя физика-электрическая величина - это чистая радиотехника.

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

Изменено пользователем rtfcnf

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
my504    154

Для эффективной работы безусловно нужна специализация. Особенно в крупном проекте. Однако ответственность за принятие решений лежит на ОДНОМ человеке. И он - радиоинженер.

Т.е. остальные как инструмент - на подхвате. Это не унизительно. Это их работа. и порой очень квалифицированная. Я , скажем, не возьмусь за проект какого нибудь навигатора. Это в основном высококлассный софт (с проработанной юзабельностью и внедренный в известную ось). Это вообще не моя компетенция. Я это себе представляю очень поверхностно. Основой навигатора, как известно является универсальная ЭВМ, а не контроллер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
rtfcnf    1

Основой навигатора, как известно является универсальная ЭВМ, а не контроллер.

Немного не в тему.

Было предложение пойти в контору которая занимается ГЛОНАСС(ом) вакансия там была программист ARM7, ARM9

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
rtfcnf    1

Избыточная квалификация. Ему только в супермега проектах работать. Типа софт на бортовые РЛС писать-проектировать.... под руководством генерального конструктора. rolleyes.gif

Хотя проекты и не супермега. За нашим кандидатом тоже глаз да глаз нужен. У него видно после защиты куча свободного времени появилась, вот он всё и порывается переписать наши DSP библиотеки. Ели останавливаем :lol:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alexeyslav    575
Для творчество остается только общая компоновка устройства и согласование разных частей схемы. На первый план встают именно алгоритмы обработки, зашитые внутри устройства, то есть работа программиста.

Однако, чистый программист не справится даже с задачей согласования "кирпичиков".

Причем, могут быть и подводные камни! Программист, он думает чисто логически, а чтобы согласовать нужно думать еще и схемотехнически. Например, наращивая параллельные каскады, можно запросто упустить момент когда потребление схемы превысит возможности коммутирующего элемента.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
rtfcnf    1
Для творчество остается только общая компоновка устройства и согласование разных частей схемы. На первый план встают именно алгоритмы обработки, зашитые внутри устройства, то есть работа программиста.

Однако, чистый программист не справится даже с задачей согласования "кирпичиков".

Так я то и не говорил, что справиться. Я писал о разделении обязанностей в команде.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
COKPOWEHEU    248

В относительно низкочастотном приборе (до 20МГц положим) задача программиста будет: организовать прием-передачу данных по соответствующим интерфейсам и их обработку. Грубо говоря: принять значения с 3-х датчиков, преобразовать в (допустим, датчик ускорения) g и вывести на экран. Причем кнопочками регулируется масштаб. Как модель типичной задачи сойдет. Тогда программисту надо знать интерфейсы (USART, SPI, TWI и т.д.) или хотябы уметь их использовать и умение работать в ограниченном объеме (как по памяти так и по скорости и по набору команд). А уж как схемотехники будут аппаратно реализовывать эти интерфейсы - не его дело. Хотя, конечно, знание электроники желательно. Как пример, никто же толком не знает как устроена карта памяти (кроме ее собственных разработчиков), но пользоваться ей возможно, поскольку реализован стандартный протокол связи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
my504    154

Вы узко мыслите. Большинство применений МК - это не вычислители, а обычные аналоговые приборы, где задачей контроллера является формирование временной диаграммы. Обработка интерфейсов - это совершенно тривиальная задача. Она многократно описана в аппноутах и ни разу не секрет.

Для написания эффективного кода такого рода приборов нужно четко знать идеологию аналоговой части и ее схемотехническую реализацию с точностью до временных погрешностей и разрядности АЦП контроллера.

Изменено пользователем my504

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
COKPOWEHEU    248

Все равно - интерфейс АЦПа, какие-либо преобразования кода не связанные с аппаратной частью и вывод информации. На экран, UART, память - не важно.

Вы узко мыслите
Сужу в основном по темам этого же форума ("как прицепить дисплей", "как соединить с компом", "как измерить температуру", "программаторы"; "осциллографы"-уже реже). Все-таки МК это цифровой прибор в котором может быть реализована обработка аналоговых сигналов. Для чисто аналоговых применений существуют специализированные контроллеры и процессоры. А здесь (судя по теме) обсуждаются классические контроллеры на которых можно собрать "мигалку", "часы", "термометр" то есть универсальная платформа.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Похожие публикации

    • Автор: myrka
      Доброго дня! 
      Купил на барахолке вот такую плату





      на последней фото 2 черных провода в дальнейшем соединены 
      Это бегущая строка от игровых автоматов, на ней 2-мя цветами отображаются слоганы, хочу перепрошить в целях обучения.
      Вопросы:
      1) встречал ли кто-то описание этой микросхемы? (я в интернете не нашел, потратил 2 дня)
      2) есть на микросхеме разъем (10 ножек хорошо видно на последнем фото), как узнать их имена, за что отвечает каждая ножка? (есть некоторые предположения, но сомневаюсь в них)
      3) можно ли через CP2102-USB-UART-MODULE перепрошить вот эту микросхему, если да то как соединить?
    • Автор: Atreides
      Добрый день. Мне требуется реализовать программный юарт на атмеге16. Он нужен для того, чтобы принятые по нему данные отправить на аппаратный юарт. В интернете нашел примеры кода, но понять его мне трудно. Прошу вас словами в общих чертах объяснить принцип реализации программного юарта. Буду рад примерам, которые, на ваш взгляд, являются наиболее простыми и понятными. Заранее спасибо.
    • Автор: EugenArt
      Всем доброго времени суток!
      в поиске не смог найти инфо, поэтому создал тему, не ругайте, если ошибся с веткой.
      Идея следующая, есть автомагнитола deh-3600MP c выходом Ip-bus.Хочу подружить магнитофон с мп3 плеером (есть от фм-трансмиттера, завтра куплю платку отдельного мп3). Сразу подчеркну, что хочу управление плеером (треки, теги, пауза и т.д) с головного устройства.
      предполагаю схему так:  ip-bus - avr - mp3 player.
      алгоритм avr-mp3 несложен и открыт, а вот описание протокола ip-bus нигде нет, форум витат.спб уже изучил, есть кусок кода работы авр и ip-bus, но не очень понятно, может подскажете набор команд ip-bus или что происходит по событию нажатию кнопки вперед/назад.
      Заранее благодарен.
    • Автор: Максим Окатов
       
      Товарищи, помогите пожалуйста. Данная програмулина при нажатии на кнопку входит в функцию MinU() в которой инициализирует таймер для задержки(ждем отпустит пользователь кнопку или нет) если кнопка не отпущена то уменьшаем скважность ШИМ.
      проблема в выделенной красным строчке! когда count больше 3 уменьшаем скважность, но в отладчике AVR studio, Proteus и в железе не робит.
      Перепрыгивает действие в {} так будь-то условие не выполнено...
      #define F_CPU 1000000L
      #include <avr/io.h>
      #include <avr/interrupt.h>
      #include <util/delay.h>
      unsigned char count = 0;
      unsigned char a=5,s=3,b=0;
          //===================================Насройка таймера====================
      void Timer_ini(void){
         TCCR1B = (1<<CS12)|(0<<CS11)|(0<<CS10);
         TCNT1 = 65535-976;
         TIMSK |= (1<<TOIE1);
         count = 0;
        }
          //===========================настройка шим===========================
      void PWM_ini(void){
         ASSR=0x00;
         TCCR2=0b01101110; //На выводе OC1A единица, когда OCR1A==TCNT1, восьмибитный ШИМ
         OCR2=200;
      }
      //===============
      void MinU(){
          unsigned char i=0;
          Timer_ini();
          while (!(PINB&0b00000010)){
              if(count>2){        //Если таймер считал более двух раз
                _delay_ms(100); // ждем 100 мс
                OCR2--; // Уменьшаем скважность
                i=1;        // были в плавном уменьшении
            }
            
         }
         if (i!=1) // если не были в плавном уменьшении
         {
             OCR2=OCR2-50;
             i=0;
         }
      }
              //=======================================================
      int main(void)
          {
             
              // Настраиваем порт D на выход
              DDRB = 0b00001000;
              PWM_ini();
              //Timer_ini();
              sei();
              
              
              while(1)
              {
                  b=a-s;
                  if (!(PINB&0b00000010))
                  {
                      MinU();
                  }/*
                  //if (!(PINB&0b00000100))
                  //{
                      //PlsU();
                  //}*/
              }
              return 0;
          }
          
          ISR (TIMER1_OVF_vect)
          {
              count++;
              TCNT1 = 65535-976;
                  }
       
       
       
    • Автор: Serg_Mang
      Можно ли залить в arduino прошивку, предназначенную для чистого AVR?