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

Jak sterować mikrokontrolerem 90S2313 z komputera przez porty?

owca607 01 Maj 2006 07:23 2015 11
REKLAMA
  • #1 2579225
    owca607
    Poziom 15  
    Posty: 105
    Pomógł: 12
    Ocena: 2
    Czy wie ktoś jak można za pomocą komputera sterować mikrokontrolerem 90S2313? Chodzi mi o podpięcie do jakiegoś portu i dawanie zer i jedynek. Byłbym wdzięczny za jakąkolwiek pomoc.
  • REKLAMA
  • #2 2579329
    yakuza_2000
    Poziom 21  
    Posty: 291
    Pomógł: 48
    Ocena: 10
    Proponuje RS-232, potrzebny jest układ MAX232 do przystosowania napięć, i jakiś program do wysyłania rozkazów.
  • REKLAMA
  • #3 2579565
    Wjt
    Poziom 2  
    Posty: 2
    Pomógł: 1
    Albo poprzez USB. Można zastosować układ FT232 + sterowniki VCP (wszystko firmy FTDI) i wtedy obsługujesz jak zwykły port COM - układ FT232 najlepiej podłączyć do sprzętowego interfejsu UART mikrokontrolera.
    Można też programowo emulować port USB w mikrokontrolerze - rozwiązania można znaleźć w necie.
    Poza tym na elektrodzie jest dużo na ten temat - wystarczy troszkę poszukać.

    Pozdrawiam
  • #4 2579761
    marek_Łódź
    Poziom 36  
    Posty: 3103
    Pomógł: 208
    Ocena: 66
    Bez żadnych dodatkowych elementów mozna sterować bezpośrednio z portu drukarki LPT. W najprostszej postaci 8 bitów danych z LPT można przesłać bezpośrednio na port procesora i dalej np. na wyjście (tylko po co, skoro te same bity można podać od razu na wyjścia urzadzenia). W innej wersji na dwóch, czy trzech liniach portu LPT mozna zorganizować transmisję szeregową.
  • REKLAMA
  • #5 2579962
    Samuraj
    Poziom 35  
    Posty: 2792
    Pomógł: 286
    Ocena: 619
    Beż żadnych dodatkowych elementów mozna też sterować przez USB. Sam kiedyś robiłem projekt lampki pod USB ze sterowaniem PWM'em.
    2 rezystowy, procesor, kwarc i to cały hardware. Trochę problemu było przy implementacji protokolu USB w AVR'e le jakos dałem rade.
  • #6 2580386
    marek_Łódź
    Poziom 36  
    Posty: 3103
    Pomógł: 208
    Ocena: 66
    Samuraj napisał:
    Beż żadnych dodatkowych elementów mozna też sterować przez USB. Sam kiedyś robiłem projekt lampki pod USB ze sterowaniem PWM'em.
    2 rezystowy, procesor, kwarc i to cały hardware. Trochę problemu było przy implementacji protokolu USB w AVR'e le jakos dałem rade.
    A tak mniej więcej możesz naszkicować jak by wyglądalo to oprogramowanie po obu stronach? Sam też choruję na takie rozwiązanie, ale zabieram sie do tego jak pies od jeża. Ewentualnie jakieś linki.
  • #7 2580429
    And!
    Admin grupy Projektowanie
    Posty: 9061
    Pomógł: 175
    Ocena: 784
    Większość opiera się o :
    http://www.cesko.host.sk
    Robiłem próby na ATtiny26 zamiast na 2313:
    1. nie trzeba podkręcać procesora (jest do 16Mhz)
    2. ma więcej urządzeń na pokładzie (np.Adc)
    3. Jest małogabarytowy tak jak 2313
    4. Niestety nie jest odpowiednikiem pinowym.

    Dla mnie probleme jest strona PC. Dll-ka nie jest zbyt wygodnym rozwiązaniem.
    Czy ktoś używał pod C++ AVR309.dll ?
  • #8 2580452
    Samuraj
    Poziom 35  
    Posty: 2792
    Pomógł: 286
    Ocena: 619
    Oj szkicowania to nie ma co :) za dużo by tego było. Pomocna była ksiązka o protokole USB ale tylko poziomy logiczne 1 i 0 i jak to rozkodować. POtem były kolejne przeboje jeśli chodzi o rozszyfrowanie poszczególnych bajtów, tu pomocny był snifer usb i pare urządzeń standardowych np joystik :)
    A potem to juz z górki aplikacja dla windowsa to najmnej problemu. Jeśli urządzenie jest widziane w systemie to potem typowa komunikacja. I to tyle. Jak coś to moge podesłać binarke. Zródła niestety nie udostępnie bo to był projekt komercyjny. Siedziałem nad tym z miesiąc więc trochę mnie to siwych włosow kosztowało.
    A i jeszcze jedno schemat wzorowany był na projekcie Igora, ale jak zobaczyłem dll i ten śmieszny program to dałem sobie spokuj. Mi zależało aby urządzenie działało na standardowcyh sterownikach wbudowanych w system i korzystało z klasy HID. Projekt Igora niestety wymaga instalacji sterowników. Moja lampka nie :)
    Trochę zdjęc i screenshotów jest pod adresem:
    http://www.gryfino.one.pl/light/
  • #9 2580503
    And!
    Admin grupy Projektowanie
    Posty: 9061
    Pomógł: 175
    Ocena: 784
    Też będę próbował zrobić to na HID ale jak narazie nie znalazłem sensownych opisów.
    Ponieważ tamten projekt Igora jest adaptowalny narazie opieram się na nim, jak mi wyjdzie HID to to zmienię.

    Jak masz jakieś linki do dobrych materiałów o hid to zalinkuj.
    Jaki wykorzystywałeś snifer USB ?
  • REKLAMA
  • #10 2580536
    Samuraj
    Poziom 35  
    Posty: 2792
    Pomógł: 286
    Ocena: 619
    Jeśli chodzi o programy to bardzo pomocne były:
    SnoopyPro usbhidioc i UsbHidDemo.
    Znalazłem gdzieś to w necie więc żródła nie podam. Wklep w google to pewnie cos znajdzie.
    Jesli chodzi o dokumentacje klasy HIT to cięzko o coś co łatwo zrozumieć. Trochę pomógł podręcznik ale nie bardzo, najlepiej przeglądać konkretne raporty jakie wysyłają urządzenia do systemu. Tam to ładnie jest opisane. Mój angielski jest na słabym poziomie i pewnie stąd brak możliwości zrozumienia dokumentacji klasy HID. Ale przzeglądając pobieżnie to i tak nic nowego wszelkie dokumentacjie jakie zdobyłem nie wniosły w tym temacie.
    Jeśli uda sie utworzyć urządzenie widziane w systemie to 80% sukcesu.
    Potem to tylko dopracowanie raportu aby wiadomo było ile danych i jak są podawane i dobierane i napisać aplikacje. Szukalem pomocy na tym forum podczas pisania tego softu i niestety tak jk zapewne zauważyłes większośc leci na łatwizne i kieruje do projektu Igora.
    Ja niestety mialem jakąś awersje do tego projektu od samego początku, jak tylko zobaczyłem te DLL'e to stwierdziełm że to chyba pisal jakiś nieprzespany programista póżną nocą :D istny koszmar i odwołanie do dziesiątek plików. A mi zależało na małej prędkości, minimalizacji hardwaru i prostej aplikacji. Cały program 24KB i żadnego DLL'a.

