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

bookevg

Свой
  • Постов

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

  • Посещение

Весь контент bookevg


  1. Борьба с нс помехами определяется архитектурой устройства и трассировкой плат (создание высокочастотных конденсаторов) и сигнальных линий устройства.
  2. Добрый день, коллеги! С ПЛИС-ками работал, но на примитивном уровне. У меня есть коллеги, которые этим детально занимаются. Используется: Cyclone4-I7 и IDE Quartus от Altera Недавно возникла проблема, суть которой заключается, что при росте температуры спроектированная в ПЛИС логика стала некорректно работать, пришлось в DSP-прикручивать костыли для ПЛИС. Насчет температуры: температуры в помещении стала больше 45 градусов, но меньше 55, но можно сделать предположение, что температура кристалла не превысила +100. ПО использует 90-95% емкости логических ячеек. Возник спор с моими коллегами, а могут ли они разработать ПО для ПЛИС, которое учитывает временные разбежки, которые увеличиваются или уменьшаются с ростом температуры. Мои коллеги говорят, что чтобы это учесть необходимо очень долго работать, поэтому они считают, что надо оставлять свободными как минимум 30% емкости логических ячеек. Я с этим не согласен. Кто прав?
  3. Доступны пока инженерные образцы. X-grade образцы будут позже.
  4. Официально объявлено http://www.analog.com/en/about-adi/news-me...efficiency.html
  5. Насчет evaluation плат ничего не скажу, но вот для TI можно самому сделать JTAG-эмулятор, а на AD только для ADSP-21xx, старых Sharc и BF, но для самых последних мы пока не научились. Хотя вроде уже есть недорогие JTAG-эмулятор от ADI (ICE-1000).
  6. За ADSP-21xx не стоит браться, а вот Sharc можете использовать. Ну и все мы ждем нового поколения (5-ого) Sharc. Только AD отстает от TI, хотя как и Вы пишите у меня к ним предпочтения с точки зрения "религии". TI обещает хороший кристалл семейства KeyStoneII.
  7. Пока видел только время. Еще лучше иметь лекарства для библиотек по uOS-II, uOS-III, uFS и uUSB.
  8. Мы только рассматриваем вопрос и понимаем, что для перехода необходимы специалисты, которые могут поддерживать необходимый уровень. У нас своя специфика, отличающаяся от продукции всего предприятия, но опять можно использовать программные компоненты (ОС, стек Ethernet, файловая система и т.п.) , которые используются на предприятии. Да это в тему зла. Каждый разработчик сам для себя решает, что ему надо. У нас есть блоки с процессорами, которых используется псевдоОС путем использования софтварных прерываний и разрешения вложенных прерываний. Таким образом можем достигнуть до 5 задач, не считая невложенных прерываний.
  9. Если Вы знаете, где я работаю, то открою Вам истину, что не все на нашем предприятии считают, что ОС - зло. С++ я считаю удобным средством применения во встраиваемых системах и уже лет 10 как использую. Так что Ваши личные познания о моем предприятии ограничены Вашими личными контактами с рядом сотрудников.
  10. Интересует примеры использования FreeRTOS в коммерческих продуктах повышенной надежности (в электроэнергетики и автоматизации). Нашел как минимум: www.intellisaw.com Но на сайте ничего об этом не написано, но есть упоминание http://www.freertos.org/FreeRTOS_Support_F...OS_5016344.html
  11. Вышла Atmel Studio 6

    Решили посмотреть на Atmel Studio 6.1 последний билд. Структура наших текущих проектов на диске: IDE1 -Project1 - расположены файлы IDE1 -Project2 - расположены файлы IDE1 -Project3 - расположены файлы IDE1 -Project4 - расположены файлы IDE1 IDE2 -Project1 - расположены файлы IDE2 -Project2 - расположены файлы IDE2 -Project3 - расположены файлы IDE2 -Project4 - расположены файлы IDE2 Source -Library --Lib1 - расположены исходники Lib1 --Lib2 - расположены исходники Lib2 --Lib3 - расположены исходники Lib3 --Lib4 - расположены исходники Lib4 -Project --Project1 - расположены исходники проекта Project1, которые могут использовать любую из вышеперечисленных библиотек --Project2 - расположены исходники проекта Project2, которые могут использовать любую из вышеперечисленных библиотек --Project3 - расположены исходники проекта Project3, которые могут использовать любую из вышеперечисленных библиотек --Project4 - расположены исходники проекта Project4, которые могут использовать любую из вышеперечисленных библиотек Структура нашего проекта Project1 в IDE1: Source -Library --Lib1 - расположены исходники Lib1, если Lib1 используется --Lib2 - расположены исходники Lib2, если Lib2 используется --Lib3 - расположены исходники Lib3, если Lib3 используется --Lib4 - расположены исходники Lib4, если Lib4 используется -Project --Project1 - расположены исходники Project1, которые могут использовать любую из вышеперечисленных библиотек Как понял Atmel взял Visual Studio Shell и прикрутил свое. Проект выполнены в стиле проекта C#, поэтому файлы извне проекта включать нельзя - может быть я не прав. Вопрос №1: можно ли создать проект и включить файлы, местоположения которых вне каталога проекта Вопрос №2: если ответ отрицательный, то можно работать так: Структура на диске Solution -Solution_Project1 - содержит обязательно проект Project1, а также те библиотечные проекты из совокупности Project_Lib1 ... Project_Lib4 -Solution_Project2 - содержит обязательно проект Project2, а также те библиотечные проекты из совокупности Project_Lib1 ... Project_Lib4 -Solution_Project3 - содержит обязательно проект Project3, а также те библиотечные проекты из совокупности Project_Lib1 ... Project_Lib4 -Solution_Project4 - содержит обязательно проект Project4, а также те библиотечные проекты из совокупности Project_Lib1 ... Project_Lib4 Library -Project_Lib1 - библиотечный проект Lib1 -Project_Lib2 - библиотечный проект Lib2 -Project_Lib3 - библиотечный проект Lib3 -Project_Lib4 - библиотечный проект Lib4 Project -Project1 - расположены сам проект и исходники Project1 -Project2 - расположены сам проект и исходники Project2 -Project3 - расположены сам проект и исходники Project3 -Project4 - расположены сам проект и исходники Project4
  12. Обещают новое на базе sharc в 2015 Самое главное -это новая реализация обработки прерываний, она заточена под uOC-2/3 - отсюда тормоза, т.к никаким способом не используется теневые регистры. Хотя неофициально уже дали способ как откатиться на старую реализацию обработки прерываний, но все равно делается через одно место.
  13. VisualDSP++ 5.1 вышел (недели 4 назад) - переход на 5.1 обусловлен поддержкой W8. Ряд ошибок подправили, но ничего нового. Ключи предыдущей версии великолепно подхватывает.
  14. Если говорить о стандартном С, то да там нет фиксированной точки, но вот в расширении С от аналога есть фиксированная точка - смотрите раздел "Using Native Fixed-Point Types". Еще раз повторюсь, что начиная с Update9 появилось SIMD оптимизация прямо в С/С++ - смотрите раздел Achieving Optimal Performance From C/C++ Source Code. Также вроде с Update10 у компилятора появилась возможность задействования SIMD операций, если циклы написаны на асме и включены в С/С++ код. За счет этого можно достичь существенной оптимизации, которая будет хуже чистого асма незначительно, ведь на чистом асме так быстро не напишешь и особенно надо учитывать(помнить), где же данные лежат. А один раз поняв идею как надо писать код на С/С++, чтобы SIMD работал, то быстро привыкаешь. Также еще можно и многофункциональные команды пересылки-действие задействовать опять на уровне С/С++.
  15. Пример из документации про вас случай: // GOOD: uses native fixed-point types to implement fractional multiplication #include <stdfix.h> long fract dot_product(fract *a, fract *B ) { int i; accum sum=0.0k; for (i=0; i<100; i++) { /* this line is performance critical */ sum += a * b; } return (long fract)sum; } // GOOD: uses built-ins to implement fractional multiplication #include <math.h> fract32 dot_product(fract16 *a, fract16 *B ) { int i; fract32 sum=0; for (i=0; i<100; i++) { /* this line is performance critical */ sum += mult_fr1x32(a,b); } return sum; } Я не вижу проблем для BF. Есть проблемы только для Sharc, т.к. там нет builtin или готовой поддержки y_fract64 = y_fract64 + k_fract32 * y_fract32. Как хочешь, но мой опыт работы с Sharc-ами ограничен. Там конечно есть проблемы при вызове софтверных прерываний стандартными функциями и разрешением вложенных прерываний - вот там точно не надо использовать raise - по крайней мере это относится к VDSP++ with U10. В CCES AD заявляет, что использует одинаковый механизм работы с прерываниями как для BF, так и для Sharc. В VDSP++ with U10 + Sharc: работаю с регистрами ручками, но не всеми, а с теми на которые нет builtin фнукций; работаю с прерываниями при помощи interrupt(его разновидности); работаю с таймерами ручками.
  16. Не соглашусь. Как одна из разновидностей параллельных операций SIMD великолепно работает и на С/C++ без инлайн функций - очень хорошо это сделали в VDSP++ with Update9 (вроде). Повторюсь еще раз у меня эта фича вовсю работает. Возможно инлайн функциями можно полностью задействовать одновременные операции с ALU, MAC or Shifter и то сомневаюсь. Также в VDSP++ with Update10 аналог пока не решил проблему с операциями типа y = y + k*x - не задействовано операция MAC и все работает по отдельности и все из-за того, что в вычислениях могут быть различные типы. Проверю CCES как картина обстоит.
  17. Новая среда разработки на эклипсе использует старый компилятор, но работу по модернизации провели существенную. После жалоб (в том числе и моих) они выкинули класс fract из С++ и разрешили в нем использовать возможности озвученные в Chapter 4 of the ”Extensions to support embedded processors” ISO/IEC Technical Report 18037. Т.о. имеем fract native support в C++. Это также относится и к Sharc. Но на данный момент в последнем нет поддержки accum (BF имеет данный тип), что было бы очень удобно. AD осталось еще добавить 64 bit fract and 80 bit fract accum - но это скорее касается Sharc. Это скорее относится к TI, а вот на Sharc я постоянно задействую режим SIMD, причем весь код на C++.
  18. 10.1 - в нем только ADSP-2147x добавлены Уже есть эклипс для Sharc-ов, осталось взломать. Как минимум можно время остановить и не выходить за пределы 90 дней. Это было проверено случайно на вирт.машине. uC-OS-III можно самим прикрутить к VDSP++, т.к. все предоставлено для этого.
  19. Теперь и для sharc. Лекарство разыскивается. http://electronix.ru/forum/index.php?showt...90&start=90 Замораживание или возврат времени в зону 90 дней помогает
  20. В тиристорных приводах и устройствах плавного пуска электродвигателей среднего напряжения (6-10кВ) для включения тиристора применяется обычная токовая петля - т.е. с платы усилителя идет провод, который пронизывает транс, установленный вблизи тиристора, а рядом с трансом схема и все и работает все отлично. За формирование управляющего импульса отвечате система управления, а плата усиления ее просто усиливает
  21. Статья правильная. Было проверено раньше на новых элементах TBU, чем они ее успели опубликовать. Единственно надо обратить как общую точку драйвера сажать на корпус (напрямую или через варистор).
  22. Вы правы. Но вы можете модифицировать встроенный загрузчик, что позволит вам сделать расчет crc во время записи и проверки, а также его записать. Также я вот не знаю встроенный алгоритм компрессии и позволяет ли он проконтролировать целостности прошивки.
×
×
  • Создать...