Witam,
W ramach ćwiczenia się w C i bascomie na uC AVR postanowiłem sterować głowicą YST982-B0E3.
Znalazłem dla niej opis wyjść/wejść. Głowica ma sterowanie PLL na LC72131, do tego LA1844.
LC72131 sterowanie jest protokołem Sanyo CCB. Gotowców jako takich nie ma, jednak przeszukując i czytając forum, postanowiłem że spróbuje sam opanować ten protokół szeregowy.
LC72131 ma wejścia
CL (zegar)
CE (chip enable) zatrzask?
DI (data input) dane
Jeszcze jest wyjście DO, ale na razie chce się skupić na wysyłaniu, by móc coś usłyszeć.
Jeśli dobrze odczytuje z pdf-u tego układu.
W pierwszym trybie INT1,
za pomocą DI wysyłam najpierw 8 bitów adresu (by ustawić rejestry?)
Następnie 15 bitów danych, po czym jakieś 4 bity których nie rozumiem(SNS, DVS, CTE, XS) po czym znów kolejne 4 bity (R0, R1, R2, R3, - kolejne rejestry do ustawienia częstotliwości referencyjnej ?)
Teraz jak to nadawać?
CL to zegar, sygnał prostokątny którego stan niski oraz wysoki nie mogą być krótsze niż 0.75us. Każdy takt zegara, czyli stan niski i stan wysoki, to czas na wpisanie jednego bitu?
Z jaką częstotliwością mam wysyłać ten przebieg? Jak to obliczyć na attiny13?
CE - niby tyko wybór chipa, ale nie wiem dlaczego w niektórych momentach ma mieć stan niski a niektórych wysoki.
Z przebiegów przykład; gdy zacznę stanem niskim na CL nadając bit A3, po czym 0.75us zmienię na stan wysoki, czekam znów 0.75us i normalnie zmienił bym znów stan na niski, lecz w tym momencie zmienia się stan CE z niskiego na wysoki.
Także znów czekam 0.75us zatrzymując stan wysoki na CL oraz wpisując dalej bit A3?
Podobnie dzieje się z zegarem w trakcie zapisuj P3, tyle że bez zmiany stanu CE.
Jak to wykonać taką transmisję? CL podpiąć się do pwm i próbować wysterować prostokątem?
Nie jestem urodzonym programistą, ale próbuje coś ogarniać. Jednak takie szybko zmienne rzeczy sprawiają mi jeszcze trudności.
Wszelkie sugestie mile widziane. Jeśli mieli byście jakiś pomysł był bym rad gdybyście podzielili się swoimi przemyśleniami, kawałkiem kodu w C lub bascom.
Dodaje wyprowadzenia głowicy, bo nie jestem pewien jak się podpiąć.
Naskrobałem coś takiego wysyłając bity na piechotę. Nie działa niestety i nie wiem czy ma prawo działać.
W ramach ćwiczenia się w C i bascomie na uC AVR postanowiłem sterować głowicą YST982-B0E3.
Znalazłem dla niej opis wyjść/wejść. Głowica ma sterowanie PLL na LC72131, do tego LA1844.
LC72131 sterowanie jest protokołem Sanyo CCB. Gotowców jako takich nie ma, jednak przeszukując i czytając forum, postanowiłem że spróbuje sam opanować ten protokół szeregowy.
LC72131 ma wejścia
CL (zegar)
CE (chip enable) zatrzask?
DI (data input) dane
Jeszcze jest wyjście DO, ale na razie chce się skupić na wysyłaniu, by móc coś usłyszeć.
Jeśli dobrze odczytuje z pdf-u tego układu.
W pierwszym trybie INT1,
za pomocą DI wysyłam najpierw 8 bitów adresu (by ustawić rejestry?)
Następnie 15 bitów danych, po czym jakieś 4 bity których nie rozumiem(SNS, DVS, CTE, XS) po czym znów kolejne 4 bity (R0, R1, R2, R3, - kolejne rejestry do ustawienia częstotliwości referencyjnej ?)
Teraz jak to nadawać?
CL to zegar, sygnał prostokątny którego stan niski oraz wysoki nie mogą być krótsze niż 0.75us. Każdy takt zegara, czyli stan niski i stan wysoki, to czas na wpisanie jednego bitu?
Z jaką częstotliwością mam wysyłać ten przebieg? Jak to obliczyć na attiny13?
CE - niby tyko wybór chipa, ale nie wiem dlaczego w niektórych momentach ma mieć stan niski a niektórych wysoki.
Z przebiegów przykład; gdy zacznę stanem niskim na CL nadając bit A3, po czym 0.75us zmienię na stan wysoki, czekam znów 0.75us i normalnie zmienił bym znów stan na niski, lecz w tym momencie zmienia się stan CE z niskiego na wysoki.
Także znów czekam 0.75us zatrzymując stan wysoki na CL oraz wpisując dalej bit A3?
Podobnie dzieje się z zegarem w trakcie zapisuj P3, tyle że bez zmiany stanu CE.
Jak to wykonać taką transmisję? CL podpiąć się do pwm i próbować wysterować prostokątem?
Nie jestem urodzonym programistą, ale próbuje coś ogarniać. Jednak takie szybko zmienne rzeczy sprawiają mi jeszcze trudności.
Wszelkie sugestie mile widziane. Jeśli mieli byście jakiś pomysł był bym rad gdybyście podzielili się swoimi przemyśleniami, kawałkiem kodu w C lub bascom.
Dodaje wyprowadzenia głowicy, bo nie jestem pewien jak się podpiąć.
Naskrobałem coś takiego wysyłając bity na piechotę. Nie działa niestety i nie wiem czy ma prawo działać.
Kod: text