Перейти к содержанию
    

Wi-Fi-микросхема Atmel WINC1500

Это очень хорошая цена за модуль в единичных количествах, но учитывайте, что ПО частично сырое и в граничных условиях есть баги, но они фиксятся оперативно.

Там стоимость $12 при покупке 500 штук. Это на сайте у них так. На mouser.com цены примерно такие же.

Спасибо огромное за ответ!

Мне случайно достался в руки этот ATWINC1500 и он пришелся кстати) Хочу сделать игрушку и если людям понравится, то может попробую опытную партию изготовить.

Раз уж на то пошло, то хотел еще маленький вопросик задать: у меня есть связка SAMD21 (Cortex-M0+ CPU, 48MHz) и этот Wi-Fi модуль. Справится ли такая связка с такими задачками:

1. работать с RSS

2. принимать почту и парсить принимаемый текст

3. принимать команды от устройств в локальной сети (то есть работать как простенький сервер)?

Изменено пользователем Расул

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. работать с RSS

2. принимать почту и парсить принимаемый текст

3. принимать команды от устройств в локальной сети (то есть работать как простенький сервер)?

Зависит от нагрузки, особенно часть про сервер. В принципе я не вижу особых проблем, принимая во внимание, что сервер работает на МК на 48 МГц.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне кажется, это придется воспроизводить с D21. Если есть реальная проблема с настоящими роутерами, то это значительно хуже и будет проще ускорить починку.

Давно не писал. После обновления до 18.3 на D21 не удается фатально уронить систему. Работает, не падает. В режиме отправки udp пакетов получил скорость 1.9Мбит/с. Это бесконечный цикл, в котором без пауз засылаются пакеты. Быстрее уже и не сделать.

 

На моей системе с плис скорость udp доходит до 6Мбит/с. Наверно из-за этого на ней иногда происходит фатальное зависание. Так то работа над проектом закончена.

 

ataradov благодарствую!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте.

 

Тоже использую данный модуль в связке с ПЛИС. Кто какой скорости достигал в режиме TCP?

Мой показатель пока 5.45 МБ/c. (Режим SPI 24мгц.)

Изменено пользователем Inanity

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте.

А расскажите о своей системе, что за плис используете?

Я tcp чуток задействовал, там буквально несколькими запросами обмен происходит, так что скорость там не нужна.

SPI на 25мгц работает.

По скорости у меня сложилось такое представление.

Вот прикрепил картинку.

Загнать в spi данные можно очень быстро, ничего в принципе не мешает, с частотой 25мгц можно гнать. И получим все 25 мбит/с.

Но на каждый мой sento() приходит прерывание, которое нужно обработать. Обработка заключается в считывании, что же за прерывание пришло, обнуление регистра прерывания в winc, вызов коллбеков. Все это - разовые запросы по spi, а вот они очень медленные у меня получились, пока ниос вызовет функцию, пока ей передаст данные, пока дождется, когда аппаратные spi отправит данные в винк и т.д. На это в лучшем случае у меня получилось 180 тактов частоты 100мгц. И таких порций по 180 тактов уйма.

Потом при вызове sendto() драйвер сперва сообщает винку, что он сейчас будет передавать udp данные, формирует заголовок IP, заголовок UDP и т.д.

Это опять небольшими обращениями по spi. И это опять уйма порций по 180 тактов.

 

У вас скорее всего точно также получается. Сами данные то быстро запихиваются, а вот обработка и подготовка - половина времени.

 

post-52845-1434391663_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А расскажите о своей системе, что за плис используете?

 

ПЛИС Xilinx Spartan-6. Соответственно microblaze на частоте 96мгц (96/4 = 24 - SPI). Для управления используем исходники атмела (правда, там дикая вложенность в функциях, надо переписывать всё). Первоначально управляли модулем через ядро SPI-AXI, но там CS дергается вручную (записью в регистр), поэтому медленно получалось. Заменили на Quad-SPI-AXI, там CS аппаратный, данные пишутся

в FIFO и отправляются. Отправляем команду, потом 256 байт данных. В таком виде это дало 5.45Мб/с. Пока делаем профайлинг, может можно ещё что-то оптимизировать.

 

Интересно, какой объём данных модуль может за раз принять? т.е. в после одной команды и в течение опущенного CS?

Изменено пользователем Inanity

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я сперва использовал альтеровский компонент SPI, но после стал искать на чем скорость падает, обнаружил, что их компонент слишком много не нужных (мне не нужных) операций делает, типа, проверка готовности, сброс регистра ошибок чтения, в который выставляется ошибка, если производилась только запись, и т.п. Написал свой spi компонент, это позволило ускорить работу.

 

По поводу объема данных, который модуль может принять за раз.

Посмотрит файл nm_bus_wrapper_samd21.c, там есть такой дефайн: #define NM_BUS_MAX_TRX_SZ 2048

Изначально там 256.

 

Еще посмотрите файл nmbus.c, функцию nm_read_block (в nm_write_block аналогично):

    uint16 u16MaxTrxSz = egstrNmBusCapabilities.u16MaxTrxSz - MAX_TRX_CFG_SZ;
    uint32 off = 0;
    sint8 s8Ret = M2M_SUCCESS;

    for(;;)
    {
        if(u32Sz <= u16MaxTrxSz)
        {
            s8Ret += p_nm_read_block(u32Addr, &puBuf[off], (uint16)u32Sz);
            break;
        }
        else
        {
            s8Ret += p_nm_read_block(u32Addr, &puBuf[off], u16MaxTrxSz);
            if(M2M_SUCCESS != s8Ret) break;
            u32Sz -= u16MaxTrxSz;
            off += u16MaxTrxSz;
            u32Addr += u16MaxTrxSz;
        }
    }

    return s8Ret;

 

По сути, если вы засылаете (или читаете) блок данных по spi, больше, чем NM_BUS_MAX_TRX_SZ-MAX_TRX_CFG_SZ, то драйвер разбивает их на порции.

 

Я с этим столкнулся, когда пытался с помощью sendto() в udp засунуть 1400 байт, и подофигел, увидев в wireshark'e вместо одного пакета аж шесть пакетов.

 

Параметр увеличил до 2048, но по udp максимальный блок засылаю 970 байт, больше - какие то проблемы возникли у драйвера, уже не помню подробности.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не могу загрузить прошивку используя UART. Подключил шнурок непосредственно к модулю, подал питание ChipEnable и сброс.

 

батник для загрузки, поставляемый производителем вываливает следующее

 

Mode UART
Downloading Image...
********************************************
*  >Programmer for WINC1500 SPI Flash<     *
*      Owner:  Atmel Corporation           *
********************************************
Firmware Path (2B0) C:\REL_ATWINC1500_AT_COMMAND_V0_9_1_20160311\firmware_tools\
firmware\m2m_aio_2b0.bin
Firmware Path (3A0) C:\REL_ATWINC1500_AT_COMMAND_V0_9_1_20160311\firmware_tools\
firmware\m2m_aio_3a0.bin
>>Initialize programmer.
Detecting ports...
(APP)(ERR)[nm_bus_port_detect][577]Failed to find any COM ports
0 of ports found
(ERR)Failed To intilize programmer
Fail
   #######################################################################
   ##                                                                   ##
   ##                    ########    ###     ####  ##                   ##
   ##                    ##         ## ##     ##   ##                   ##
   ##                    ##        ##   ##    ##   ##                   ##
   ##                    ######   ##     ##   ##   ##                   ##
   ##                    ##       #########   ##   ##                   ##
   ##                    ##       ##     ##   ##   ##                   ##
   ##                    ##       ##     ##  ####  ########             ##
   ##                                                                   ##
   #######################################################################

 

 

Попытка запустить АТ-прошивку (если она с завода зашита???) тоже не увенчалась успехом. Модуль реагирует на сброс и CE изменяя потребление.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не могу загрузить прошивку используя UART. Подключил шнурок непосредственно к модулю, подал питание ChipEnable и сброс.

 

батник для загрузки, поставляемый производителем вываливает следующее

 

