Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.12.36.30] |
|
Сообщ.
#1
,
|
|
|
Всем привет!
Тоже не могу завести ENC28J60-H. SPI настроил, функции прописал (использовал статью http://we.easyelectronics.ru/electro-an ... 28j60.html) Проблема заключается в следующем: Есть подряд идущие функции: чтение ECON1, запись в ECON1 и опять чтение. Если их через дебаггер последовательно проходить, то все считывается нормально. Если установить брейкпоинт на следующей за ними функциями, то читается только 0x00. Создается впечатление, что контроллеру не хватает времени обработать полученные команды. Снизил скорость до 100-150 кГц, но проблему это не исправило. Добавил после каждой отправки данных по SPI задержку, стало работать. Но, как по мне, не комильфо так делать. Тем более по документации у ENC скорость 20-25 МГц. Не знаете, в чем может быть проблема? Gопробовал дальше пойти: Взял функцию инициализации, как в той статье. После ее вызова считываю регистр ECON1. Но там опять какой-то мусор. Даже не смотря на то, что задержки остались. Однако, при пошаговом проходе все нормально. |
Сообщ.
#2
,
|
|
|
Ссылка не передалась
|
Сообщ.
#3
,
|
|
|
Сообщ.
#4
,
|
|
|
Цитата SteAlzzer @ Создается впечатление, что контроллеру не хватает времени обработать полученные команды. А ты апноты к ENC внимательно читал? Насчет скорости SPI? Мне пришлось с мегагерца (ЕМНИП) 877 уходить на четыре на 452 контроллерах. Иначе чтение работало нестабильно (то читались нули из регистров, то норма). А уровень PHY был вообще недосягаем... |
Сообщ.
#5
,
|
|
|
medved_68, а апноты - это, простите, что?
По документации, скорость SPI 10Mb/s, т.е. вроде где-то 1МГц. Сейчас у меня скорость SPI приблизительно 7.8 кГц. Хочу сказать, что в два раза и ее уменьшал, но картина все таже. Очень похожа на вашу - либо нули, либо норм. И PHY так же недосягаем) |
Сообщ.
#6
,
|
|
|
Цитата SteAlzzer @ medved_68, а апноты - это, простите, что? AppNote или официальные "недоработки" разработчиков, зарегистрированные в errate файлах. Которые, как билдинги, могут появляться и пропадать от серии к серии. В зависимости от предпринятых действий по исправлению. Так вот, в апнотах разработчики уведомляют пользователей, как им "дальше жить" с выявленным багом в их серии. Т.е. как попробовать обойти ошибку разработки. Цитата SteAlzzer @ По документации, скорость SPI 10Mb/s, т.е. вроде где-то 1МГц. Сейчас у меня скорость SPI приблизительно 7.8 кГц. Ну вот тебе официалка из Errata ENC28J60.pdf: Цитата Важное я тебе выделил. Я на это налетел со всего размаху, когда перешел к практической части и стал пробовать читать буфер приема. Так что.... 1. Module: MAC Interface When the SPI clock from the host microcontroller is run at frequencies of less than 8 MHz, reading or writing to the MAC registers may be unreliable. Work around Two work arounds are presented; others may be available. 1. Run the SPI at frequencies of at least 8 MHz. 2. Generate an SPI clock of 25/2 (12.5 MHz), 25/3 (8.333 MHz), 25/4 (6.25 MHz), 25/5 (5 MHz), etc., and synchronize with the 25 MHz clock entering OSC1 on the ENC28J60. This could potentially be accomplished by feeding the same 25 MHz clock into the ENC28J60 and host controller. Alternatively, the host controller could potentially be clocked off of the CLKOUT output of the ENC28J60. Добавлено Цитата medved_68 @ уходить на четыре на 452 Пардон, на десятку на 452 контроллере. Память, она такая, а сейчас поднял архив и.... |
Сообщ.
#7
,
|
|
|
medved_68, спасибо большое! Вроде когда листал ерату, не заметил этого. Ну сам виноват)
Сейчас попробуем поднять частоту! |