Телескопы покупают здесь


A A A A Автор Тема: 33 мегапикселя на ладони  (Прочитано 28599 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Василий Вершинин

  • *****
  • Сообщений: 3 713
  • Благодарностей: 122
  • Per anus ad astra
    • Skype - vasiliy_vershinin
    • Сообщения от Василий Вершинин
Re: 33 мегапикселя на ладони
« Ответ #520 : 14 Дек 2015 [13:28:27] »
К сожалению, я сам на VHDL веду разработку, поэтому с кодом помочь не могу. Но основные моменты касающиеся разработки цифровых схем не зависят от языка описания аппаратуры. Недавно на работе столкнулся с необходимостью развести дизайн, занимающий половину ресурсов спартана6. В итоге - неработоспособность девайса и тысячи строк ругани на невыполнение времянок. Потратил неделю на задание оптимальных констрейнов, а причиной была  глупая ошибка в коде.
Тактовый генератор для ПЗС это не сложный блок обработки сигналов, где может быть все что угодно. Да и АЦП тут далеко не на 200 мегасэмплов чтобы бодаться с захватом корректных данных

Оффлайн Дмитрий Бучинский

  • *****
  • Сообщений: 603
  • Благодарностей: 25
  • ex. damian_1
    • Сообщения от Дмитрий Бучинский
Re: 33 мегапикселя на ладони
« Ответ #521 : 14 Дек 2015 [17:02:00] »
Тактовый генератор для ПЗС это не сложный блок обработки сигналов, где может быть все что угодно. Да и АЦП тут далеко не на 200 мегасэмплов чтобы бодаться с захватом корректных данных
Всё так. Но как Вы упомянули чуть ранее: одна "детская" ошибка - и все эти хваленые плейсеры-роутеры уже не знают правильно развести проект, чтобы работало.
Я придерживаюсь мнения, что разруливание неоднозначных состояний схемы или "гонки фронтов" не стОит доверять софту - хрен его знает, как он там это все посчитает и раскидает. А цена ошибки (разработчика и софта-синтезатора) - "плавающие" глюки, которые то есть, то нет. Локализовать их - одно удовольствие, особенно в чужом малопонятном проекте. Мой первый проект на ПЛИС работал по разному при каждой подаче питания :) - и все потому, что я был (ошибочно) уверен что все триггера сбрасываются при включении питания синхронно... И никакой чудо-синтезатор мне не помог сделать чтобы работало стабильно - пришлось месяц сидеть и выискивать "узкие места".

SW2001, самодельный USB мотофокус, MPCC, колесо DS 2", EOS 350Da, QHY8L @ NEQ6ST eqmod. Гид - кинопроекционник КО-140М ( 140/1.8 ) + DSI-Pro.
Доп: разные телевики + самодельное колесо фильтров с USB + QHY6.
Darkbox - термометр/термостат + пельтье холодильник для съемки правильных дарков.

andreichk

  • Гость
Re: 33 мегапикселя на ладони
« Ответ #522 : 14 Дек 2015 [17:36:31] »
господа-товарищи,у нас камень ещё даже наполовину не занят, так что стоять,бояться, деньги не прятать,

Оффлайн Василий Вершинин

  • *****
  • Сообщений: 3 713
  • Благодарностей: 122
  • Per anus ad astra
    • Skype - vasiliy_vershinin
    • Сообщения от Василий Вершинин
Re: 33 мегапикселя на ладони
« Ответ #523 : 14 Дек 2015 [17:53:20] »
Вот именно что у вас камень даже наполовину не занят. Cдвигать внутренние сигналы на половину фазы это треш, угар и содомия - разводка от этого легче не пойдет, а только наоборот усложнится, а неоднозначные состояния схемы нужно исключать на этапе создания RTL путем установки дополнительных триггеров и грамотными переходами между тактовыми доменами
« Последнее редактирование: 14 Дек 2015 [18:04:46] от Василий Вершинин »

Оффлайн Василий Вершинин

  • *****
  • Сообщений: 3 713
  • Благодарностей: 122
  • Per anus ad astra
    • Skype - vasiliy_vershinin
    • Сообщения от Василий Вершинин
Re: 33 мегапикселя на ладони
« Ответ #524 : 14 Дек 2015 [18:06:51] »
деньги не прятать

