-
1. Data: 2010-07-20 16:36:05
Temat: Atmega jak zrealizowac odbior szeregowy
Od: "Chomik" <c...@h...pl>
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.
--
-
2. Data: 2010-07-20 17:17:33
Temat: Re: Atmega jak zrealizowac odbior szeregowy
Od: ptoki <s...@g...com>
On 20 Lip, 18:36, "Chomik" <c...@h...pl> wrote:
> 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.
>
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:
http://www.slideshare.net/embedautomation/serial-com
munication-in-atmega-16
slajd 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.
--
Lukasz Sczygiel
-
3. Data: 2010-07-20 17:31:15
Temat: Re: Atmega jak zrealizowac odbior szeregowy
Od: "Chomik" <c...@h...pl>
>>
> 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:
> http://www.slideshare.net/embedautomation/serial-com
munication-in-atmega-16
> slajd 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.
>
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.
-
4. Data: 2010-07-20 18:17:07
Temat: Re: Atmega jak zrealizowac odbior szeregowy
Od: ptoki <s...@g...com>
On 20 Lip, 19:31, "Chomik" <c...@h...pl> wrote:
> > 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:
> >http://www.slideshare.net/embedautomation/serial-co
mmunication-in-atm...
> > slajd 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.
>
> 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.
Ja cie nie chce straszyc ale tego FFSK 2400Bd CMX469A nie ma w
google. :)
Ale ok, jesli masz po prostu dwa sygnaly i jeden jest zegarowy a drugi
z danymi to sprawa jest relatywnie prosta.
Polecam ksiazke http://www.btc.pl/?id_prod=65500
Na poczatek bedzie dobra. Trudno mi cos wiecej zaproponowac bo tez sie
ucze.
Mozesz tez rozwazyc inne jego pozycje bo pisze dobrze i przyklady
dzialaja (a przynajmniej te ktore zbudowalem).
--
Lukasz Sczygiel
-
5. Data: 2010-07-20 18:32:06
Temat: Re: Atmega jak zrealizowac odbior szeregowy
Od: "Chomik" <c...@h...pl>
>
> Ja cie nie chce straszyc ale tego FFSK 2400Bd CMX469A nie ma w
> google. :)
> Ale ok, jesli masz po prostu dwa sygnaly i jeden jest zegarowy a drugi
> z danymi to sprawa jest relatywnie prosta.
> Polecam ksiazke http://www.btc.pl/?id_prod=65500
> Na poczatek bedzie dobra. Trudno mi cos wiecej zaproponowac bo tez sie
> ucze.
> Mozesz tez rozwazyc inne jego pozycje bo pisze dobrze i przyklady
> dzialaja (a przynajmniej te ktore zbudowalem).
>
> --
Cos chyba zle wpisales bo ten scalak jest na pierwzym miejscu w google i
kolejnych kilkudziesieciu pozycjach.
Co do ksiazki to taka mam a w Bascomie pisze programy od dawna. Lecz do tych
zastosowan bedzie potrzebna jakas wstawka w asemblerze (wole go niz C) ale
nie wiem z ktorej strony ugryzc zwlaszcza temat tworzenia, organizacji i
dostepu do bufora bo to juz by mi cos dalo.
-
6. Data: 2010-07-20 19:20:45
Temat: Re: Atmega jak zrealizowac odbior szeregowy
Od: ptoki <s...@g...com>
On 20 Lip, 20:32, "Chomik" <c...@h...pl> wrote:
> > Ja cie nie chce straszyc ale tego FFSK 2400Bd CMX469A nie ma w
> > google. :)
> > Ale ok, jesli masz po prostu dwa sygnaly i jeden jest zegarowy a drugi
> > z danymi to sprawa jest relatywnie prosta.
> > Polecam ksiazke http://www.btc.pl/?id_prod=65500
> > Na poczatek bedzie dobra. Trudno mi cos wiecej zaproponowac bo tez sie
> > ucze.
> > Mozesz tez rozwazyc inne jego pozycje bo pisze dobrze i przyklady
> > dzialaja (a przynajmniej te ktore zbudowalem).
>
> > --
>
> Cos chyba zle wpisales bo ten scalak jest na pierwzym miejscu w google i
> kolejnych kilkudziesieciu pozycjach.
> Co do ksiazki to taka mam a w Bascomie pisze programy od dawna. Lecz do tych
> zastosowan bedzie potrzebna jakas wstawka w asemblerze (wole go niz C) ale
> nie wiem z ktorej strony ugryzc zwlaszcza temat tworzenia, organizacji i
> dostepu do bufora bo to juz by mi cos dalo.
Wpisalem cala fraze i pokazalo sie zero wynikow.
Ale rzeczywiscie samo CMX469A pokazuje troche wynikow.
A czemu wstawka w asm? bascom jest relatywnie szybki jesli nie uzywa
sie fikusnikow.
Probowales cokolwiek juz napisac w tym temacie?
Ja na lysym bascomie zrobilem pwm-a i nawet dziala czyli mruga diodami
szybciej niz te200Hz (ale nie wiem dokladnie ile).
--
Lukasz Sczygiel
-
7. Data: 2010-07-20 19:59:22
Temat: Re: Atmega jak zrealizowac odbior szeregowy
Od: "Chomik" <c...@h...pl>
> Wpisalem cala fraze i pokazalo sie zero wynikow.
> Ale rzeczywiscie samo CMX469A pokazuje troche wynikow.
> A czemu wstawka w asm? bascom jest relatywnie szybki jesli nie uzywa
> sie fikusnikow.
> Probowales cokolwiek juz napisac w tym temacie?
> Ja na lysym bascomie zrobilem pwm-a i nawet dziala czyli mruga diodami
> szybciej niz te200Hz (ale nie wiem dokladnie ile).
>
Pewne rzeczy latwiej w asm zrobic, chodza szybciej a co najwazniejsze mniej
miejsca zajmuja. Procz odebrania jeszcze te dane trzeba obrobic i to pewnie
juz by bylo w Bascomie bo tak mi latwiej.
Poki co nic nie mam ani w asm ani w bascomie bo stanalem na etapie
wymyslania jak zrobic 9 bajtowy bufor zapisywany bit po bicie. Jak to
wymysle albo ktos mi podpowie zeby nie wywazac otwartych juz drzwi, to wtedy
bede myslal nad reszta.
-
8. Data: 2010-07-20 20:10:41
Temat: Re: Atmega jak zrealizowac odbior szeregowy
Od: "Andy" <a...@c...pl>
Uzytkownik "Chomik" <c...@h...pl> napisal w wiadomosci
news:i24v66$llo$1@news.supermedia.pl...
>
> > Wpisalem cala fraze i pokazalo sie zero wynikow.
> > Ale rzeczywiscie samo CMX469A pokazuje troche wynikow.
> > A czemu wstawka w asm? bascom jest relatywnie szybki jesli nie uzywa
> > sie fikusnikow.
> > Probowales cokolwiek juz napisac w tym temacie?
> > Ja na lysym bascomie zrobilem pwm-a i nawet dziala czyli mruga diodami
> > szybciej niz te200Hz (ale nie wiem dokladnie ile).
> >
>
> Pewne rzeczy latwiej w asm zrobic, chodza szybciej a co najwazniejsze
mniej
> miejsca zajmuja. Procz odebrania jeszcze te dane trzeba obrobic i to
pewnie
> juz by bylo w Bascomie bo tak mi latwiej.
> Poki co nic nie mam ani w asm ani w bascomie bo stanalem na etapie
> wymyslania jak zrobic 9 bajtowy bufor zapisywany bit po bicie. Jak to
> wymysle albo ktos mi podpowie zeby nie wywazac otwartych juz drzwi, to
wtedy
> bede myslal nad reszta.
>
ale w czym wlasciwie problem ?
Ja pisze w C i nie znam bascoma ale da sie chyba zrobic licznika do 8 w
bascomie ?
Czy moze nie ma przesuniecia shifta na zmiennej ?
Czy masz problem jak poszczegolne bity wkleic do zmiennej ?
np odebrany bit ustawiasz na najstarszym bicie zmiennej
a nastepnie zmienna przesuwasz w prawo o jeden bit
i robisz tak 8 razy i masz odebranych 8 bitow
--
Andrzej
-
9. Data: 2010-07-20 20:30:35
Temat: Re: Atmega jak zrealizowac odbior szeregowy
Od: "Chomik" <c...@h...pl>
>>
>
> ale w czym wlasciwie problem ?
>
> Ja pisze w C i nie znam bascoma ale da sie chyba zrobic licznika do 8 w
> bascomie ?
> Czy moze nie ma przesuniecia shifta na zmiennej ?
>
> Czy masz problem jak poszczegolne bity wkleic do zmiennej ?
>
> np odebrany bit ustawiasz na najstarszym bicie zmiennej
> a nastepnie zmienna przesuwasz w prawo o jeden bit
>
> i robisz tak 8 razy i masz odebranych 8 bitow
>
Dla jednego bajtu nie problem. Bufor ma miec co najmniej 9 bajtow. To juz
troche komplikuje i bascom zbyt czasochlonny kod by do tego robil wiec wole
w asm (C wogole nie znam ). Wiec jeszcze pozostaje mi rozszerzenie tego
przesuwania na cale 9 bajtow.
-
10. Data: 2010-07-20 21:13:21
Temat: Re: Atmega jak zrealizowac odbior szeregowy
Od: Zbych <a...@o...pl>
Chomik przemówił ludzkim głosem:
> Mozecie polecic jakas ogolnodostepna literature, strony, czy
> ewentualnie jakies hasla po ktorych szukac rozwiazan tego typu funkcji. Z
> gory dziekuje za pomoc.
Przeczytałeś to
http://www.cmlmicro.com/Products/applications/AN_WDA
TA_469AFW_1.pdf ?
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:
> The Tx Data must be valid at the time of the rising edge of the Tx Sync clock
signal. Therefore, the optimum
> time to change Tx Data is on the falling edge of the Tx Sync clock.
Odbiór robisz synchronicznie z Rx Sync:
> The optimum time to sample the Clocked Data Out is on the falling edge of the Rx
Sync Out clock signal.
Oczywiście możesz się obyć bez SPI podłączając linie Sync do przerwań.