piła na wyjściu AVR?

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Polish to

Threaded View
Problem jak zwykle pewnie banalny ale wymiękłem :P Na wyjściu z AVRa
(MEGA162), gdzie powinienem mieć piękny sygnał zegarowy dla PGA2310 po
software'owym SPI ale chwilowo jest nic niepodłączone mam cś takiego:
http://obrazki.elektroda.pl/3153887600_1353363520.png
Port z którego to wychodzi (dolna połówka portu C) zainicjowany
poprawnie, zresztą wcześniej działało to i dawało elegancki przebieg a w
kodzie nic się nie zmieniło. Procek zmieniony, dalej to samo. Nic też
nie wskazuje na jakąś globalną usterkę AVRa tudzież oscyloskopu bo
przebieg z wyjścia TXD jest elegancki, prostokątny. Zgłupiałem do reszty
Quoted text here. Click to load it
--  
Pozdrawiam      Bad Worm        badworm[maupa]postpl
GG#2400455 ICQ#320399066  

Re: piła na wyjściu AVR?
Powitanko,

Quoted text here. Click to load it

A z jakims obciazeniem? Bo wyglada, jakby jakas pojemnosc sie  
rozladowywala nie majac za bardzo przez co.


Pozdroofka,
Pawel Chorzempa
--  
"-Tato, po czym poznać małą szkodliwość społeczną?
-Po wielkiej szkodzie prywatnej" (kopyrajt: S.  Mrożek)
We've slightly trimmed the long signature. Click to see the full one.
Re: piła na wyjściu AVR?
W dniu 2012-11-19 23:25, badworm pisze:
Quoted text here. Click to load it

Jesteś pewien, że to ten sam wsad procesora? Mnie to wygląda, że port  
jest ustawiony na wejście(DDRC dla tego bitu=0), a rejestrem danych  
kluczujesz między pull-up a Hi-z.

Pozdrawiam,
Paweł

Re: piła na wyjściu AVR?
On 19.11.2012 23:25, badworm wrote:
Quoted text here. Click to load it

Wygląda jakby "w dół" sygnał był ciągnięty tylko jakimś pull-down. Po  
mojemu zamienione DDR i PORT.

--  
Pozdrawiam
Michoo

Re: piła na wyjściu AVR?
Dnia Tue, 20 Nov 2012 17:22:56 +0100, Michoo napisał(a):

Quoted text here. Click to load it

Ok, znalazłem rozwiązanie, nie trafiłeś choć byłeś blisko.
Najpierw miałem coś takiego:
DDR(SPI_PORT)=1<<SPI_CS | 1<<SPI_SCK | 1<<SPI_MOSI;
a kilka linijek dalej
DDR(MUTE_PORT)=1<<MUTE_OUT;  
przy czym SPI_PORT i MUTE_PORT to to samo. Zebranie tego w jeden wiersz:
DDR(SPI_PORT)=1<<SPI_CS | 1<<SPI_SCK | 1<<SPI_MOSI | 1<<MUTE_OUT;
rozwiązało problem.
Dzięki za podpowiedź, tak coś czułem, że piny odpowiedzialne za soft-spi
mogą pracować jako wejścia ale nie mogłem znaleźć gdzie robię błąd.
--  
Pozdrawiam      Bad Worm        badworm[maupa]postpl
GG#2400455 ICQ#320399066  

Re: piła na wyjściu AVR?
On 20.11.2012 23:16, badworm wrote:

Na przyszłość imo lepiej zrobić makra pokroju
SET_BITS(port,bits) port|=bits
CLEAR_BITS(port,bits) port&=!(bits)
TOGGLE_BITS(port,bits) port^=bits

mniejsza szansa, ze się operator = gdzieś "omsknie".

--  
Pozdrawiam
Michoo

Re: pi?‚a na wyj?›ciu AVR?
On Tuesday, November 20, 2012 11:38:32 PM UTC+1, Michoo wrote:
Quoted text here. Click to load it

Tylda, nie wykrzyknik.

Re: piła na wyjściu AVR?
On 21.11.2012 00:44, shg wrote:
Quoted text here. Click to load it
Zgadza się. &=~ Palec mi się omsknął.
--  
Pozdrawiam
Michoo

Re: piła na wyjściu AVR?

Quoted text here. Click to load it

Z ciekawości - wiesz (Ty albo ktoś), dlaczego akurat tak wygląda wykres?  
Na moje oko to właśnie dla Hi-Z powinny być szumy i jakieś piły z pinów  
obok, a dla pull-up powinna być stabilna jedynka. Na tym RIGOL-u masz to  
zainwertowane?

Swoją drogą (1<<bit), w avr/io.h masz makro _BV(), IMO programy wtedy są  
czytelniejsze.

--  
Gof
http://www.chmurka.net/

Re: piła na wyjściu AVR?
W dniu 2012-11-21 09:29, Adam Wysocki pisze:
Quoted text here. Click to load it

"Jedynka" robiona przez pull-up właśnie jest stabilna, widać że narasta  
bardzo szybko. Za to Hi-Z na porcie to tak na prawdę pull-down przez  
sondę oscyloskopu (10MOhm?). Pojemności układu i samej sondy rozładowują  
się wtedy dłużej niż trwa naładowanie przez pull-up. To dlatego przebieg  
nie schodzi do zera - te zęby to nie "popsuta" jedynka, tam powinna być  
seria impulsów 1,0,1,0...

Pozdrawiam,
Paweł


Site Timeline