Перейти к содержанию
    

vik0

Свой
  • Постов

    381
  • Зарегистрирован

Сообщения, опубликованные vik0


  1. Основной вопрос - они вместе жить будут? Вроде шина у обоих - 3.3В, что ещё смотреть?

    Нold time сигналов от bf. Не стыкуются. Память хочет 1 нс мин, bf обеспечивает 0.8 нс.

  2. Имею сложности при сборке большого проекта С+АСМ изначально отлаженного под 4.5 на 5.0 upd 4. На первый взгляд, по-разному работает асм (разные результаты). Сейчас более подробно разбираться нет задора и времени - остаюсь на 4.5. Возможно в будущем вернусь к этой проблеме.

     

    Успехов.

    Если не секрет, под какой процессор?

  3. //это файл LCD.cpp

    А как компилятор/компоновщик увидит вашу inline функцию, если она реализована в .cpp файле? Это отдельная "единица трансляции". Выносите вашу реализацию в заголовочный файл.

  4. Этого я больше всего и боюсь...

    То что винда используется это к сожалению необходимость, как мне сказал програмист, алгоритм сложный и с ним справляется только топовый комп с 2-мя камнями.

    А, простите, на "топовый комп с 2-мя камнями" становится только винда?

  5. Хм.. не понятно. Зачем моделировать ? Не проше ли узнать величину вых. сопротивления драйвера конретной микросхемы?

    Не проще. Тем более, что моделирование никогда не бывает лишним.

    И как моделировать SDRAM такую - то , от производителя таково - го ? Где брать модель ?

    На сайте производителя.

  6. Кстати, а как все-таки выбирается величина Termination Resistor ??

    Моделированием :) . В HyperLynx, например.

    А в данном апп ноте дан диапозон для разных шин. Понятно , что

    R= 50 - Rout.

    где Rout - выходное сопротивление драйвера.

    Точнее говоря

    R= Z0 - Rout.

    где Z0 - волновое сопротивление линии передачи (дорожки)

  7. Спасибо! Может кто-то направление даст, в котором желательно смотреть?

    http://www.analog.com/en/audiovideo-produc...ucts/index.html

    Только игрушки не из дешевых :05:

    А вообще дожно глянуть в сторону dsp, которые очень неплохо ложатся на такие задачи.

    PS. Есть еще семейство i.MX (ARM9/11) от Freescale с аппаратными ускорением сжатия в MPEG-4.

  8. Две аналогичные записи:

    Это НЕ аналогичные записи.

    Стандарт ISO/IEC 14882:1998, раздел 5, пункт 4:

    ...order of evaluation of operands of individual operators and subexpressions individual expressions, and the order in which side effects take place, is unspecified...

    Другими словами, порядок вычисления pAlarmLoop->WriteIndex<(ALARM_BUF_SIZE-1) и pAlarmLoop->WriteIndex++ зависит от компилятора.

  9. В случае индустриального ADSP-BF561SBBCZ-6A также?

    Да.

    Хм. Я раньше думал, что при включении 600МГц BF561 на 500МГц можно просто соеденить VROUT с VddInt.

    VROUT это просто ШИМ для управления внешним полевиком.

    А тут похоже выбор между полевиком и DC/DC 3.3->1.35?

    Типа того. Кстати, работа на 600 МГц требует внешнего стабилизатора.

    Конечно желательно всё в индустриальном, я просто утром индустриальных буквиц как в даташите не нашёл на сайте АД.

    Основной упор на снижение размеров платы и потребления. Потому и 1 кристал памяти мобильной. А более мелкий корпус BF561 без лазера и не разведёшь.

    А вот тут начинаются нюансы. Дело в том, что такой микросхемы как ADSP-BF561SBBCZ-6A не существует. Хотите индастриал - получите максимум 500 Мгц. Нужно больше - либо коммерческий диапазон, либо корпус 27х27 мм.

    Шину я как-нибудь разведу. Остаётся вопрос с RAS, CAS, DQMx и т.д.

    Вроде мобильная память может сама рефрешиться, может в связи с этим не надо тянуть какие-то связи или достаточно сказать BF561 чтоб не рефрешил?

    CAS, RAS, DQMx используются отнюдь не для рефреша.

  10. ...данные стоят на шине не менее 2.7нс(по докам того же Микрона)...

    А сколько стоят данные со стороны FPGA? А адрес? По докам того же Микрона обязаны не больше чем 0.8 нс.. Извините, ляпнул чушь.

    400 mil - это примерно 100 мм (10 см), а у меня длина дорожек составляет от 25 до 50 мм...

    400 mil = 10.16 мм

  11. Вроде так, если ничего не напутал :)

     

    Bf_D[31:0] -> Ram_D[31:0]

    Bf_A[11:2] -> Ram_A[9:0]

    Bf_SA10 -> Ram_A10

    Bf_A13 -> Ram_A11

    Bf_A[19:18] -> Ram_BA[1:0]

    Bf_ABE[3:0] -> Ram_DQM[3:0]

    CLK, CKE, CAS, RAS, WE, CS - думаю понятно.

     

    Кстати, _4afc_, если не секрет, зачем вам sdram на industrial диапазон, если blackfin только commercial?

  12. Кто говорит, надо, кто - не надо... Частоты 100 Мгц, все-таки не такие уж и низкие...

    Micron рекомендуют выровнять clk и data +-500 mils, clk и addr +-400 mils. Требования, которые легко выполняются. Так почему бы тогда не выровнять?

  13. Основной вопрос - они вместе жить будут?
    Без проблем.

    Ядро/шина взять 600/100 или 500/125?
    600/120

    И хотелось бы без внешнего регулятора питания у BF561 обойтись.
    Пожалуйста. VROUT оставляете floating, и подаете на VddInt +1.35В. В программе при инициализации отключаете VReg и настраиваете PLL.

     

    А что есть варианты? 32-разряда шины на 32 разряда памяти как в ките (не знаю как там в ките :-))
    В ките две 16-ти битных микрухи :)

    3. Если используются их сервисы нужно править adi_ebui.c, который вызывается другими сервисами, например,adi_pwr.c
    Не обязательно. В adi_ebiu_Init можно передать описание конфигурации памяти (ADI_EBIU_CMD_SET_SDRAM_*).
  14. И кстате, каким напряжением их питать? В даташите написано, что напряжение долно быть 1.8 ... 3.6 Вольт, в интернете на каждом шагу что до 5.5 вольт.

    Есть два варианта этой микросхемы. Одна на диапазон 1.8-3.6В, вторая - 2.7-5.5В. Отличаются цифрами в конце part number-а (....-1.8 и ....-2.7 соответственно). И, кстати, об этом написано в даташите.

  15. Вставлю и я свои 5 копеек :)

    1. Если у Вас TOne - таки LCD, то можно использовать статические функции. Ведь LCD у вас в системе один, правильно?

    class TOne
    {
      static int memberVar;
    public:
      static void Foo() {}
    };
    .....
    class TTwo
    {
    public:
      void Bar()
      {
         TOne::Foo();
      }
    };

    2. Если TOne - не LCD (или у вас в системе их несколько :) ), тогда правильнее передавать указатель на TOne в ф-цию ининциализации

    class TOne
    {
    public:
      void Foo() {}
    };
    .....
    class TTwo
    {
      TOne* oneInstance;
    public:
      void Init(TOne* one)
      {
        oneInstance = one;
      }
    
      void Bar()
      {
         oneInstance->Foo();
      }
    };
    ...
    TOne mOne;
    TTwo mTwo;
    
    int main(int, char**)
    {
      mTwo.Init(&mOne);
      mTwo.Bar();
      ....
    }

     

    А friend тут не причем. У человека, по-моему, проблемы не с правами доступа к членам класса, а с доступом (работой) к глобальным переменным.

  16. Спасибо, а как понять по 12-и слойной, приведенной выше, какие из слоев GND, Vcc, Sig?

    1, 8, 10, 12 - сигнальные.

    Остальные, соответственно, GND и Vcc.

     

    - оборудовать терминирующими резисторами (я пока взял 33 Ом)

    - выравнивать длину проводников шины.

    Насколько эти два пункта критичны?

    Желательны.

    Вот, почитайте, IMHO, весьма полезный AppNote.

    Там, кстати, и по стеку рекомендации есть.

  17. Неплохо было бы первые GND и VCC собрать в пару, как и вторые

    Я бы еще gnd и vcc поменял местами, так что бы gnd был ближе ко внутренним сигнальным. И, соответсвенно, высокоскоростые цепи по возможности провел внутри.

  18. ...

    по поводу распознавания речи и видео с веб камеры. Для таких забав нужен

    высокопроизводительный процессор с большим ОЗУ

    ...

    Больше понравился такой вариант : lpc3180 + k4s561632.

    А может для такой задачи глянуть в сторону DSP? На Blackfin, например.

×
×
  • Создать...