Mode UART
Downloading Image...
********************************************
*  >Programmer for WINC1500 SPI Flash<     *
*      Owner:  Atmel Corporation           *
********************************************
Firmware Path (2B0) C:\REL_ATWINC1500_AT_COMMAND_V0_9_1_20160311\firmware_tools\
firmware\m2m_aio_2b0.bin
Firmware Path (3A0) C:\REL_ATWINC1500_AT_COMMAND_V0_9_1_20160311\firmware_tools\
firmware\m2m_aio_3a0.bin
>>Initialize programmer.
Detecting ports...
(APP)(ERR)[nm_bus_port_detect][577]Failed to find any COM ports
0 of ports found
(ERR)Failed To intilize programmer
Fail
   #######################################################################
   ##                                                                   ##
   ##                    ########    ###     ####  ##                   ##
   ##                    ##         ## ##     ##   ##                   ##
   ##                    ##        ##   ##    ##   ##                   ##
   ##                    ######   ##     ##   ##   ##                   ##
   ##                    ##       #########   ##   ##                   ##
   ##                    ##       ##     ##   ##   ##                   ##
   ##                    ##       ##     ##  ####  ########             ##
   ##                                                                   ##
   #######################################################################

 

 

Попытка запустить АТ-прошивку (если она с завода зашита???) тоже не увенчалась успехом. Модуль реагирует на сброс и CE изменяя потребление.

Василий, вроде прошивку через UART производитель и не обещал, или что-то поменялось сейчас?

Насколько помню, процедура была разработана для прошивки через SPI и использования отладочной платы Xplained PRO.

Мы для прошивки модулей делали плату с пружинящими "илогками", подключали к отладке и прошивали.

Если хотите - дадим попользоваться.

---------------------------------------------------------------

Извиняюсь, отстал от жизни)!

Действительно, теперь можно шить и по UART, и это хорошо!

Смущает только предупреждение в http://www.atmel.com/Images/Atmel-XXXXX-AT...icatio_Note.pdf:

Several previous versions of ATWINC1500 AT command firmware(version 0.6.1 ~ 0.7.8) used auto start mode on UART2by programming an eFuse. These versions are incompatible with the current version so an ATWINC1500 module which has been programmed with one of these versions can’t use the current version again...

 

Ждем комментариев Алекса Тарадова)

Изменено пользователем WLESS.RU

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Парни я только начал работать с WINC1500. Не можете описать всё воркфлоу как правильно проапдейтить фирмваре. где взять бинарные файлы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Парни я только начал работать с WINC1500. Не можете описать всё воркфлоу как правильно проапдейтить фирмваре. где взять бинарные файлы.

Поройтесь в проектах Atmel Studio для WINC1500 - там и мануал подробный, и файлы прошивки должны быть.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте.

Стал счастливым обладателем данного модуля, пытаюсь подключить к STM32 на собственной плате. Framework скачал с сайта атмела отдельно, AVR studio 7.0 установлена, но я ей не пользуюсь (последней студией, которой пользовался была 4.19 и Avr32Studio).

Пример под STM адаптировал, естественно получаю ошибку M2M_ERR_FW_VER_MISMATCH. (драйвер 19 версии, прошивка 17.1).

Сейчас модуль распаян проводками, один раз к компьютеру подключить я могу, но что делать дальше? Как вообще атмел планировал применять эти модули в готовых системах? На AvrFreaksнарод тоже интересуется этим вопросом, но внятного ответа я не увидел.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Похоже атмел загибается (уже загнулся?). Сайт третий день не работает, никаких файлов скачать нельзя. Мануалы по обновлению прошивки и по запуску примеров не соответствуют действительности (7-й студии). Несколько часов искал, где вообще прошивка лежит. С первого раза ничего не зашилось, не может найти компорт. Судя по всему проблема такая не только у меня, вот товарищ написал развернутый мануал.

http://community.atmel.com/forum/how-firmw...25-xplained-pro

 

Вообще хоть кому-нибудь удалось апгрейдить прошивку без отладочной платы samd21?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В итоге смог обновиться через мост USB-UART. Почему-то долго не получалось, так и не понял, что нужно сделать, чтобы работало. Похоже в модуле есть какой-то таймаут, после которого загрузчик перестает ждать прошивки. Если включить USB, потом сразу модуль (нужные сигналы сброса у меня внешний МК формирует), потом сразу утилиту, то все работает.

Самый последний документ по поводу прошивки лежит в папке ASF

xdk-asf-3.33.0\common\components\wifi\winc1500\firmware_update_project\doc

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...