Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 12 lis 2024, o 16:59


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
Autor Wiadomość
PostNapisane: 27 gru 2012, o 11:47 
Offline
Użytkownik

Dołączył(a): 27 gru 2012
Posty: 159
Pomógł: 3

Witam,
Jako że już od dłuższego czasu przeglądałem to forum postanowiłem założyć sobie konto.
Ponieważ jest to mój 1 post :) pragne wszystkich przywitać a zwłaszcza pana Mirka :)

Jestem w trakcie tworzenia komunikacji po RS485, jako że pod urządzenie typu MASTER będzie współpracowało z kilkoma urządzeniami typu SLAVE postanowiłem wykorzystać tryb MPCM. Długo szukałem ale nie znalazłem odpowiedzi na swoje pytanie. Mianowicie:
Używam ramki danych o parametrach: 9 bitów, bez parzystości 2 bity stopu, 9 bit to bit ramki adresu (1-wysłany adres 0-normalne dane).
Urządzenie SLAVE nadaje tylko po odpytaniu przez MASTER-a. Chcę także wykonać ochronę przed przypadkowym nadaniem przez SLAVA ramki danych. Czy wobec tego mogę zastosować w urządzeniu typu MASTER tryb MPCM? Wydaje mi się że nie ma z tym problemu ale lepiej jednak zapytać :)

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 gru 2012, o 12:48 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27308
Lokalizacja: Szczecin
Pomógł: 1041

Witamy na forum w takim razie ;)

Nie powinno być problemu z tym trybem tylko pomyśl czy jest sens się katować taką jednak odmienną komunikacją (mam tu na myśli ramki 9-bitowe) .... pomyślałeś jak np będziesz to testował ? .... czy nie lepiej wdrożyć jakiś prosty nawet własny protokół komunikacyjny na typowych ramkach 8-bitowych ? (tak tylko pytam z ciekawości - co cię wiedzie w kierunku MPCM, który chyba dosyć rzadko jest wykorzystywany)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 gru 2012, o 13:21 
Offline
Użytkownik

Dołączył(a): 27 gru 2012
Posty: 159
Pomógł: 3

Myślałem ale:
Do magistrali ma być podłączone wiele urządzeń (max 32 ale zapewne będzie to ok 7-10), które będą zajmowały się innymi rzeczami a Master będzie tylko zbierał dane lub wysyłał aktualizacje tych danych (nastawy itp), a zwykła transmisja mogłaby powodować u slev-ów niepotrzebnie odbierane pakietów które nie są do nich zaadresowane, być może przesadzam ale... Po drugie slave ma także odpowiadać a nie tylko dostawać dane więc wydaje mi się że tak będzie prościej.
Poza tym transmisja tego typu nie różniłaby się od zwykłej transmisji 8-bitowej, a do testów mam dwa zestawy uruchomieniowe : własny firmy ATNEL ;) i pożyczony GOTRONIKA

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 gru 2012, o 15:06 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27308
Lokalizacja: Szczecin
Pomógł: 1041

Nie żebym na siłę namawiał cię do zmiany koncepcji bo nie o to chodzi ale to co piszesz o tym, że transmisja miałaby powodować u slaveów niepotrzebne odbieranie pakietów nie do nich adresowanych to w czym to przeszkadza ? tym bardziej że adres może lecieć w ramce nadrzędnej przez ciebie stworzonej i po odebraniu adresu reszta jest ignorowana. Tak robi wiele standardowych protokołów jak chociażby Modbus ;) ... i w niczym nikomu to nie przeszkadza. Więc gdyby to miał być u ciebie tylko ten powód to dlatego stawiam go pod ponowne rozważenie być może.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 gru 2012, o 15:17 
Offline
Użytkownik

Dołączył(a): 27 gru 2012
Posty: 159
Pomógł: 3

Być może i racja. Chciałem to zrobić jak najprościej i wpadł mi do głowy taki pomysł no bo skoro jest coś takiego jak MPCM i jest do tego stworzony. W takim razie może zmienię pytanie czy do obsługi takiego protokołu można by użyć bufora cyklicznego? Czy lepiej zapisywać dane nie do buforu cyklicznego tylko do jakiegoś zwykłego (np 10 elementowego) i kasować jego zawartość po przeczytaniu. Ta druga opcja wydaje mi się bardziej praktyczna.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 gru 2012, o 15:35 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27308
Lokalizacja: Szczecin
Pomógł: 1041

Jak zwykle - można zrobić na milion sposobów, ale mówienie o tym która wersja wydaje się bardziej praktyczna to tak jak próba oceny np która kawa ma lepszy smak ;) ....

10 elementowy bufor ???? to ty myślisz o komunikacji za pomocą elementów jednobajtowych ??? no owszem można i tak jak ktoś się uprze i idzie na totalny minimalizm - ale mam tu na myśli przesyłanie pojedynczych bajtów danych czy rozkazów... hmmm no ale bufor 10 bajtowy zamiast cyklicznego przy całej prostocie stworzenia buforowania cyklicznego to już hmmm (no przynajmniej jak dla mnie) dziwny pomysł ...

Może po prostu jednak warto się bliżej zaprzyjaźnić z tą cyklicznością - polecam mój ostatni videoporadnik

http://mirekk36.blogspot.com/2012/12/ws ... a-bez.html

tam też jest mowa o tym - może będzie jakieś natchnienie ....

Ja np nie wyobrażam sobie życia korzystając z RS232/485 bez buforowania cyklicznego i każdego zachęcam do takiego podejścia.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 gru 2012, o 15:51 
Offline
Użytkownik

Dołączył(a): 27 gru 2012
Posty: 159
Pomógł: 3

Dla jasności rozumiem istotę bufora cyklicznego, a jestem właśnie w trakcie oglądania wideoporadników :) ale są one rozległe i trudno je obejrzeć wszystkie naraz :) (ale to jak dla mnie plus), chodzi mi jednak o to że ramka danych nie będzie i tak dłuższa niż 10 bajtów a i po "przeczytaniu" jej przez uC będzie ją można skasować a i na plus będzie można dodać chyba jeszcze to że bajt adresu urządzenia będzie się znajdował zawsze w tym samym miejscu co znacząco ułatwi sprawę, ale może i faktycznie jak pooglądam do końca wideoporadnik to wtedy się coś innego w głowie zaświeci

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 gru 2012, o 16:02 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27308
Lokalizacja: Szczecin
Pomógł: 1041

zobaczysz w widoporadniku ale masz też w książce - jak robić cykliczność ;)

w ogromnym uproszczeniu buforowanie cykliczne dla 64 bajtów

head = (head + 1) & 63;

całe czary-mary tkwią w tym maskowaniu & 63 - dużo roboty ???

a brak cykliczności - zawsze może odbić ci się czkawką niestety :(

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 4 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO