реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Жесткие проблемы с I2C..., Помогите, знающие люди)
Genius1
сообщение Sep 19 2008, 17:53
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 14-05-08
Пользователь №: 37 515



Использую PIC18LF2520. Система состоит из 3 процессоров. Они обмениваются друг с другом по I2C. При этом один является мастером, а 2 других - слейвы. Один слейв я для отладки выключил.
Собственно суть проблемы: Мастер производит постоянное (через 10мс) чтение 16 байт с одного из слейвов. Сначала все идет по графику. А через некоторое время (может быть как 2мин, так и 40) мастер уходит в постоянную генерацию. Т.е. на линии SCL наблюдается постоянная генерация тактовых импульсов, а на SDA - постоянная 1. При этом что интересно процессор может так глючить какое-то время (обычно десятки минут) а затем восстановить нормальную работу. Перерыли казалось бы все... Кварц исправен, WDT включен на 4с., Подтяжка I2C 5,6кОм на питание.
И, кстати, еще, снимая питание с MCLR ноги обоих слейвов мастеру попрежнему кто-то в линии I2C отвечает. Фьюз = MCLREN. Так что оба слева вообще должны быть выключены... Кто тогда мастеру отвечает? Сам себе?
ПОМОГИТЕ!!! Тупим уже втроем... Все перебрали...
Go to the top of the page
 
+Quote Post
rezident
сообщение Sep 19 2008, 18:17
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Используете аппаратный модуль MSSP или программный I2C? Я бы попробовал на мастере сделать программный I2C. Уж он-то при сбросе 100% обязан "затыкаться".
Go to the top of the page
 
+Quote Post
Genius1
сообщение Sep 19 2008, 18:24
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 14-05-08
Пользователь №: 37 515



Цитата(rezident @ Sep 19 2008, 22:17) *
Используете аппаратный модуль MSSP или программный I2C? Я бы попробовал на мастере сделать программный I2C. Уж он-то при сбросе 100% обязан "затыкаться".

Аппаратный MSSP... Использование программного затруднительно, т.к. слейвы одновременно работают еще и через USART.
Go to the top of the page
 
+Quote Post
rezident
сообщение Sep 19 2008, 19:49
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Genius1 @ Sep 20 2008, 00:24) *
Аппаратный MSSP... Использование программного затруднительно, т.к. слейвы одновременно работают еще и через USART.
Не, вы не поняли меня. На слейвах пускай аппаратный остается. Программный I2C попробуйте только на мастере! Генерит (по спецификации I2C имеет право генерить) SCL ведь только мастер.
Go to the top of the page
 
+Quote Post
Constantka
сообщение Sep 20 2008, 02:17
Сообщение #5


Участник
*

Группа: Свой
Сообщений: 47
Регистрация: 15-09-08
Из: Россия, Москва, САО
Пользователь №: 40 220



Цитата(rezident @ Sep 19 2008, 22:49) *
Генерит (по спецификации I2C имеет право генерить) SCL ведь только мастер.
могу подать идею, во время аномальной генерации посадить SDА на землю пинцетиком, если генерация осмысленная, мастер должен ждать, пока линию отпустят, но сама я так не пробовала. За неимением под рукой осциллографа с памятью на 40 минут smile.gif меня выручает ICD2 в режиме отладчика. По крайне мере можно остановить и посмотреть состояние упр. битиков MSSP.

Сообщение отредактировал Короткова Светлана - Sep 20 2008, 02:19
Go to the top of the page
 
+Quote Post
Genius1
сообщение Sep 20 2008, 14:57
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 14-05-08
Пользователь №: 37 515



Спасибо отозвавшимся! Не буду пока утверждать что проблема решена, но после исправления программы срывов еще не было.
Предварительный диагноз: Модуль MSSP на слейве отключался (или включался?) в неподходящее время. Т.е. во время активности на шине. Ввел небольшой контроль активности и будем надеяться, что вуаля)

P.S. Контроллерами начал заниматься с нуля, причем уже в этом году. И это мой первый проект. Причем сложный. Так что ошибки неизбежны. Спасибо за помощь.

Сообщение отредактировал Genius1 - Sep 20 2008, 15:06
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 7th July 2025 - 04:34
Рейтинг@Mail.ru


Страница сгенерированна за 0.01411 секунд с 7
ELECTRONIX ©2004-2016