Отговори на тема  [ 9 мнения ] 
Още един опит? 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 5:52 pm
Мнения: 7862
Местоположение: Добрич
Мнение Още един опит?
Бях забравил за този раздел... Както писах в другата тема вече си харесах анализаторче, но покрай ровенето стигнах до извода, че има още какво да се желае. Затова ще разбуня пак духовете...


Значи нужна е платка с куртекс М7 и spartan-6. Без SDRAM-и и без сложнотии, единствено захранването на IO-та трябва да е програмируемо за да се поддържат различни нива/стандарти.

Спартанът може да семплира чрез SERDES на всеки вход, т.е. винаги да работи на 1+GHz. Няма нужда от смяна на честота на семплиране, който е ползвал такъв анализатор знае защо. Да кажем 16-канала @ 1Gsps това са 2GB/S във входната част. Това нещо се прекарва през RLE примерно и на изхода имаме в най-лошия случай малко над 2GB/s, а в нормалния случай много, много по-малко. С тая скорост естествено може да се пише само във вътрешните буфери, които ще са поне 256Kbit.
От спартана към куртекса връзката трябва да е поне 100MB/s, трябва да се види колко битова шина може да се пусне и т.н. но при всички случаи 100MB/s трябва да се постигнат. Вариантите за куртекси са STM32H7 и онова новото NXP дето е на 600МHz. STM-чето има 1MB RAM, другото е с 256 или 512К. Да кажем че 3/4 от тях ще са буфер.
Буфера на куртекса трябва да може да се празни в реално време към USB или SD-карта. В първия случай скоростта е 20-30 MB/S а при картите по принцип SDIO го дават 100 или 200MB/s но това е на интерфейса. Реалното зависи и от самата карта.

Накратко казано:
* фиксната честота на семплиране над 1GHz
* компресията е такава, че семпъл се генерира само при промяна на някой сигнал.
* Режими на работа:
- стрийм към РС със скорост около 10М "промени/с". Или двойно повече ако се използва куртекс с 2 USB-та.
- стрийм към SD карта със скорост около 50M промени/с.
- буферен режим със скорост 1000М примени/с но в рамките на буфера т.е. около 16-20к промени (минимално гарантирани).

Софтуера е ясен - sigrok, фърмуера също.

Като екстри трябва да има няколко по-интересни протоколни анализатора. Задължително SWO/ETM TRACE. Допълнително като функция анализатор, както доста устройства на пазара имат и допълнителни GPIO, които могат да се ползват за генераторчета и т.н. Мисля че ще е добре да добави JTAG/SWD. Идеята мисля е ясна защо ;-)
Друга екстра би било да се изведат ADC-тата на куртекса и да се синхронизрат с анализатора/трейса. Ще е особено интересно при H7 където са 3бр. 16-битови на 3Msps всяко. За осцилоскоп са бавнички верно, но колкото толкова... пък и по-интересна е комбинацията с шунтове. Тая скорост е повече от достатъчна, резолюцията също. А това съчетано с трейса още повече.

От цялата работа проблемът е рисуването на схемата и платката. Ако някой има желание да свирка. Цената няма значение! (ех стига да е пазарна, а не космическа)


Сря Фев 07, 2018 7:58 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 10:31 pm
Мнения: 8830
Мнение Re: Още един опит?
woody да се изкаже относно спецификата на спартановите сердесове, но:
- за честота 1000MHz входа трябва да е само диференциален (LVDS).
за клока е лесно, ама за данните? при това данните трябва да са DDR, за да се постигне такава скорост.
има и някакви уговорки за фазовия детектор, ако ще се ползва за компресия.

- за да се постигне приемлива валидност на данните, на входа е добре да има компаратор, подпрян с ЦАП.
обаче гигахерцовите компаратори са P/LV/ECL и някак си трябва да им се нагоди изхода към LVDS


Сря Фев 07, 2018 11:35 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 5:52 pm
Мнения: 7862
Местоположение: Добрич
Мнение Re: Още един опит?
Дедо, доколкото помня не е задължително да е диференциален входа изобщо. Serdec-a има няколко функции, основната разбира се е преобразуването сериен-паралелен, демек от един вход/изход ти прави от 2 до 8 сигнала на съответно 2-8 пъти по-ниска честота. Има и други функции за синхронизация - ползва се фазов детектор плюс закъснителни линии и вкарваш логика дето постоянно да мести семплирането, тъй че винаги да си около фронта. Но това в случая не ни касае. Не помня точно но заради едно от нещата имаше изискване за минимална честота, която хич не беше минимална. Точната стойност зависеше от грейда, но да кажем е някъде от 800MHz. Под тая честота сердека беше неизползваем.
Както и да е, подкарвал съм го веднъж на 3-ки, веднъж на цинк, ще го подкарам и на 6-ца ;-)

За нивата най-добре е да се ползва самото фпга. То си има няколко банки с отделни захранвания. Да кажем една банка може да е на 3.3 за сигналите към проца. Другата може да я захранваш с колкото искаш. Така отпада нуждата от транслатори, единствено защити, които аз правя с едно RC и клампа. Напълно достатъчно е до около 200MHz (тествал съм го в двупосочна комуникация). И издържа до към 10-на волта.
Най-много може да се наложи различни имиджи за различните нива. Щото освен да го захраниш със съответното напрежение банката някъде се указваше с колко захранваш и с какви прагове искаш да работи. Но това е бял кахър ;-)

Наистина няма нужда от сложнотии... Пак казвам единствено едно програмируемо захранване, преди време гледах едно на каубойците дето имаше 4 пина чрез които може да задаваш 16 различни напрежения между 1.5 и 3.3.


Чет Фев 08, 2018 9:22 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 10:31 pm
Мнения: 8830
Мнение Re: Още един опит?
дай да сложим нещата на правилните места - цели на мерилката.

на първо място честотен обхват на цифровите входове.

знаеш, че нормални сигнали (една жица) до към 25MHz може да се карат всякак. над тази честота импеданса надига глава и трябва да му се обръща внимание. т.е. това вече става предавателна линия и се изисква съгласуване между предавателя и приемника. всяко закачане, където и да е по линията, на какъвто и да е пробник (товар, вход на нещо си) по някакъв начин влияе на съгласуването и променя сигнала. самото мерене става инвазивно по отношение на мерения сигнал. затова не можеш да закачаш какво си искаш, където си искаш.

по принцип по една жица относително лесно се кара сигнал до към 100MHz, нагоре трябва да обърнеш внимание на всичко. затова ми се струва разумно да ограничим честотния обхват на входа до към 120-150MHz, с уговорката, че ще е достатъчно високоомен, че да не разбъзиква нискоомната терминация на измерваната линия.

сериозните LA, дето са шкафчета, имат 2 честотни параметъра - time и state, примерно 100MHz и 500MHz съответно. това е параметър, по-скоро свързан с компресията и обема на паметта, но има и връзка с честотната лента (на семплиране)

(де)сериализация на около гигахерц ми се струва приложима само вътрешно, като в нея може да влезе някакъв вид debounce, арбитражна логика (3 от 4, 5 от 8), броячна логика (брояч > х) и подобни, но е химера да се мери на такава честота директно.

на второ място идва съгласуването по вход, тригероване и физическо предаване от сондата до входа на FPGA.

може и да ми е сбъркан начина на мислене, но ми се струва че не е редно това да се прави без съгласуващ входен усилвател (ниво и импеданс) и компаратор по ниво и чак след това сигнала да влиза във FPGA-то. което пък зависи от първа точка - честотна лента.

с трейс входовете е малко по-друга бира - те по принцип са висящи, с ясни изходни параметри, вариращи относително малко от производител до производител. и може да се направи директно свързване към входа на FPGA, защото предавателната линия по принцип не е съществувала, преди да закачиш трейсера и няма да попречиш на никого.


Чет Фев 08, 2018 11:12 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Юли 31, 2007 1:55 pm
Мнения: 1792
Местоположение: София
Мнение Re: Още един опит?
Миро, ако ти се експериментира, вземи едно FX3 на Cypress и си получаваш директно данните на PC, без MCU-та по средата. Минавал съм чаршафа само по диагонал, останах с впечатление че може да се ползва като 16-битова шина. Не съм гледал до колко MHz / BW. Тito си игра с него тия дни.

За семплирането аз бих го направил с прост DDR и хубав външен клок, достатъчно честота се вдига.


Чет Фев 08, 2018 12:41 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 5:52 pm
Мнения: 7862
Местоположение: Добрич
Мнение Re: Още един опит?
Целите са:
1) Измервателен уред, демек не можем да си позволим лукса да товарим. Съответно читаво съгласуване може да се получи само по един начин и това е да се изкара захранване на рейката за сондите. Стария ми анализатор беше така, вместо сонди дълъг лентов кабел на края на който може да закачаш различни POD-ве. Като искаш бързи сигнали без да товариш, ми просто си правиш под-че с буфер, който от към страната на таргета да е с минимални линии (има такива с под 1см).
2) Честота на семплиране 1-2GHz съвсем не те задължава входните сигнали да са такива. Целта е да имаш резолюция около и под 1nS. Това е необходимо когато дебъгваш и много бавни интерфейси. Колко съм го ял покрай недостатъчни setup/hold времена ако знаеш...
Та повярвай ми много е важно да виждаш дали фронта на сигнал А е преди или след Б и колко им разликата. Тук е разликата между истински и смотан анализатор. Истинският никога НЕ лъже. За целта даже и резолюцията не е толкова фатална, колкото много доброто изравняване на параметрите на каналите. Щото резолюцията може да се компенсира с много измервания, но кривината на каналите няма компенсиране. В случая неприятното е че при 6-цата входните закъснения не са температурно стабилизирани, но да кажем може да се направи софтуерна калибровка. Ще го мислим ;-)

Колкото до компараторите преди фпга-то... Забрави! Виж само списъка на IO стандартите дето се поддържат, тва да се накъсам не мога да го направя с външна карантия. Единственото което се иска от нас е точно захранване, останалото си е сертифицирано и се прави от фпга-то. Даже има и опции за вътрешни терминации... А, да и още нещо се иска от нас - защитата, щото те входовете са издръжливи, ама не и срещу идиоти ;-)

За трейса кашата е голяма... особено при SWО-то. Всеки го прави както си иска. Аз съм спомнавал че от всички процове дето сме тествали единствено STM32F1 бачка над 200MHz стабилно, говоря за jtag режим щото максималния клок на това животно е 72MHz и SWO няма как да се подкара на повече. Защо са му сложили толкова яки и бързи драйвери на тоя смотан чеп, а на много по-бързи от него слагат кекави - идея си нямам ;-)


Чет Фев 08, 2018 12:58 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 5:52 pm
Мнения: 7862
Местоположение: Добрич
Мнение Re: Още един опит?
woody написа:
Миро, ако ти се експериментира, вземи едно FX3 на Cypress и си получаваш директно данните на PC


Не мисля че основния проблем е как да напълниш няколко GB лог. Това с нищо не помага. Старият ми анализатор беше само с 32к семпъла. Хич не е малко като имаш компресия, това са ти 32к фронта. Разглеждането на един такъв лог спокойно може да ти отнеме часове ;-)
Питай tito, той ще ти каже колко е безсмислено. Докато бяхме заедно да се е пробвал 1-2 пъти и се отказа... после си взе някакво анализаторче за без пари и което му вършеше много повече работа ;-)

Целта е да се направи нещо полезно и удобно за ползване, а не нещо с лъскава брошура и параметри като за продаване само ;-)


Чет Фев 08, 2018 1:22 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 10:31 pm
Мнения: 8830
Мнение Re: Още един опит?
аз си мислех по-скоро за TRACE пиновете, те как са?
нито съм задълбавал, нито съм пускал симулации. като ми остане време, може да пусна нещо с някой от кинетисите към спартан 6, примерно
ЦРУ някакви? (ценни ръководни указания)


Чет Фев 08, 2018 1:24 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 5:52 pm
Мнения: 7862
Местоположение: Добрич
Мнение Re: Още един опит?
ДедоБоре написа:
аз си мислех по-скоро за TRACE пиновете, те как са?
нито съм задълбавал, нито съм пускал симулации. като ми остане време, може да пусна нещо с някой от кинетисите към спартан 6, примерно
ЦРУ някакви? (ценни ръководни указания)


Единия вариант е SWO - един пин, наклочен с клока на CPU-то или по-малко, но проблемът е че обикновено няма изведен клок. И доколкото в софтуера трейсовете почват още след ресет, където си обикновено на ниска честота, после софтуера сменя честотата. Та с две думи декодирането е малък филм и от там си ограничен от към скорост, а не от терминацията на сигнала. Аз съм го правил за peedi и там семплирането ми беше ограничено на 200MHz, като ми трябват поне 3 семпъла за да няма грешки, демек до към 50-60 MHz бачка. На спартанче със сердес мисля че няма да е проблем и 5 пъти по-висока скорост, макар че там вече ще опре и до качество на сигнала...

Вторият вариант е пълноправен ETM Trace, там имаш изведен клок и от 1/2/4 или повече даннови на същия клок или с DDR. Проблем със семплирането няма щото имаш клок и всичко опира до качеството на сигналите. Принципно на платките никой не слага терминации, само голи изходи на конектор. Като цяло няма грижи до към 200-300MHz стига някой тарикат да не е спестил от масите. Има ли толкова маси, колкото са сигнали минава и през лентов кабел, ама ако са го спестили от другата страна на кабела няма какво да направиш ;-)
При BDM-a също имаш клок, така че пак опираш до окабеляване само.

От симулации не знам каква файда ще има... що то от таргет до таргет може да няма нищо общо. Но хубавото на тия интерфейси е, че може да имаш контрол, демек може да си генерираш каквото искаш, да мериш... Ние примерно мерим дължината на кабела, за да изнасилим jtag-a ;-)


Чет Фев 08, 2018 2:02 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 9 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни