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

skyvmicro

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

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

  • Посещение

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


  1. С вашей схемой понятно. В моем случае надо будет оценить итоговое разрешение после приведения входного сигнала с помощью ОУ. У TI как раз видел использование различных АЦП в схеме привода.
  2. Тогда еще один вопрос. Просто для себя я его пока не рассматривал детально. Данный АЦП предназначен для непосредственного подключения к шунтам с целью измерения тока. У Вас АЦП также используется или нет? Я собираюсь его использовать для измерения напряжений +- 10В.
  3. Вот интересно как 100 МГц МК LPC1754 вычисляет быстрее, чем 200 МГц SAM9?
  4. Решил посмотреть в симуляторе какое число тактов затратит SAM9 на вычисление трех интеграторов sinc3 фильтра. Ядро ARM9 работает на 200 МГц, т. е. 1 такт = 5нс. Условия для себя принял следующие: - Частота модулятора = 20 МГц. Частота формирования выходных отсчетов примерно 10 кГц. Из этих условий я нахожу необходимый размер буфера = 1984 бит или 62 32-х разрядных слова. Время заполнения буфера составит 1984 * 0.05 мкс = 99.2 мкс. - В программе я обрабатываю весь буфер = 1984 бит за 10305 тактов, а это соответствует времени 10305 * 5нс = 51.5мкс. Программный код на обработку 1-го бита такой: Integr_3 += Integr_2; - 1 такт Integr_2 += Integr_1; - 1 такт Integr_1 += ( input >> .... ) & 0x00000001; - 4 такта Когда использовал цикл по битам, то получил 18672 такта (99 мкс). Пришлось его развернуть. Итого из 99.2 мкс потратили 51.5 мкс. Запас в 50 мкс обнадеживает.
  5. По поводу ресурсов увидел, что использован BF533 с частотой 594 MHz. SAM9 у меня по SPI работает на 25 MHz без проблем, но под другой задачей. А для этой похоже ему не дотянуть.
  6. Реализация на ПЛИС сомнений не вызывает, но хотелось бы оценить требования к МК для этой задачи.
  7. За ответы на вопросы спасибо. Моделировать фильтр для себя я тоже планирую, но когда все более менее определится. АЧХ фильтра будет зависеть от Fsample и Fd. В даташите на AD7705 приведено описание sinc3 фильтра. Там есть картинка АЧХ. Софт для интеграторов требует шорошего быстродействия и я уже параллельно смотрю на CPLD от Atmel.
  8. Пока лучше опишу чего не выходит. Посмотрел текст фильтра на VHDL и возникают вопросы. 1. Сигнал reset нужен только для начальной инициализации и в процессе работы он не нужен? 2. Не пойму комментарий. if(mdata1==0) ip_data1 <= 0; /* change from a 0 to a -1 for 2's comp */ else ip_data1 <= 1; Если mdata1==0, то всегда ip_data1 = 0, а где и когда получаем -1? 3.Долее, не пойму как могут работать интеграторы если ip_data1 всегда 0 или 1.
  9. Так точно, SPI - мастер. У меня, на SAM9, максимум выходного клока до 50 МГц. По поводу использования SPI план такой: - Сигнал CS не дергать вообше. Один раз сформировать выбор устройства и все. - Настроить SPI на прием слов или байт и паузы между ними не делать. - У SAM7,9 есть два указателя на приемные буферы. Вот теперь надо разобраться можно ли их использовать для организации непрерывного потока.
  10. Именно этот модулятор я и рассматриваю. Подобная идея обработки прокручивалась в голове. Спасибо sysel за достаточно подробное описание Вашей едеи. Подозреваю, что в DSP данная задача реализуется аналогично. Для себя хочу рассмотреть возможность приема непрерывного потока по SPI с использованием двух буферов + ДМА. Софт будет поочередно обрабатывать эти буферы. ПЛИС + МК как-то накладно. Тогда уже просто использовать одну ПЛИС без МК.
  11. А какие интерфейсы существуют в DSP. По поводу интервала суммирования. Если я правильно понял, Вы предлагаете прямой метод накопления, который подходит для медленно меняющихся входных сигналов ( дословно из DSP-ПРОЕКТ «НАРОДНЫЙ УЧЕБНИК»). При таком способе обработки частота моего выхода будет определяться: Fd = 16.0e+06 / 65536 (Гц)
  12. Всем доброго дня. Есть несколько вопросов по работе с сигма-дельта модулятором. Исходно имеем частоту модулятора Fsampl = 16МГц и частоту дискретизации выходного сигнала Fd = 10кГц. Число разрядов – 16. 1. Во многих примерах видел обработку данных модулятора плиской или DSP. Как оценить необходимую производительность контроллера типа ARM7? 2. Каким интерфейсом контроллера принимать поток данных модулятора? 3. В даташите на модулятор есть пример фильтра-дециматора на VHDL. Где найти аналогичный пример на С?
  13. FatFs на SAM9260

    Насколько я понимаю запись кэшируется в самой FatFs. Теперь плюс к этому я могу делать или нет кэш в своем модуле I/O. Понятно.
  14. FatFs на SAM9260

    Пишу свой модуль I/O для RAM-diska. И вот остановился на реализации функции disk_ioctl в части команды CTRL_SYNC. Понятен первый режим работы функции для устройств имеющих какое-то время записи. Понятно, что ничего не надо делать если только читаем из устройства. Не понимаю когда необходим в модуле I/O write back cache и как при этом функционировать. В примерах для I/O модулей MMC и NAND я не встретил использование write back cache.
  15. По поводу частоты и длины линии связи могу добавить. Соединяли ПЛИС и ARM9 по SPI на частоте 25МГц витыми парами длиной около 50см. Сбоев в этой макетной связке не выявили. В итоге заложили в реальное изделие (силовое устройсво) эту связку в виде шлейфа длиной 10см. Проблемы не наблюдались.
  16. Имеются вопросы по методам измерения сопротивления утечки силовых шин на землю. Объект имеет следующие параметры: 1. Напряжение на шинах - медленно меняющееся в диапазоне -30В… +-30В (хотя может быть и -600В… +-600В). 2. Максимальная частота изменения напряжения на шинах – 0.2Гц. 3. Между шинами и землей есть С 1- 20 мкф. В этом плане есть подобные устройства ф. BENDER. Они же описывают какой-то AMP метод измерения. В первом варианте своего устройства использовали принцип поочередного подключения своего резистора к шинам. Накапливали данные двух измерений и находили искомые утечки каждой из шин ( при этом напряжение на шинах было постоянное и С нет). Во втором варианте захотелось уйти от коммутации резистора к шинам. Решили пойти по пути того же BENDER. Имеем эталонный источник (+- 20В) и резистор (150 кОм). Измеряя ток резистора получаем утечки шин на землю. В этом методе есть пока проблемы учета влияния меняющегося напряжения на шинах и емкостей на землю. Попадались какие-то методы заряда - разряда конденсаторов через резистор на землю. Но как-то более красиво сделано у BENDER и параметры у них приличные.
  17. По Вашему ТЗ трудно, что конкретно советовать. Поэтому даю абстрактные ответы: 1. Как Вы думаете измеряет сопротивление обыкновенный мультиметр? 2. АЦП есть с диапазоном более чем 0...5В. 3. Дальнейшие советы зависят от скорости изменения параметра, точности и т.п.
  18. FatFs на SAM9260

    Спасибо за конкретный ответ. Посмотрю внимательнее описание.
  19. FatFs на SAM9260

    Мне здается, что имя файла не указывает то на каком носителе он находится.
  20. FatFs на SAM9260

    Вот есть функция: FRESULT f_open ( FIL* FileObject, /* Pointer to the blank file object structure */ const TCHAR* FileName, /* Pointer to the file neme */ BYTE ModeFlags /* Mode flags */ ); Я просто не пойму где тут параметр указывающий принадлежность к носителю. С вашим примером для низкоуровневых функций я согласен. Вопрос снимаю. Посмотрел ff.h и стало понятно, что если FIL *fp, то fp->fs->drv это и есть носитель.
  21. FatFs на SAM9260

    На плате с SAM9260 установил FatFs и работал с карточкой microSD 1Gb по SPI. Исходный пример работал без проблем. Планируя использовать FatFs в собственном проекте столкнулся с небольшим вопросом, который не понимаю. Имею несколько физических носителей - microSD, SDRAM, dataFlash, NAND. Могу ли я работать одновременно более, чем с одним носителем? Если да, то как интерфейсные функции FatFs могут понять, с каким именно носителем им работать?
  22. В первых трех байтах загрузочного сектора находится "ассемблерная команда перехода к загрузочному коду "(переписал дословно из книги). Далее написано, что необходимости в ней нет(кроме загрузочных файловых систем). Просто теперь возникает вопрос, а что там должно быть если нет загрузочного кода?
  23. Написал утилиту для форматирования RAM-диска. Теперь диск создается автоматически при включении питания, а при подключении USB кабеля имею к нему доступ. Все хорошо, но есть один вопрос. Если я заполняю первые три байта загрузочного сектора нулями, то при подключении USB кабеля диск приходится форматировать. Когда я прописываю эти байты значениями, которые создаются TotalCom при форматировании, то все ОК. Почему так происходит? Получается, что код команды перехода должен присутствовать всегда?
  24. Я скачал эту книгу - "USB Mass Storage Designing and Programming Devices and Embedded Hosts" Jan Axelson. У Microchip есть стэк и небольшое описание для USB MSD.
  25. Всем доброго дня. Есть несколько вопросов по дальнейшему использованию USB на SAM9260. 1. Хотелось бы теперь попробовать USB - host для флэшки. 2. На плате имеется несколько физических носителей памяти ( SDRAM, microSD, DataFlash, Nand). Как можно выбрать со стороны PC любой из этих носителей для работы? При этом программный код для PC не создавать, а только для SAM. 3. В примере от IAR каждый раз надо форматировать диск перед началом работы. Где взять готовый пример кода для форматирования RAM-диска или иного носителя? Я понимаю, что возможно эту утилиту написать и самому. 4. Пример USB MSD, на мой взгляд, дает возможность получить простой инструмент для управления функционированием платы. Для этого нужно что-то вроде самодельного командного процессора? В USB MSD мне очень нравится то, что для PC ничего создавать не надо.
×
×
  • Создать...