logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Rozwiązano] Kompatybilność ATB USBASP v4.2 z ScanerI2C - błąd Upload

emil 25 Kwi 2020 20:59 2718 45
Najlepsze odpowiedzi

Dlaczego przy próbie Upload w ScanerI2C pojawia się błąd „Missing ATB-USB-RS232” i co jest potrzebne, aby wgrać program do ATmegi?

Sam programator ATB-USBasp nie wystarcza: służy tylko do wgrania bootloadera, a potem ScanerI2C komunikuje się z mikrokontrolerem przez port szeregowy, więc potrzebna jest przejściówka ATB-USB-RS232 oraz właściwie wykryty port COM [#18649088] [#18649688] Program sprawdza obecność właśnie ATB-USB-RS232, dlatego zwykły adapter USB-RS232 może nie zadziałać [#18649688] Jeśli używasz gołej ATmegi lub własnego zestawu, musisz mieć podłączone RXD/TXD do UART-u procesora, zasilanie i masę, a w programie wybrać prawidłowy port COM [#18649088] [#18647456] Końcowy wniosek z wątku jest taki, że bez ATB-USB-RS232 ScanerI2C nie uruchomi się poprawnie, mimo że USBasp sam w sobie działa [#18669602]
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
  • #1 18646938
    emil
    Poziom 16  
    Posty: 186
    Pomógł: 5
    Ocena: 46
    Witam
    Zakupiłem programator ATB USBASP v4.2 poprzez firmę Botland z myślą, że teraz będę mógł wykorzystać w pełni program ScanerI2C. Niestety wystąpiły problemy i kiedy zwróciłem się do „mirek36” zostałem potraktowany w sposób skandaliczny. Mam nadzieję, że ktoś inny mi pomoże.
    Chodzi o to, że po zainstalowaniu programu MkAvrCalculator, podłączeniu programatora ATB USBASP do komputera, załadowaniu sterowników z poziomu tego programu, podłączeniu programatora z moim zestawem uruchomieniowym poprzez ISP uzyskałem połączenie z procesorem ATmega32. W programie MkAvrCalculator zaznaczony był wykryty programator ATB-USBASP. Przywróciłem ustawienia fabryczne procesora – zgodnie z wytycznymi w opisowym filmiku – uruchomiłem program ScanerI2C – lub I2CScaner, są dwa warianty nazwy tego programu – ustawiłem port COM3, Wszedłem w zakładkę firmware. Tam ukazał mi się napis ATB USBASP connect, nacisnąłem „przycisk” Upload” i wtedy wyskoczył mi komunikat „Missing ATB-USB-RS232”. Nie wiem dlaczego nie mogę załadować programu do procesora. Na pomoc techniczną pana „mirek36” nie mogę liczyć bo jest on bardzo pobudliwy i arogancki. Proszę o wyrozumiałość względem moich opisów ponieważ mając 62 lata próbuję zgłębić tajniki programowania procesorów i czasami nie jestem w stanie tak szybko „załapać” wiedzę, a kiedy ktoś w sposób wyniosły traktuje mnie jak głupka to jest to bardzo stresujące i przykre.
  • #2 18647011
    zgierzman
    Poziom 31  
    Posty: 1787
    Pomógł: 108
    Ocena: 1573
    A próbowałeś u innych użytkowników na forum atnel?

    Jest jedna zasada jak tam działać: wychwalaj Mirka pod niebiosa, właź mu (wiesz gdzie) bez wazeliny, a każdego kto może Ci pomóc traktuj z należytą atencją.
    Może to nie jest komfortowe dla psychiki, ale skuteczne - są tam ludzie, którzy spędzają na tych zestawach każdą wolną chwilę i z pewnością mogą Ci pomóc pisząc tylko jedną ręką, bo drugą będą robić coś innego. To jest trochę jak sekta, ale dopóki udajesz że tam przynależysz, to uzyskasz każdą pomoc.
  • #3 18647456
    zgierzman
    Poziom 31  
    Posty: 1787
    Pomógł: 108
    Ocena: 1573
    Moderowany przez tmf:

    Część nie odnoszącą się do problemu usunąłem.



    emil napisał:
    W programie MkAvrCalculator zaznaczony był wykryty programator ATB-USBASP. Przywróciłem ustawienia fabryczne procesora – zgodnie z wytycznymi w opisowym filmiku – uruchomiłem program ScanerI2C – lub I2CScaner, są dwa warianty nazwy tego programu – ustawiłem port COM3, Wszedłem w zakładkę firmware. Tam ukazał mi się napis ATB USBASP connect, nacisnąłem „przycisk” Upload” i wtedy wyskoczył mi komunikat „Missing ATB-USB-RS232”. Nie wiem dlaczego nie mogę załadować programu do procesora.


    Nie do końca rozumiem problem, ale wydaje mi się, że kłopotem może być:
    a) "Przywróciłem ustawienia fabryczne procesora" - zresetowałeś całkowicie procsesor w programatorze. Nie masz już USBASP, tylko cegłę... Nie wiem czy to jest możliwe w atnelu, ale...
    b) "ustawiłem port COM3" - to nie jest właściwy port.

    W przypadku b) odłącz programator i podłącz ponownie. Słuchaj dźwięków systemowych. Jeśli usłyszysz, że coś zostało odłączone/podłączone (jak pendrajw), to jest nadzieja.
    Otwórz panel sterowania / system / menedżer urządzeń (albo pod lupą w pasku systemu zacznij pisać "menedżer urządzeń" i otwórz tą aplikację). Tam zobaczysz drzewko ze zwiniętymi gałęziami, a jedna z nich będzie się nazywała "Porty (COM i LPT). Rozwiń tą gałąź i zobacz, czy podłączanie/odłączanie sprzętu powoduje pojawianie się i znikanie nowego portu COM. I to może nie jest COM3, a np. COM15...l

    emil napisał:
    nacisnąłem „przycisk” Upload” i wtedy wyskoczył mi komunikat „Missing ATB-USB-RS232”


    żeby wgrać nowy firmware do procesora w USBASP musisz mieć do niego jakikolwiek dostęp, np wirtualny port szeregowy. I tu może być przyczyna i cała nadzieja, że punkt b) jest odpowiedzią. Możliwe, że mając sterowniki do tego programatora ze strony atnel będziesz widział odpowiedni port szeregowy i tak uda ci się wgrać nowy soft.

    Ale ponieważ "Począwszy od wersji 4.2 programator ATB-USBasp otrzymuje całkowicie nowe i niespotykane dotąd możliwości! Potrafi bowiem współpracować z magistralą I2C a także SPI całkowicie niezależnie od ISP", to zaczynają się problemy typowo atnelowskie - jaką wersję masz Ty? Może 4.0? A czy w 4.0 da się zresetować procesor i wgrać firmware 4.2? Itp...
  • #4 18647964
    excray
    Poziom 41  
    Posty: 5501
    Pomógł: 739
    Ocena: 656
    Według opisu na stronie potrzebujesz jeszcze przejściówki RS232-USB. Programator jest potrzebny do wgrania programu do mikrokontrolera, ale do jego poprawnej pracy musisz mieć adapter RS232, albo fizyczny COM w komputerze.
  • #5 18648435
    emil
    Poziom 16  
    Posty: 186
    Pomógł: 5
    Ocena: 46
    Witam.
    Kolego "Zgierzman", ja pisałem o przywróceniu ustawień fabrycznych procesora ale tego co jest w zestawie uruchomieniowym czyli ATmega 32 (moje niedomówienie). Zrobiłem to co pokazywał w swoim filmiku mirek36, który twierdził, że nawet nie mając jego zestawu ATB 1.05 a tylko sam programator ATB-USBASP można wgrać do procesora całkowicie "czystego" program, który pozwoli na pełne wykorzystanie jego programu SCANI2C. Ja próbowałem to zrobić zgodnie z tym co było pokazane i omówione w filmiku lecz nie udało mi się.

    Moderowany przez tmf:

    Cześć postu nie na temat usunąłem. Rozumiem rozgorycznie kolegi, lecz to forum nie służy do dyskusji o innych forach. Jeśli kolega chce uzyskać pomoc, to proszę skupić się wyłącznie na aspekcie technicznym problemu.

  • #6 18649088
    vania
    Poziom 24  
    Posty: 384
    Pomógł: 84
    Ocena: 65
    emil napisał:
    Witam.
    Kolego "Zgierzman", ja pisałem o przywróceniu ustawień fabrycznych procesora ale tego co jest w zestawie uruchomieniowym czyli ATmega 32 (moje niedomówienie). Zrobiłem to co pokazywał w swoim filmiku mirek36, który twierdził, że nawet nie mając jego zestawu ATB 1.05 a tylko sam programator ATB-USBASP można wgrać do procesora całkowicie "czystego" program, który pozwoli na pełne wykorzystanie jego programu SCANI2C. Ja próbowałem to zrobić zgodnie z tym co było pokazane i omówione w filmiku lecz nie udało mi się.

    A czy procesor ATMEGA32 masz podłączony do komputera przez jakąś przejściówkę UART->RS232 lub UART->USB?

    W skrócie to działa tak:
    - I2CScaner poprzez programator ATB-USBASP wgrywa bootloader do prcesora (w filmie jest to pokazane)
    - później I2CSkaner próbuje łączyć się przez wybrany port szeregowy do procesora aby przez ten bootloader wgrać właściwy wsad skanera I2C
    Jeśli masz zestaw ATB1.0x to on ma wbudowany konwerter UART->USB i ten zestaw musi też być podpięty do komputera kablem USB.
    Jeśli masz własny zestaw lub goły procesor to jego UART (piny RxD TxD) muszą być podłączone do konwertera UART-USB np na układzie FTDI lub innym i do komputera. Jeśli nie podepniesz procesora do komputera to nie ma szans na komunikację.
  • #7 18649521
    emil
    Poziom 16  
    Posty: 186
    Pomógł: 5
    Ocena: 46
    Witam.

    Kolego "vania" sprawa wygląda następująco:
    1. Mam zestaw testowy AVT5311 w którym zamontowany jest procesor ATmega32
    2. Poprzez programator ATB-USBASP oraz program MkAvrcalculator jestem podłączony z zestawem testowym poprzez złacze ISP
    3. Ustawienia programu MkAvrcalculator sa takie same jak w filmiku.
    4. kiedy uruchamiam program testowy ScanI2C to w programie ukazuje się informacja o połączeniu programatora ATB-USBASP (ATB_USBASP connect). Uruchamiam przycisk "Upload" - tak jak jest na filmiku - i wtedy wyskakuje mi ten komunikat "Missing ATB-USB-RS232". Kto oglądał te filmiki to zapewne słyszał jak mirek36 mówi, że aby uruchomić ScanI2C wystarczy mieć programator ATB-USBASP oraz dowolny zestaw testowy z procesorem ATmega32, lub na zwykłej "stykówce" i będzie można używać w pełni program ScanI2C.
    Z tego co zrozumiałem to najpierw powinien się załadować Bootloader, a nastepnie właściwy program tylko jak załadować Bootloadera przy całkowicie "czystym" procesorze ATmega32 kiedy jedyna możliwość jego wgrania jest przez złącze ISP, a komunikat "mówi" "Missing ATB-USB-RS232. Samo podłaczenie RS232, który mam w moim komputerze, nic nie daje ponieważ aby działał RS232 to ATmega32 musi chyba mieć wgrany jakiś program aby go obsłużył i tu jest właśnie problem bo filmik tego nie wyjaśnia. Jeżeli coś źle opisałem to proszę o wyrozumiałość i jednocześnie o pomoc w rozwiązaniu problemu.
  • #8 18649688
    vania
    Poziom 24  
    Posty: 384
    Pomógł: 84
    Ocena: 65
    emil napisał:
    Z tego co zrozumiałem to najpierw powinien się załadować Bootloader, a nastepnie właściwy program tylko jak załadować Bootloadera przy całkowicie "czystym" procesorze ATmega32 kiedy jedyna możliwość jego wgrania jest przez złącze ISP, a komunikat "mówi" "Missing ATB-USB-RS232. Samo podłaczenie RS232, który mam w moim komputerze, nic nie daje ponieważ aby działał RS232 to ATmega32 musi chyba mieć wgrany jakiś program aby go obsłużył i tu jest właśnie problem bo filmik tego nie wyjaśnia. Jeżeli coś źle opisałem to proszę o wyrozumiałość i jednocześnie o pomoc w rozwiązaniu problemu.

    Dokładnie jest tak jak piszesz. I właśnie I2CScaner załaduje Ci bootloader do procka a następnie soft właściwy.
    Tylko wygląda na to że aby to zadziałało to musisz mieć przejściówkę ATB-USB-RS232 też produkcji Atnela. Nie wystarczy dowolna inna bo program to sprawdza. Jeśli faktycznie w filmie/instrukcji o tym nie wspomnieli to ja bym ten programator zwrócił albo dokupił jeszcze ATB-USB-RS232.
  • #9 18650565
    emil
    Poziom 16  
    Posty: 186
    Pomógł: 5
    Ocena: 46
    Podjąłem jeszcze jedną próbę załadowania programu to ATmegi32. Mam w zestawie testowym przejściówkę USB/RS232 i podłączyłem ją do komputera oraz wyjście sygnałów RXD, TXD do pinów PD0, PD1 zgodnie ze schematem, który znajduje się w programie ScanI2C w zakładce "info" oraz podłączyłem programator ATB-USBASP do złącza ISP. Po uruchomieniu programu ScanI2C program sam wykrył port pod którym była przejściówka USB/RS232 (COM4) oraz programator.
    Jednak kiedy "wcisnąłem przycisk" Upload to znowu wyskoczył komunikat "Missing ATB-USB-RS232. Zrobiłem jeszcze jedno podejście do tematu, a mianowicie programator ATB-USBasp na złączu KANDA na pinach 3 i 4 ma "wyprowadzone sygnały TXD, RXD. Podłączyłem te sygnały bezpośrednio z wyprowadzeniami PD0 i PD1 procesora ATmega32, a pozostałe piny do złącza ISP zestawu testowego. W tej konfiguracji program ScanI2C nie wykrył samodzielnie portu COM no i oczywiście przy próbie załadowania programu wyskoczył znany komunikat.
    Nadmienię, że tylko w konfiguracji kiedy podłączyłem przejściówkę USB/RS23 zestawu testowego, to w menedżerze urządzeń systemu Windows ukazywało się nowe urządzenie jako COM4 czego w innych konfiguracjach nie było. Według mnie wniosek jest jeden, a mianowicie to co mówi MIREK36 - Pan Mirosław Kardaś - w swoim filmiku jest zwykłym kłamstwem i próbą naciągania potencjalnych klientów na kupowanie coraz to innych urządzeń, a jego nerwowość i arogancja wobec mojej osoby była spowodowana faktem, że dobrze wiedział, że mnie oszukał.
    Proszę moderatorów aby nie usuwali tego ostatniego zdania ponieważ uważam, że będzie to dobrą przestrogą dla innych i mocno się zastanowią zanim zakupią urządzenia firmy ATNEL. Teraz pozostaje mi zwrócić zakupiony programator i proszę o poradę jakie inne urządzenie polecacie do skanowania magistrali I2C aby mieć możliwość uzyskania adresów podłączonych układów pod magistralę I2C - najlepiej sprawdzone urządzenia.
  • #10 18650706
    vania
    Poziom 24  
    Posty: 384
    Pomógł: 84
    Ocena: 65
    emil napisał:
    Podjąłem jeszcze jedną próbę załadowania programu
    Ja już bym odpuścił. Potrzebna jest przejściówka ATB-USB-RS232

    emil napisał:
    Według mnie wniosek jest jeden, a mianowicie to co mówi MIREK36 - Pan Mirosław Kardaś - w swoim filmiku jest zwykłym kłamstwem i próbą naciągania potencjalnych klientów na kupowanie coraz to innych urządzeń, a jego nerwowość i arogancja wobec mojej osoby była spowodowana faktem, że dobrze wiedział, że mnie oszukał.
    Filmik to rodzaj reklamy (przynajmniej niektóre które widziałem). Ze strony https://atnel.pl/i2c-scaner.html można wyczytać "Jeśli ktoś nie posiada zestawu ATB, wystarczy użyć programatora ATB-USBASP oraz przejściówki ATB-USB-RS232 i można uruchomić go nawet na płytce stykowej." Część programów od Atnela to rodzaj transakcji wiązanej. Daję ci program za darmo ale kup nasz produkt. I nie ma się co dziwić na czymś firma musi zarabiać. Samego podejścia właściciela do klienta nie oceniam bo nie miałem okazji z nim korespondować ani rozmawiać.

    emil napisał:
    Teraz pozostaje mi zwrócić zakupiony programator i proszę o poradę jakie inne urządzenie polecacie do skanowania magistrali I2C aby mieć możliwość uzyskania adresów podłączonych układów pod magistralę I2C - najlepiej sprawdzone urządzenia.

    Jeśli tylko przeskanowanie magistrali to np ten https://www.elektroda.pl/rtvforum/topic2595463.html#12451246. Chyba że ktoś z zna coś lepszego.
  • #11 18650768
    roberto.pi
    Poziom 12  
    Posty: 64
    Pomógł: 5
    Ocena: 2
    A przejściówce ATB-USB-232 niema nic nadzwyczajnego poza niezwykle wysoką ceną. Głównym elementem jest FT232RL. Przejściówkę z tym układem można kupić za 15zł. Pozostaje zdobyć od kogoś zawartość MTP układu FT232RL. Może gdzieś w necie jest? Skopiowanie FT232RL odblokuje program MKV-kalkulator czy jak mu tam.
  • #12 18650832
    vania
    Poziom 24  
    Posty: 384
    Pomógł: 84
    Ocena: 65
    roberto.pi napisał:
    A przejściówce ATB-USB-232 niema nic nadzwyczajnego poza niezwykle wysoką ceną. Głównym elementem jest FT232RL. Przejściówkę z tym układem można kupić za 15zł. Pozostaje zdobyć od kogoś zawartość MTP układu FT232RL. Może gdzieś w necie jest? Skopiowanie FT232RL odblokuje program MKV-kalkulator czy jak mu tam.
    Niekoniecznie. Urządzenie na FT232RL da się zabezpieczyć. https://www.ftdichip.com/Support/SoftwareExamples/FTDIChip-ID.htm Programy Atnela korzystają z tej możliwości.
  • #13 18650898
    roberto.pi
    Poziom 12  
    Posty: 64
    Pomógł: 5
    Ocena: 2
    Ale to tylko unikalny nr. W takiej sytuacji, każdy użytkownik musiałby mieć soft przeznaczony tylko i wyłącznie dla niego a soft ściąga się ze strony, jest taki sam dla wszystkich.
  • #14 18651031
    ex-or
    Poziom 28  
    Posty: 785
    Pomógł: 147
    Ocena: 151
    Jest inna opcja mianowicie USBasp Kardasia rzekomo udostępnia API do obsługi m.in. I2C. Ze strony programatora wynika, że żaden program Kardasia z tego nie korzysta (przynajmniej w użyteczny sposób, bo jest jakieś demo) jedynie można sobie kupić komponent Delphi i samemu oprogramować. Jednakże kilka osób napisało jakieś swoje programy (np. topic20920 na jego forum).
  • #15 18651592
    emil
    Poziom 16  
    Posty: 186
    Pomógł: 5
    Ocena: 46
    Witam.

    Znalazłem dwa projekty do skanowania I2C. Jeden jest na ATmega8, a drugi na AT89C2051. Biorę się do pracy.
  • #16 18651613
    vania
    Poziom 24  
    Posty: 384
    Pomógł: 84
    Ocena: 65
    emil napisał:
    Witam.
    Znalazłem dwa projekty do skanowania I2C. Jeden jest na ATmega8, a drugi na AT89C2051. Biorę się do pracy.

    Wrzuć linki to może ktoś coś jeszcze podpowie/dopowie.
  • #17 18651614
    roberto.pi
    Poziom 12  
    Posty: 64
    Pomógł: 5
    Ocena: 2
    emil napisał:
    Witam.

    Znalazłem dwa projekty do skanowania I2C. Jeden jest na ATmega8, a drugi na AT89C2051. Biorę się do pracy.

    Nie lepiej na Arduino?
  • #18 18651618
    vania
    Poziom 24  
    Posty: 384
    Pomógł: 84
    Ocena: 65
    roberto.pi napisał:
    Ale to tylko unikalny nr. W takiej sytuacji, każdy użytkownik musiałby mieć soft przeznaczony tylko i wyłącznie dla niego a soft ściąga się ze strony, jest taki sam dla wszystkich.
    Tak na szybko wystarczy ten nr seryjny wykorzystać jako klucz do szyfrowywania zawartości EEPROMu i 99% domorosłych hakierów chcących sklonować sprzęt odpada na starcie.
  • #20 18652870
    roberto.pi
    Poziom 12  
    Posty: 64
    Pomógł: 5
    Ocena: 2
    vania napisał:
    Tak na szybko wystarczy ten nr seryjny wykorzystać jako klucz do szyfrowywania zawartości EEPROMu

    Z tego co wiem, to w FT232RL, użytkownik nie ma dostępnu do EEPROM układu jak w FT200/201 czy FT220/221. Może zmienić konfigurację ale nie może odczytywać i zapisywać pozostałej pamięci EEPROM, przy czym na 100% pewny nie jestem bo tego tematu nigdy nie drążyłem.
  • #21 18654376
    emil
    Poziom 16  
    Posty: 186
    Pomógł: 5
    Ocena: 46
    Witam.

    Przetestowałem te dwa projekty skanerów I2C. Skaner na ATmega8- zmontowany za pomocą zestawu testowego - nie chce działać. Sprawdzałem połączenia czy są zgodne ze schematem i były prawidłowe ale tester nie chciał działać. Zrobiłem porównanie schematu ideowego z rysunkiem przedstawiającym rozkład ścieżek, który był w pobranym pliku, i zauważyłem małe rozbieżności w połączeniach gniazda RS232. Wprowadziłem poprawki ale nadal nie mogłem odczytywać adresów układów scalonych z magistralą I2C. Projekt odłożyłem i na stykówce zmontowałem drugi tester na układzie AT89C2051. O dziwo układ ruszył i odczytał 2 adresy, a skanowane były dwa układy scalone. Bardzo się ucieszyłem tylko nie wiedziałem, który adres do którego układu przypisać. Odłączyłem jeden układ scalony i po uruchomieniu skanera ukazały mi się dwa adresy, takie same jak przy skanowaniu z 2 układami. Bardzo to mnie zdziwiło więc wymontowałem układ, który był ostatnio skanowany i wmontowałem układ wcześniej wymontowany. Uruchomiłem skaner i znowu pojawiły się na wyświetlaczu 2 adresy ale już inne niż poprzednio. Chwilę "podumałem" i doszedłem do wniosku, że tak na prawdę najlepiej jest skanować osobno każdy układ z magistralą I2C i niedogodnością jest też fakt, że tester nie jest w stanie pokazać adresów kilku układów na raz z magistralą I2C. Proszę o porady co do tych dwóch testerów. Jeżeli nie uda się nic poprawić to wtedy spróbuję powalczyć z projektami na Arduino bo mam taki układzik "Arduino Nano".
  • #22 18654417
    zgierzman
    Poziom 31  
    Posty: 1787
    Pomógł: 108
    Ocena: 1573
    Poczytaj o tym:
    https://i2cdriver.com/
    Do skanowania urządzeń trzeba by napisać jakiś skrypt, ale z tego co widać na stronie, urządzenie może monitorować ruch na działającej magistrali.
    Cytat:
    Watch the Whole Network
    As well a a live decode of the traffic, the built in display shows a heatmap of all active network nodes. So in an I²C network with multiple devices, you can see at a glance which ones are the most active.
    See what I²C is Doing Instantly
    When an I²CDriver is connected to an existing I²C bus, it can "snoop" the traffic and display it on the screen. This provides an excellent tool for debugging I²C issues, because you can listen in on the conversation as it happens.
    Capture I²C Traffic to Your PC
    I²CDriver can dump all I²C traffic back to the PC. I²CDriver's capture mode reliably records every bit to an exhaustive time-stamped log. This is really helpful for debug, analysis, and reverse-engineering. Supported formats include text, CSV, and VCD.


    Może są dostępne jakieś skrypty na których mógłbyś się oprzeć, albo wykorzystać wprost...
  • #23 18654431
    roberto.pi
    Poziom 12  
    Posty: 64
    Pomógł: 5
    Ocena: 2
    Pamięć EEPROM (i nie tylko) może mieć kilka adresów, ponadto każdy układ ma dwa adresy: do zapisu i do odczytu.
  • #24 18654500
    Sareph
    Poziom 24  
    Posty: 638
    Pomógł: 65
    Ocena: 378
    roberto.pi napisał:
    ponadto każdy układ ma dwa adresy: do zapisu i do odczytu.
    Specyfikacja I2C ma na ten temat inne zdanie.
  • #25 18654513
    zgierzman
    Poziom 31  
    Posty: 1787
    Pomógł: 108
    Ocena: 1573
    Sareph napisał:
    roberto.pi napisał:
    ponadto każdy układ ma dwa adresy: do zapisu i do odczytu.
    Specyfikacja I2C ma na ten temat inne zdanie.


    Masz na myśli fakt, że najmłodszy bit adresu to R/W. Kwestia semantyki.
    Moim zdaniem dla początkującego to niewielka różnica, wygląda jak dwa adresy - jeden do zapisu drugi do odczytu.
  • #26 18654560
    Sareph
    Poziom 24  
    Posty: 638
    Pomógł: 65
    Ocena: 378
    zgierzman napisał:
    Kwestia semantyki.

    Być może, ale żaden normalny skaner I2C nie podaje "adresów do zapisu i odczytu" tylko po prostu adres urządzenia.

    zgierzman napisał:
    Moim zdaniem dla początkującego to niewielka różnica, wygląda jak dwa adresy - jeden do zapisu drugi do odczytu.

    A moim to utrudnianie im życia. Ile jest API rozróżniających "adres zapisu i odczytu" a ile do których podaje się tylko adres, gdzie funkcja write/read sama sobie ustawia ten bit jak potrzebuje i ewentualnie przesuwa adres. A potem poda taki człowiek "adres zapisu" do funkcji write() i niespodzianka, nie działa, bo jest przesunięty o bit. Ale co kto lubi, tylko taki mały offtop bez opcji kontynuacji dalszej. ;)
  • #27 18655481
    roberto.pi
    Poziom 12  
    Posty: 64
    Pomógł: 5
    Ocena: 2
    Sareph napisał:
    zgierzman napisał:
    Kwestia semantyki.

    Być może, ale żaden normalny skaner I2C nie podaje "adresów do zapisu i odczytu" tylko po prostu adres urządzenia.

    zgierzman napisał:
    Moim zdaniem dla początkującego to niewielka różnica, wygląda jak dwa adresy - jeden do zapisu drugi do odczytu.

    A moim to utrudnianie im życia. Ile jest API rozróżniających "adres zapisu i odczytu" a ile do których podaje się tylko adres, gdzie funkcja write/read sama sobie ustawia ten bit jak potrzebuje i ewentualnie przesuwa adres.

    Nie utrudnianie ale dokładne skanowanie. Zdarzają się układy, które maja tylko możliwośc zapisu i skanowanie przez READ, co zwykle jest robione, nie znajduje układu. Dotyczy to często adresu 0. Powiązany z tym jest fakt, że niektóre układy nie pozwalają na odczyt jeśli wcześniej nie dokona się do nich zapisu, dlatego dobry skaner powinien sprawdzać zarówno adres do odczytu jak i do zapisu.
  • #28 18655754
    emil
    Poziom 16  
    Posty: 186
    Pomógł: 5
    Ocena: 46
    Witam kolegów.

    Właśnie skończyłem projekcik testera I2C na Arduino Nano. Miałem trochę problemów z uruchomieniem programu komputerowego obsługującego wgrywanie do Arduino programów, ale w końcu udadało się i po wgraniu programu I2C_Scanner dla Arduino, podłączeniu wyprowadzeń SDA, SCL do płytki startowej AVT5311, uruchomieniu monitora RS programu, układ zadziałał i wykrył 2 urządzenia w płytce startowej i kiedy porównałem z opisem tych układów scalonych to podane adresy przez ten tester z Arduino Nano były takie same czyli prawidłowo je odczytał. Mam teraz takie pytanie, czy ten program można wgrać do innych procesorów niż ATmega328P za pomocą złącza ISP. W opcjach programu komputerowego dla Arduino jest do wyboru rodzaj programatora, w tym USBasp. Gdyby się okazało, że nie można tak na "żywca" wgrywać, tylko trzeba by zrobić poprawki w programie - zapewne może być problem z odpowiednimi wyprowadzeniami danego procesora - to proszę także o taką informację. Spróbuję wtedy samodzielnie coś pokombinować.
  • #29 18655789
    zgierzman
    Poziom 31  
    Posty: 1787
    Pomógł: 108
    Ocena: 1573
    emil napisał:
    ATmega328P za pomocą złącza ISP. W opcjach programu komputerowego dla Arduino jest do wyboru rodzaj programatora, w tym USBasp.


    Programator (USBASP) i procesor docelowy to dwie różne rzeczy, co zapewne wiesz doskonale.
    Programatora możesz użyć dowolnego, albo wręcz portu szeregowego i bootloadera, ale wgrywany kod musi być skompilowany pod konkretny procesor na którym będzie się wykonywał.
    Przeportowanie programu na inny procesor może być dość uciążliwe, a czasem wręcz niewykonalne.
    Niektóre procesory różnią się od siebie bardzo znacznie - ilość portów w ogóle, ilość wejść analogowych, ilość flash, ilość RAM, ilość i rodzaj peryferiów takich jak sprzętowe UART, SPI, liczniki itp...

    Musisz znać minimalne wymagania kodu - ilość pamięci, peryferia - i do tego dobrać odpowiedni procesor. A potem sporo kodu przepisać od nowa, i/lub modyfikować odpowiednie pliki konfiguracyjne, uwzględniając zmiany w stosunku do pierwowzoru.
  • #30 18655821
    emil
    Poziom 16  
    Posty: 186
    Pomógł: 5
    Ocena: 46
    Moje rozumowanie opierałem na tym, że ten program skanowania I2C tak naprawdę używa tylko 2 wyprowadzeń procesora ATmega328P, SDA, SCL - wyprowadzenia PC4, PC5 ATmega328P- i tylko te dwa wyprowadzenia są podłączane do układów z magistralą I2C - oczywiście musi być podłączone zasilanie tych układów i połączenie "mas" - aby program komputerowy mógł odczytać adresy, poprzez Arduino Nano. W specyfikacji np. ATmega8, wyprowadzenia SDA, SCL - obudowa TQFP - odpowiadają wyprowadzeniom ATmega328P w obudowie TQFP. Uważałem więc, że programowanie poprzez ISP nie będzie wymagało Bootloadera, a ewentualnie będzie można, poprzez ISP, wgrać bootloadera. Proszę mnie poprawić jeżeli źle kombinuję wgranie tego programu I2C_Scanner na Arduino, do ATmega8.

Podsumowanie tematu

✨ Użytkownik napotkał problemy z programatorem ATB USBASP v4.2 podczas próby użycia programu ScanerI2C. Po podłączeniu programatora do komputera i przywróceniu ustawień fabrycznych procesora ATmega32, użytkownik nie mógł załadować oprogramowania, co skutkowało komunikatem "Missing ATB-USB-RS232". W dyskusji podano, że do prawidłowego działania programu ScanerI2C wymagany jest adapter ATB-USB-RS232, który nie jest dołączony do samego programatora. Użytkownicy sugerowali również sprawdzenie portu COM oraz poprawne podłączenie sygnałów RXD i TXD. Ostatecznie, użytkownik z powodzeniem uruchomił program na ATmega8 oraz Arduino Nano, co potwierdziło, że ATB USBASP samodzielnie nie wystarcza do uruchomienia ScanerI2C.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA