|
TI AM1808, проблемы с железом |
|
|
|
Sep 2 2014, 11:38
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Есть плата (собственной разработки) с AM1808 на борту. При подключении программатора процессор всегда останавливается на адресах 0xFFFF000C (Exception Vector - Pre-fetch abort), иногда на 0xFFFF0010 (Exception Vector - Data abort) (boot-пинами выбран режим Emulation Debug). Попытки просмотра памяти или загрузки программы в таком состоянии приводят к тому, что вылетает ошибка и всё отваливается. Для работы необходимо сделать сброс от кнопки на плате, процессор перейдёт на адрес 0xFFFF0000 (Exception Vector - Reset), далее можно более-менее нормально работать. Предположительно есть проблемы с разводкой платы или питанием процессора. Хочу спросить совета по поводу схемы питания. Сама схема представлена на рисунке 1, для питания процессора используется источник питания TPS650061. На рисунке 2 показан вид питающего напряжения после дросселя L9. Не слишком ли велик уровень шумов? Или это нормально при использовании импульсных преобразователей? На рисунке 3 - осциллограмма напряжения на ножке SW (pin 7) (до дросселя L9), на рисунке 4 - тоже, только при включении режима одиночной последовательности на осциллографе. Тут возникает вопрос, нормально ли это, что скважность ШИМ всё время прыгает? Говорит ли это о том, что источник питания TPS650061 работает в каком-то непонятном (неоптимальном) режиме? Если да, то может ли это повлечь проблемную работу процессора? Пробовал увеличивать ёмкость конденсатора C136 до 30 мкФ, думал, поможет фильтрануть питание - не помогло. Попробовал задать дополнительную нагрузку для импульсника (где-то +150 мА к тому, что кушает процессор), может быть ему нагрузки маловато, поэтому и не вошёл в нормальный режим работы, но тоже что-то не помогает, вид ШИМ остался таким же. Если переключить boot-пины процессора в режим загрузки SPI1 Flash, то при включении питания можем наблюдать осциллограмму приведённую на рисунке 5, где жёлтый - Chip Select, зелёный - Clock. Читает 8 байт и дохнет. Попробовал залить на флэшку начальный кусок прошивки, всё осталось так же (8 байт читает и дохнет). Прошивку генерил со следующими опциями: Код am1808.out -boot -spi8 -a -e Entry -map am1808.mapp -memwidth 32 -romwidth 8 -o am1808.a0 Что можно сказать по этому поводу? Почему после прочтения 8 байт загрузка прекратилась? Пока не попробовал, но может надо для него генерить прошивку без опции -boot? Рисунок 1 - Схема питания AM1808. Рисунок 2 - Осциллограмма напряжения после дросселя L9 (1.3V/1A). Рисунок 3 - Осциллограмма напряжения до дросселя L9 (ножка SW источника питания). Рисунок 4 - Осциллограмма напряжения до дросселя L9 (ножка SW источника питания) при включении режима осциллографа "Single Sequence". Рисунок 5 - SPI1 CS (жёлтый) и SPI1 CLK (зелёный) при включении питания процессора.
Эскизы прикрепленных изображений
|
|
|
|
3 страниц
< 1 2 3
|
 |
