Jump to content

    

Foxx

Участник
  • Posts

    5
  • Joined

  • Last visited

Reputation

0 Обычный

About Foxx

  • Birthday 09/19/1971

Контакты

  • Сайт
    Array
  1. Вроде разобрался... Подал на CF питание 5В вместо 3,3В. Atmega также 5-вольтовая, видимо трабл заключался в уровнях сигналов. Пока работает стабильно.
  2. Суть проблемы: имеется плата с Atmega128 на борту, которая работает с CompactFlash. Плата разработана достаточно давно и до сих пор работала без проблем. Недавно были закуплены карточки Transcend 1Gb 80x, с которой замечается следующих глюк: после включения питания плата работает нормально, память читается и пишется. Если карточку вытащить, а затем вставить "по-горячему", в 50-70% случаев возможно некорректное считывание определенных секторов (пропускаюся байты, причем всегда одни и те же). Стабильность проявляется и в том, какой именно сектор читается криво, следующие за ним сектора читаются нормально. Выводится карточка из комы выключением/включением питания. Иногда удается это сделать ее повторным вытаскиванием/вставлением. Проблема проявляется на 7 имеющихся платах и с шестью карточками (все одинаковые - Transcend 1Gb 80x). Другие карты (Transcend 256M 45x, Kingston 256M, A-Data 2Gb 120x) при подобных опытах ведут себя совершенно нормально. На картинке приведен результат считывания сектора - внизу при нормальном чтении, свеху при кривом. Народ, какие есть идеи? Голова уже распухла :07: Вдогонку... Заметил, что при неправильном чтении сектора теряются байты исключительно со значением 0xFF, то есть если идет подряд 5 байт 0xFF, реально считывается только 4. Поскольку глюк наблюдается при чтении корневой записи в системе FAT16, такие последовательности встречаются только у длинных имен или если имя содержит заглавные символы. Переформатировал карточку, привел все имена в соответствии с FAT16 - не более 8 символов, без заглавных. Пока не глючит. Хрень какая-то.
  3. Имеется квартус 7.0, sys_cpt правильный, лицензия содержит все что есть и чего еще нет :) В Tools->License Setup пишет, что все ОК В списке лицензированных мегафункций интересующая (SDI v7.0) присутствует Однако при компиляции выдается сообщение об ограничении времени работы проекта и файл POF не генерится. Что делать, кто знает?
  4. Выкачал енто дело с ftp альтеры (quartusii_50_pc.zip), поставил под XP, сгенерил лицензию, заменил sys_cpt.dll. В результате запускается через раз - в половине случаев вываливается без всяких предупреждений - просто исчезает и все. Ежели запустился, дальше работет вроде без проблем. Кто нибудь подобное наблюдал?
  5. Проблема не так проста, как может показаться поначалу. Обычно такие устройства масштабируют картинку в два прохода - сначала по горизонтали, потом по вертикали, используя FIR-фильтры. Здесь нужно обращаться к общей теории ЦОС. Нужно понимать, что помимо реализации самих фильтров, понадобится также и некое количество памяти, объем которой будет зависеть от длины фильтров (для вертикального масштабирования нужно хранить в памяти несколько строк изображения). Бывают и однопроходные масштабаторы, например, Raytheon (нынешний Fairchild) выпускал в 90-х TMC2255, TMC2301 - в них использовался метод "обегания" пикселя, кстати в datashit-ах на эти микрухи очень доходчивые картинки, иллюстрирующие алгоритмы. Отдельная тема - коэффициенты для фильтров. Если не нужно реализовывать эффект плавного масштабирования, то обойдетесь простой таблицей, в противном случае потребуется делать генератор коэффициентов. Усложнить процесс может чересстрочная развертка (в грамотном устройстве желательно применять деинтерлейсинг - тоже интересная проблема), а также различающаяся кадровая развертка на входе и выходе - столкнетесь с проблемой межкадровой интерполяции, оценкой и компенсацией движения в кадре. Но, это уже довольно серьезные вещи, ими занимаются такие монстры, как AMPEX или Snell&Willcox, которые все делают по-честному с точки зрения науки. Не напугал? :) На практике можно многое упростить, существует множество уловок, связанных с особенностями зрения и, в принципе, можно ориентироваться на качество картинки "на глаз". Мне приходилось делать масштабатор в применении к телевизионному сигналу (только в сторону downscale, плавно от 1:1 до 1:16). Использовался обычный билинейный алгоритм, по-крайней мере картинка выглядила прилично и ОТК Первого канала ее пропустила). Масштабирование происходило в два прохода, на плате стояло 2 буфера памяти (внешняя SDRAM) на полный кадр, так как требовалась синхронность по выходу. Коэффициенты генерились на ходу. Каждый FIR-фильтр в кристалле ACEX 1K100 съедал около 50% ресурсов. Компилировал в Quartus II. Кстати MAX+PLUS на тот же проект тратил 90%. В кратце все, если что, стучитесь в аську.