Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Computer Controls
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Chińskie mikrokontrolery STC

tplewa 23 Sty 2019 19:33 1704 45
  • #1 23 Sty 2019 19:33
    tplewa
    Poziom 38  

    No właśnie z mikrokontrolerami STC chyba spotkał się każdy użytkownik tańszego chińskiego sprzętu. Praktycznie popularność ich poza chinami jest niemal zerowa, ot wiadomo trzeba przecierać nowe szlaki...

    Jednak ostatnio powiedziałem sobie dlaczego nie ;) Czasami jakieś urządzenie z takim mikrokontrolerem padnie lub nie do końca podoba nam się firmware w jakimś urządzeniu.

    Osobiście jakiś czas temu kupiłem chińskie sztuczne obciążenie opisane między innymi w tym wątku:

    https://www.elektroda.pl/rtvforum/topic3462045.html

    Ot i pech kupiłem w złym czasie i dostałem wersję 2.21, w stosunku do starszych np. złącze UART do komunikacji z PC, jednak tylko złącze bo sama komunikacja została zaimplementowana przez chińczyków w kolejnych wersjach tego sztucznego obciążenia. O dostaniu firmware aby zrobić upgrade można zapomnieć, zapewne chronią bo powstaje dużo podróbek w którym firmware ma pełno błędów mogących powodować uszkodzenie sztucznego obciążenia itd.

    Generalnie patrząc na cenę można kupić nowe i chyba bardziej by się opłacało patrząc na finanse... no ale właśnie dlaczego by nie stworzyć własnego oprogramowania np. OpenSource z komunikacją i ewentualnym dodaniem jakiś funkcjonalności :)

    Więc popatrzyłem sobie na te układy (konkretnie szukając informacji na temat STC8A8K32S4A12-28I-LQFP48 który znajduje się w tym urządzeniu -czyli seria 8F), pobrałem dokumentację https://www.stcmicro.com/datasheet/STC8F-en.pdf

    i co mogę powiedzieć 8051 - ale w bardzo fajnej wersji, dużo rejestrów, szybkie, ciekawe peryferia, programowanie po UART. Prawdę mówiąc wyglądają lepiej niż sporo AVR-ów....

    Lekka wada potrzebny Keil C51 który nie jest darmowy...

    No ale nic zamówiłem sobie 10 sztuk STC8A8K32S4A12 za całe 34zł z przesyłką (aliexpress)... oraz płytkę deweloperską z STC8A8K64S4A12 za 70zł no i teraz czekanie i zobaczymy co z tego programowania mi wyjdzie.

    Dlaczego więc to piszę - w sumie z dwóch powodów, może kogoś te nietypowe układy kogoś szurniętego zainteresują... a może już ktoś bawił się w ich programowanie i podzieli się wrażeniami...


    Tak w skrócie z DS jak się komuś nie chce przeglądać:

    Cytat:

    Core
    - Enhanced 8051 Core with single clock per machine cycle (1T)
    - Fully compatible instruction set with traditional 8051
    - 19 interrupt sources and 4 interrupt priority levels
    - Online debugging is supported

    Operating voltage
    - 2.0 to 5.5V
    - Built-in LDO

    Flash memory
    - Up to 64Kbytes of Flash memory to be used to store user code
    - Configurable EEPROM size, 512bytes single page erased, can be repeatedly erased more than 100 thousand times.
    - In-System-Programming, ISP in short, can be used to update the application code, no need for STC8F Series Manual programmer.
    - Online debugging with single chip is supported, and no emulator is needed. The number of breakpoints is unlimited theoretically.

    SRAM
    - 128 bytes internal direct access RAM
    - 128 bytes internal indirect access RAM
    - 2048 bytes internal extended RAM
    - RAM expandable externally up to 64 Kbytes

    Clock
    - Internal 24MHz high precise R/C clock, IRC Error: ±0.3%, Temperature drift: ±1.0% at the temperature range of -40°C to 85°C and ±0.6% at the temperature range of -20°C to 65°C
    - Internal 32KHz low speed IRC with large error
    - External 4MHz~33MHz oscillator or external clock. The three clock source above can be selected freely by used code.


    Interrupts
    - 19 interrupt sources: INT0, INT1, INT2, INT3, INT4, timer0, timer1, timer2, timer3, timer4, uart1, uart2, uart3, uart4, LVD, PCA/CCP, SPI, I2C, comparator
    - 4 interrupt priority levels

    Digital peripherals
    - 5 16-bit timers: timer0, timer1, timer2, timer3, timer4. Where the mode 3 of timer0 has the Non Maskable Interrupt (NMI in short) function. Mode 0 of timer0 and timer1 is 16-bit Auto-reload mode.
    - 4 high speed UARTs: uart1, uart2,uart3, uart4, whose baud rate clock source may be fast as FOSC/4
    - 4 groups of PCA: CCP0, CCP1, CCP2, CCP3, which can be used as capture, high speed output and 6-bits, 7-bits, 8-bits or 10-bits PWM
    - SPI: Master mode, slave mode or master/slave automatic switch mode are supported.
    - I2C: Master mode or slave mode are supported.

    Analog peripherals
    - Comparato


    Hmm jak na procka za 3,4zł nie jest źle ;)

    0 29
  • Computer Controls
  • #2 23 Sty 2019 19:52
    khoam
    Poziom 28  

    tplewa napisał:
    lekka wada potrzebny Keil C51 który nie jest darmowy...

    Albo darmowe Platform IO - link.

    0
  • #3 23 Sty 2019 19:56
    tplewa
    Poziom 38  

    khoam napisał:
    tplewa napisał:
    lekka wada potrzebny Keil C51 który nie jest darmowy...

    Albo darmowe Platform IO - link.


    Tak zapewne jakiś kompilator dla 8051 się znajdzie, chodzi bardziej jak chcemy wygodniej to robić (np. integracja programatora itd.) to wszystko mają przygotowane pod Keil-a... do nauki zapewne wystarczy darmowa wersja z limitem wielkości kodu...

    0
  • #4 23 Sty 2019 20:04
    khoam
    Poziom 28  

    tplewa napisał:
    Tak zapewne jakiś kompilator dla 8051 się znajdzie

    W PIO jest wykorzystywany kompilator SDCC oraz stcgal do programowania.

    0
  • #5 23 Sty 2019 20:24
    stmx
    Poziom 25  

    tplewa napisał:
    Hmm jak na procka za 3,4zł nie jest źle ;)


    Bardzo cieniutko Panie...

    Chińskie mikrokontrolery STC Chińskie mikrokontrolery STC

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Nie trzeba Keila, nie trzeba ekscentrycznych programatorów ani debugerów.

    Zdecydowanie nie warto (No i jeszcze ten bluepill za $1.5)

    Slepa uliczka. One mają sens w chinach gdzie kupujesz za cenę ziarenka ryżu.

    1
  • #6 23 Sty 2019 20:26
    LChucki
    Poziom 29  

    tplewa napisał:
    i co mogę powiedzieć 8051 - ale w bardzo fajnej wersji, dużo rejestrów, szybkie, ciekawe peryferia, programowanie po UART. Prawdę mówiąc wyglądają lepiej niż sporo AVR-ów....

    20..30 lat temu byłaby to rewelacja, teraz raczej kit niż hit.
    Architektura 8051 ma spore ograniczenia i nawet gdy jest 1-taktowa nie zrówna się (przy tym samym zegarze) z AVR.
    Jak potrzebuję jakiegoś 8-bit to wybiorę AVR bo jest dostępny prawie wszędzie i nie muszę czekać za przesyłką nie wiadomo ile.
    Rodzi się tez pytanie, czy darmowe środowiska w wygodny sposób obsługują debuger? Nie wyobrażam sobie pracy bez niego w dzisiejszych czasach. Jeśli program mam pisać pół roku na 8051 albo miesiąc na AVR, to która opcja będzie tańsza?

    0
  • #8 23 Sty 2019 20:40
    LChucki
    Poziom 29  

    stmx napisał:
    nie trzeba ekscentrycznych programatorów ani debugerów.

    Ciekawe czy sa tańsze niż ST-Link V2?

    0
  • #9 23 Sty 2019 21:19
    tplewa
    Poziom 38  

    LChucki napisał:
    tplewa napisał:
    i co mogę powiedzieć 8051 - ale w bardzo fajnej wersji, dużo rejestrów, szybkie, ciekawe peryferia, programowanie po UART. Prawdę mówiąc wyglądają lepiej niż sporo AVR-ów....

    20..30 lat temu byłaby to rewelacja, teraz raczej kit niż hit.
    Architektura 8051 ma spore ograniczenia i nawet gdy jest 1-taktowa nie zrówna się (przy tym samym zegarze) z AVR.
    Jak potrzebuję jakiegoś 8-bit to wybiorę AVR bo jest dostępny prawie wszędzie i nie muszę czekać za przesyłką nie wiadomo ile.


    Ile AVR-ów ma JTAG ? to odnośnie debugowania jako niezbędne ;) na takich ATTiny zwłaszcza ;)

    Kolejna sprawa znowu jak o ESP32 wypowiadasz się nie czytając DS. Poczytaj sobie dokładniej i zobaczysz że jednak może to być szybsze od AVR...

    30MHz, 128 rejestrów, o wiele szybsza obsługa przerwań niż w AVR... pewna wada tracisz na szybkości dostępu do RAM... ale tutaj można to optymalizować korzystając z rejestrów do trzymania niektórych danych...

    Zależy od aplikacji ale w wielu spokojnie może to działać szybciej od AVR-a...

    dobra koniec... to tak w drodze wyjaśnienia co i jak - może kolega sobie poczytać i potem wyciągać wnioski. Bo tak dyskusja nie ma sensu...

    Natomiast co do 8bit to owszem są u nas popularne i wszędzie do kupienia. Temat jest jednak bardziej jako ciekawostka dla osób które może w ramach relaksu chcą uciec na chwile do czegoś egzotycznego, a nie ciągle w koło AVR i STM32 ;) Ewentualnie też by chcieli np. w jakimś chińskim sprzęcie sobie zrobić np. swój firmware...

    LChucki napisał:
    stmx napisał:
    nie trzeba ekscentrycznych programatorów ani debugerów.

    Ciekawe czy sa tańsze niż ST-Link V2?


    Jak USB to TTL UART to coś egzotycznego to tak... to w zasadzie wszystko co potrzeba do programowania/debugowania...

    0
  • Computer Controls
  • #10 23 Sty 2019 21:22
    stmx
    Poziom 25  

    tplewa napisał:
    Natomiast co do 8bit to owszem są u nas popularne i wszędzie do kupienia. Temat jest jednak bardziej jako ciekawostka dla osób które może w ramach relaksu chcą uciec na chwile do czegoś egzotycznego,
    A to co innego :).
    Ja tylko zaprotestowałem jak napisałeś że ich parametry są warte 3.4zł. Zdecydowanie nie są. Warte są 0.34zł i tyle one mniej więcej hurtowo w ChRLD kosztują.

    0
  • #11 23 Sty 2019 21:24
    khoam
    Poziom 28  

    Tutaj jest interesujący artykuł o pewnych przewagach 8051 nad ARM ;)
    Mnie zainteresowała głównie poruszona kwestia bezpieczeństwa IoT.

    0
  • #12 23 Sty 2019 21:28
    LChucki
    Poziom 29  

    tplewa napisał:
    Ile AVR-ów ma JTAG ? to odnośnie debugowania jako niezbędne

    Lista za długa aby wymieniać, sprawdź na stronie producenta.

    tplewa napisał:
    na takich ATTiny zwłaszcza

    One mają DebugWire. Tak więc pytanie
    tplewa napisał:
    Ile AVR-ów ma JTAG

    powinno brzmieć:
    "Ile AVR nie ma interfejsu do debugowania"
    W zasadzie są to starocie lub uC w obudowach 6-pin.

    tplewa napisał:
    30MHz

    Xmega 32MHz.

    tplewa napisał:
    pewna wada tracisz na szybkości dostępu do RAM... ale tutaj można to optymalizować korzystając z rejestrów do trzymania niektórych danych

    Kompilatory korzystają z tych 128 rejestrów?

    tplewa napisał:
    Bo tak dyskusja nie ma sensu...

    Nie ma, bo tańszy jest ARM. Może udowodnisz, że 8051 jest szybszy? Ma więcej RAM? FLASH?

    Dodano po 2 [minuty]:

    tplewa napisał:
    Ewentualnie też by chcieli np. w jakimś chińskim sprzęcie sobie zrobić np. swój firmware...

    Przeważnie sprzęt da się zrealizować lepiej w konsekwencji dać niewybuchające układy (jak np chińskie LM2576) i "normalne" uC a nie archaiczne 8051.

    0
  • #13 23 Sty 2019 21:28
    tplewa
    Poziom 38  

    stmx napisał:
    tplewa napisał:
    Natomiast co do 8bit to owszem są u nas popularne i wszędzie do kupienia. Temat jest jednak bardziej jako ciekawostka dla osób które może w ramach relaksu chcą uciec na chwile do czegoś egzotycznego,
    A to co innego :).
    Ja tylko zaprotestowałem jak napisałeś że ich parametry są warte 3.4zł. Zdecydowanie nie są. Warte są 0.34zł i tyle one mniej więcej hurtowo w ChRLD kosztują.


    STM32 oryginalny w detalu też jest droższy (ciut ponad dolara przy 1000 sztukach), a to że są tańsze klony na ali to hmm... na to samo wychodzi... Zapewne jak by poszukać to by się taniej znalazło ale mi się nie chciało... ot pierwsza lepsza aukcja na ali...


    LChucki napisał:
    tplewa napisał:
    Ile AVR-ów ma JTAG ? to odnośnie debugowania jako niezbędne

    Lista za długa aby wymieniać, sprawdź na stronie producenta.


    Kolego ja akurat nie muszę - akurat znam AVR-y w przeciwieństwie do kolegi który wypowiada się o procesorach z którymi nawet nie chce się zapoznać (ot takie pisanie o niczym i wróżenie z fusów - niemal jak wróżbita Maciej). Jak coś to znajdzie kolega tutaj moje kody w ASM na AVR publikowane tutaj w latach 90 tych poprzedniego wieku i raczej nie znajdzie moich wypowiedzi o prockach na których się nie znam i nie czytałem nawet DS.

    Więc tak tylko gwoli przypomnienia zanim kolega znowu napisze ale czy kompilator coś tam, albo czy procek coś tam ma - to może warto poczytać i znaleźć odpowiedzi na te pytania...


    Mieszanie tutaj XMega to trochę nie tak... to nie jest klasyczny 8bitowiec, a że ma nazwę AVR...

    0
  • #14 23 Sty 2019 21:41
    stmx
    Poziom 25  

    tplewa napisał:
    Mieszanie tutaj XMega to trochę nie tak... to nie jest klasyczny 8bitowiec, a że ma nazwę AVR...
    To, to jest dopiero ślepa odnoga :)

    Ale jak już chcesz coś nietypowego aby odpocząć of STM-ów: https://developer.sony.com/develop/spresense/

    0
  • #15 23 Sty 2019 21:49
    LChucki
    Poziom 29  

    tplewa napisał:
    Więc tak tylko gwoli przypomnienia zanim kolega znowu napisze ale czy kompilator coś tam, albo czy procek coś tam ma - to może warto poczytać i znaleźć odpowiedzi na te pytania...

    Nie będę się doktoryzował przez miesiąc w kompilatorach itp uC, którego architektura i zasoby mi nie odpowiadają. Na dzień dobry nie ma USB. Za mało timerów. Za mało SPI. Za mało I2C. Poza UART wszystkiego za mało.
    Po co więc marnować czas?

    tplewa napisał:
    Mieszanie tutaj XMega to trochę nie tak... to nie jest klasyczny 8bitowiec, a że ma nazwę AVR

    A cóż to innego jak nie rdzeń AVR z innymi peryferiami niż AVR Mega czy Tiny?
    Co w Xmega jest nieklasycznego w stosunku do AVR Mega/Tiny?

    1
  • #16 23 Sty 2019 22:06
    tmf
    Moderator Mikrokontrolery Projektowanie

    @tplewa Chińczycy mają wiele ciekawych wersji znanych układów i z ciekawości warto się im przyglądać. Widziałem też ich AVRy (odpoweidnik ATMega) wzbogacone m.in. o DSP. Niemniej:
    - cenowo to nie jest tak atrakcyjne, no może jeśli produkujesz tysiące sztuk jakiegoś urządzenia, hobbystycznie wątpliwa przydatność, wobec m.in. braku wsparcia.
    - brak dedykowanego IDE. Debugger brzmi fajnie, ale pytanie co potrafi i co go wspiera? Bo to, że sobie mogę program przerwać to niewiele, jeśli nie mam w ludzkiej formie przedstawionego stanu procesora, rejestrów, układów peryferyjnych itd. Zabawa z notą i odcyfrowywanie wyświetlanych wartości binarnych, chyba nikogo już nie bawi.
    - wiarygodność producenta - czy układ trzyma deklarowane parametry? Jeśli to układ dedykowany do chińskiej taniochy, która ma wytrzymać rok-dwa lata to może być ok, a co jeśli po tym czasie np. rozprogramuje się FLASH?
    - brak wsparcia dla rozszerzeń architektury w kompilatorze, w efekcie trudno z nich realnie skorzystać poza asemblerem.
    - brak pewności dostaw w przysżłości. Nawet jako hobbyście nie opłaca mi się inwestować mojego czasu w środowisko, którego za rok może nie być. Dla mnie istotniejsze jest, aby układ był dostępny np. za 10 lat.
    Gdybym był dużym producentem taniego badziewia, to pewnie to byłyby ciekawe propozycje, IMHO dla hobbysty tego typu układy nie mają wielkiej wartości.

    3
  • #17 23 Sty 2019 22:37
    LChucki
    Poziom 29  

    tplewa napisał:
    128 rejestrów

    Z noty wnioskuję, że sa 4 zestawy po 8 rejestrów, czyli klasyczny 8051. Gdzie te 128 rejestrów? Może przeoczyłem?
    Tylko 2 DPTR. Kojarzę jakieś 8051 z ośmioma DPTR, takie lepiej nadają się do kompilatorów C.

    Dodano po 4 [minuty]:

    Gdyby to jeszcze był szybki rdzeń 80251 ale nadal to 8-bit. Aby był konkurencyjny, musiałby kosztować 10% ceny ARM.

    0
  • #18 23 Sty 2019 22:49
    stmx
    Poziom 25  

    tmf napisał:
    - brak pewności dostaw w przysżłości. Nawet jako hobbyście nie opłaca mi się inwestować mojego czasu w środowisko, którego za rok może nie być. Dla mnie istotniejsze jest, aby układ był dostępny np. za 10 lat.
    Tak z ciekawości - jako dla hobbysty jakie ma znaczenie czy produkt bedzie produkowany 10 lat. To parametr ważny dla producentów (zresztą też bardziej w przemysłówce bo towary na rynek masowy nie muszą mieć takiej gwarancji dostępności produktu)

    tmf napisał:
    Gdybym był dużym producentem taniego badziewia, to pewnie to byłyby ciekawe propozycje, IMHO dla hobbysty tego typu układy nie mają wielkiej wartości.
    Z wnioskiem końcowym zgadzam się w 100%

    0
  • #19 24 Sty 2019 04:29
    tplewa
    Poziom 38  

    LChucki napisał:
    tplewa napisał:
    Więc tak tylko gwoli przypomnienia zanim kolega znowu napisze ale czy kompilator coś tam, albo czy procek coś tam ma - to może warto poczytać i znaleźć odpowiedzi na te pytania...

    Nie będę się doktoryzował przez miesiąc w kompilatorach itp uC, którego architektura i zasoby mi nie odpowiadają. Na dzień dobry nie ma USB. Za mało timerów. Za mało SPI. Za mało I2C. Poza UART wszystkiego za mało.
    Po co więc marnować czas?


    Ja to rozumiem że ktoś ma takie podejście - tylko nie rozumiem po co się wtedy wypowiadać i walić domysłami... btw UART-ów to akurat jest sporo... no wiem nie ma 15-tu ale ile 8 bitowców ma po 15 UART-ów :) Z drugiej strony okropnie kolega przeskakuje - ja staram się pisać o 8bit... a tutaj ARMy itd. dziwne że nikt nie napisał o NXP np. i.MX albo coś z rdzeniami MIPS... może było by weselej.


    Ja jak pisałem jestem pod wrażeniem tego ile kolega tych peryferiów używa... Mi za zwyczaj wystarcza sporo mniej i nie są to często jakieś banalne aplikacje.

    No ale jak wspominałem AVR i STM32 najlepsze procki na świecie ;) PIC beee, ESP32 beee, NXP beee, STC beee itd.

    Z drugiej strony jak te 8051 to taka staroć to niech kolega na AVR odpali USB 2.0 HS... bo dla popularnych Cypress-ów (FX2) z rdzeniem 8051 to nie problem ;)

    Albo na STM32 USB 3.0 jak to Cypress FX3 (te już są z ARM)...

    LChucki napisał:

    tplewa napisał:
    Mieszanie tutaj XMega to trochę nie tak... to nie jest klasyczny 8bitowiec, a że ma nazwę AVR

    A cóż to innego jak nie rdzeń AVR z innymi peryferiami niż AVR Mega czy Tiny?
    Co w Xmega jest nieklasycznego w stosunku do AVR Mega/Tiny?


    To że Xmega to 8/16 bit... a STC to 8bit... czekam aż kolega wyskoczy z porównaniem do ARM Cortex A... bo Cortex M to cieniasy ;) nie da się podpiąc LPDDR4, nie ma eDP, generalnie wolne jak cholera itd. ;)

    Reasumując jak chce się marudzić to można zawsze coś znaleźć ;) problem większy że w tym marudzeniu często nie ma konkretów bo dalej nie usłyszałem do czego kolega chce użyć te 15 UART-ów ;)


    stmx napisał:
    tplewa napisał:
    Mieszanie tutaj XMega to trochę nie tak... to nie jest klasyczny 8bitowiec, a że ma nazwę AVR...
    To, to jest dopiero ślepa odnoga :)

    Ale jak już chcesz coś nietypowego aby odpocząć of STM-ów: https://developer.sony.com/develop/spresense/


    W sumie na razie trzeba zgłębić te STC... może następnym razem :) Bo obecnie na tapecie ESP32 i STC więc wystarczy, zwłaszcza że w firmie to mam dopiero urozmaicenie... Z drugiej strony "Arduino IDE" mnie przeraża ;) no i jakoś poza STC to Nuvoton mnie trochę korci...


    Inna sprawa dzisiaj powinny przyjść płytki z lutowania

    Chińskie mikrokontrolery STC

    i na pokładzie Intel N3710 + 8GB DDR3 + 16GB eMMC + M.2 +USB 3.0 + HDMI itd. - więc będzie zabawa z uruchamianiem (o ile babol się w projekt nie wkradł), to co mi tam jakieś cieniutkie STM32, AVR itd. ;) w sumie na płytce z intelem nawet dwa STM32 siedzą jako pomocniki ;)

    A co mi tam też mi wolno pomarudzić jakie to słabe te wasze procki ;) ...choć nie aaaa mam tylko dwa UART-y, mało I2C, mało SPI... :crazyeyes:

    @tmf

    Powiedzmy sobie tak w produkcie komercyjnym nigdy bym tego nie zastosował, z wielu wymienionych przez ciebie powodów i jeszcze innych trochę by się znalazło. Jednak tutaj nie piszę o takim podejściu, a jedynie zabawie... w dodatku jak wspomniałem która może się przydać gdy zmodyfikujemy sobie jakiś chiński sprzęt. O cenie mówiłem w kontekście zabawy...

    Generalnie powiedzmy sobie spraw związanych z moją komercyjną działalnością na forum staram się nie poruszać (bo uważam że nie ma to sensu), a jedynie sprawy związane z hobbystycznymi projektami czy jakąś tam zabawą.

    ---

    Natomiast co do wybuchających procków - to powiem tak z STM32 też trafiają się różne cuda. Znajomy raz dostał z wyłączonym modułem kryptograficznym, wyszło po wyprodukowanej partii sprzętu. Akurat sprzęt wymagający legalizacji i suma kontrola nagle w urządzeniach miała same zera... Ja miałem jazdę z dostarczoną złą rewizją procków (z problematycznym i opisanym w erracie problemem z RMII) - tak samo wyszło po produkcji. Jedyny urok że w takich wypadkach można liczyć choć na częściową rekompensatę takich problemów przez ST...

    0
  • #20 24 Sty 2019 06:27
    LChucki
    Poziom 29  

    tplewa napisał:
    bo dalej nie usłyszałem do czego kolega chce użyć te 15 UART-ów

    No proszę, było 12 urosło do 15, w następnej wypowiedzi 20, po kilkunastu 1024.

    tplewa napisał:
    Ja jak pisałem jestem pod wrażeniem tego ile kolega tych peryferiów używa... Mi za zwyczaj wystarcza sporo mniej i nie są to często jakieś banalne aplikacje.

    Widać banalne albo kolega jest lepszym programistą ode mnie i potrafi 10 tanich popularnych modułów z komunikacją UART podłączyć do jednego portu komunikacyjnego. Nie twierdzę, że się nie da ale nie zawsze jest to możliwe w 99% wymaga rozbudowy sprzętowej i zawsze jest to mniej wygodne niż kilka portów UART.
    Może kolega rozwiązuje problemy jak w Arduino, LCD i karta SD na jednym SPI, ja zawsze rozdzielam te układy peryferyjne. Nie muszę chyba pisać dlaczego?

    stmx napisał:
    Albo na STM32 USB 3.0

    Nie potrzebowałem jeszcze USB3.0.

    tplewa napisał:
    To że Xmega to 8/16 bit... a STC to 8bit

    A AVR Mega/Tiny to 8bit czy 8/16 bit?

    Określanie Xmega czy AVR 8/16-bit jest nietrafione. Tak określa się 16-bit uC z 8-bit magistralą danych np C166, 68008 a nie 8-bit rdzeń z magistralą 16-bit.

    tplewa napisał:
    to niech kolega na AVR odpali USB 2.0 HS.

    Co mnie interesują AVR. Nie używam ich. Może kolega napisze " to niech kolega na Z-80 odpali USB 2.0 HS" albo 4004.


    PS1
    Na siłę, jak w statystyce, można udowodnić wszystko. Proszę mi dać dwa CPU i napisać który w porównaniu ma być lepszy i porównam tak, aby było jak klient chce. Przykłądowo:
    8051 jest najlepszy ze wszystkich uC bo powstało na niego najwięcej oprogramowania! To, że nie jest w praktyce przenośne (głównie ASM) na inne platformy to już inna para kaloszy.
    Resetuje się poziomem wysokim (co jest totalną durnotą jak wszystkie 8-bit konstrukcje Intela) ale w niektórych zastosowaniach może być zaletą (pewnie w systemach z Intelem).

    PS2
    Wymienił kolega kilka zalet 8051. Jak one się mają do setek zalet ARM? OK, ze swoimi zaletami zdobętą 8051 0,001% rynku. Wielki sukces.

    Moderowany przez dondu:

    Post raportowany - proszę troszkę spokojniej dyskutować i nie wkładać w usta adwersarzy, czego nie napisali.

    BTW. Narzędnik słowa "programista", to: programistą
    Błąd poprawiłem.

    0
  • #21 24 Sty 2019 07:11
    Jogesh
    Poziom 28  

    Ja stosowałem tanie procki chińskie. Firmy Nuvoton i Elan (http://www.emc.com.tw). Przy kilku tyś sztuk to się opłacało. Za procek dawałem 50gr. Tak więc warto się orientować w rynku i wybierać to co odpowiada.

    0
  • #22 24 Sty 2019 10:02
    stmx
    Poziom 25  

    Jogesh napisał:
    Za procek dawałem 50gr
    Hehe i tak pewne przepłaciłeś :) zastanawiam się ile onr kosztują w Chinach jeżeli opłaca się im robić pseudo EEPROM-y (8051 z flash udaje eeprom do czasu aż zdechnie)

    Dodano po 1 [minuty]:

    tplewa napisał:
    Z drugiej strony "Arduino IDE" mnie przeraża
    A dlaczego arduino IDE. Masz całe SDK z RTOS-em.

    0
  • #23 24 Sty 2019 11:18
    tmf
    Moderator Mikrokontrolery Projektowanie

    stmx napisał:
    tmf napisał:
    - brak pewności dostaw w przysżłości. Nawet jako hobbyście nie opłaca mi się inwestować mojego czasu w środowisko, którego za rok może nie być. Dla mnie istotniejsze jest, aby układ był dostępny np. za 10 lat.

    Tak z ciekawości - jako dla hobbysty jakie ma znaczenie czy produkt bedzie produkowany 10 lat. To parametr ważny dla producentów (zresztą też bardziej w przemysłówce bo towary na rynek masowy nie muszą mieć takiej gwarancji dostępności produktu)


    10 lat to oczywiście taki przykład z palca, niemniej hobbyści zwykle robią ograniczoną pulę projektów, do których realizacji potrzebne są podobne procki. Z drugiej strony, skoro to hobby to mamy bardzo ograniczone zasoby czasowe, ale zwykle też finanse odgrywają jakąś rolę. Jeśli wydam pieniądze np. na debuggery, dev boardy firmy X, to niejkoniecznie bez istotnych powodów chcę przechodzić na firmę Y. Z kolei jeśli przyzwyczaiłem się i znam środowisko X, to środowisko Y to dla mnie strata czasu na poznawanie nowych rzeczy, które nic nie wnoszą. Dla przykładu, używasz STM, załóżmy, że nagle NXP wypuści ARMa tańszego niż używany przez ciebie, ale o zupełnie innej filozofii peryferiów i środowisku. Będziesz zmieniał przyzwyczajenia? Skoro to tylko hobby, to ważniejsze jest dla mnie osiągnięcie celu (zbudowanie układu), niż podążanie za nowymi trendami. Nie mam konkurencji (bo hobby z natury nie przynosi bezpośrednich korzyści), więc ani cena, ani optymalność moich wyborów nie mają takiego znaczenia.
    Jest też powód podobny, do tego jaki mają producenci. Powiedzmy, że zrobiłem sobie sterownik na procku XYZ. Można śmiało założyć, że urządzenia są awaryjne, a hobbystycznie budowane mogą być nawet bardziej awaryjne (mogą też nie być, zależy od poziomu hobbysty). Powiedzmy, że za 5 lat padnie procesor, np. coś się upali podczas burzy. Jeśli jest dostępny na rynku, to naprawa to chwila, jeśli nie - to przeprojektowanie całości pod nowy i adaptacja softu? Nawet dla hobbysty to bolesne.
    Kolejny powód to przykłady i wsparcie. Takie AVR są w Polsce popularne bo jest ogromne wsparcie i masa przykładów w każdej możliwej formie. Dlatego hobbyści je wybierają, mimo, że pod prawie każdym względem np. ARMy są lepsze. Zapewne napiszesz, że na ARM też jest masa przykładów, ale... dobrze było widać ten problem na przykładzie klasycznych AVR i XMEGA. Np. ADC - przykładów użycia prostego ADC w ATMega jest setki tysięcy. Dla XMEGA jest kilkaset. Różnica ogromna, ale bez znaczenia, bo dosłownie kilka przykładów wyczerpuje wszystkie możliwe sposoby użycia ADC. Jednak PRowy odbiór jest taki - o wiele łatwiej znaleźć przykłady dla ATMegi, więc jej użyjmy. Aby odczekać się odpowiedniego wsparcia społeczności potrzebny jest czas na rynku i popularność. Niszowe rozwiązania nie są IMHO dobre dla hobbysty, nawet jeśli sam produkt jest bardzo dobry.

    0
  • #25 24 Sty 2019 17:56
    tplewa
    Poziom 38  

    @LChucki

    Co do tych 15 UART-ów to był trochę sarkazm, generalnie cała ta odpowiedź miała być trochę ironiczna. Mam nadzieję że kolega się nie obraża.

    Jak kolega korzysta z wielu takich modułów to ok, może dziwiło mnie to dlatego że mało kiedy korzystam z takich modułów i głównie wszystko montuję na PCB od zera. Natomiast jak mam potrzebę współpracy wielu urządzeń to za zwyczaj stosuję CAN/CAN FD czy RS485 itp.

    Natomiast dlaczego taka ironia. Bo jak wspomniałem temat powstał dla zabawy bo czym jak nie zabawą jest nasze hobby zwane elektroniką. Hobby to natomiast robienie też czasem rzeczy trochę szalonych, czy poznawanie nawet takich dziwnych procków. Nie wszystko musi być od razu robione tak jak robimy to do produkcji komercyjnego sprzętu czy do końca uzasadnione ekonomicznie.

    Prawdę mówiąc jak zabawę w konstrukcję układów miał traktować od strony ekonomicznej to bym się nigdy w to nie bawił, bo sporo układów które czasem robię zapewne taniej bym kupił gdzieś u Chińczyka...

    Dlatego zdziwiło mnie już w drugim wątku gdzie nagle mówi się o programowaniu jakiegoś nietypowego procka że po co, nie ma sensu, są lepsze, tańsze itp. Dla mnie takie podejście było by smutne... bo zapewne nie wiele ciekawych układów bym zrobił. Natomiast powielanie cięgle teko samego na AVR czy STM32 dawno mi się już znudziło. Jak mam szansę staram się sięgać po coś innego niż na forum popularne.

    Pytanie teraz czy jest wtedy sens o tym pisać na forum.

    Przykładowo płytka polutowana, bios coreboot - Windows się odpalił ;) więc nie jest źle - zobaczymy jak będzie z resztą.

    Chińskie mikrokontrolery STC

    Tylko rodzi się pytanie czy jest sens pisać o takich projektach - bo jeden drogo, dwa wielowarstwowe PCB, układy BGA, nie ma wiele UART-ów czy SPI, I2C...
    Taniej kupić RB PI...

    Generalnie po co o tym piszę bo siedzi w głowie zrobienie czegoś w stylu RB PI na takim Intelu czyli x86_64... ot dla zabawy... tylko czy jest sens o tym pisać...

    stmx napisał:

    tplewa napisał:
    Z drugiej strony "Arduino IDE" mnie przeraża
    A dlaczego arduino IDE. Masz całe SDK z RTOS-em.


    Nie wiem ;) tak tylko na szybko popatrzyłem pod podany link i na obrazku zobaczyłem "Arduino IDE" - zdaję sobie sprawę że w sumie pod każdego procka można sobie dowolne IDE przygotować nawet jak nie ma - kwestia trochę nad tym posiedzieć. To w sumie też miało być lekkim żartem...

    Z drugiej strony jak kolega się tym bawi może założy temat i opisze o coś więcej jakie doświadczenia, jak to się sprawuje itp.

    tmf napisał:

    Skoro to tylko hobby, to ważniejsze jest dla mnie osiągnięcie celu (zbudowanie układu), niż podążanie za nowymi trendami. Nie mam konkurencji (bo hobby z natury nie przynosi bezpośrednich korzyści), więc ani cena, ani optymalność moich wyborów nie mają takiego znaczenia.


    Ale dlaczego mamy się ograniczać tylko do zrobienia jakiegoś układu, ja się właśnie staram nie ograniczać jeśli chodzi o wybierane elementy. Dlaczego by je poznać i samemu ocenić, zobaczyć coś innego. Nauczyć się czegoś nowego.

    Owszem hobby głównie generuję straty jakie by to nie było, z tym że zabawa z elektroniką może przynieść potem korzyści finansowe. Powiem tak na prawdę trudno teraz znaleźć osobę do pracy która potrafi coś zrobić na czymś innym niż AVR czy STM32, czasem znajdzie się ktoś kto ogarnia NXP i na tym właściwie koniec. Natomiast w firmowych zastosowaniach często trzeba sięgać lub szukać jakiś innych rozwiązań bo np. trudno coś zrealizować.

    Przykładowo radarek który jakiś czas temu robiłem:

    Link


    Spoko tutaj M7 sobie radzi, ale powstał plan zrobienia FMCW z MIMO 2xTX 8xRX na 24GHz i tutaj STM32F7 już wymięknie... mogę robić na TMS320... ale po co wybieram AD Blackfin ;) dlaczego by nie :)

    0
  • #26 24 Sty 2019 18:06
    Jogesh
    Poziom 28  

    Kolego tplewa, napiszesz może coś więcej o tym projekcie na Intelu? Jakie parametry? Jaki projekt PCB? Do czego będzie stosowany? Czy robiłeś już podobne projekty?

    0
  • #27 24 Sty 2019 18:24
    tmf
    Moderator Mikrokontrolery Projektowanie

    tplewa napisał:
    tmf napisał:

    Skoro to tylko hobby, to ważniejsze jest dla mnie osiągnięcie celu (zbudowanie układu), niż podążanie za nowymi trendami. Nie mam konkurencji (bo hobby z natury nie przynosi bezpośrednich korzyści), więc ani cena, ani optymalność moich wyborów nie mają takiego znaczenia.

    Ale dlaczego mamy się ograniczać tylko do zrobienia jakiegoś układu, ja się właśnie staram nie ograniczać jeśli chodzi o wybierane elementy. Dlaczego by je poznać i samemu ocenić, zobaczyć coś innego. Nauczyć się czegoś nowego.


    Źle mnie zrozumiałeś. Oczywiście każdy robi jak chce, mogą być też różne cele dla których podejmujemy jakieś hobby. Może to być poznanie różnch tehcnologii i nauka czegoś innego, a może być po prostu zbudowanie jakiegoś układu dla własnej satysfakcji lub z potrzeby zrobienia czegoś nietypowego. Ponieważ się profesjonalnie zapewne zajmujesz elektroniką i masz w tym jak widać niezłe doświadczenie, to masz niszowe hobby - poznawanie nowych ciekawostek. Dla większości hobbystów, tak myślę, którzy nie stoją tak wysoko z umiejętnościami, samo zbudowanie funkcjonalnego ukłądu jest wyzwaniem. W takim przypadku lepiej się nie rozpraszać i nie walczyć dzielnie z problemami, bo można polec na całej linii.
    tplewa napisał:
    Pytanie teraz czy jest wtedy sens o tym pisać na forum.


    Oczywiście, że jest.

    0
  • #28 24 Sty 2019 19:22
    tplewa
    Poziom 38  

    @tmf

    Wiesz tutaj nie chodzi co kto robi ;) wiele osób pracuje zawodowo jako elektronicy, a praca wynikła taka bo kiedyś ktoś rozpoczynał zabawę od niewinnego hobby.

    Tak samo rozumiem że wiele osób chce zrobić prosty układ i na tym koniec, ale jak wspomniałem gdy mówimy o zabawie po co od razu krytykować. Wiadomo że te mikrokontrolery to chińszczyzna, ale chęć poznania wyjawiłem w pierwszym wpisie.

    Ot chcę na githubie zrobić oprogramowanie OpenSource - bo wiele osób na świecie kupiło te urządzenia i mają albo podróbki z kiepskim firmware, albo np. takie wersje jak ja gdzie elektronika przystosowana jest do komunikacji z PC ale firmware niestety nie.

    Prawdę mówiąc wiem że to może trochę bez sensu - bo te sztuczne obciążenie też nie jest jakieś super. Praktycznie można by sobie od podstaw zrobić o wiele lepsze, dając ładne radiatory tunelowe, rozkładając wydzielaną moc na większą ilość tranzystorów. Dając fajniejszego i bardziej popularnego procka gdzie zamiast RS232 można mieć USB (choć muszę doczytać bo podobno na tych STC gdzieś czytałem na liniach UART idzie jakoś USB odpalić).

    Zdziwiła mnie właśnie w takim kontekście niechęć, bo dziwne, bo można lepsze itd.
    Tak jak trochę sarkastycznie wspomniałem to można odnieść do każdego procesora, bo zawsze znajdziemy jakiś inny trochę lepszy który ma czegoś więcej :)

    Zresztą sam nie bądź taki skromny - bo nie śledzę co obecnie robisz, ale swojego czasu patrzyłem na twoje książki u dalej twierdzę że są to chyba najlepsze pozycje jakie ukazały się odnośnie AVR-ów na naszym rynku. Sam nie kupiłem bo akurat nie potrzebowałem, ale kilko znajomym którzy zaczynali zabawę z mikrokontrolerami poleciłem i są zadowoleni i już od dawna jakieś układy sobie robią. Więc też jak by nie patrzeć promowałeś jakieś tam mikrokontrolery, a że AVR to rozumiem - bo sam często kiedyś ich używałem. Teraz już mniej - ale nie wiadomo czy do nich nie wrócę, patrząc jak Microchip stara się w nich rozwijać peryferia. W wielu zastosowaniach taki 8051 czy AVR spokojnie wystarcza - zwłaszcza jak układ ma ciekawe peryferia.

    W sumie te STC to taki powrót do 8051. Ostatni raz jakieś "większe" projekty z 8051 robiłem gdzieś w latach 90 tych poprzedniego wieku, gdzie właśnie zachwyciłem się wtedy pierwszymi AVR-ami jakie wyszły czyli przez wielu nie pamiętana już zapewne seria AT90Sxxxx... No i tak zostało przez jakiś czas do czasu aż pojawiły się łatwo dostępne ARM-y...

    Jakieś tam zabawy z 8051 w związku z zabawą z ukłądami Cypress-a (FX2 USB) pomijam bo to w zasadzie było stworzenie tylko prostego kodu magistrala równoległa itp. na USB 2.0 HS - bo to w zasadzie nie jest realizacja projektu na danym procku.


    Jogesh napisał:
    Kolego tplewa, napiszesz może coś więcej o tym projekcie na Intelu? Jakie parametry? Jaki projekt PCB? Do czego będzie stosowany? Czy robiłeś już podobne projekty?


    Hmmm jak wspomniałem Intel N3710 https://ark.intel.com/pl/products/91830/Intel...tium-Processor-N3710-2M-Cache-up-to-2-56-GHz-

    Ma trochę GPIO itd. Generalnie układ do stosowania w wszelkich mobilnych i "energooszczędnych" (jak na procki intela x86_64 ;) ) zastosowań.

    Tylkę chyba mogę powiedzieć o parametrach - bo nie wiem dokładnie o jakie parametry koledze chodzi.

    To akurat jest rozwiązanie komercyjne - nie mogę powiedzieć do czego - ale w sumie to akurat ma najmniejsze znaczenie gdzie to będzie sobie działało.

    Jednak mam w planie jak wspomniałem zrobienie czegoś na wzór RB PI, ale aby mieć platformę x86 do różnych zastosowań.

    Nie jest to jakaś nowość bo takie rozwiązania istnieją i można sobie kupić przykładowo UDOO X86 - https://www.udoo.org/udoo-x86/

    Tylko właśnie kupić może taniej, ale fajniej zrobić. Inna sprawa że może się to jeszcze zmieni i będzie intel N4200 - na razie niestety Apollo Lake ma trochę problemów w krzemie, a nowe rewizje z poprawkami są zapowiedziane na Q1 2019.
    No ale to zobaczymy.

    Generalnie założenie jest proste procesor + eMMC + wyprowadzone wszystkie GPIO itd. do tego HDMI, USB 3.0, Ethernet może SATA i jakieś Audio... Ot taka uniwersalna platforma do budowy różnych rozwiązań.

    Owszem jak wspomniałem można na RB PI, ale czasem chciało by się odpalić jakieś oprogramowanie które istnieje tylko na x86...

    Natomiast co do PCB to też nie wiem co napisać, PCB jak PCB... trochę więcej warstw + kontrola impedancji (jak to bywa przy używaniu szybkich magistrali, DDR3 itd.). Sama PCB zaprojektowane w Allegro PCB... Akurat nad projektem tego PCB co na fotkach nie siedziałem tylko kolega...

    Na płytce w zasadzie poza standardowymi sprawami jak wyjście wideo, USB itd. co jest raczej normą przy takich układach. Dodatkowo dwie magistrale CAN zerealizowane na STM32F4 (konwerter USB na 2x CAN - widziane pod linux-em jako Socket Can), RS485... dodatkowe GPIO podpięte pod intela po I2C itd. GPS u-Blox podpięty pod UART z wprowadzonym sygnałem PPS (do synchronizacji czasu np. GPSD + NTPD).

    Przykłądowo jak kogoś interesuje jak to wygląda od strony elektroniki to można zerknąć na schemat wspomnianego UDOO X86 z identycznym procesorem:

    http://download.udoo.org/files/UDOO_X86/schematics/UDOOX86_revH_schematics.pdf

    0
  • #29 24 Sty 2019 19:38
    tmf
    Moderator Mikrokontrolery Projektowanie

    tplewa napisał:
    Tak samo rozumiem że wiele osób chce zrobić prosty układ i na tym koniec, ale jak wspomniałem gdy mówimy o zabawie po co od razu krytykować. Wiadomo że te mikrokontrolery to chińszczyzna, ale chęć poznania wyjawiłem w pierwszym wpisie.


    Tak jak pisałem, nie rozumiemy się. Nie krytykuję ciebie, ani twojej chęci poznawania nowych rzeczy. Wręcz przeciwnie, napisałem, że Chińczycy mają co raz więcej swoich ciekawych wynalazków. Pisałem tylko o moich powodach, dla których ich nie używam. A głównym jest jeden - czas. To tylko hobby, a ponieważ zawodowo zajmuję się czymś innym, więc samo zbudowanie urządzenia, które działa wg moich założeń jest wystarczająco fajne i niestety na tyle czasochłonne, że niekoniecznie na poznanie takich ciekawostek jak prezentowany przez ciebie procesor wystarcza czasu. Dlatego raczej z konieczności wybieram konstrukcje popularne, sprawdzone i dobrze opisane. Ale doskonale rozumiem, że samo użycie czegoś innego może być ciekawe, podobnie jak rozumiem pasję np. budowania własnoręcznie lamp w XXI wieku. I jak to w przypadku hobby bywa - racjonalne powody nie mają znaczenia.
    tplewa napisał:
    Zresztą sam nie bądź taki skromny - bo nie śledzę co obecnie robisz, ale swojego czasu patrzyłem na twoje książki u dalej twierdzę że są to chyba najlepsze pozycje jakie ukazały się odnośnie AVR-ów na naszym rynku. Sam nie kupiłem bo akurat nie potrzebowałem, ale kilko znajomym którzy zaczynali zabawę z mikrokontrolerami poleciłem i są zadowoleni i już od dawna jakieś układy sobie robią.

    Dzięki, zawsze miło usłyszeć, że komuś się przydały.

    0
  • #30 24 Sty 2019 20:28
    tplewa
    Poziom 38  

    tmf napisał:

    Tak jak pisałem, nie rozumiemy się. Nie krytykuję ciebie, ani twojej chęci poznawania nowych rzeczy. Wręcz przeciwnie, napisałem, że Chińczycy mają co raz więcej swoich ciekawych wynalazków. Pisałem tylko o moich powodach, dla których ich nie używam. A głównym jest jeden - czas. To tylko hobby, a ponieważ zawodowo zajmuję się czymś innym, więc samo zbudowanie urządzenia, które działa wg moich założeń jest wystarczająco fajne i niestety na tyle czasochłonne, że niekoniecznie na poznanie takich ciekawostek jak prezentowany przez ciebie procesor wystarcza czasu.


    Z czasem to chyba mają wszyscy problem, bo praca potem rodzina - a gdzieś daleko hobby. U mnie jest tak samo - dlatego projekty powstają czasem bardzo długo. Czasami lądują na półce i muszą nabrać "mocy urzędowej" ;) aby do nich po paru miesiącach wrócić itd. Często robię kilka projektów np. teraz ESP32 i będzie STC - ot tak jak jeden mnie chwilowo "zmęczy" to biorę się za drugi i tak w koło ;) Czasami to kasa ogranicza i trzeba zebrać większe fundusze na części itd. więc jest jakaś przerwa w projekcie...

    tmf napisał:

    tplewa napisał:
    Zresztą sam nie bądź taki skromny - bo nie śledzę co obecnie robisz, ale swojego czasu patrzyłem na twoje książki u dalej twierdzę że są to chyba najlepsze pozycje jakie ukazały się odnośnie AVR-ów na naszym rynku. Sam nie kupiłem bo akurat nie potrzebowałem, ale kilko znajomym którzy zaczynali zabawę z mikrokontrolerami poleciłem i są zadowoleni i już od dawna jakieś układy sobie robią.

    Dzięki, zawsze miło usłyszeć, że komuś się przydały.


    Powiem tak oszczędziły mi sporo tłumaczenia kolegom, a z tego powodu że właśnie nie mam wiele czasu - a z drugiej strony nie mam daru do przekazywania wiedzy... sporo nerwów mi to zaoszczędziło (a wiadomo jak to jest kolegę czegoś uczyć).

    Na początku trochę podpowiedziałem, a dalej w sumie same książki już wystarczyły (więc widać że są na niezłym poziomie i fajnie/przystępnie jest w nich wszystko wytłumaczone)...

    0