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

Vitaliy_ARM

Свой
  • Постов

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

  • Посещение

Сообщения, опубликованные Vitaliy_ARM


  1.  

    Вникаю, но еще лес пока темный.

    Сделал недавно макетку. Хочу сделать, чтобы плата хотя бы зажила. Но для этого надо зашить в камеру эти таблицы. Можно ли их взять с исходников готовых JPEG кодеков?

  2. Процессор как процессор, работает без нареканий. А вот отладчик программистам не нравится. Часто глючит при пошаговой отладке, если есть обращение к аппаратуре (UART, SPI etc.) Если тот же код пробежать по команде Run, то все работает.

     

    Хорошо. Есть еще пара вопросов.

    Вы его на других ПЛИС пробовали? Если да, то как он себя ведет после компиляции (размер кода, тактовая частота)?

  3. Добрался до железа. Попробовал вытянуть через I2S - работает, 72,0034 MHz выдает :). Фронты, насколько можно судить по имеющимуся под руками осциллографу без активных щупов, 2,5-3ns. В общем можно использовать.

     

    Класс! :)

  4. Народ! Кто уже использует этот проц, просьба поделиться впечатлениями.

     

    А то глядя на среду разработки ispLevel закрадывается сомнение, что проц тоже очень кривой

  5. Очень неплохо было бы посмотреть сигналы каким-нибудь осциллографом. Причем это надо сделать обязятельно! Хотя бы убедиться в том, что шина работает по спецификации. Скорее всего фаза не важна, если логика фпга тактируется хотя бы частотой процессора.

     

    Для таких вещей наиболее подходит LPC2468 если повесить к нему ФПГА через SDRAM контроллер.

  6. К сожалению MT9D131 выдаёт данные не в виде файла в параллельный интерфейс.

    Выдаётся только пожатое изображение. JFIF заголовки надо самому создавать, таблицы коэффициентов вытаскивать или заливать в кристал по I2C.

     

    Где взять поштучно не знаю, брал кит AES-ANA-BFV-2MP-G (AVNET DESIGN SERVICE) через Макро Групп за 20тр.

     

    Простите за тупой вопрос. А откуда эти коэффициенты брать? :help:

  7. Клоки I2S интерфейса формально могут быть равны тактовой ядра. Вопрос в том, что c фронтами будет....

     

    То же про MCI: страница 404 юзермануала:

     

    Clock Control Register (MCIClock - 0xE008 C004)

     

    Bypass Enable bypass of clock divide logic: 0 0 Disable bypass.

    1 Enable bypass. MCLK driven to card bus output (MCICLK).

     

    Так что вроде можно выдать на MCICLK тактовую процессора

  8. Кстати, NXP вообще этих диаграмм с временами не приводит, очень мне это непривычно.

     

    Да потому что они скорее всего кривые и не по спецификации! Посадил как-то Lattice на LPC2468 на асинхронную шину и мучался потом две недели, пока не нашел, что шина работает не корректно, потом подкрутил прошивку и заработало. Где-то на форуме выкладывал осциллограммы. Наверняка и в 78-м может быть что-то подобное.

     

    На счет тактовой посмотрите, в MCI модуле вроде была возможность выдачи на ножку частоты.

  9. Так на opencores.org давно уже выложено AVR ядро, как там написано, на 100 % совместимое по системе команд, и можно использовать любой компилятор, поддерживающий AVR.

     

    Скомпилировал недавно opencore AVR на VHDL, получилось около 44 МГц при 3400 логических ячейках на самом маленьком втором циклоне.

     

    А какая у вас тактовая частота получилась?

  10. Алгоритм и исходники Стэнфордского университета.

     

    Кстати, высокое качество образования Стэнфордского университета связано с переводом на английский язык лекций российского Имперского физико-технического института ещё в царское время. После революции этот институт, организованный 175 лет назад, был переименован в Бауманский.

     

    Может бросите ссылку на исходники этого университета.

     

    И еще один нескромный вопрос, кто нибудь с MJPEG работал? Уже неделю не могу нормальной доки найти. Судя по тому что нашел он очень просто делается из JPEG-ов, но как при это формируется файл видео?

  11. Есть плата BF-537EZKIT LITE (если не ошибаюсь она же STAMP)

     

    Потихоньку осваиваю этот блекфин и решил переползти на микролинукс.

    Опыт программирования процессоров под gcc неплохой.

    Вопрос такой.

    С чего и как начинать изучение линукса, дабы ускорить процесс?

    Если возможно, разложите по порядку (устроит все, ссылки, доки) :help:

  12. Вопрос исчерпан. Была проблема сугубо лично моя. При инициализации дескрипторов статусы инициализировались вместо нужного дескриптора на статусы следующего дескриптора.

  13. Ищу пример применения AMD Geode LX в качестве Видео Процессора.

     

    Это обычный интел совместимый проц. Берете схему демоплаты и собираете комп. Потом ставите на него операционку типа виновс XP и запускаете на нем что хотите (п.с. сам пробовал)

  14. Вот решил создать отдельную тему.

     

    Работаю с процессором недавно. Написал драйвер для своего самописного стека.

    Функции драйвера:

    int Init(BYTE *pMacAddr);
    int CheckRx();
    int TxData(DWORD *Buf, DWORD Len);
    int RxData(DWORD **Buf, DWORD *Len);

     

    Пока DMA настроен так: DMA передатчика работает в режиме массива дескрипторов и отправляет только один буфер.

     

    DMA приемника работает в режиме больших списков, и имеет некоторый кольцевой буфер.

     

    Функция CheckRx() определяет наличие принятого пакета по полю Status в дескрипторе вот так:

    int bfEmac::CheckRx(void)
    {
        if((RxDescBuf[RxConsumeIndex].StatusWord & RX_COMP) !=0)
            if(RxDescBuf[RxConsumeIndex].StatusWord & RX_OK)
                return 0;        // Возвращаем 0, если пакет принят
        return -1;
    }

     

    Функция приема RxData() после обработки пакета инкрементирует RxConsumeIndex (который не может быть больше количества дескрипторов). И возвращает указатель на принятый буфер и его длину.

     

    Проблема: работает только тогда, когда один приемный дескриптор.

    Если дескрипторов больше одного, начинаются глюки, причем такие, как будто дма по списку не в перед идет, а назад, хотя по смыслу такого не может быть.

    Если кто уже писал что-то подобное, посоветуйте, как сделать корректное обнаружение принятого пакета. Привожу так же функцию приема:

    int bfEmac::RxData(DWORD **Buf, DWORD *Len)
    {
        // определяем указатель на принятый буфер
        pETH_FRAME_BUFFER pRxEframe = (pETH_FRAME_BUFFER)RxBuf[RxConsumeIndex];
        // возвращаем указатель и длину принятых данных
        *Buf = (DWORD*)pRxEframe->Dest;
        *Len = ((RxDescBuf[RxConsumeIndex].StatusWord) & 0x7FF) + 2;
        // обнуляем статус (без этой операции дма не станет больше писать в этот буфер)
        RxDescBuf[RxConsumeIndex].StatusWord = 0;
        // инкрементируем смещение в массиве дескрипторов
        ++RxConsumeIndex;
        if(RxConsumeIndex >= RX_BUF_NUM)
                RxConsumeIndex = 0;
        return 0;
    }

  15. Аналогично.. :)

    Я вообще-то, Вас постарше буду.. :07:

    А начинал я с BF535. А что я "наверняка утверждал"? То, что на физическом уровне можно передавать на BF537 100 MBit? Так я же отчет прикрепил.. Для "экспертов"..:biggrin:

    Так они же его так и не исправили.. Увы! :crying:

     

    Что за баг? На резвизию 3 не нашел ничего встающего колом

  16. У нас заработала связка BF561 + AX88180 + Marvell 88E1111 под uClinux'ом.

     

    http://www.asix.com.tw/products.php?op=pIt...02&PLine=65

    http://docs.blackfin.uclinux.org/doku.php?...w:cards:ax88180

     

    Отлично, скорее всего возьму за основу для следующего проекта.

    Пока отказался от гигабита.

     

    Еще хочу задать вопрос, может не совсем соответствует топику,

    Написал драйвер MAC, состоящий из четырех функций: инициализация, отправка пакета, прием пакета, проверка, пришел ли пакет или нет.

     

    В функции передачи не могу разобраться, как сделать корректное ожидание окончания приема (проц BF537)?

  17. Композитный он тоже может цифрануть. Потом можно и программный декодер сделать. Главное - не жалеть частоты дискретизации (и не на AVR такое делать). А вообще-то, загляните сюда - http://www.nxp.com/acrobat_download/various/MPC.pdf, всякие разные чипы есть...

     

    Занятнее другое... Я тут придумал, как простым способом в этом проекте получить сигнал "есть/нет движущиеся объекты" практически без падения производительности...

     

    Для этого блек фин изучаю :) , неплохая ссылка

     

    Посмотрите UART JPEG камеру С328 от компании Comedia:

     

    http://telematika.com.ua/index.php?option=...7&Itemid=37

     

    тех описание тут:

    http://telematika.com.ua/index.php?option=...4&Itemid=29

    Возможно сделать целый комплекс видеонаблюдения с записью на SD карту и отправку изображения в виде MMS на мобильный телефон по WAP протоколу.

     

    Даже и смотреть не стоит. Эта не камера, а металлолом. Очень плохое качество.

×
×
  • Создать...