[51] serial a 16-bitowa rozdzielczosc sygnalu taktujacego

Znowu pozawracam grupowe głowy ale jakoś nie mogę sobie poradzić a nie znalazłem rozwiązania po sieci.

Problem: Taktowanie seriala - normalnie robi się licznikiem T1 w trybie 2 (autoprzeładowanie). Ale ja potrzebuję licznikiem T1 (nie T2!) narzucając mu TH1 i TL1 dowolne, z dokładnością 16 a nie 8 bitów (czyli w trybie pierwszym). Jak to zrealizować sprzętowo? - wpisuję do SBUF, transmisja zaczyna lecieć, licznik się przepełnia i... ?

Czy zostaje mi tylko wysyłanie programowe z wykorzystaniem licznika 16 bit?

Albo czy da się jakość uzyskać 31250 i 38400 (+-0,4%) z jednego kwarca, bez T2 i sprzętowo?

Reply to
Janko Muzykant
Loading thread data ...
Reply to
Piotr Nabielec

Oczywiście tak się da, tylko, że robimy przerwanie, które mi trochę nie pasuje. Zasugerowałem się opisami w źródłach ''że w trybie drugim najlepiej'' ale nie wspomniano, ze tylko w tym trybie mamy autoprzeładowanie a co za tym idzie prosty sposób sterowania serialem.

Tak więc to co miał mi robić T2 będzie robiła procedurka na innym T a T2 będzie taktował seriala w trybie autorzeładowania obu bajtów - przy dokładności dopuszczalnej <0,4% wyrobi się z zapasem.

Dzięki za pomoc.

Reply to
Janko Muzykant
Reply to
Piotr Nabielec
Reply to
Piotr Nabielec

W serii S52 mamy możliwość pracy T2 jako generator impulsów na P1.0 We wzorze określającym częstotliwość mamy w mianowniku nie 32 lecz 4, co znacznie zwiększa rozdzielczość. I tak dla 6MHz i (65536-RCAP2)=48 wychodzi dokładnie 31250, dla(65536-RCAP2)=39 wychodzi 38461,53 czyli +0,16% względem zamierzonego

34800.

Czy przy podłączeniu pod serial częstotliwość impulsów na P1.0 podzieli sie jeszcze 8 razy (co by wynikało na wzór na prędkość transmisji)? (Jeszcze tego nie sprawdziłem a w materiałach nie mogę znaleźć).

Reply to
Janko Muzykant
Reply to
Piotr Nabielec

Już znalazłem odpowiedź - owszem, mamy podział przez 4 dla wyjścia i jeszcze przez 8 (a ściślej przez 16 zza podziału przez 2) dla seriala. Czyli pupa :( Jak by tego dzielnika nie mogli ominąć jakimś bitem z sfr-a...

No nic, wychodzi T1 w modzie 1 z ładowaniem wartości początkowych w obsłudze przerwania licznika - właściwie nie problem tylko, że nie miałem do tej pory takiej potrzeby więc pytałem (zwykle to do seriala dobierało się kwarc). Dzieki za pomoc.

Reply to
Janko Muzykant

Moge prosic o wyliczenia, bo nijak mi nie pasuje.

P.S. IMHO - 12MHz, i nie trzeba zadnych trybow 16 bit . moze tez byc 6,18,24MHz

J.

Reply to
J.F.
Reply to
Piotr Nabielec

Sorry, zle pisze, pogubilem sie. Tak sie zasugerowalem ze zgubiles gdzies /12, ze sam zgubilem /16 ..

Starosc nie radosc..

J.

Reply to
J.F.

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.