usercod
Jun 20 2012, 12:01
Добрый день!
Для решения проблемы USCI30, описанной в SLAZ059J–April 2010, для серии F550x F5510, предлагается несколько вариантов. Я выбрал DMA.
Под отладкой все прекрасно работает, slave принимает данные без проблем. Как только запускаю процессор без отладки, I2C отваливается. Линия SCL в нуле.
Мастер посылает 3 байта данных, и периодически считывает 18 байт. DMA инициализирован на три байта, далее прерывание от DMA и обработка.
Внешнее проявления проблемы без дебагера такие:
После старта могут быть записаны только 2 байта, после этого клоки в ноль. При этом, после старта, до записи, чтение работает без проблем.
Подскажите, кто как решил эту задачу.
usercod
Jun 21 2012, 07:12
Дополнение:
Дебагер подключается через интерфейс Spy-Bi-Wire. Так вот, если в момент включения пин RSTM подключен к разъему дебагера, все будет работать без проблем. По схеме линия сброса подключена к питанию через RС-цепь (47кОм, 2200pF). Осциллографом смотрел никаких изменений на линии не происходит, без дебагера и с ним.
Но все же какая-то завязка есть.
KykyryzzZ
Jun 21 2012, 07:42
Частота передачи не изменяется? В режиме дебаг частота может быть ниже, а в нормальном режиме задержки уменьшаются и все плывет
usercod
Jun 21 2012, 09:46
Контролирую SMCLK - все один к одному. Частота I2C задается мастером, поэтому отличий тоже нет.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.