Ответов
(30 - 42)
|
Sep 4 2014, 08:28
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Цитата(SM @ Sep 3 2014, 07:03)  Я бы не стал экспериментировать с отдельным внешним питанием ядра. Ну разве, что в крайнем случае. А аккумулятор (12V, ведь должно хватить) можно взять в любом ближайшем UPS-е, или у админов местных. Это только для очищения картинки на осциллографе от лишних (которых там на самом деле нет), связанных с завязками через сеть, шумов. А что скажете, если всё же дроссель убрать и 1.3 В подлать от внешнего источника, но внешние 1.3В (по схеме приведённой выше) запускают линейники, т.е. какая-то последовательность подачи питания должна будет сохраниться? Или тут надо обеспечить определённую скорость нарастания 1.3 В иначе могут быть проблемы?
|
|
|
|
|
Sep 4 2014, 16:28
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Цитата(SM @ Sep 2 2014, 16:21)  По SPI - он считывает начало AIS-файла... Вероятно, у вас он как-то не так сгенерирован, не тот endianess, или еще что-то не то, что он не видит, что в флешку зашит AIS. Вы бы там данные промониторили, что он там считал конкретно. Цитата(SM @ Sep 2 2014, 17:01)  AISGen это, вроде, отдельный тул специально для омапов (и их кастрированных отпрысков тоже) Да, всё как Вы говорите. Не зная куда дальше копать по поводу ШИМа, решил разобраться с загрузкой и посмотреть стартанёт ли процессор с нормальной прошивкой в загрузочной флэшке. Почитал доку по загрузке, только на AM1808, а не на OMAP. Оказалось, нужный бинарник генерится с AISgen нажатием двух кнопок. Попробовал запустисть стандартный UART загрузчик от TI, но он не заработал. Решил быстро прикрутьть свою загрузку по TFTP, и после совпадения записанного и прочитанного на/с флэшки файлов, попробовал передернуть питание платы. Процессор стартует! В начале был какой-то глюк (прошивка считывалась и по окончании чтения процессор не отпускал CS, похоже что-то висло, а может это я с ещё неправильной прошивкой смотрел), правда, счас его повторить не могу. Каждый раз по сбросу питания процессор загружает прошивку с spi-флэшки и начинает моргать диодами. Вылета программы пока не наблюдал. Остаётся вопрос, как быть с шимом? Он-то точно "неправильный"!
|
|
|
|
|
Sep 4 2014, 19:41
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Цитата(Golikov A. @ Sep 4 2014, 20:49)  А может тупо заменить экземпляры микросхем? вдруг брак какой? Об этом думал (есть ещё пару штук на складе), но больше склоняюсь к тому, что мы где-то накосячили. Основная проблема - в подключении эмулятора (писал ранее). Но вот сейчас и SPI ROM Bootloader стал прошивку грузить, и она после запуска не слетает (буду ещё наблюдать). Может основная проблема всё же не ШИМ (он нестабильный, тут я согласен, но основная причина не он???), может нужно опять копать в сторону JTAG?
|
|
|
|
|
Sep 5 2014, 06:01
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Цитата(AlexandrY @ Sep 2 2014, 17:16)  Не думаете же вы что на осциллографе действительно то, что есть на самом деле, с овершутингами больше вольта и проч. Если так было, то горел бы ваш проц синим пламенем уже давно. Цитата(skripach @ Sep 2 2014, 17:41)  Наводится на проводе от крокодила до щупа небось, решение - правильный щуп, на крайняк намотать лишний провод на щуп, картинки сильно изменятся. Нашёл апгрейды для своих щупов, собрал щуп как на рисунке 1, картина с чистотой питания поменялась. Рисунок 2 - питание 1.3 В (1.3V/1A по схеме), если использовать обычный щуп. Рисунок 3 - питание 1.3 В со щупом как на рисунке 1. Т.е. вижу, что питание чистое не смотря на кривой ШИМ. Рассматривать ли далее нестабильность ШИМа, как возможную причину глюков при подключения процессора?
Эскизы прикрепленных изображений
|
|
|
|
|
Sep 6 2014, 08:21
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Цитата(Golikov A. @ Sep 5 2014, 12:51)  Думаю логичным продолжением теперь будет исследовать ШИМ новым щупом  Вдруг и он станет стабильным... Потому что та каша что была могла и синхронизацию сбивать.... Вот такие советы порой вызывают желание написать много плохих буков. Цитата(Golikov A. @ Sep 5 2014, 12:51)  и еще может глупость скажу. Но если там ШИМ как бы сигма-дельта, то его период имеет право дрожать. Ну то есть если 1 мало, а 2 много, то 1.5 формируется чередованием 1 и 2. Плюс во время загрузки и конфигурации проц меняет потреблением и шим должен отрабатывать вроде как... Частота ШИМа фиксирована, следовательно и период не должен дрожать. За мало/много отвечает скважность.
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|