Podsumowanie tematu

✨ Dyskusja dotyczy metod sterowania mikrokontrolerem Atmel 90S2313 z poziomu komputera poprzez różne porty. Proponowane rozwiązania obejmują komunikację przez port RS-232 z użyciem układu MAX232 do konwersji poziomów napięć oraz program do wysyłania sygnałów binarnych. Alternatywnie sugerowano interfejs USB z wykorzystaniem układu FT232 firmy FTDI, który emuluje port COM i łączy się z UART mikrokontrolera. Możliwe jest także programowe emulowanie portu USB w mikrokontrolerze, choć wymaga to zaawansowanej implementacji protokołu USB. Sterowanie bez dodatkowych elementów można zrealizować przez port LPT (drukarki), przesyłając 8-bitowe dane równolegle lub organizując transmisję szeregową na kilku liniach. Wspomniano o projektach wykorzystujących klasę HID USB, co umożliwia komunikację bez konieczności instalacji dodatkowych sterowników, jednak implementacja protokołu HID i tworzenie odpowiedniego oprogramowania po stronie PC jest wyzwaniem. W dyskusji pojawiły się narzędzia do analizy komunikacji USB, takie jak SnoopyPro, usbhidioc i UsbHidDemo, oraz linki do dokumentacji i przykładów implementacji USB HID. Poruszono także temat alternatywnych mikrokontrolerów, np. ATtiny26, które mają więcej peryferiów i nie wymagają podkręcania zegara. Ogólnie, sterowanie mikrokontrolerem 90S2313 z komputera wymaga odpowiedniego interfejsu sprzętowego (RS-232, USB, LPT) oraz oprogramowania do przesyłania i interpretacji sygnałów binarnych.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA