Jump to content

    

Modератор:

не забываем, что сущестует личная переписка. Всякие "суперинформативные" для широкой общественности сообщения отправляйте личной почтой.

Share this post


Link to post
Share on other sites

Возникли проблемы при переходе с v2.1 на v2.2 (до этого был v1.2) . Сразу скажу использую готовые куски инфенеоновского кода в коде сильно не копался. При переходе с 1.2 на 2.1 изменил только значения GCM1-8 согласно errata, и вроде все заработало. Сейчас поставил v2.2 и прописываю GCM согласно datasheet или F56v2.2FMRClkCalcR1.zip получается полная фигня. Устройство не выдает в линию правильные сигнал. Возможно, что опять проблемы с pll. И еще WID как-то странно читается 0E для 2.1 и 07 для 2.2.

Edited by Меандр

Share this post


Link to post
Share on other sites

2Меандр

Какую схему питания используете? Если - Single Voltage Power Supply Mode, убедитесь, что на Vddc (pin 74) стоит кондер на землю. В версии 1.2 он был N.C., а в 2.2 ( согласно DS стр. 68, 5.4.1 Power Supply Configuration) должен иметь кондер на землю.

Это критично, проверено.

Share this post


Link to post
Share on other sites

С питанием все нормально, с v2.1 устройство работает работало раньше хоть как-то, с v2.2 оно не работает на PRI линию совсем. Боюсь я что-то не прописываю, что следовало бы прописать. Но в тоже время тактовые sclkr и sypr не сбоят. :help: Если у кого есть errata на 2.2 большая просьба выслать meandr.5(at)gmail.com

Share this post


Link to post
Share on other sites

Странная выходит ситуация - когда загружаю значения со стр. 301 Table 66 GCMx Register Programming PRI синхронизируется, но кривой TDM, когда из Table 1 MCLK Selection(или программой для расчета) стр. 18 наоборот. То же самое было и с версией v2.1. При этом с v1.2 все работает нормально и там и там. Data Sheet Rev. 1.1, 2005-06-13.

Share this post


Link to post
Share on other sites

Для 2.2 и 2.1 важно не обнулять после сброса некоторые регистры. Лучше оставить все как есть, прописывать только то, что, например, нагенерил AppWiz, как в нашем случае. Кроме того, попался чип с маркировкой как у 2.2 и поведением как 1.2. :07:

Share this post


Link to post
Share on other sites

да да было такое

закупили партию чипов с маркировкой V2.2 и датой производства 2004 года, хотя тогда их ещё и не делали...

так как они работать отказались, пришлось менять

Share this post


Link to post
Share on other sites

В общем достал я Errata. Теперь я знаю что мне делать, но есть проблема. В Errata написано нужно перепрограммировать эквалайзер приемника, написан алгоритм как это сделать, но вот беда - нету самих значений которыми надо программировать эквалайзер. Написано, что эти значения доступны в виде ASCII txt файла, спросил у дистрибьютеров infeneon которые мне Errata дали - сказали нет у них ничего. Может у кого есть этот самый файл - выложите плиз.

Share this post


Link to post
Share on other sites
В Errata написано нужно перепрограммировать эквалайзер приемника...

Ну так бросьте сюда то, что написано - почитаем. А в чем собственно сама проблема? Дальность выжать не смогли?

Эти значения доступны в виде ASCII txt файла..

Возможно его просто один из визардов генерит?

Share this post


Link to post
Share on other sites
Ну так бросьте сюда то, что написано - почитаем. А в чем собственно сама проблема? Дальность выжать не смогли?

 

Возможно его просто один из визардов генерит?

Визардов у них тока два. Один генерирует только значения для внутреннего генератора (значения GCM), другой считает параметры входной и выходной цепи. ни у одного из них нет кнопок для генерации каких-либо файлов.

 

Собственно проблема в том, что по тех. заданию на устройство у меня чувствительность -40дБ.

В данный момент фреймер мне обеспечивает -18 дБ, чтобы улучшить нужно перепрограммировать эквалайзер

вот то что в errata написано

 

TBR4 compliance tests showed that immunity against noise caused by 18 dB attenuated HDB3 coded E1 signals

according to the test description in TBR4 (Annex B.3.2) is not given with the standard configuration of the device.

Description

Optimization of the receive equalizer logic for clock and data recovery of up to -43 dB attenuated E1 signals

introduced an immunity against noise for lower attenuated signals.

Fix

None.

Workaround

To improve the Receiver Sensitivity to the specified value of -43 dB and an improved immunity against noise to

meet the TBR4 specification, a modified parameter set must be loaded into the Receive Equalizer RAM.

Please take into account that the access to the Receive Equalizer Parameters is not possible, if the

microprocessor interface is operated in “INTEL Multiplexed Mode” (See chapter 2.5 of the Data Sheet).

 

Ну и описана процедура програмирования Receive Equalizer Parameters.

 

также указано

RAM data values to be programmed are available in an electronic format as ASCII files, defining address and data

to be written.

Source code in C-Language is available on the confidential library of Infineon.

Но дистрибьютеры понятия не имеют о каком то Source code in C-Language или ASCII files.

Share this post


Link to post
Share on other sites
В общем достал я Errata. Теперь я знаю что мне делать, но есть проблема. В Errata написано нужно перепрограммировать эквалайзер приемника, написан алгоритм как это сделать, но вот беда - нету самих значений которыми надо программировать эквалайзер. Написано, что эти значения доступны в виде ASCII txt файла, спросил у дистрибьютеров infeneon которые мне Errata дали - сказали нет у них ничего. Может у кого есть этот самый файл - выложите плиз.

Надо попросить дистрибьютеров, чтобы они попросили у Infineon. В моем случае они прислали через пару дней буквально, но у меня для другого чипа.

Share this post


Link to post
Share on other sites
В общем достал я Errata. Теперь я знаю что мне делать, но есть проблема. В Errata написано нужно перепрограммировать эквалайзер приемника, написан алгоритм как это сделать, но вот беда - нету самих значений которыми надо программировать эквалайзер. Написано, что эти значения доступны в виде ASCII txt файла, спросил у дистрибьютеров infeneon которые мне Errata дали - сказали нет у них ничего. Может у кого есть этот самый файл - выложите плиз.

Попробуйте попросить не ACII txt, а просто исходники драйвера для FALC56 для ихней evalboard. Файл зовется f56.c. Там в процедуре инициализации что-то есть. Может он даже у вас уже есть.

У меня файл древний, 2003 года, содержит в себе

    /*Receiver Sensitivity optimization*/
/*#ifdef F56_21    
    falc = ctx->falc[0].pxReg;
    MEM_WRITE8(falc + FALC56_BB , 0x17);
    MEM_WRITE8(falc + FALC56_BC , 0x55);
    MEM_WRITE8(falc + FALC56_BB , 0x97);
    MEM_WRITE8(falc + FALC56_BB , 0x11);
    MEM_WRITE8(falc + FALC56_BC , 0xAA);
    MEM_WRITE8(falc + FALC56_BB , 0x91);
    MEM_WRITE8(falc + FALC56_BB , 0x12);
    MEM_WRITE8(falc + FALC56_BC , 0x55);
    MEM_WRITE8(falc + FALC56_BB , 0x92);
    MEM_WRITE8(falc + FALC56_BB , 0x0C);
    MEM_WRITE8(falc + FALC56_BC , 0x00);
    MEM_WRITE8(falc + FALC56_BB , 0x8C);
    MEM_WRITE8(falc + FALC56_BB , 0x0C);
#endif*/
}

P.S. Если мне не изменяет память, там по этим адресам далеко не всегда получается писать. То ли, чтоб писалось, надо чтоб шина была 16-разрядная, толи немультиплексированная. Что-то такое в Errata было. Только не помню в какой версии, может в 2.2 уже все нормально. В общем, обратите внимание.

Share this post


Link to post
Share on other sites
Попробуйте попросить не ACII txt, а просто исходники драйвера для FALC56 для ихней evalboard. Файл зовется f56.c. Там в процедуре инициализации что-то есть. Может он даже у вас уже есть.

У меня файл древний, 2003 года, содержит в себе

    /*Receiver Sensitivity optimization*/
/*#ifdef F56_21    
    falc = ctx->falc[0].pxReg;
    MEM_WRITE8(falc + FALC56_BB , 0x17);
    MEM_WRITE8(falc + FALC56_BC , 0x55);
    MEM_WRITE8(falc + FALC56_BB , 0x97);
    MEM_WRITE8(falc + FALC56_BB , 0x11);
    MEM_WRITE8(falc + FALC56_BC , 0xAA);
    MEM_WRITE8(falc + FALC56_BB , 0x91);
    MEM_WRITE8(falc + FALC56_BB , 0x12);
    MEM_WRITE8(falc + FALC56_BC , 0x55);
    MEM_WRITE8(falc + FALC56_BB , 0x92);
    MEM_WRITE8(falc + FALC56_BB , 0x0C);
    MEM_WRITE8(falc + FALC56_BC , 0x00);
    MEM_WRITE8(falc + FALC56_BB , 0x8C);
    MEM_WRITE8(falc + FALC56_BB , 0x0C);
#endif*/
}

P.S. Если мне не изменяет память, там по этим адресам далеко не всегда получается писать. То ли, чтоб писалось, надо чтоб шина была 16-разрядная, толи немультиплексированная. Что-то такое в Errata было. Только не помню в какой версии, может в 2.2 уже все нормально. В общем, обратите внимание.

 

Прислали мне исходники, теперь буду пробовать перепрограммировать. Всем спасибо за помощь

Share this post


Link to post
Share on other sites
...теперь буду пробовать перепрограммировать.

Мне где-то через месяц тоже придется выжимать максимальную дальность из FALC и QFALC, так что о результатах было-бы интересно узнать.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this