Serhiy_UA 1 27 мая, 2009 Опубликовано 27 мая, 2009 · Жалоба ...... и разве MAC адрес не внутри контроллера должен храниться??? После включения, базовый адрес (БА) всегда равен 0х0300. Однако БА может быть загружен с EEPROM, то есть, при желании изменен. Менять адрес полезно, когда на шине ISA несколько чипов, а не один. Но я так не делал, у меня на шине ISA один чип LAN91C111, и все регистры доступны по адресам 0х0300. 0х0301 … 0х030E. То есть задаете адрес: получаете доступ… Только не забывайте, что внутри чипа регистры рассредоточены по банкам. По этому, чтобы обратиться к произвольному регистру, необходимо заранее задать банк, в котором этот регистр находится. Делать это лучше всего с помощью любого программируемого микроконтроллера; я здесь об этом уже писал, что применяю NiosII. По другому - очень трудно... Чип очень сложный для понимания, не пойму мотива, почему Вы его осваиваете. Есть другие чипы для Ethernet, попроще…. Это судя по Вашим вопросам. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Racot-god 0 27 мая, 2009 Опубликовано 27 мая, 2009 · Жалоба Спасибо))) это я уже более менее понял))) а насчёт EEPROM??? если я её не подвешу то что изменится??? куда эти регистры девать??? А насчёт почему этот контроллер - на работе сказали этот взять. вот я и взял... я человек подневольный)))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serhiy_UA 1 27 мая, 2009 Опубликовано 27 мая, 2009 · Жалоба ... а насчёт EEPROM??? если я её не подвешу то что изменится??? куда эти регистры девать??? EEPROM можно не ставить. А регистров внутри много их нужно инициализировать, иначе lan91c111 работать не будет. Текст программ инициализации был выложен в предыдущем посте. Но это только часть необходимых программ, нужно еще пять раз по столько же, других. В Интернете есть примеры программ, надо поискать... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Racot-god 0 27 мая, 2009 Опубликовано 27 мая, 2009 (изменено) · Жалоба Спасибо) покапаюсь)) правдад не нашёл текстов инициализации((( Изменено 27 мая, 2009 пользователем racot-god Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Racot-god 0 10 июня, 2009 Опубликовано 10 июня, 2009 · Жалоба не могли бы вы поподробнее рассказать как обращаться к регистрам PHY?? по каким адресам?? я из даташита не понял (LAN91C111.pdf))) и ещё эти регистры просто вначале нужно проинициализировать и потом они меняться не будут??? или они их значение изменяется и нужно писать прогу для управления ими??? (заранее спасибо...очень нужно)) пытаюсь сам разобраться но мне не понятно((( наверно не хватает каких то знаний(((( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serhiy_UA 1 10 июня, 2009 Опубликовано 10 июня, 2009 (изменено) · Жалоба 1. Какой микроконтроллер будет работать с LAN91C111? 2. Скорей всего Вы их состыкуете через шину ISA BUS и других чипов на этой шине не будет, так? 3. Если используется ISA BUS, то обращение к регистрам через адреса 0х0300. 0х0301 … 0х030E, об этом уже писалось. То есть других кодов адреса не будет, а только эти. Теперь на стр.56 перечислены все доступные регистры, но доступ к ним через задания номера банка, об этом тоже писал. Документ прилагается. 4. Теперь об регистрах PHY, их много и доступ к ним организован по особому, последовательным кодом, через регистр MGMT, см.страницу 77. Обычно эти регистры инициализируются один раз, а потом ничего там не меняют. Программу управления и инициализации ими, нужно писать обязательно. Почти все, что нужно есть в прилагаемом директории smsc91x. Правда, это относится к NiosII, который применен мною, но для других микроконтроллер все аналогично. Изменено 10 июня, 2009 пользователем Serhiy_UA Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Racot-god 0 10 июня, 2009 Опубликовано 10 июня, 2009 · Жалоба контроллер который будет работать с 91с111 - TMS320F28335. Подключение будет по асинхронному интерфейсу XINTF (встроенный в TMS для общения с внешней памятью и устройствами ввода- вывода). Регистр MGMT на 67 стр.( вы наверно ошиблись). Я так и не особо понял на счёт адресации... Вот например к основным регистрам я обрщаюсь так - BASE ADDRESS + смещение... а там как??? .zip скачаю только вечером дома... на работе никак)) :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serhiy_UA 1 10 июня, 2009 Опубликовано 10 июня, 2009 (изменено) · Жалоба .. а там как??? 1. Смотрите таблицу 9.1 на стр.82 (пока опираемся на мой документ). Там MII Serial Frame Structure и в поле PHY Addr задается адрес нужного регистра PHY. Сформировав фрейм, последовательно выталкиваем его через MGMT в регистры PHY. Я работал и с другими Ethernet-контроллерами, и этот способ мне более всего не нравится в LAN91C111, хотя в целом это очень милое существо… :) Остальное можно понять, изучив smsc_phy.c. Здесь я долго не мудрствовал, а просто взял С-код как есть… Хотя в остальном софте была адаптация. Кстати есть С-коды и для других микроконтроллеров. 2. По поводу TMS320F28335 – приятный чип. Изменено 10 июня, 2009 пользователем Serhiy_UA Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Racot-god 0 10 июня, 2009 Опубликовано 10 июня, 2009 · Жалоба А smsc_phy.c где взять? и какие нибудь примеры хотелось бы глянуть))))) :) А адрес наверно всё таки задаётся в поле REG.Addr а не PHY Addr?? Хотя тогда что подразумевается под PHY ADDR - это когда несколько трансиверов??? И главное куда REG.ADDR записпть (в какой регистр)??? и тогда будет обращение к PHY регистрам BASE_ADRESS + REG.ADDR??? похоже без примеров мне не обойтись... А такие глупые вопросы потому что только год как универ закончил и немного не по этой специальности)) а на работе запрягают))) вот у меня и много не поняток))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serhiy_UA 1 10 июня, 2009 Опубликовано 10 июня, 2009 · Жалоба А smsc_phy.c где взять? и какие нибудь примеры хотелось бы глянуть))))) :) А адрес наверно всё таки задаётся в поле REG.Addr а не PHY Addr?? Хотя тогда что подразумевается под PHY ADDR - это когда несколько трансиверов??? И главное куда REG.ADDR записпть (в какой регистр)??? и тогда будет обращение к PHY регистрам BASE_ADRESS + REG.ADDR??? К регистрам PHY напрямую через MGMT, а к MGMT через BASE_ADRESS + 8. Вот такая конитель, неужели не понятно... Примеры я уже выслал, читайте. Вот еще пример от Ethernut_de. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Racot-god 0 11 июня, 2009 Опубликовано 11 июня, 2009 · Жалоба Я малый не дурак....да и дурак не малый... :) Спасибо! буду разбираться))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться