Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Własny firmware do JDY-40 (BK2461) by piotr_go

piotr_go 16 Dec 2020 15:35 4149 16
  • Własny firmware do JDY-40 (BK2461) by piotr_go

    Jakiś czas temu, przeglądając aliexpress w poszukiwaniu kolejnej rzeczy którą rzucę w kąt dzień po odebraniu przesyłki natknąłem się na moduły radiowe JDY-40. Cena $0.60, podobna do NRF24L01+.

    Własny firmware do JDY-40 (BK2461) by piotr_go

    Cóż to takiego? Postanowiłem pokopać trochę głębiej. BK2461 - SOC radiowy z C51. OK, "biere", za 60 centów nie będę wybrzydzał. PDF skąpy jak po cenzurze, zobaczę co z tego wyjdzie.
    (Od razu zaznaczę że nie będę opisywał jak działa moduł z oryginalnym FW. Interesowało mnie wgranie własnego.)
    Radio niby podobne do innych klonów NRF24L01+, tylko rejestry trochę poprzestawiali. Procek ma 8kB OTP. Hmmmm, z Chińczykami nigdy nie wiadomo. Może to flash?
    Kilka razy się spotkałem z układami z ROMem który okazywał się flashem. Może i tym razem szczęście dopisze. Poza tym pdf coś wspomina o ładowaniu programu z zewnętrznego flasha. Szczegółów brak. Jest tylko pinout.
    W międzyczasie czekając na moduły postanowiłem w ciemno zaprojektować PCB.
    Do komunikacji z komputerem postanowiłem użyć mikrokontrolera CH552/4. Pamięć 25Q40 służy do przechowywania programu. Pół megabajta, trochę duża, ale takie miałem, mniejszych nie będę zamawiał.
    Na 74xx244 zrobiłem bufor odłączający Flash od BK2461. Odłączanie zasilania zrobiłem za pomocą stabilizatora. VPP ~1.2V generowane spadkiem na zenerze.
    Do tego para przycisków. Jeden do uaktualniania FW programatora, drugi włączania zasilania BK2461. LED do kontroli co się dzieje.

    Własny firmware do JDY-40 (BK2461) by piotr_go

    Zamówiłem PCB.

    Po miesiącu oczekiwania przyszły moduły i płytki. Będzie działać? Będę ciąć ścieżki? Będę klął?
    Zlutowałem całość i zabrałem się za soft. Napisałem prosty bootloader DFU do programowania flasha. Napisałem prosty soft testowy machający pinem. Załadowałem do flasha, wgrał się. Przynajmniej tyle działa :D
    Na pinie BK2461 nic. Podłączyłem analizator żeby sprawdzić komunikację BK2461<>flash. Tu wygląda OK. Zaryzykowałem i jakoś się udało. Procek czyta pamięć, tyle że w pętli. Hmmmm, jakiś nagłówek wymagany czy co? Może CRC?
    Wygenerowałem BINa z jednym crc, 2-gim, 3cim... 87-mym :D Doopa.
    W końcu postanowiłem sprawdzić CRC32 które na początku wykluczałem ze względu na szybkość z jaką procek czyta flasha.
    Wydawało mi się że C51 nie jest w stanie tak szybko go wyliczyć. No cóż widać CRC liczone jest sprzętowo bo soft odczytał się z flasha tylko raz :) SUKCES
    Na pinie oczywiście nic się nie pojawiło, to by było za proste :P Kilka dodatkowych poprawek i mam migającego LEDa, haha.
    24h później - komunikacja radiowa odpalona.


    Link


    Ale czy da się wgrać FW do samego BK2461?
    Podłączyłem 6.5V VPP, cisza. Komunikacji spi z flashem brak. Hmmmm.
    Może potrzeba programatora? Podłączyłem inny mikrokontoler i zacząłem generować losowe sekwencje spi. W końcu BK2461 się odezwał.
    Quote:
    0x12, 0x1F, 0xF4-0xFF, odpowiedź

    Wygląda na to że 0x12 to odczyt i można odczytać zakres 0x1FF4-0x1FFF.
    To na razie tyle co udało mi się ustalić.

    No cóż. Dobre i tyle. Przynajmniej można odpalić soft z zewnątrz.

    Jak ktoś wie więcej to chętnie się dowiem jak programować wewnętrzną pamięć BK2461.
    Attachments:

    Cool! Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    piotr_go
    DIY electronics designer
    Offline 
    Has specialization in: technika cyfrowa
    piotr_go wrote 2183 posts with rating 2337, helped 81 times. Been with us since 2003 year.
  • Computer ControlsComputer Controls
  • #3
    mariomario
    Level 18  
    Jestem ciekaw rozwoju sytuacji.. :)
    też mam 2 takie moduły (które chciałem narazie wykorzystać zgodnie z ich założeniem - do bezprzewodowego "przesyłania" UART'a pomiędzy nadajnikiem--->odbiornikiem w tylko jedną stronę)
  • #4
    zgierzman
    Level 28  
    SylwekK wrote:
    Ileż w tobie samozaparcia żeby testować te chińczyki dziwne :D Plusik


    "Te dziwne chińczyki" moim zdaniem trafiają na rynek po to, aby ktoś mógł próbować wymienić sobie taki moduł w urządzeniu które mu się zepsuło. Albo w innym tajemniczym celu. Z pewnością nie po to, aby hobbyści kupowali to masowo do swoich małych projektów.
    Wydaje mi się, że taki moduł powstaje albo według specyfikacji zamawiającego, na przykład fabryki produkującej miliony bezprzewodowo sterowanych wibratorów, albo odwrotnie: producent modułu udostępni specyfikację jeśli ktoś zamówi setki tysięcy modułów do swoich celów.
    Na rynek konsumencki trafiają odpryski, odrzuty, "zginięte" sztuki itp. Bo jak inaczej wyjaśnić brak sensownego datasheeta, "evaluation boardów" i tym podobnych narzędzi?

    Robota Piotra przynosi Mu z pewnością wiele satysfakcji, ale do spopularyzowania tego typu wynalazków na rynku raczej się nie przyczyni.
    Wystarczy spojrzeć na te Padauki. Wypłynęły ze dwa, czy trzy, lata temu, zebrało się na świecie trochę entuzjastów żeby rozkminiać jak działa mikrokontroler za 3 centy, nawet powstały odpowiednie narzędzia open-source, programatory itp. I lipa, wciąż na jedyni ludzie na świecie którzy o tych kontrolerach wiedzą, to czytelnicy Elektrody, EEVBlog i tym podobnych forów.
    To są układy celowane w masowych producentów.
    Piotr pokazuje elektroniczne kostki i bargrafy na nich oparte, ale kto inny zastosuje te egzotyczne procesory w swoich projektach, szczególnie, że to głównie OTP...? Na mój gust jeden na milion, reszta będzie wykorzystywać AVR, ARM, STM, ESP i tym podobne doskonale opisane i onarzędziowane platformy.
    I nawet jeśli jedna sztuka Padauka kosztuje 3 centy, a inny procek 3 dolary, to dla hobbysty kupującego jedną/kilka/kilkanaście sztuk nie robi to kolosalnej różnicy. Bo OTP versus flash już robi. Jeśli trzeba poświęcić X kostek żeby sprawdzać kolejne wersje softu, albo testować soft na jednym procku, który można przeprogramowywać dziesiątki tysięcy razy, to wiadomo co wygra w zastosowaniu amatorskim, i małoseryjnym.

    Jak dla mnie jest to "pozytywnie zakręcony szaleniec", ale wartość edukacyjna jego artykułów jest zerowa, bo ilość szczegółów swojego "reverse enineering" ogranicza do absurdalnego minimum. A wartość praktyczna jest jeszcze mniejsza.
    Ale gdybym był właścicielem/szefem firmy szukającej wybitnego pracownika, do napisałbym do niego prywatną wiadomość z zapytaniem o Jego warunki zatrudnienia :-D
  • Computer ControlsComputer Controls
  • #5
    piotr_go
    DIY electronics designer
    zgierzman wrote:
    wartość edukacyjna jego artykułów jest zerowa, bo ilość szczegółów swojego "reverse enineering" ogranicza do absurdalnego minimum

    Dla początkujących pewnie tak.
    Zaawansowani znajdą tu brakujące informacje o których nie piszą w PDFie.
    Jest schemat, jest soft do generacji BINa do flasha, reszta to standardowa C51.

    zgierzman wrote:
    I nawet jeśli jedna sztuka Padauka kosztuje 3 centy, a inny procek 3 dolary, to dla hobbysty kupującego jedną/kilka/kilkanaście sztuk nie robi to kolosalnej różnicy. Bo OTP versus flash już robi.

    Są wersje flash niektórych układów, bywają nawet tańsze od OTP.
    Niedawno opisywałem Cortexy po 60 groszy.
    Problemem jest raczej brak informacji w języku innym niż Chiński i gotowych projektów pod arduino.

    Właśnie przeglądam PDFa do chińskiego "nrf24l01+" na sterydach w wersji SO8 :D
    Heh.... Mają ich chyba ze setkę.
    Czemu zachodnie firmy takich cudaków nie produkują?

    Mam nadzieję że Chińczycy wypuszczą więcej ciekawych układów na zewnątrz. Nie ma to jak konkurencja.
  • #6
    Jogesh
    Level 28  
    Ja zawsze z zainteresowaniem czytam o tych najtańszych układach. Zawsze mogę znaleźć coś dla siebie co polecę znajomemu co robi układy do migania LEDami albo do LEDów WS2811. Przy kilku tysiącach sztuk już się opłaca, szczególnie że konkurencja na rynku walczy o każdy grosz. Sam raczej nie stosuję takich układów, bo za małą skalę produkcji mam.
  • #8
    piotr_go
    DIY electronics designer
    Tak.
    Części rejestrów nie opisali, część opisu jest ze sobą sprzeczna, puste tabelki...
  • #9
    speedy9
    Helpful for users
    piotr_go wrote:
    Procek ma 8kB OTP. Hmmmm, z Chińczykami nigdy nie wiadomo. Może to flash?

    W sumie to w PDFie jest taki ciekawy wpis:
    Quote:
    Program memory is normally assumed to be read only

    Więc coś jest na rzeczy :)
  • #10
    piotr_go
    DIY electronics designer
    1.
    A co Chińczyk miał na myśli to tylko on sam on wie.
    Jak pisałem, widziałem już scalaki z pamięcią programu opisaną jako "ROM", a dalej w opisie było jak ją programować z poziomu FW. :)

    2.
    Może to być wczesna wersja PDFa "kopiuj wklej" z jakiegoś innego scalaka co by sugerowały niektóre rozbieżności.

    3.
    Może można nadpisać niewykorzystaną cześć OTP? Taki 1kB by mi wystarczył.
    Stary kod zamazać zerami (NOP) i umieścić nowy za nim w pustym miejscu.
    Przerwania by nie działały, ale da się z tym żyć.

    4.
    Jak się nie da, to się nie da, trudno się mówi.
    Może można gdzieś czyste scalaki kupić.
  • #12
    piotr_go
    DIY electronics designer
    speedy9 wrote:
    Spróbuj, może uda Ci się dostać do tego pliku

    Próbowałem, na tym i na kilku innych serwerach.
    Rejestracja nic nie daje, chcą kasę albo trzeba coś udostępnić a udostępnione pliki muszą być pobrane.
    Beken nie odpowiedział a sprzedawcy z aliexpress nie mają tych plików i nie mogą pobrać.
  • #13
    altar3
    Level 12  
    Witam wiem ze odgrzewam kotleta ale mam male pytanie. Czy te układy żeby ze sobą gadały trzeba jakoś sparować, czy podłączamy i działają?
  • #14
    piotr_go
    DIY electronics designer
    Nie próbowałem, ale z tego co widzę w instrukcji, domyślnie są ustawione na most UART 9600bps.
  • #15
    altar3
    Level 12  
    Tak to doczytałem i wiem że jest fabrycznie ustawione właśnie na transparentną transmisje UART. Ale mi chodzi o to czy dwa moduły trzeba jakoś ze sobą sparować czy podłączam i działa. A to by znaczyło że wszystkie takie moduły gadają ze sobą i transmisja nijak nie jest zabezpieczona. Nie żebym miał plan przesyłać tym jakieś ważne czy poufne dane ale jak bym sobie np. zrobił jakieś gniazdko włączane z pilota, to inna osoba z takim modułem może sterować moim gniazdkiem i mnie denerwować. I właśnie chodzi mi o to czy te moduły się zesobą paruje w jakiś sposób żeby ta transmisja była w jakim kolwiek stopniu zabezpieczona
  • #16
    piotr_go
    DIY electronics designer
    Nigdy nie próbowałem ich odpalić na oryginalnym FW. Wiem tyle co w instrukcji.
    Na szyfrowanie w modułach za 60 centów bym nie liczył.
  • #17
    altar3
    Level 12  
    Wiem że nie próbowałeś na oryginalnym FW. Miałem tylko nadzieje ze odezwie się ktoś kto próbował i będzie mógł odpowiedzieć na moje pytanie, a tak zostaje mi zakupić i spróbować, a to będzie trwało bo z chin długo paczki idą.