Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

HK32F030M - chiński ARM za 60 groszy

piotr_go 29 Oct 2020 20:18 7545 43
  • #31
    victoriii
    Level 17  
    A to tak na dobry poczatek sobie kupilem zeby zobaczyc co to jest. A patrzyles moze czy maja cos podobnie smiesznie taniego z CANem? Ja ostatnio patrzylem ale widze ze wszystkie klony F103 maja podobna cene, okolo 80p/szt.
    Co do tych HK32 to czy producent ma do tego jakiegos biblosa czy trzeba rzezbic od podstaw samemu? Swoja droga przy takich cenach no to nie dziwie sie ze nie wyrabiaja z produkcja.
    Ciekaw jestem czy to jest normalnie zbudowane, czy tak jak te wszystkie chinskie klony STM32, cyfrowy chip i szeregowa pamiec flash. Nie wiem czy znasz taka strone [url=]https://zeptobars.com/[/url], kolo tam chyba za kilka dolarów wyciaga uklady z obudowy i robi fotki zreszta dobrej jakosci. Planuje mu kiedys wyslac kilka tych chinskich ARMów zeby zobaczyc co tam siedzi w srodku.
  • Multimetr FlukeMultimetr Fluke
  • #32
    piotr_go
    DIY electronics designer
    victoriii wrote:
    A patrzyles moze czy maja cos podobnie smiesznie taniego z CANem?

    Nie kojarzę.

    victoriii wrote:
    czy producent ma do tego jakiegos biblosa czy trzeba rzezbic od podstaw samemu?

    Znalazłem tylko "hk32f030m.h" i startup.
    Procek jest na tyle prosty że nie ma problemu z napisaniem własnych driverów.
  • Multimetr FlukeMultimetr Fluke
  • #33
    victoriii
    Level 17  
    Ze strony HK mozna sciagnac plik DFP ze wsparciem dla Keila. Otworzylem tego DFP pod Linuksem i jest tam o wiele wiecej. Sa startupy, pliki naglowkowe itp. Niestety nie ma jednak ani driverów ani przykladów ale chyba wymagam zbyt wiele za ta cene.
  • #34
    piotr_go
    DIY electronics designer
    HK32F030M - chiński ARM za 60 groszy
    Wersja SO8. W końcu dotarły. Lokalna poczta w kwarantannie była.

    //======================

    Przy okazji znalazłem coś takiego:
    HK32F030M - chiński ARM za 60 groszy
    Podobno po 30groszy :D

    //======================
    Update odnośnie HK32F030MJ4M6-SO8N.
    W PDFie (najnowszy obecnie 1.0.12 i kilku starszych) jest błąd, zamienione piny 6 i 7.
    NRST... to pin 6.
  • #35
    BlueDraco
    MCUs specialist
    Parę ciekawostek:
    Opis GPIO w RefMan jest błędny - skopiowany z STM32.
    Istotne różnice:
    Porty GPIO są logicznie 8-bitowe. Domyślny tryb pracy linii portów to ANALOG (3), za wyjątkiem PD5, PB5 (SWDIO, SWCLK - AF czyli 2) oraz PA0 (NRST) - IN, czyli 1, ze stosownymi pullup/down dla tych trzech linii.
    Uwaga: wyprogramowanie funkcji SWD oczywiście poważnie utrudnie reprogramowanie/debugowanie.
    NRST jest również PA0 w obudowie TSSOP20 (dokumentacja twierdzi, że tylko w mniejszych) - można wyłączyć programowo funkcję NRST.
    Po drobnej kosmetyce plików pdsc Keil tworzy kompletny projekt dla HK32F030M, który daje się programować i debugować J-Linkiem. Do nawiązania połączenia SWD nie jest potrzebny sprzętowy RESET, o ile nie wyprogramujemy finkcji nóg SWD. Jeśli wyprogramujemy, to i sprzętowy NRST nie bardzo pomaga, ale to wina J-Linka, który coś ma skopane w oprogramowaniu. Pinceta pomogła przy 10 próbie, więc kość uratowana.

    Flash ma strony po 128 B, a nie po 1 KiB. Po skasowaniu Flash ma wartość 0, a nie FF (wg. producenta jeszcze ciekawiej, bo losową).

    No i na koniec bonus: RAM ma 4 KiB, a nie 2, jak twierdzi dokumentacja. :)

    To na razie tyle z odkryć. Uruchomiłem oba timery w trybie PWM.

    Tajemnicą pozostaje noga VCAP - ani słowa w dokumentacji. być może jest o fantom, tylko dla zapewnienia zgodności wyprowadzeń z STM8 - nie wygląda na wyjście wewnętrznego stabilizatora napięcia rdzenia. Po przełączeniu PD7 w tryb wyjścia na tej nodze jest wystawiany stan PD7, więc chyba to po prostu PD7 bez żadnej innej funkcji.
  • #36
    piotr_go
    DIY electronics designer
    Na pewno piszesz o HK32F030M w TSSOP20, a nie HK32F0301M?
    U mnie nie da się wyłączyć NRST i ustawić PA0. Na VCAP nie ma PD7. RAM rzeczywiście ma 4kB.
    Hmmm, inna partia? Mam zamówionych kilka nowych i na dniach przyjdą, więc jeszcze przetestuję.

    Możesz udostępnić binarkę machającą PA0 i PD7?
    Możesz spisać całość oznaczenia scalaka?

    HK32F030M - chiński ARM za 60 groszy

    Początkowo myślałem że RAMu jest 2kB ze względu na wymagane ustawienia programowania, jednak prosty test pokazuje że pod 0x20000800...0x20000FFF jest inny ram niż 0x20000000...0x200007FF.
    Czy w pełni sprawny? Nie wiem.

    NRST próbowałem wyłączać za pomocą:
    Quote:
    RCC->APB1ENR |= RCC_APB1ENR_IOMUXEN;
    GPIOMUX->NRST_PIN_KEY = 0x5AE1;
    GPIOMUX->NRST_PA0_SEL = 1;

    Działa w SO8, w TSSOP20 nie działa.
  • #37
    BlueDraco
    MCUs specialist
    Zdjęcia mi niezbyt piękne wychodzą, ale odczytałem z obudowy HK32F030MF4P6, a poniżej seria chyba 07S36170 (te S3 są niepewne, reszta na 95%).
    Woltomierz przyłożony pomiędzy masę i VCAP pokazuje ok. 0.7 V. To samo pokazuje pomiędzy Vdd i VCAP, więc wnioskuję, że VCAP wisi. Po ustawieniu PD7 jako wyjścia mam zmiany stanu na VCAP - napięca 0 i Vdd naprzemiennie..
    Po wyprogramowaniu NRST układ nie reaguje na zwarcie NRST do masy. Po zaprogramowaniu PA0 jako wyjścia, zmienia stan. Załączam źródło programu i .hex.
    Teraz zabieram się za na HK32F030MJ4M6.

    Code: c
    Log in, to see the code
  • #38
    piotr_go
    DIY electronics designer
    Dzięki.
    Hmmmmm, PD7 działa :) Nie wiem jak ja to wcześniej testowałem.
    Reset nadal się nie wyłącza.

    HK32F040MJ4P6? Google milczy na jego temat.
    Skąd go wytrzasnąłeś? Masz pdfa?

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

    Aaaaaaa, już wiem czemu PD7 "nie działał".
    Wymieniałem niedawno bezpiecznik w woltomierzu :D
  • #39
    BlueDraco
    MCUs specialist
    B. łatwo - wystarczyły dwie literówki w jednym ciągu znaków - już poprawiłem. ;)
    Od 1. stycznia HK32F030M podrożały. Ja zamówiłem jeszcze poniżej 20 centów w grudniu i już doleciały. MJ4 jest sympatyczniejszy i tańszy od STM32G030J6, bo można w nim użyć nogi RESET do innych celów. Jeszcze trzeba przećwiczyć ten niby EEPROM - też się przyda w projekcie.
  • #40
    piotr_go
    DIY electronics designer
    Już myślałem że znasz jakiś tajny chiński uścisk dłoni po którym sprzedawca wyciąga towar spod lady :D

    BlueDraco wrote:
    Od 1. stycznia HK32F030M podrożały.

    Prawie *2
    Ja nakupiłem na początku jak się pojawiły, w grudniu tylko po 10 dokupiłem żeby zobaczyć czy coś zmienili.

    Zamówiłem sobie też "HC32L110". M0+, 1.8V...5.5V, 1µA RTC sleep, reszta podobna.

    Do poniedziałku powinny do mnie dotrzeć.

    ======== update 1 ========

    Dotarły, zaraz polutuję i sprawdzę reset.

    HK32F030M - chiński ARM za 60 groszy
    HK32F030M - chiński ARM za 60 groszy
    HK32F030M - chiński ARM za 60 groszy

    ======== update 2 ========

    Sprawdziłem nową partię TSSOP20.
    Reset da się wyłączyć. W starej się nie da.

    Do sprawdzenia pozostało jeszcze czy piny 6 i 7 w SO8 są nadal zamienione.
  • #41
    BlueDraco
    MCUs specialist
    Takie same, jak moje. L110 nie zamawiałem, ale mam go na oku. 16 nóg i 5 V bywa niekiedy pożyteczne. Marzy mi się jeszcze Cortex w MSOP8 lub MSOP10.
  • #42
    piotr_go
    DIY electronics designer
    BlueDraco wrote:
    Marzy mi się jeszcze Cortex w MSOP8 lub MSOP10.

    Szukałem, szukałem. Znalazłem tylko OTP, poza tym nie do kupienia (w taobao nie chce mi się bawić).
    Też bym wolał zamiast SO8.
  • #43
    BlueDraco
    MCUs specialist
    W MJ Reset/PA0 jest na nodze 7, czyli tak, jak w aktualnym datasheet. Kod, który zamieściłem powyżej, po lekkiej modyfikacji - przemapowaniu PD4 na nogę 1, działa dokładnie tak, jak na MF - PD7 i PA0 zmieniają stan.
    EEPROM działa zgodnie ze zdrowym rozsądkiem. Podobnie jak we Flash - wartość skasowana to 0. Próba skasowania strony 0xC000000 (czyli EEPROM) kasuje stronę 0x8000000 (Flash), no ale o kasowaniu strony EEPROM w dokumentacji ani słowa.

    Swoją drogą - pierwszy raz spotkałem się z sytuacją, gdy producent zmienia istotne cechy układu już po rozpoczęciu produkcji, nie zmieniając przy tym nazwy układu ani o jeden znak.
  • #44
    piotr_go
    DIY electronics designer
    BlueDraco wrote:
    Swoją drogą - pierwszy raz spotkałem się z sytuacją, gdy producent zmienia istotne cechy układu już po rozpoczęciu produkcji, nie zmieniając przy tym nazwy układu ani o jeden znak.

    Nie testowałem jeszcze nowszej SO8, ale wszystkie mają to samo: DEV_ID: 0x0003, REV_ID: 0x1000