Че, думали все так просто? раз, два и в продакшн?

andreichk

  • Гость
Re: 33 мегапикселя на ладони
« Ответ #525 : 14 Дек 2015 [19:28:16] »
у меня начинается раздвоение сознания. один говорит -  сдвигать, другой - не сдвигать.  чё делать-то ?

Оффлайн Mixa

  • *****
  • Сообщений: 721
  • Благодарностей: 31
    • Сообщения от Mixa
Re: 33 мегапикселя на ладони
« Ответ #526 : 14 Дек 2015 [19:33:49] »
у нас камень ещё даже наполовину не занят,
Если отвлечься, и подойти к задаче, скажем, беря тот же FX2 как юсб-шную основу, то в обвязку к нему достаточно махонькой CPLD-шки, для управления всем процессом вокруг ПЗС, чтобы и компактно, и без избытка по делу. Внутри FX2 есть простой генератор интерфейсных последовательностей с разными протоколами и программируемым числом циклов, на его основе делается циклограмма чтения строки, вертикальный перенос программно. У Starlight Xpress так сделано (в помощь внутреннему генератору внешний сдвиговый регистр и пара мелкой логики типа ЛА3-ЛН1, даже CPLD не потребовалась). Ну что-то еще потребуется для терморегулятора, может в ту же CPLD-шку утрамбуется, может что-то отдельное, это решать надо, в зависимости от принципа управления холодильником и способа съема температуры. Но факт такой, что FPGA сильно избыточна в данном случае, оправдать можно тем, что задумывалось как поле для широчайших экспериментов, мыслимых и немыслимых, а не только заморозить кристалл и снять картинку.
А так, раз уж спаяно, интересно было бы до конца довести то, что есть.

Оффлайн Василий Вершинин

  • *****
  • Сообщений: 3 713
  • Благодарностей: 122
  • Per anus ad astra
    • Skype - vasiliy_vershinin
    • Сообщения от Василий Вершинин
Re: 33 мегапикселя на ладони
« Ответ #527 : 14 Дек 2015 [19:39:55] »
у меня начинается раздвоение сознания. один говорит -  сдвигать, другой - не сдвигать.  чё делать-то ?

Добавить голосование в тему

andreichk

  • Гость
Re: 33 мегапикселя на ладони
« Ответ #528 : 14 Дек 2015 [19:40:45] »
Че, думали все так просто? раз, два и в продакшн?
Василий, про продакшн в данном проекте ваще никто не думал даже ;)

andreichk

  • Гость
Re: 33 мегапикселя на ладони
« Ответ #529 : 14 Дек 2015 [19:41:31] »
у меня начинается раздвоение сознания. один говорит -  сдвигать, другой - не сдвигать.  чё делать-то ?
Добавить голосование в тему
и будет два голоса, один за, другой против...

Оффлайн Дмитрий Бучинский

  • *****
  • Сообщений: 603
  • Благодарностей: 25
  • ex. damian_1
    • Сообщения от Дмитрий Бучинский
Re: 33 мегапикселя на ладони
« Ответ #530 : 14 Дек 2015 [19:43:41] »
у меня начинается раздвоение сознания. один говорит -  сдвигать, другой - не сдвигать.  чё делать-то ?
Сдвигать! Однозначно сдвигать!!! :)
И выложите плз крайнюю версию секвенсора, у которой запуск строчного переноса исправлен.
SW2001, самодельный USB мотофокус, MPCC, колесо DS 2", EOS 350Da, QHY8L @ NEQ6ST eqmod. Гид - кинопроекционник КО-140М ( 140/1.8 ) + DSI-Pro.
Доп: разные телевики + самодельное колесо фильтров с USB + QHY6.
Darkbox - термометр/термостат + пельтье холодильник для съемки правильных дарков.

Оффлайн Дмитрий Бучинский

  • *****
  • Сообщений: 603
  • Благодарностей: 25
  • ex. damian_1
    • Сообщения от Дмитрий Бучинский
Re: 33 мегапикселя на ладони
« Ответ #531 : 14 Дек 2015 [19:45:24] »
Если серьезно, надо окончательно "причесать" секвенсор, после чего обратить пристальный взор на блок передачи цифрового потока, от АЦП до ФХ2
SW2001, самодельный USB мотофокус, MPCC, колесо DS 2", EOS 350Da, QHY8L @ NEQ6ST eqmod. Гид - кинопроекционник КО-140М ( 140/1.8 ) + DSI-Pro.
Доп: разные телевики + самодельное колесо фильтров с USB + QHY6.
Darkbox - термометр/термостат + пельтье холодильник для съемки правильных дарков.

