Atmega jak zrealizowac odbior szeregowy

Potrzebuje polaczyc odbiornik FFSK 2400Bd CMX469A do Atmega8. Odbierany sygnal sklada sie z 9 bajtow gdzie pierwszy bajt jest zawsze staly (preambula). Niestety doswiadczenia w programowaniu wielkiego nie mam. CMX na wyjsciu daje sygnal zegarowy i sygnal danych. Wiec kombinuje ze zbocze zegarowe bedzie generowalo przerwanie obsluga przerwania bedzie sprawdzala stan linii danych i dopisywala do jakiegos bufora ktory bedzie sprawdzany na wystapienie preambuly a jak ta wystapi to odczyta kolejne 8 bajtow. Jesli nawet to by zadzialalo to dalej nie wiem jak to zrealizowac programowo. Podwpowiedzcie czego szukac zeby o tym czegos sie dowiedziec. Jak tworzyc bufory odczytywac i zapisywac w nich itp. Moze sa jakies dostepne zrodla robiace cos w tym stylu ktore mozna by wykorzystac. Goglujac po haslach typu szeregowa transmisja danych natrafiam praktycznie na opisy UART-a i tego typu rzezcy. Tutaj transmisja jest niestandardowa i obsluge rzeba by napisac od zera. Mozecie polecic jakas ogolnodostepna literature, strony, czy ewentualnie jakies hasla po ktorych szukac rozwiazan tego typu funkcji. Z gory dziekuje za pomoc. Dodam tylko ze nie wchodzi w gre zlecenie tego komus bo jest to jednorazowy projekt w dodatku beznakladowy wiec albo sam cos zrobie albo nie bedzie wcale.

Reply to
Chomik
Loading thread data ...

Tez jestem poczatkujacy ale pachnie mi to standardem. Ten odbiornik po zwyklym rs232 gada czy ma jakies niestandardowe parametry? Jak gada na 0V i 5V w zwyklym trybie 3 drutowym (jesli jednokierunkowo) to starczy zwykla atmega8 i bascom. Ja znalazlem ladne rozwiazania w ksiazce marcina wiazani mikrokontrolery dla poczatkujacych. Ale to raczej standard wiec jak wrzucisz w google atmega serial to ci wyrzuci co nieco wiedzy. np:

formatting link
12 do wyrysowania w eagle lub kicadzie. A potem jakies proste tutoriale w bascomie zalatwia sprawe. Ale jesli jestes kompletnie zielony to lekko nie bedzie. Gotowca niestety nie mam pod reka moze kto inny podrzuci cos sprawdzonego.

Reply to
ptoki

To nie ma nic wspolnego z RS-em. Sama transmisja idzie droga radiowa wiec od samego szumu CMX469 moze generowac jakis ciag ktory nie jest uzyteczny. Przy RS zaklada sie ze polaczenie jest w 100%. Jest sygnal startu, stopu itd. Tutaj CMX wypluwa z siebie ciag zerojedynkowy i musimy sie sami zorientowac co jest transmisja a co smieciami. RS i UART tutaj raczej na nic.

Reply to
Chomik

Chomik przemówił ludzkim głosem:

Przeczytałeś to

formatting link
?

Z opisu wynika, że uC mógłby pracować jako SPI slave. Przy nadawaniu włączasz Tx Enable i dane wysyłasz w takt Tx Sync:

Odbiór robisz synchronicznie z Rx Sync:

Oczywiście możesz się obyć bez SPI podłączając linie Sync do przerwań.

Reply to
Zbych

No i tak napisalem Sygnal CLK bedzie generowal przerwanie i wtedy bedzie odczytywany bit. Problem byl bardziej co dalej z tym zrobic ale juz chyba powoli rozwiazalem.

Reply to
Chomik

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.