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

Lomovit

Участник
  • Постов

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

  • Посещение

Репутация

0 Обычный
  1. Победа ! Решил отписаться, может пригодится кому-нибудь. Дело оказалось в том, что у меня на всех остальных (работающих) платах стоят DSP 2809 Revision A. А на этой злощастной оказался Revision 0. В Silicon Errrata (SPRZ171L) пишут про этот нестабильный старт (см. стр. 10). Клоки у меня подаются с внешнего генератора амплитудой 3.3в на ногу XCLKIN. В SPRZ171L сказано, что "When clock to the device is supplied using the XCLKIN pin, device may intermittently fail to startup correctly." После выполнения рекомендации : "Instead, use either a crystal/resonator or a 1.8-V external oscillator on the X1 pin to clock the device" DSP стал стартовать корректно. Спасибо большое всем, кто принял участие в моей проблеме.
  2. Да-да, спасибо, я знаю про этот pulldown резистор. Просто не упоминал про него, т.к. его наличие (или отсутствие) ничего не изменяет. На рабочих платах всё работает и с ним и без него. А на этой (проблемной) плате ситуация остаётся прежней - правильного старта нет и с ним и без него. Так и есть, вот содержимое памяти : 3F7FF6 code_start, DSP280x_CodeStartBranch.asm:52:67$: 3F7FF6 007F LB DSP280x_CodeStartBranch.asm:69:81$ При надетом хидере эмулятора всё именно так и происходит. И DSP стартует нормально. А вот если хидер снят (т.е. я не имею возможности отследить куда перепрыгнула микропрограмма), происходят выше упомянутые вещи.
  3. Ситуация следующая. Этот код уже был отлажен и работал в течение полугода нормально. После ремонта платы (замена DSP вследствие отказа АЦП) появилась данная проблема. Если к JTAG разъёму на плате присоединить хидер эмулятора и подать питание на плату, то старт DSP происходит нормально. Если же подать питание при отключенном эмуляторе, то наблюдается проблема, которую описал. Я пристально отследил состояние 3 пинов DSP (GPIO18,29,34) в момент перехода RESET из низкого в высокое состояние и ничего криминального не заметил - все 3 в этот момент - высокие. А вообще, с JTAG в этом DSP не всё гладко, как я успел заметить. Когда я только начал работать с ним, пришлось изменить цепи EMU0,1. В описании сказано, что к ним должны быть подключены pullup величиной 4.7К. Flash в DSP с таким подключением не программировались. Пришлось к EMU0,1 подключить ещё pulldown такой же величины. Только после этого JTAG порт заработал нормально. Т.е. проблема скорее всего чисто железячного свойства. Нашёл на www.dsprelated.com - там один парень уже описывал подобное. Только для 2801. В том то и проблема - при надетом JTAG хидере всё работает правильно и происходит переход на точку _c_int00. И, соответственно, правильный старт кода. А при снятом хидере этого старта нет. А куда при этом перепрыгивает микропрограмма - непонятно. Можно только косвенно судить - по состоянию пинов DSP. И поскольку на SCI-A после окончания RESET появляются импульсы, я и предположил, что происходит старт по загрузке через UART. Тут, может быть, я неправ, поскольку никогда не грузил DSP через UART. И не знаю алгоритма такой загрузки.
  4. Доброго всем времени суток ! Использую TI TMS320F2809. Режим старта выбран "Boot to Flash" (GPIO18=1, GPIO29=1, GPIO34=1 - многократно проверено осциллом - с помощью внешних pullup=10KOhm). После окончания активного уровня сигнала RESET (XRS=0, в течение 200мСек после старта питания) переход на выполнение кода из Flash не происходит. При этом на GPIO29 (SCITXDA) появляются импульсы с периодом порядка 1мкСек. Создаётся впечатление, что произошёл переход в режим старта "SCI-A Boot" и передатчик SCI-A пытается что-то передать. Поскольку ответа нет, этот цикл передачи длится, пока есть питание. Кроме того, замечено, что если перед включением питания на разъём JTAG одеть разъём эмулятора (XDS510 USB Galvanic), то старт DSP всегда происходит корректно. В чём может быть причина ? Может кто-нибудь сталкивался с такой или подобной проблемой ?
×
×
  • Создать...