Odpowiedz 
 
Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Sterowanie syntezą LM7001 z Arduino
SQ8MVY Offline
Paweł
****

Liczba postów: 724
Dołączył: 30-07-2011
Post: #6
RE: Sterowanie syntezą LM7001 z Arduino
Witaj,

Ok.
Zaglądnij więc na stronę 5 PDF-a ze żródłami.
Kod:
Freq = 5394      ' fodb=(145550-10700)/25=5394
Pcz = 428         ' dodanie pcz do freq nadawczej
Masz tam przypisanie wartości 5394 do zmiennej Fpom, która została na stronie 4 w/w dokumentu zadeklarowana jako WORD.
Zmiennej Pcz natomiast przypisana została wartość 428 (storna 5).

Zmiennej Fpom jest przypisywana wartość w podprogramie Synteza. W tym miejscu:
Kod:
If Portb.2 = 1 Then
  Fpom = Freq + Pcz
  If Rpt = 1 Then
     Fpom = Fpom – 24
  End If
Else
   Fpom = Freq
End If

Wartość ta jest zależna od poziomu sygnału na pinie 2 portu B oraz wartości w zmiennej Rpt

W Bascomie poprzez zapis:
Kod:
Fpom.a
dobieramy się do bitu na pozycji a w zmiennej Fpom. Inaczej mówiąc, jeżeli a będzie miało wartość np. 3, to poprzez ten zapis sprawdzimy jaką wartość ma bit 3 w zmiennej Fpom.

W tym programie sterownika, wysyłanie słowa sterującego do LM7001 zrealizowane jest w sposób czysto programowy. W takim przypadku trzeba zadbać programowo o ustawienie na linii DATA poziomu odpowiadającemu wartości wysyłanego bitu, następnie trzeba programowo wygenerować na linii CL impuls zegarowy - i dba o to podprogram Zegarek.

Czyli w pętli sprawdzany jest stan a-tego bitu zmiennej Fpom i jeżeli jest 0 to na linii DATA ustawiamy 0, jeżeli jest 1 to DATA ustawiamy na 1. Następnie generujemy impuls na linii CL - robi to właśnie podprogram Zegarek.
Ta pętla wykona się 14 razy wysyłając wszystkie bity zmiennej Fpom

Taki sposób wysyłania danych wynika z dokumentacji producenta układu. Rozrysowane jest to na stronie 5 PDF-a układu.

Jeżeli do transmisji danych użyty będzie sprzętowy SPI, to całą transmisję oraz generowanie sygnału zegarowego przejmie sprzęt. Zadaniem programu będzie wtedy dostarczyć gotową daną do rejestru peryferium SPI.


Zanim zaczniesz "męczyć" się z pisaniem swojej wersji programu na Arduino, polecam na początek zapoznać się z kursem Arduino. Jest napisany bardzo prosto, dla całkowicie początkujących. Wiele niewiadomych Ci się rozjaśni.

73 Paweł
(Ten post był ostatnio modyfikowany: 25-02-2017 12:22 przez SQ8MVY.)
25-02-2017 11:51
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Odpowiedz 


Wiadomości w tym wątku
RE: Sterowanie syntezą LM7001 z Arduino - SQ8MVY - 25-02-2017 11:51

Skocz do:


Użytkownicy przeglądający ten wątek: 2 gości