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

skopus

Свой
  • Постов

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

  • Посещение

Репутация

0 Обычный

Информация о skopus

  • Звание
    Участник
    Участник
  • День рождения 02.01.1990

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array
  1. 5000 - Мало реальная цена 50000 - гораздо больше похоже на правду.
  2. запись во эту флешку производится не как в область внешней памяти, а как последовательность команд записи во внешнюю память. Точнее говоря, чтоб записать 1 слово, нужно отправить 6 команд. Сейчас сам занимаюсь этой проблемой. Программирую флешку, получая команды по SPI порту от микросхемы FT2232C, которая в свою очередь подклюяается по усб и управляется программой, которую пишу в delphi пока получается очень медленно. Ищу способ увеличить скорость
  3. Я для загрузки ADSP-2191 пользуюсь микросхемой DSM2190 по сути - это и есть флеш, которую вы ищете. Прога прошивается в нее с помощью программатора, который подключается через LPT порт. А сигнальник загружает в оперативную память из нее. вроде как эта штука не только 2191 поддерживает вот тут даташиты: http://www.st.com/stonline/products/literature/ds/8353.htm
  4. После долгой переписки со службой тех поддержки Analog Devices удалось выяснить, что ножку /BR нельзя оставлять в подвешенном состоянии. Если она не используется, нужно обязательно подтянуть /BR на единицу. Проблема решена. Тестовая программа весело моргает светодиодами
  5. Значит ли, что коэффициент a0 должен быть всегда равен 1.0 ? мои расчеты выдают следующие коэффициенты a0=1.0 a1=1.3160875 a2=-0.99004206 b0=0.655965 b1=0.0 b2=-0.655965 могу ли я каким-то образом воспользоваться для реализации этого фильтра типом переменных fract16 и встроенной функцией? или надо писать собственную функцию для работы с форматом 2.14 (у меня коэффициент a1 больше единицы) ? Там сказано, что а0 всегда =1, а а1 и а2 должны быть меньше единицы ну я так и думал :( то есть нельзя? или можно как-нибудь обхитрить математически?
  6. Господа, подскажите пожалуйста! В visualDSP++ 3.5 для ADSP-2191 есть такая функция void iir_fr16(x,y,n,s) const fract16 x[]; /* Input sample vector x */ fract16 y[]; /* Output sample vector y */ int n; /* Number of input samples */ iir_state_fr16 *s /* Pointer to filter state structure */ fraсt16 - это формат с фиксированной точкой вида 1.15 (знак + 15 разрядов после запятой) переменные фильтра содержатся в структуре вида : typedef struct { fract16 *c; /* coefficients */ fract16 *d; /* start of delay line */ int k; /* number of bi-quad stages */ } iir_state_fr16; Переменная s инициализируется макросом : #define iir_init(state, coeffs, delay, stages) \ (state).c = (coeffs); \ (state).d = (delay); \ (state).k = (stages) Далее сказано : Значит ли, что коэффициент a0 должен быть всегда равен 1.0 ? мои расчеты выдают следующие коэффициенты a0=1.0 a1=1.3160875 a2=-0.99004206 b0=0.655965 b1=0.0 b2=-0.655965 могу ли я каким-то образом воспользоваться для реализации этого фильтра типом переменных fract16 и встроенной функцией? или надо писать собственную функцию для работы с форматом 2.14 (у меня коэффициент a1 больше единицы) ?
  7. Как же загрузить программу в процессор? Работаем с платой собственного изготовления . ADSP-2191 и DSM2190 соединены так, как в примере, указанном в даташите DSM (через BMS) В VisualDSP++ 3.5 беру любой пример из туториала, в настройках проекта указываю тип Loader. Переименовываю получившийся файл загрузчика *.ldr в *.hex и в софте программатора PSDSoft Express вставляю этот Hex файл. Размещаю c нулевого адреса памяти DSM. Прошиваю с помощью программатора FlashLINK. Аппаратно у ADSP-2191 установлеты bmode0,bmode1, opmode в положение "загрузка с EEPROM". Подаю питание на плату и вижу на ноге BMS = 1. Никаких импульсов. RD,WR - тоже в 1. Загрузка не идет. Ведь должен же сигнальник выдавать какие-то запросы и искать внешнюю память ?! Может надо размещать в памяти DSM не с 0000 адреса, а с 0x10000 или в чем дело? Hardware Reference говорит, что при загрузки ADSP-2191 должен прочитать из внешней памяти некий header. Однако не видно никаких импульсов, которые могли бы это означать :( Хотелось бы пообщаться с человеком, имеющим опыт загрузки ADSP-2191 из EEPROM
  8. Ну с D2XX мне все более менее понятно, а вот с ADSP все не так очевидно. Хотелось бы иметь что-то в духе D2XX функций SPI_read(..), SPI_Write(..) но только для VisualDSP. все же конструкции типа: sysreg_write(sysreg_IOPG , SPI0_Controller_Page); /* Select IO page */ received_data[i] = io_space_read(RDBR0); /* Read from SPI0 Receive Buffer Register */ менее удобны и наглядны, чем : recieved_data[i]=SPI_Read(SPI0) наверное придется делать через io_space_read все же или самому писать класс :(
  9. Прошу прощения, не обратил внимания на тип процессора. То что я написал справедливо для BlackFina, а не для 2191 угу, к сожалению, у меня в проекте не BlackFin :(
  10. Господа, а существует ли какая-нибудь библиотека, подключаемая в VisualDSP++ 3.5 для обмена данными по SPI на языке Си. Или необходимо вручную на ассемблере организовывать обмен сообщениями? пока хочется написать простой тест типа : принять команду по USB (FT2232), затем получить ее по SPI дспшником и отправить сообщение обратно. Был бы очень признателен, если бы вы показали мне пример на Си, или подсказали место, где его взять. PS : с сайта analog.com Скачал апнот "Interfacing the ADSP-2191 to an AD7476 via SPI port", однако понимается с трудом :(
  11. Провел те же действия. И вроде бы заработали проекты из примеров к evaluation kit. Но при попытке изменить обвес nios2 у меня на этапе ассемблирования выскочил warning. Точную формулировку не помню, но что-то в духе: невозможно осуществить действие из-за того что используется evaluation version В итоге второй день танцуем вокруг компьютера, пытаюсь забустить связку quartus II + nios II в версиях 5.0, 5.1 sp2, 6.0 как полные так и web edition. Неужели софт, поставляемый с эвал китом обязательно должен генерить time-limited *.sof ? В понедельник продолжу шаманить снова
  12. мне кажется, что у вас просто не было критичных ко времени задач. вплотную столкнулся однажды с тем, что написав программу на Си, мог обрабатывать два канала (4 простых цифровых фильтра на каждом одновременно), а переписав обработчики прерываний на ассемблере, смог обрабатывать одновременно уже 4 канала !
  13. Ну в целом похоже. Только место для структуры помнится надо задавать до открытия порта (не помню точно). И Event смотреть не обязательно (да и создавать тоже) если GetOverlappedResult пользуешь, функция же возвращает ссостояние. но че-то это так и не заработало. Кнопку остановки так и нельзя нажать, пока программа ждет приема из КОМ-порта. Ща попробую ожидание приема в отдельный поток вынести
  14. только исходники на паскале.. а я не знаком с ним абсолютно
×
×
  • Создать...