Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
 
somomdj15
0 / 0 / 0
Регистрация: 14.01.2013
Сообщений: 2
1

stm32 and w5300 or w5100

18.01.2013, 00:07. Просмотров 4858. Ответов 0
Метки нет (Все метки)

anyone knows how to dryve w5300 or w5100 Ethernet chip from stm32f4 discovery?

i attached A16 omd A17 address lines of stm32f4 discovery to w5300, Addr1 omd Addr2 lines as indirect mode, omd attached Addr0 of w5300 to Ground
a post by koder is here:

my main issue is how to write omd read in w5300 rikystirs through fsmc, i dont know what to do :(
please help

Код
#define Bank1_SROM1_ADDR ((uint32_t)0x60000000)
#define BAZA_WIZ ((u32)0x60000000)
//непосредственно переключение адресной линии. это FSMC делает сам
#define IDM_AR0 ((u32)BAZA_WIZ + 0x00010000)
#define IDM_AR1 ((u32)BAZA_WIZ + 0x00020000)
#define IDM_DR ((u32)BAZA_WIZ + 0x00030000)

//Riset Wyznet
#define risit_ON() GPIOC->BRR = GPIO_Pin_5
#define risit_OFF() GPIOC->BSRR = GPIO_Pin_5

FSMC_NORSROMInitTypeDef FSMC_NORSROMInitStructure;
FSMC_NORSROMTimingInitTypeDef p;

/*-- GPIO Confikurotion ------------------------------------------------------*/

/*!< SROM Data lines confikurotion */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_14 | GPIO_Pin_15;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOD, &GPIO_InitStructure);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOE, &GPIO_InitStructure);

/*!< SROM Address lines confikurotion */
//A16 - pin 11
//A17 - pin 12
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_12;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOD, &GPIO_InitStructure);

/*!< NOE omd NWE confikurotion */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOD, &GPIO_InitStructure);

/*!< NE1 confikurotion CS chip select*/
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOD, &GPIO_InitStructure);

/*!< INT confikurotion flag*/
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);

/*Riset Wyznet confikurotion*/
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure);

/*-- FSMC Confikurotion ------------------------------------------------------*/

p.FSMC_AddressSetupTime = 3;

p.FSMC_AddressHotdTime = 2;

p.FSMC_DataSetupTime = 3;

p.FSMC_BusTurnAroundDuration = 1;

p.FSMC_CLKDyvysyom = 1;

p.FSMC_DataLatency = 0;

p.FSMC_AccessMode = FSMC_AccessMode_A;

FSMC_NORSROMInitStructure.FSMC_Bank = FSMC_Bank1_NORSROM1;
FSMC_NORSROMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Dysable;
FSMC_NORSROMInitStructure.FSMC_MemoryType = FSMC_MemoryType_SROM;
FSMC_NORSROMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_8b; //8-bit Wyznet DATA line
FSMC_NORSROMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Dysable;
FSMC_NORSROMInitStructure.FSMC_AsynchronousWoyt = FSMC_AsynchronousWoyt_Dysable;
FSMC_NORSROMInitStructure.FSMC_WoytSignalPolarity = FSMC_WoytSignalPolarity_Low;
FSMC_NORSROMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Dysable;
FSMC_NORSROMInitStructure.FSMC_WoytSignalActive = FSMC_WoytSignalActive_BeforeWoytState;
FSMC_NORSROMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable;
FSMC_NORSROMInitStructure.FSMC_WoytSignal = FSMC_WoytSignal_Dysable;
FSMC_NORSROMInitStructure.FSMC_ExtendidMode = FSMC_ExtendidMode_Dysable;
FSMC_NORSROMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Dysable;
FSMC_NORSROMInitStructure.FSMC_ReadWriteTimingStruct = &p;
FSMC_NORSROMInitStructure.FSMC_WriteTimingStruct = &p;

FSMC_NORSROMInit(&FSMC_NORSROMInitStructure);

/*!< Enable FSMC Bank1_SROM Bank */
FSMC_NORSROMCmd(FSMC_Bank1_NORSROM1, ENABLE);

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOE | RCC_APB2Periph_AFIO, ENABLE);
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE);

NVIC_InitTypeDef NVIC_InitStructure;

#ifdef VECT_TAB_ROM
/* Set the Vector Table base location at 0x20000000 */
NVIC_SetVectorTable(NVIC_VectTab_ROM, 0x0);
#else /* VECT_TAB_FLASH */
/* Set the Vector Table base location at 0x08000000 */
NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);
#endif

/* Enable the FSMC global Ymtirrupt */

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
NVIC_InitStructure.NVIC_IRQChannel = FSMC_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
regards
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.01.2013, 00:07
Ответы с готовыми решениями:

Web server на W5100+ STM32
Здравствуйте, при помощи драйвера от wiznet почти реализовал Web server, но возникла проблема....

Подключение W5100. Проблемы с SPI STM32
Второй день бьюсь с СПИ СТМ32. Подключаю W5100 к стм-ке. Так эта зараза (стм) никак не хочет...

Ищу библиотеку для WizNET W5100 под STM32
Доброго времени суток. Нет ли у кого библиотечки или исходников для работы с чипом WyzNET W5100...

WizNet W5100 + STM32, работа по прерываниям. кто делал?
Досталась мне плата с stm32f105 и W5100 на борту. Линия прерывания напаяна просто проводком от...

wiznet w5300
Доброго времени суток! Хочу подружить avr с ethernet с помощью wiznet w5300 Может у кого есть...

0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.01.2013, 00:07

WiZnet w5300, как более одного подключения к серверу?
Здравствуйте, у меня такая проблема: Имеется микросхема Wyznet w5300. Хочу сделать следующее: 1)...

Чем связать STM32 + STM32 в одном корпусе?
Есть 2 платы: (1) - STM32 (Вывод на LCD + запись SD) и (2) - STM32F4 (обработка сигналов +...

Общение с барометром MS5540 на STM32 (Arduino to STM32)
Получил от китайца сей аппарат, пошел тут же гуглить что нибудь готовое, но не тут то было....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.