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

boryx

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

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

  • Посещение

Репутация

0 Обычный

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

  • Звание
    Участник
    Участник
  1. SSC на AT91RM9200

    как это? я ведь ставлю AT91_SSC_CKS_PIN, что clk нужно брать с ножки
  2. SSC на AT91RM9200

    Жаль, а я так надеялся на их помощь. :) Если серьезно, то на шине для SSC2 висит устройство, которое генерит клоки и фреймы. На осцилографе видно, что есть и данные, и клоки и фреймы. Причем эти 3 ножки точно подключены к Атмелю, т.к. я могу через PIO их поднимать/опускать и изменения видны на осцилографе Теперь at91_sys_write(AT91_PIOB + PIO_PDR, AT91_PB14_TD2|AT91_PB15_RD2|AT91_PB16_RK2|AT91_PB17_RF2);//disable pio to control pins at91_sys_write(AT91_PIOB + PIO_ASR, AT91_PB14_TD2|AT91_PB15_RD2|AT91_PB16_RK2|AT91_PB17_RF2);//set pins to peripheral A at91_sys_write(AT91_PMC_PCER, 1 << AT91_ID_SSC2);//SSC2 power on at91_ssc2_write(AT91C_SSC_CR, AT91C_SSC_RXEN); //reset at91_ssc2_write(AT91_SSC_RCMR, AT91_SSC_CKS_PIN| //AT91_SSC_CKS_PIN = 2; AT91_SSC_CKI_RISING| AT91_SSC_CKO_NONE ); at91_ssc2_write(AT91_SSC_RFMR, AT91_SSC_FSOS_NONE| AT91_SSC_MSBF| (15) ); at91_ssc2_write(AT91C_SSC_CR, AT91C_SSC_RXEN); теперь влажок RXRDY в SSC_SR об окончании приема не выставляется. А SSC_RHR = 0 всегда. Подскажите, что не правельно. Кто нидь работал с AT91 SSC на прием с клоком от внешнего источника?
  3. SSC на AT91RM9200

    Столкнулся с проблемой Немогу ничего принаять с SSC шины. Уже выкинуто все лишнее, теперь только конфигурю PIO (в PDR ставлю 1 и в ASR тоже) в PCM в нужное место 1. устонавливаю SSC_RFMR и RCMR как в примере. энаблю AT91C_SSC_RXEN в SSC_CR и сколько не жди данные, их нет в SSC_RHR. Кто нидь знает, что я не так делаю :)
  4. для чистоты эксперемента я все отсоеденил. Включаю только плату с Атмегой и питание беру от источника в 10V (макс 1А) а не аккумулятора. На LM стабильно 5,05 В.
  5. Я как раз и гоняю в Atmel AVR Studio 4. Странно, что код то работает. Я и таймеры могу использовать и АDC. Но только медленно. на правельно +0000031В 1)берем значение порта В 2)берем бит, что будем инвертировать 4 (0b100); 3)операция OR 4)сохраняем что получилось в порт В 5)прыжок на пункт 1 Я могу Fuse про частоту выбрать только один. Я пробовал и 1 и 4 и 8MHz internal RC generator. а также внешний кристал. Итоговая частота на выходе ножки 20-40Hz AVR Studio показывает, что XDIV=0 и прерывания я не врубаю
  6. 247: DDRB = 0xF; +00000316: E08F LDI R24,0x0F Load immediate +00000317: 93800037 STS 0x0037,R24 Store direct to data space 248: PORTB = 0; +00000319: 92100038 STS 0x0038,R1 Store direct to data space 251: PORTB INV_B(2); +0000031B: 91800038 LDS R24,0x0038 Load direct from data space +0000031D: E094 LDI R25,0x04 Load immediate +0000031E: 2789 EOR R24,R25 Exclusive OR +0000031F: 93800038 STS 0x0038,R24 Store direct to data space +00000321: CFF9 RJMP PC-0x0006 Relative jump никаких Sleep нет
  7. с ресетом все OK. На плате есть кнопка для ресета. А Watchdog вырублен в FUSES пустой квадратик я могу через JTAG дебагить прогу. Ресета не происходит.
  8. Я честно говоря не спец по хардварной части. Для меня не очень важно будет ли он работать от внешнего кристалла в 14,7456MHz или от внутреннего 8MHz или 4MHz RC генератора. Мне надо получить на ножку сигнал с определенной частотой (~300Hz). Но как это сделать, если контроллер зациклинную пару десятков иструкций выполняет так долго. Тут еще и до таймеров дело не дошло.
  9. Имеется плата MicroVega с ATMega 128. (внешний кристалл 14,7456MHz) Включаю питание. Зашиваю программатором Atmel прогу while (1){ PORTB INV_B(2); (ножка PB2 сконфигурированна на выход) }; Наблюдаю странную картину на ножке. Частота всего 37.50 Hz Пробовал менять Fuses на Internal RC Generator 1/4/8 MHz. Особых изменений не заметил. Как заставить его работать на нормальной скорости? Мне нужна частота всего 300Hz.
  10. Нужен датчик для того, чтобы обнаружить пламе свячи на расстоянии полуметра. Могу только мерить напряжение (ADC на ATmega128). Физически места очень мало. Нужно что-то очень компактное. Может кто подскажет какую-нибудь модель
  11. ST7100

    Необходим драйвер для ST7100, кто-нибудь знает, где его взять? Да и вообще любая информация по ST Linux была бы очень полезна. Знающие люди, поделитесь опытом.
  12. mp3 на at91rm9200

    Вот такая проблема. Надо запустить 2 mp3 на at91rm9200. На at91 стоит Линукс, используется ALSA driver. WAV файлы проигрываются идеально. (с помощью aplay) Проблема с плеером. Такие монстры как AlsaPlayer и mpg123 (mpg321) не хотят работать. для перекодировки использую mad библиотеку. Но и madplay не пашет. Когда перенаправляешь вывод. То мр3 перекадируется замечательно в WAV. И потом этот WAV можно проиграть. Но почему-то madplay не хочет сам играть через АЛСУ. Он просто зависает и не выводит никаких сообщений. мр3 закачиваются из сети. сейчас все работает так, wget качает в fifo, madplay берет данные из этого fifo, перекодирует и пищет в другое fifo. А уже из последнего fifo забирает aplay и играет через ALSA. С двумя потоками не выходит, процессор не успевает. Хотя вроде бы как чтобы проиграть 1 мр3 надо 40MHz а тут 200MHz и не успевает. Подскажите как бы ускорить процесс да где бы взять плейер, чтобы был маленький и быстрый. Писать самому не выходит. По madlib очень мало информации а по исходникам разбираться времени нет. Буду рад любым соображениям.
  13. Пока еще весь проэкт в очень сыром виде. Но в общем должна получиться довольно универсальная вещь. На что нейронную сеть обучишь, то она делать и будет. Зашил коэффиценты во Flash и у тебя распозновалка речи. Перепрошил и устпройство сможет станком каким-нибудь упровлять. Из DSP есть с плавающей точкой TMS320C67x (помощнее) и TMS320VC33 (попроще), упомянутые здесь. Правда вот с внутренней flash у этих DSP сложности -- не припомню я модели со встроенным flash. я думаю TMS320C67x очень близок к тому, что нужно. Была бу у него хоть какая-нибудь маленькая Flash...
  14. Уточняю. Мне шибко точности не нужно, поэтому я использую числа с плавающей точкой (float в C), когда в памяти в 32 битах хранится знак, порядок и мантисса. под сопроцессором (аппаратным) я подрузомеваю устройство способное производить арифметические операции напрямую с данным форматом (копирование данных из памяти, помещение в регистры и их вычитание, умножение...). программный сопроцессор это когда работает маленькая програмка которая побитно или еще как нибудь (в зависимости от алгоритма) осуществляет те же жействия, что и сопроцессор. Но очень не эффективно (команда выполняется далеко не за пару тактов как при аппаратном). Flash - это такая память, куда я хочу зашить вемь програмный код, и чтобы он при отключении питания сохранялся. векторный процессор это что-то вроде SSE или 3DNow на Intel&AMD. Когда за одну команду апирация производится сразу с несколькими числами. То есть когда не по отдельности c1=a1+b1, c2=a2+b2 ... а одной командой загрузка данных регистр 1 a1 a2 a3 a4 регистр 2 b1 b2 b3 b4 команда сопроцессору скажем сложить результат c1 c2 c3 c4 То есть до 4 раз увеличение производительности. пример векторнрого процесосра NM6403 но он очень медленный, и походу будет медленней програмного сопроцессора работать. Размер матриц вариируеся. А какая производительность нужна трудно оценить. Желательно максимальная из возможных вариантов. Но пока я ни одного подходящего не нашел. У меня скорее всего не Нейронный процессор а именно Нейронная сеть и работает как-то так входные данные -> нейронная сеть (куча математических операций, сложение и уножение матриц + вычисление не линейной функции скажем е в стенени) -> результат
×
×
  • Создать...