|
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 (зелёный) при включении питания процессора.
Эскизы прикрепленных изображений
|
|
|
|
|
Sep 2 2014, 13:21
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
1) По питанию это, похоже, на возбуждение в цепи ОС. Это не хорошо. ШИМ должен быть стабильным при стабильном потреблении и стабильном (относительно) входном питании. Надо правильно рассчитать емкости/индуктивности. Также, проверьте, на сколько корректно генерируется POR, сколько держится после прихода всех питаний в норму. Не забудьте, что POR происходит только тогда, когда TRST в нуле! То есть, при отключенном эмуляторе, если он (TRST) подтянут к нулю. Иначе происходит WARM RESET.
1б) Сопротивления резисторов в ОС в первую очередь именно на это и влияют, так как, совместно с емкостью внутри микрухи, образуют фильтр.
2) По SPI - он считывает начало AIS-файла... Вероятно, у вас он как-то не так сгенерирован, не тот endianess, или еще что-то не то, что он не видит, что в флешку зашит AIS. Вы бы там данные промониторили, что он там считал конкретно.
|
|
|
|
|
Sep 2 2014, 13:39
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(doom13 @ Sep 2 2014, 14:38)  На рисунке 2 показан вид питающего напряжения после дросселя L9. Не слишком ли велик уровень шумов? Или это нормально при использовании импульсных преобразователей? На рисунке 3 - осциллограмма напряжения на ножке SW (pin 7) (до дросселя L9), Похоже просто осциллограф не поймал синхронизацию. А на 2-ом рисунке видимо еще и точка земли для щупа выбрана скверно. Факт, что земля шумит неимоверно. Скорее всего проблема трассировки поскольку на хорошей плате куда в землю не ткнись такого шума не будет как бы плохо ШИМ не работал. Шум должен быть раза в три меньше.
|
|
|
|
|
Sep 2 2014, 13:46
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Цитата(SM @ Sep 2 2014, 16:21)  2) По SPI - он считывает начало AIS-файла... Вероятно, у вас он как-то не так сгенерирован, не тот endianess, или еще что-то не то, что он не видит, что в флешку зашит AIS. Вы бы там данные промониторили, что он там считал конкретно. Данные мониторил, пишет читает флэшку правильно (моя программа, загрузчик, думаю, должен также). Если не ошибаюсь (немного давно было), F28346 постоянно опрашивал загрузочную флэшку, при загрузке FPGA Altera в режиме AS (может не верное сравнение), ПЛИС будет всё время пробовать считать прошивку, поэтому решил, что здесь загрузка должна происходить подобным образом - опрос флэшки идёт постоянно, поправте если не так. Под AIS имеется ввиду Key value 0x10AA или 0x08AA, если так, то должно быть правильно. Цитата(AlexandrY @ Sep 2 2014, 16:39)  Похоже просто осциллограф не поймал синхронизацию. Не смог поймать, сигнал какой-то непредсказуемый (что-то там есть несинхронное), только для одиночной последовательности можно разобрать, что там за сигнал.
|
|
|
|
|
Sep 2 2014, 13:56
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(doom13 @ Sep 2 2014, 17:52)  Данные шумы, как понимаю, и являются результатом неправильной работы импульсного источника питания и "неправильного ШИМа". Еще, нередко, они бывают из-за того БП, который питает вашу плату, например, средний ATX шумит как сволочь, и, чтобы понять что там к чему, желательно использовать активный дифференциальный щуп. Но! Получить устойчивую синхронизацию на ШИМе вы должны! Если там все ОК.
|
|
|
|
|
Sep 2 2014, 13:58
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Цитата(SM @ Sep 2 2014, 16:48)  Счас посмотрю, я пользовался spnu118l - ARM Assembly Language Tools v5.1 и описанием на Toot Table, его и положил на флэшку (только начало). Цитата(SM @ Sep 2 2014, 16:48)  Про питание - на ШИМе осцилл должен синхронизироваться по любому, если в ОС все ОК. Спасибо, согласен, осталось найти причину, пока надеюсь она окажется в резаках ОС.
|
|
|
|
|
Sep 2 2014, 14:16
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(doom13 @ Sep 2 2014, 18:09)  А зачем тогда написан spnu118l Так ARM-ов у TI много, и у каждого свои прибамбасы... Когда писался armhex с буттаблей, этих омапов еще в помине не было... У AM3517, к примеру, еще один формат, простой до полного тупизма, и не буттабле, и не AIS. В общем, каждый индус пишет что-то свое сам
|
|
|
|
|
Sep 2 2014, 14:27
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Цитата(AlexandrY @ Sep 2 2014, 17:16)  Шум земли не дает синхронизироваться. Это Вы по третьей картинке определили, где уровень триггера низковато выставлен? Тогда более корректные снимки: 1) Осциллограмма с выхода импульсного источника питания. 2) То же, но про включённой кнопке Single Sequence.
Эскизы прикрепленных изображений
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|