Blok my_adc przekazuje cyfrową wartość odpowiadającą zmierzonej temperaturze do bloku ROM, który przelicza ją na wartość w skali Celsjusza zapisaną w kodzie BCD. Moduł mux wybiera pojedynczą cyfrę z kodu BCD przekazuje ją do bloku bcd2seg, który zapisuje cyfrę w notacji 7-segmentowej. Moduł counter opóźnia multipleksowanie oraz służy do wybierania liczb do wyświetlenia. Moduł demux, na podstawie wartości otrzymanej z bloku counter wybiera odpowiedni wyświetlacz, na którym wyświetlona zostaje cyfra.
- my_adc. Moduł przetwarza wartość analogową z czujnika temperatury na wartość cyfrową. Wykorzystano w nim komponent ADC wygenerowany przy pomocy narzędzia Qsys programu Quartus Prime Lite. W module można ustawić, który kanał ma być wejściem analogowym przetwornika. W projekcie jest to kanał nr 15 – ADC1_15, co wynika ze sposobu podłączenia sensora STLM20 do wyprowadzeń FPGA. Wejścia i wyjścia tego modułu opisano w tabeli 2.
- ROM. Jest to moduł pamięci ROM, zainicjalizowanej ręcznie utworzonym plikiem LUT.mif. Moduł odpowiada za przetworzenie wartości otrzymanej z czujnika temperatury na wartość w skali Celsjusza w kodzie BCD. Przeliczenie jest zrealizowane za pomocą techniki tablicowania (Lookup Table). Moduł został wygenerowany przy pomocy IP Core’a ROM: 1-PORT dostępnego w programie Quartus Prime Lite. Ze względu na znaczne wahania wartości odczytanej z czujnika temperatury w pliku LUT.mif nie została zamieszczona część dziesiętna wartości przedstawiającej temperaturę (dla każdej wartości część dziesiętna jest równa zero). Wejścia i wyjścia modułu ROM opisano w tabeli 3.
- mux. Jest to multiplekser, który wybiera z kodu BCD pojedynczą cyfrę do wyświetlenia. O wyborze cyfry decyduje wejściowy sygnał sel. Wejścia i wyjścia tego modułu opisano w tabeli 4.
- bcd2seg. Moduł otrzymaną cyfrę w kodzie BCD zapisuje w notacji 7-segmentowej. Wejścia i wyjścia tego modułu opisano w tabeli 5.
- demux. Demultiplekser wybiera cyfrę do wyświetlenia, dodatkowo włącza kropkę oddzielającą część dziesiętną wartość temperatury. Wejścia i wyjścia tego modułu opisano w tabeli 7.
Przemysław Sala
Więcej informacji:
Kompletny projekt dla programu Quartus Prime Lite wraz z plikami źródłowymi jest dostępny do pobrania na stronie www.maximator-fpga.org