Перейти к содержанию
    

Jevys

Участник
  • Постов

    6
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный
  1. Вопрос по PIC32. У него довольно много разной периферии, которая распределяется на не очень большое количество внешних ножек. А есть ли программа, которая может распределить эти ресуры оптимальным образом, желательно с графическим интерфейсом. У Silicon Labs была такая программка, было удобно.
  2. Конечно по производительности PIC32 проигрывает DSP, но не так уж и много. Особенно там, где получается использовать предложенные Микрочипом функции. В нашем случае производительности вполне хватает. А в плюс идут мощная периферия, высокая производительность в задачах с плавающей запятой, удобная среда разработки.
  3. Осваиваю PIC32, общее впечатление хорошее - микроконтроллер мощный. Одна из основных задач PIC32 в данном проекте - цифровая обработка сигналов, в частности расчет среднеквадртичного значения. Вопрос в использовании стандартных фунций предлагаемых в С32, а именно вычисления суммы квадратов mips_vec_sum_squares32. Эта функция возвращает 32-битное значение типа INT, причем похоже, что только старшую половину 64 битного регистра умножителя-накопителя. В результате если операнды, возводимые в квдрат, небольшие по значению, то результат теряется. Если операнды путем сдвига перед выполнением функции приводить к 32 битному значению, то и в этом случае будет потеря точности. Например, при обработке 24 битных данных их квадрат будет 48-битным, а функция возвращает, как уже говорилось, только 32 битное значение, а если из него взять квадратный корень то останется всего то 16 битное значение. Что делать? Разбираться в системе команд MIPS не хочется - думаю что всю часть проекта вполне удастся реализовать на Си.
  4. Обновление ПО представляю так: От компьютера по стандартному протоколу передачи данных через UART подается определенная команда, после которой происходит переход в программу перепрошивки, которая уже далее принимает по своему специальному протоколу пакеты с данными, содержащими код программы, и по мере поступления происывает их в память программ. Аварийный выход в программу перепрошивки только при включении питания при определенном нажатии кнопок (есть еще и такие). А вообще спасибо за столь объемный ответ. Действительно, стало понятнее. Но надо будет еще самому подумать и все проверить.
  5. ПО для перепрошивки 8051

    Встала задача по созданию программного обеспечения для обновления ПО 8051. Особенностью создаваемого устройства является то, что в процессе эксплуатации может потребоваться неоднократное обновление программного обеспечение. В связи с этим хочу спросить две вещи: 1. Можно ли вообще написать модуль ПО перепрошивки на Си? В проекте стоит опция максимальной оптимизации по размеру кода, при которой Кеil по идее может сам находить похожие куски кода и выделять их в подпрограммы. И тогда код, расположенный в ПО перепрошивки, будет вызывать код, который лежит за пределами области памяти программ перепрошивщика, что недопустимо. Остается только ассемблер? 2. Если все же писать на Си, то как жестко разместить программу перепрошивки с заданного адреса? Например 0xF800. И как это сделать в варианте на ассемблере.
  6. Если говорить о производительности 8051, то 8051 в версии Silabs на мой взгляд выглядит очень достойно для решения многих задач. По сравнению с классическим частота ядра выше в 8 раз, команды выполняются быстрее в 10 раз и плюс умножитель. Итого получается примерно в 100 раз выше чем производительность основного советского микроконтроллера 1816ВЕ31, на котором работало много неплохих устройств. Используем Silabs уже 3года, запустили в производство целую серию устройств. Софт пишем как на ассемблере так и на Си. В целом довольны, те задачи которые в нашей области раньше решались на DSP, теперь успешно решаются на 8051. Запас производительности большой, загрузка процессора 20-40%. 8051 выбрали потому, что было много наработок для этой платформы. Но в будущих разработках конечно планируем ARM. Ориентируемся на LPC. По скромным прикидкам у него все долно быть в 3-4 раз лучше чем Silabs.
×
×
  • Создать...