STM32 (Cortex-M3) + свитч по MII

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
pulo
Родился
Сообщения: 9
Зарегистрирован: Чт авг 18, 2011 18:41:42

STM32 (Cortex-M3) + свитч по MII

Сообщение pulo »

Здравствуйте.
Есть устройство stm32f107+KSZ8993M, свитч подключен по MII собственно вопрос, что это значит и как с ним общаться? покурил даташит к свитчу, просветления не достиг, куча регистров для разных целей, а где их объявлять и как связать с устройством я не вкурил, из гугла понял, что по шине MDC выполняется синхронизация(или переключение чтение/запись), а по шине MDIO выполняется передача информаци, может кто подскажет как оно работает или где искать?
Реклама
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: STM32 (Cortex-M3) + свитч по MII

Сообщение Satyr »

Ессно про обмен по MDI интерфейсу читать в даташите к stm32f107.
А что в какие регистры и зачем - в даташите на KSZ8993M

Как именно работает MDI париться нет необходимости. Идеология как у I2C, в реализации несколько иначе.

Тупо все регистры прописывать нет необходимости. См. на занчения по умолчанию после резета. Думаю, там > 90% уже будут необходимые для большинства случаев.
Реклама
pulo
Родился
Сообщения: 9
Зарегистрирован: Чт авг 18, 2011 18:41:42

Re: STM32 (Cortex-M3) + свитч по MII

Сообщение pulo »

Разбираюсь с даташитом МК, единственное не понял, откуда МК узнает о регистрах свитча?
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: STM32 (Cortex-M3) + свитч по MII

Сообщение Satyr »

pulo писал(а):Разбираюсь с даташитом МК, единственное не понял, откуда МК узнает о регистрах свитча?
Ни откуда он о них не знает.
У него лишь есть связь с интерфейсом свича, через который можно эти регистры менять.

"Знать" их и конфигурировать - чисто твоя задача. Поищи примеры под STM32 чего нибудь с ethernet'ом. Внутреннего PHY там нет, так что полюбому будет по MII подключен Ehternet PHY и хоть какой то обмен с ним по MDIO.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: STM32 (Cortex-M3) + свитч по MII

Сообщение Satyr »

Собсна, 40 секунд поисков.

см в библиотеке в stm32_eth.h функции:

u16 ETH_ReadPHYRegister(u16 PHYAddress, u16 PHYReg);
uint32_t ETH_WritePHYRegister(u16 PHYAddress, u16 PHYReg, u16 PHYValue);
Реклама
pulo
Родился
Сообщения: 9
Зарегистрирован: Чт авг 18, 2011 18:41:42

Re: STM32 (Cortex-M3) + свитч по MII

Сообщение pulo »

Это да, видел данные функции, пытался понять как они работаю с шиной, но все корни уходят к тому, что некую структуру (ETH_TypeDef) натягивают на область памяти со смещением от PERIPH_BASE и производят чтение/запись в эту область, только как производят связывание памяти с шиной?
Реклама
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: STM32 (Cortex-M3) + свитч по MII

Сообщение Satyr »

Оно тебе надо ? :))
Если надо - открывай даташит и внимательно смотри карту памяти и принципы работы с периферией вообще в STM32.

В Cortex-M3 нет портов ввода-вывода, какими они были привычны в x86. Абсолютно все регистры memory mapped
pulo
Родился
Сообщения: 9
Зарегистрирован: Чт авг 18, 2011 18:41:42

Re: STM32 (Cortex-M3) + свитч по MII

Сообщение pulo »

Satyr, большое спасибо за ответы :) , действительно, после x86 довольно непривычно, буду разбираться со структурой памяти, точнее тем, куда чего писать.
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: STM32 (Cortex-M3) + свитч по MII

Сообщение Satyr »

Короче, некоторые адреса в памяти - и есть регистры переферии.
описываешь структуру в той последовательности, что регистрый у девайса, ставишь адрес структуры на адрес начального регистра девайса - и запись в переменные структуры пойдет точно в нужные адреса памяти, которые являются регистрами того или иного девайса.

Все стандартные хеадеры от производителей камней именно так построены. Если сам будешь что делать, главное не забыть volatile к таким структурам приписать, а то компилер нафиг выбросить всю эту инициализацию "неиспользуемых переменных" -))
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»