Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Lattice LC4512V-75TN176C - Termometr DS1722 komunikacja SPI

01 Dec 2016 17:24 2670 4
  • Level 11  
    Witajcie! Na wstępie chciałem zaznaczyć, że słabo znam się na programowaniu w VHDL. Od jakiegoś czasu borykam się z obsługą termometru DS1722 z komunikacją SPI z mikrokontrolerem Lattice LC4512V. Obsługę termometra zrobiłem w następujący sposób:

    1) wystawiam CE na stan wysoki i ustawiam stan niski po zakończeniu transmisji (dwie paczki po 8 bitów każda, jedna na wysyłanie informacji, a druga na odbieranie)
    2) wysyłam w 8 bitach rozkaz do wyświetlenia tam tej temperatury jak chcę ( znak, rozdzielczość i dokładnosć)
    3) odbieram cały czas cyfrę 25 (dokładnie 11001) - odpowiedź z termometra w postaci 16bitów przechowuję w wektorze, który jest następnie zamieniany za pomocą ogólnie znanej formułki BIN2BCD i to działa poprawnie.

    W moim programie jest jakiś prosty błąd, którego nie potrafię zauważyć. Ostatnio coś przez przypadek zmieniłem i ten termometr zaczął działać... ale po dopisaniu następnych linijek kodu do obsługi czegoś innego pojawił się problem z implementacją kodu programu więc podejrzewając przekroczenie limitu pamięci zacząłem usuwać z programu to czego nie używam i pewnie coś za dużo usunąłem... Do edycji kodu używam Active-HDL, za syntezę odpowiada program simplify syntesis a sama inplementacja i wgranie programu do mikrokontrolera znowu z Active-HDL. Umieszczam zrzut z oscyloskopu z przebiegami CE,Clock, SDI, SDO, Lattice LC4512V-75TN176C - Termometr DS1722 komunikacja SPI

    jak uda mi się na moim komputerze uruchomić zawartosć mojego projektu to wrzucę kody z Fubów, a dokładnie z jednego bo całą obsługę termometru zrobiłem w jednym osobnym bloczku. No ale o co dokładnie proszę szanowne forum - posiada ktoś może jakiś gotowy kod do obsługi tego termometru? Potrzebuję podłapać czyiś tok myślenia i przerobić go na mój - w internecie niestety nie znalazłem niczego sensownego na ten temat... Z góry dziękuję za pomoc!
    Trendy 2021 w branży Internetu rzeczy [Webinar 02.07.2021, g.12.00]. Zarejestruj się za darmo
  • Level 32  
    Witam.

    A z czym masz konkretnie problem.
    Masz tylko 16 bitowy rejestr z wynikiem i 8 bitowy rejestr sterujący.
  • Level 11  
    Mam na chwilę obecną 2 problemy:

    1) nie potrafię sobie wyedytować mojego projektu ponieważ nie działa mi program - ale spokojnie wyedytuję go sobie w pracy
    2) nie działa termometr... pierwszy raz w ogóle bawię się w SPI i to w dodatku w VHDL.

    Nie posiada kolega może jakiegoś przykładowego kodu do obsługi tego termometru? To mi w zupełności wystarczy..
  • VIP Meritorious for electroda.pl
    DukeMZ wrote:
    mikrokontrolerem Lattice LC4512V

    To nie jest mikrokontroler.
    DukeMZ wrote:
    1) nie potrafię sobie wyedytować mojego projektu ponieważ nie działa mi program - ale spokojnie wyedytuję go sobie w pracy

    Otwórz notatnikiem i pokaż kod VHDL
    DukeMZ wrote:
    2) nie działa termometr... pierwszy raz w ogóle bawię się w SPI i to w dodatku w VHDL.

    Jak to weryfikujesz?
  • Level 11  
    Mam gotowy układ wykonany przez nieznaną mi osobę i schemat do niego, jest to uniwersalna płyta szkoleniowa na której znajdują się różne elementy (między innymi ten LATTICE) typu klawiatura, wyświetlacze, jakieś przetworniki analogowo-cyfrowe, termometr i jeszcze jakieś inne. Kombajn do uczenia. Mam tak zaprogramować ten układ, żeby sterował jakimś piecem i do tego potrzebuję temperaturę z termometru odczytać, resztę programu udało mi się napisać. Pracuję nad tym kodem ale mam problem z otwarciem projektu, jak tylko uda mi się dostać do mojego programu to wyślę pełną mapę tego co tam tworzę wraz z opisem zmiennych co która robi - tylko dajcie mi chwile...