|
|
  |
Подскажите по TWI (I2C), C эмулятором все ок, без него не работает. |
|
|
|
Apr 19 2007, 12:03
|
Группа: Новичок
Сообщений: 6
Регистрация: 19-04-07
Пользователь №: 27 165

|
Я только начинающий программист, еще многого не знаю...
Прошу у вас помощи. Имею проц. ATmega 2560 и часы на RAMTRON FM31256... Связь между микрухами по TWI (I2C)...
Так вот когда я запускаю программу под эмулятором, то время считывается правильно. Но если без эмулятора, то похоже связи по TWI не получается... и проц не может считать время. Эмулятор AVR AT JTAGICE Mk II.
На сколько я понимаю, эмулятор записывает в проц. программу... А в чем разница работы проца под эмулятором и самостоятельно. Может это меня на толкнет на выяснение причины.
|
|
|
|
|
Apr 19 2007, 12:48
|

Частый гость
 
Группа: Свой
Сообщений: 175
Регистрация: 16-03-07
Из: Москва
Пользователь №: 26 228

|
могу поделится опытом, было давно и не правдо  , однако когда только начинал осваивать МК - пытался связываться к компом по RS232, c JTAG эмулятором всё отлично работало, а как только его отключал - переставала работать связь с PC... оказалось - не было земли  , а при подключённом JTAG, земля проходила через него.... Глупейшая конечно ошибка, но "опыт - сын ошибок трудных...." Может у Вас проблема из этого разряда? Электроника - наука о контактах.
--------------------
Быстро, Дёшево, Качественно-выбери любые 2 пункта
|
|
|
|
|
Apr 19 2007, 12:51
|
Группа: Новичок
Сообщений: 6
Регистрация: 19-04-07
Пользователь №: 27 165

|
Цитата(IgorKossak @ Apr 19 2007, 12:14)  Возможно эмулятор слегка подтормаживает весь процесс если количество точек останова больше 4. Без него или с нормальным количеством брейкпоинтов процесс идёт быстрее. Попробуйте уменьшить сопротивление подтягивающих резисторов до 2.4 кОм. У меня вообще нет точек останова. Подтягивающие резисторы использую внутрении в ATmega... Однако с эмулятором все ок!, а без него никак. Пробовал снижать скорость... Понизил до 10kHz, все равно без эмулятора не работает. Причем проверяли это на нескольких платах. На одной все работает как надо, а надругих 4-ех нет...
|
|
|
|
|
Apr 19 2007, 13:02
|

Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 10-02-05
Пользователь №: 2 544

|
Цитата Подтягивающие резисторы использую внутрении в ATmega... У внутренних резисторов большое сопротивление. Обязательно поставьте внешние, как советовал IgorKossak, после этого попробуем разобраться дальше.
|
|
|
|
|
Apr 19 2007, 13:03
|

Частый гость
 
Группа: Свой
Сообщений: 175
Регистрация: 16-03-07
Из: Москва
Пользователь №: 26 228

|
Цитата(StasAga @ Apr 19 2007, 13:51)  У меня вообще нет точек останова. Подтягивающие резисторы использую внутрении в ATmega... Однако с эмулятором все ок!, а без него никак. Пробовал снижать скорость... Понизил до 10kHz, все равно без эмулятора не работает. Причем проверяли это на нескольких платах. На одной все работает как надо, а надругих 4-ех нет... Возможна ошибка в каком угодно месте, например в неправильной разводке ПП, например при очень зашумлённых сигналлах JTAG их будет "фильтровать", а без него работать не будет... А при подключённом JTAG, но без отладки по нему - работает (незнаю имеется ли такая возможность для AVR, для MSP430 - заливаешь по JTAG прогу, при включенном JTAG передёргиваешь питание и работает на ура)? если да - скорее всего проблема с самой платой Да и внутренние резисторы большие - попробуйте поставить как советует тов.IgorKossak P.S. пока писал про внутренние резисторы Igor26 опередил
Сообщение отредактировал rumit2000 - Apr 19 2007, 13:04
--------------------
Быстро, Дёшево, Качественно-выбери любые 2 пункта
|
|
|
|
|
Apr 20 2007, 11:14
|
Группа: Новичок
Сообщений: 6
Регистрация: 19-04-07
Пользователь №: 27 165

|
Спасибо за помощь. Внешние подтягивающие резисторы действительно нужны. Но проблема оказалась в другом. Как говорится, внимательно надо мануал читать...
Так называемый Processor Companion в Ramtron FM31256 начинает работать лишь спустя 100 милисекунд после подачи питания. А у меня в самом начале программы шла инициализация этого самого Processor Companion по TWI... Вот и получалось, что при работе с эмулятором питание на плате не сбрасывалось и все работало. А при запуске без эмулятора - сбрасываешь питание, начинается инициализация Processor Companion, а Ramtron в это время молчал как партизан, ожидая те самые 100 милисекунд.
В итоге пришлось поставить задержку, и теперь все работает ОК!
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|