RTL8710 — konkurencja dla ESP8266

RTL8710 — konkurencja dla ESP8266
Razem głosów: 23 co stanowi: 89.57% całości.

Firma Realtek znana do tej pory głównie z układów sieciowych i muzycznych dla komputerów PC, tym razem poszła w stronę modułów IoT i wypuściła na rynek tanie moduły RTL-00  oparte o układ RTL8710  jest to dobra wiadomość zwłaszcza że….

układy te sa oparte o popularny rdzeń ARM Cortex-M3. Poza modułem który opisuję w tym artykule są też inne których zestawienie znajdziemy w poniższej tabelce:

Oczywiście sama cena nie robi konkurencji , dodatkowo poza rdzeniem ARM z pamięcią również nie jest tak różowo jak w ESP8266 , nie mniej jest spora szansa dzięki faktowi iż układy sa wspierane przez projekt AMEBA i jego społeczność , co przekłada się na dostęp SDK oraz mozliwośc programowania płytek w popularnym środowisku Arduino.

SDK jest oparte o FreRTOS i LWIP, a schemat blokowy SDK widzimy poniżej:

SDK AMEBA pobieramy ze strony projektu: TUTAJ Oczywiście wymagana jest rejestracja. Znajdziemy tam kod źródłowy (folder Component), dokumentację przykładowego kodu (folder projektu) oraz narzędzia dla systemu Windows, jak i iOS , Android konfiguracyjnych (źródło + apk). Tu małe wyjaśnienie jak bedziecie pobierać zauważycie że nazwa SDK kończy się dopiskiem „without_NDA” to ważna informacja gdyż informuje nas, że pewne dokumenty – takie jak dokumentacja RTL8710  – nie są publicznie dostępne w tym czasie. Jednak firma Realtek zauważyła zainteresowanie przedstawioną przez nich niskobudżetową platformą WiSoC, i mam nadzieję, że spółka zdecyduje się na upublicznienie informacji, przynajmniej dla tanich układów RTL8710 / 8711, i umożliwi wykorzystanie pełnych możliwości dla urządzeń WiFi IoT budowanych na podstawie modułów firmy Realtek.

Tym czasem nie jest już tak źle jak się wydaje, i choć AMEBA skupia się w głównym nurcie na układzie RTL8195AM w swojej platformie to daje się zauważyć i rosnące wsparcie dla RTL8710AF.

Tymczasem w moje niecne łapki wpadły do testów moduły RTL-00 oraz płytka RTLduino :

rtlDuino ze sklepu elty.pl

Moduły te mam zamiar wykorzystać do niecnych celów co niebawem opiszę  tymczasem warto zapoznać się ze szczegółami :

Pinout modułu RTL-00:

widok od tyłu

 

Pinout rtlduino:

Technicznie w naszej płytce której pinout przedstawiono wyżej z interesujących nas dodatkowych informacji to podłączenia elementów płytki do modułu:

Oczywiście jak to ostatnio ze mną bywa niebawem pojawi się dedykowany board dla RTL-00  wyposażony w kilka ciekawostek , które objawiły mi się we śnie :P  oraz podczas doświadczeń z modułem osadzonym na płytce rtlduino , a tak łatwo jak się wydaje z tą płyteczką nie jest .. w kwestii programowania ….

Sam moduł jak na Cortexa przystało jest wyposażony w interfejs JTAG i to stanowi właśnie mocną stronę.  I pomimo iż płytkę rtlduino wyposażono w USB i układ CH340G nie służy on do programowania płytki. Tak moi drodzy to tylko komunikacja z terminalem :)

Domyślnie 38400bps

Płytka rtlduino po podłączeniu pozwala na korzystanie z trybu AT Command  i tym samym szybkie przetestowanie modułu. Teraz nie będę się tym zajmował, ale opisze je w następnej części , tu chciałbym się skupić na informacjach ogólnych.

Dobrze .,.. a więc napisałem że przez usb nie zaprogramujemy płytki … tak to prawda. Do programowania jak wspomniałem służy interfejs JTAG  i możemy użyć programatorów :

  • J-link
  • CMSIS-DAP

Sama płytka jest ciekawie wyposażona  …. znajdziemy na niej:

  • Moduł RTL-00
  • LDO AMS1117 3.3  — 3,3V zasilanie dla modułu ze złącza USB
  • Układ CH340G  – do komunikacji z terminalem w trybie AT
  • Diodę RGB
  • Przycisk RESET
  • przycisk TEST
  • Piny wyprowadzone na złącza goldpin po obu stronach płytki

Płytka na rewersie posiada też skróconą instrukcję postępowania , która nie jest istotna w tej chwili , ale jest :)

Dodatkowym smaczkiem są dwie diody schowane pod obudową modułu widoczne przez otworek w blaszce — zielona i czerwona:)