andreichk

  • Гость
Re: 33 мегапикселя на ладони
« Ответ #532 : 14 Дек 2015 [19:46:39] »
К сожалению, я сам на VHDL веду разработку, поэтому с кодом помочь не могу.
можешь Василий, ещё как можешь. на стр. 25 в ответе  #487 для тебя задание.... 8)

andreichk

  • Гость
Re: 33 мегапикселя на ладони
« Ответ #533 : 14 Дек 2015 [19:48:23] »
у меня начинается раздвоение сознания. один говорит -  сдвигать, другой - не сдвигать.  чё делать-то ?
Сдвигать! Однозначно сдвигать!!! :)
И выложите плз крайнюю версию секвенсора, у которой запуск строчного переноса исправлен.
ну это когда сдвину, а пока проверяяяяять надо опять всё...(кин-дза-дза). 8)

andreichk

  • Гость
Re: 33 мегапикселя на ладони
« Ответ #534 : 14 Дек 2015 [19:49:20] »
у нас камень ещё даже наполовину не занят,
Если отвлечься, и подойти к задаче, скажем, беря тот же FX2 как юсб-шную основу, то в обвязку к нему достаточно махонькой CPLD-шки, для управления всем процессом вокруг ПЗС, чтобы и компактно, и без избытка по делу. Внутри FX2 есть простой генератор интерфейсных последовательностей с разными протоколами и программируемым числом циклов, на его основе делается циклограмма чтения строки, вертикальный перенос программно. У Starlight Xpress так сделано (в помощь внутреннему генератору внешний сдвиговый регистр и пара мелкой логики типа ЛА3-ЛН1, даже CPLD не потребовалась). Ну что-то еще потребуется для терморегулятора, может в ту же CPLD-шку утрамбуется, может что-то отдельное, это решать надо, в зависимости от принципа управления холодильником и способа съема температуры. Но факт такой, что FPGA сильно избыточна в данном случае, оправдать можно тем, что задумывалось как поле для широчайших экспериментов, мыслимых и немыслимых, а не только заморозить кристалл и снять картинку.
А так, раз уж спаяно, интересно было бы до конца довести то, что есть.
поздняк метаться и пить боржом. пилим то, что есть..... 8)

Оффлайн Василий Вершинин

  • *****
  • Сообщений: 3 713
  • Благодарностей: 122
  • Per anus ad astra
    • Skype - vasiliy_vershinin
    • Сообщения от Василий Вершинин
Re: 33 мегапикселя на ладони
« Ответ #535 : 14 Дек 2015 [20:37:33] »
К сожалению, я сам на VHDL веду разработку, поэтому с кодом помочь не могу.
можешь Василий, ещё как можешь. на стр. 25 в ответе  #487 для тебя задание.... 8)

Вход датчика двунаправленный. Так как внутри плисы сигналы inout это моветон, если оно вообще синтезируется, то на верхнем уровне пишется конструкция вида:

bus<=myoutdata when RD='1' else (others=>'Z');
myindata<=bus;

А модуль на ВХДЛ подключается в верилоговский верхний уровень точно также как и обычные верилоговские блоки. Набор сигналов копируется и все.


З.Ы. Синтезируется, вспомнил что Chipscope Control inout.
« Последнее редактирование: 14 Дек 2015 [20:44:59] от Василий Вершинин »

andreichk

  • Гость
Re: 33 мегапикселя на ладони
« Ответ #536 : 14 Дек 2015 [21:29:07] »
Пропустить через симулятор смогу вечером, на домашнем компе.
Пока интересуют такие моменты:
Сигналы frame/header - зачем нужны?
Если сигнал frame является разрешающим для передачи пиксельного потока в трансмиттер и дальше, то его фронт надо подвинуть влево на полпериода клока, чтобы он совпадал с пассивным фронтом клока. Иначе возникает неоднозначность - если фрейм сработал чуть раньше клока - 1й байт передается, если чуть позже - не передается. А фронты могут дрожать, из за чего будет то так, то сяк. Этот перескок потянет прицепом и чередование байт - старший/младший.
я ошибся, frame и header  - это выходные сигналы, которые определяют границы передачи данных от АЦП и заголовка строки соответственно. то есть , эти провода выводятся наружу секвенсора и подаются на вот эти  коммутаторы :

reg [7:0]adc_data_;
reg [7:0]header_data_;

always @ (posedge c48)
begin
     header_data_ <= header_data;// данные заголовка строки с секвенсора
        adc_data_ <= adc_data;// данные с пинов АЦП
end

//данные и такт с видео АЦП adc2clk
wire expos_clk = (frame && REGWR && f2hReady) || (header && header_clock && f2hReady);
//wire expos_clk = (frame && adc_clock) || (header && header_clock);
wire [7:0]expos_data = (frame && f2hReady) ? adc_data_[7:0] : (header && f2hReady ) ? header_data_[7:0] : 8'd0;//

// коммутатор данных и такта, подаваемых в FPGALINK
//reg1[3] byte=0x08;//управление экспозицией . если бит3==1, то считываем данные
wire    comp_valid = (reg1[3] && f2hReady) ? expos_clk : 1'b0;//
wire [7:0]comp_out = (reg1[3] && f2hReady) ? expos_data[7:0] : 8'b00000000;//

с выходов этих коммутаторов сигналы подаются в блок  FX2, кот. соединён с кипарисом. так что двигать их на пол такта наверное не надо.

Оффлайн Дмитрий Бучинский

  • *****
  • Сообщений: 603
  • Благодарностей: 25
  • ex. damian_1
    • Сообщения от Дмитрий Бучинский
Re: 33 мегапикселя на ладони
« Ответ #537 : 14 Дек 2015 [21:37:10] »
Полоски еще появляются?
Можно ли сдвинуть битую строку _в файле_ на 1 байт вправо или влево?
SW2001, самодельный USB мотофокус, MPCC, колесо DS 2", EOS 350Da, QHY8L @ NEQ6ST eqmod. Гид - кинопроекционник КО-140М ( 140/1.8 ) + DSI-Pro.
Доп: разные телевики + самодельное колесо фильтров с USB + QHY6.
Darkbox - термометр/термостат + пельтье холодильник для съемки правильных дарков.

Оффлайн Дмитрий Бучинский

  • *****
  • Сообщений: 603
  • Благодарностей: 25
  • ex. damian_1
    • Сообщения от Дмитрий Бучинский
Re: 33 мегапикселя на ладони
« Ответ #538 : 14 Дек 2015 [21:40:03] »
Проект на гуглодиске актуальный?
Какой файл верилога является корневым? Я хочу загнать в квартус весь PLC проект, но для этого его придется пересоздать под альтеру с использованием имеющихся файлов.
SW2001, самодельный USB мотофокус, MPCC, колесо DS 2", EOS 350Da, QHY8L @ NEQ6ST eqmod. Гид - кинопроекционник КО-140М ( 140/1.8 ) + DSI-Pro.
Доп: разные телевики + самодельное колесо фильтров с USB + QHY6.
Darkbox - термометр/термостат + пельтье холодильник для съемки правильных дарков.

andreichk

  • Гость
Re: 33 мегапикселя на ладони
« Ответ #539 : 14 Дек 2015 [21:52:08] »
Проект на гуглодиске актуальный?
Какой файл верилога является корневым? Я хочу загнать в квартус весь PLC проект, но для этого его придется пересоздать под альтеру с использованием имеющихся файлов.
щас я перезалью свежий. главным модулем является модуль main.v . к нему подцепляются все остальные. в майне есть закоментированные строки

Цитата
//==========================================================================================
// выбор скорости тактированя АЦП.
// перед компиляцией не забыть раскоментировать нужную строку для обеих матриц
//==========================================================================================
//FTF5066C_1 timegen ( // тактирование матрицы на частоте 1 МГц dalsa1.xsvf
//FTF5066C_2 timegen ( // тактирование матрицы на частоте 2 МГц dalsa2.xsvf
//FTF5066C_4 timegen ( // тактирование матрицы на частоте 4 МГц dalsa4.xsvf
FTF5066C_8 timegen ( // тактирование матрицы на частоте 8 МГц dalsa8.xsvf

пока работаем с с модулем для 8 МГц