Программируемая логика - это не так уж и сложно. Разберемся вместе.
Ответить

SPARTAN 6 пишет DDR2 64MEG со скоростью 1 Гигабайт/секунду

Вс ноя 14, 2021 19:42:26

Как известно в осциллографе SDS7102V установлена память размером 64 мегабайта. Хотя маркетологически обрезана 10 мегабайт. Кроме того кривые ручки Китайских программистов при записи в DDR2 теряют отсчеты АЦП, что прекрасно видно по возникающей "мохристости" осциллограммы при переходе с 1K Memory Depth (график чистый) что умещается в Spartan 6. К Memory Depth 10->100->1000->10000 килобайт, которые нужно впихнуть в DDR2.

И вот трам трам. Нашелся чел зарубежного разлива что впихнул поток от АЦП 1 Гигасемпл в DDR2 без единого разрыва. Судя по "евойным" осциллограммам все стало настолько гладко, что просто залюбуешься. Заодно увеличил число записываемых семплов с маркетенговых 10 000 до реального размера DDR2 -> 64 метра 32 000 на канал.

samples-400000.png
(5.27 KiB) Скачиваний: 179


Вот что Он пишет. Оба канала подключены к выходу компенсации пробника на осциллографе. Канал 1 (красный) настроен на высокое усиление, и сигнал исчезает с экрана вверху. Канал 2 (зеленый) имеет меньшее усиление и умещается на экране. Я немного обманул и сместил каналы на 50 мкс при постобработке, чтобы их было легче различать.

Хотите продолжения?

Вот как по мнению автора должна выглядеть развертка с набортного АЦП SDS7102 длительностью 100 нс (400 отсчетов):

samples-400.png
(2.02 KiB) Скачиваний: 178


P.S. Хотя, поразмышляв над излияниями этого Шведского автора текста. Я пришел к выводу, что кроме того, что он обнаружил возможность записывать в 3 раза больше данных с АЦП, никаких серьезных улучшений в обработке сигнала автор не достиг. Странно выглядит пропуск отсчетов при записи/чтении DDR2. Хотя он прав, SPARTAN 6 в скопе несколько разогнан как и DDR2. Паспортная частота дискретизации таки 400 мегасемплов а не 500.

Короче: Вопрос в том, пропускает-ли отсчеты АЦП оригинальный код SPARTAN 6 от Liliput Tech в OWON7102V при переходе с 1K Memory Depth (график чистый) что умещается в Spartan 6. К Memory Depth 10->100->1000->10000 килобайт, которые нужно впихнуть в DDR2. Если кто понимает поясните пожалуйста. Поскольку у меня возникла необходимость получить сырые данные с Memory Depth 1000 Килобайт. Нашел парсер сырых данных, но похоже он работает только с Memory Depth 1К, а с Memory Depth 10К-10М уже не работает.

Re: SPARTAN 6 пишет DDR2 64MEG со скоростью 1 Гигабайт/секун

Пн ноя 15, 2021 09:34:22

Читаю текст парсера сырых данных от Jonathan BISSON. Но там парситься файл *.bin to CSV. Что примечательно, в родном приложении от OWON парсинг в CSV не работает правильно. Если это Jonathan BISSON работа, то придется править этот исходник.

Проблема в том, что исходники дампа "заточены" на USB, хотя Ethernet удобнее, он имеет гальваническую развязку по умолчанию. Ethernet Owon port 3000 вроде ни за кем жестко не закреплен. Судя по всему, сложностей не будет. Сканер портов ничего не уточняет. Может у кого есть сканер порта для парсинга протокола. Интересно сделать такой для простых случаев, это когда протокол простой и его можно распарсить за приемлемое время.

Добавлено after 18 minutes 29 seconds:
Re: SPARTAN 6 пишет DDR2 64MEG со скоростью 1 Гигабайт/секунду
Странная практика, что касается JAVA. Вот, возьмет к примеру Windows CE. Там, код JAVA позволяет уменьшить размер приложения в разы по сравнению с нативным кодом. А практика последующих лет показывает, что JAVA приложение аналогичное как для Windows CE в 50 килобайт, в настольной системе выливается в 0,5 Гигабайта. ???
Ответить