rtlduino zostało dostosowane do wpięcia w płytkę bazową :

która poza rozszerzeniem możliwości posiada wyprowadzone złącze dla J-linka , i możliwość osadzenia modułu RTL-00 zamiast całej płytki rtlduino, ale i programator AMEBA Writer zgodny z CMSIS-DAP zgodny z MBED , nie mniej na tą chwilę nie posiadana prze ze mnie więc skupie się na samym rtlduino i pracy z j-linkiem:)

Na githubie rtlduino -> TUTAJ <  dostępne są pliki umożliwiające pracę z płytką w środowisku Arduino IDE  lecz wymagany jest do programowania J-Link po zastosowaniu się do instrukcji z githuba możemy wybrać:

Jako że używam J-Link Ultra+  wiec dla mnie to bardzo dobra wiadomość , ale dla użytkowników CMSIS-DAP  też nie jest źle gdyż dostosowanie środowiska jest bardzo proste co opiszę w następnej części :)

Podłączenie J-Linka jest proste i łatwo znajdziecie wszystkie piny do podłączenia :) dodatkowo oczywiście GND i do Pinu 1 złącza JTAG  dostarczamy +3.3V. Po czym zostaje nam ustawić odpowiednią metodę ładowania firmware — i cieszyć się działającym programem :)

Przebieg programowania:


 

 

INFORMACJE DODATKOWE !!!!


— > Dioda RGB jest podłączona na płytce do:

  • R — GC1  –>  PIN  D13
  • G — GC2  –>  PIN  D11
  • B — GC0  –>  PIN  D10

— > Płytka posiada specjalny tryb transparentny WIFI <> UART dostępny na pinach GA0 i GA4 modułu.

— > Do programowania via J-link wystarczy użyć podłączenia pinów:

  rtlduino    ——–  J-Link 

  •   TMS    —–  SWDIO/TMS (7)  
  •   CLK     —–  SWCLK/TCLK (9)
  •   GND    —–  GND (4)
  •   3V3      —–  VCC (1)  

Z czego wynika, że używamy interfejsu SWD do programowania tego niewielkiego , a potężnego modułu do zastosowań IoT .

Dołączenie SWD do płytki

Płytka też współpracuje z USB-MiniJTAG .


Na tą chwilę to tyle …  w następnej części  opis szczegółowy i …. a sami zobaczycie :)

 

 

 

5 myśli nt. „RTL8710 — konkurencja dla ESP8266

  1. Sun, a jak wygląda sprawa z low power tych modułów w porównaniu do ESP? Druga pytanie tak przy okazji czy wieszczy ESP8266/32 udostępnia opcje wybudzania modułu z trybu sleep w momencie otrzymania ramki po WIFI?

    Pozdrawiam Maciej

    • Dla RTL8710AF
      Myślę że bardziej szczegółowo odpowiem w następnym artykule, gdzie poruszę dane techniczne RTL-00 , Ma on 3 tryby uśpienia gdzie w 3 Trybie pobiera 10uA , Podczas nadawania maxymalnie 180mA , a podczas odbierania pakietu ok 68mA.

      Jest oczywiście możliwość utrzymania łacza i odbierania danych w tym momencie cyklicznie może pobierać dane pobór typowy wyniesie w tym trybie ok 0,9mA tak podaje nota oczywiście dla 25st C i idealnych warunków …
      —————————————————————————————

      Tyle na to RTL , zaś ESP32 mniej więcej jest podobnie … też ma 3 tryby uśpienia , minimalnie pobiera 0,8mA , maxymalnie 260mA
      ESP32 posiada tryb specjalny Hibernacji gdzie pracuje tylko RTC co umożliwia pobór na poziomie 5uA , W trybie utrzymywania łączności 80, 90mA

      oczywiście dane szacunkowe w idealnych warunkach i takie tam:)

      Jak napisałem postaram się szczegółowo porównać możliwości i dane techniczne obu układów równorzędnych czyli ESP8266 i RTL8710AF gdyż są podobne konstrukcyjnie …

  2. Dzięki Sun za szczegółowy opis. Teraz jest dużo jaśniej. A mam pytanie jeszcze odnośnie do wybudzania modułu czy mógłbyś więcej napisać?:)
    Bo chce zrobić układ, który będzie wybudzany tylko w momencie otrzymania ramki WiFi z drugiego esp. I z tego, co piszesz wyżej znaczenie lepiej wypada RTL od ESP. A nie ma opcji wysłania nawet pustej ramki poprzez WiFi do ESP, wybudzającej układ, który odpowie, że jest gotowy i może zacząć odbierać już poprawne dane?

    Pozdrawiam.

Możliwość komentowania jest wyłączona.