Konrad
Guest
Mon Sep 27, 2004 9:44 pm
Witam!
Podłączyłem TLV5618A poprzez SPI z ATMega8. Wszystko zrobiłem tak jak w
notach obu układów. No i nie działa poprawnie. Źródło programu:
$regfile = "m8def.dat"
$crystal = 1000000
$baud = 4800
Config Spi = Hard , Master = Yes , Noss = 0
Spcr.5 = 0
Spcr.3 = 0
Spcr.2 = 1
Dim Wart As Word , A(2) As Byte
Dim Nap As Single
Spiinit
Do
Input "Podaj wartosc napiecia." ; Chr(9) ; "U=" , Nap
Wart = Nap / 0.000625 '2,56V/2^12=0,000625V
A(1) = High(wart)
A(2) = Low(wart)
A(1).7 = 1 'Rejestr kanału A przetwornika
Print "Wart=" ; Wart ; Chr(9) ; "A(1)=" ; A(1) ; Chr(9) ; "A(2)=" ;
A(2)
Spiout A(1) , 2
Loop
End
Problem polega na tym, że po wysłaniu wartości do przetwornika przetwornik
nie reaguje lub na wyjściu pojawia się napięcie losowe z przedziału od 0 do
VCC. Vref=2,56V. Vcc=4,5V. Przetwornik jest sprawny (sprawdzałem na 2
egzemplarzach).
http://www.ahcinga.cad.pl/TLV5618A.pdf
Konrad
Paweł K
Guest
Tue Sep 28, 2004 7:42 am
Quote:
Podłączyłem TLV5618A poprzez SPI z ATMega8. Wszystko zrobiłem tak jak w
notach obu układów. No i nie działa poprawnie. Źródło programu:
Niestety, powszechnie wiadomo ze w Bascomie jest spieprzona
obsluga SPI. JA mialem problem z RTC na SPI DS1305.
U mnie pomogly wlasne procedury odczytu i zapisu jak nizej:
Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes ,
Polarity = Low , Phase = 1 , Clockrate = 4
Spiinit
Rtc_cs Alias Portb.5
'Write SPI
Sub Write_ds1305(_adres , _data)
Rtc_cs = 1
Spdr = _adres
Gosub _spi_wait
Spdr = _data
Gosub _spi_wait
Rtc_cs = 0
End Sub
'Read SPI
Function Read_ds1305(_adres)
Rtc_cs = 1
Spdr = _adres
Gosub _spi_wait
Spdr = &H00
Gosub _spi_wait
Read_ds1305 = Spdr
Rtc_cs = 0
End Function
_spi_wait:
sbis SPSR,SPIF
rjmp _spi_Wait
Return
--
--
Best regards
K@pW from Poland
kpw(at)qs.pl
http://kpw.qs.pl
UIN: 8017753
GG: 1263183
---------------- end ----------------
Konrad
Guest
Tue Sep 28, 2004 9:07 am
Quote:
Podłączyłem TLV5618A poprzez SPI z ATMega8. Wszystko zrobiłem tak
jak w notach obu układów. No i nie działa poprawnie. Źródło programu:
Niestety, powszechnie wiadomo ze w Bascomie jest spieprzona
obsluga SPI. JA mialem problem z RTC na SPI DS1305.
U mnie pomogly wlasne procedury odczytu i zapisu jak nizej:
Dzięki! Pomogło, ale teraz mam kolejny problem. Reaguje tylko na co drugą
porcję danych.
Może ktoś się domyśla dlaczego?
Konrad