Elektronika 
 
Częstościomierz w.cz.
Część 2
Hefajstos
Po zmontowaniu i sprawdzeniu działania wzmacniacza wysokiej częstotliwości możemy zabrać się za część cyfrową naszego częstościomierza zbudowanego na bazie procesora Atmega 8

Procesory serii Atmega mogą zliczać impulsy przychodzące z częstotliwością nie większa niż połowa częstotliwości zegarowej procesora. Dlatego pierwszym krokiem na drodze cyfrowej – będzie podzielenie częstotliwości.

Preskaler
Większość dostępnych układów cyfrowych małej skali integracji – pracuje poprawnie do częstotliwości 20-30 MHz To sporo jeśli chodzi o proste układy logiczne, ale nam niestety nie wystarczy. Możemy oczywiście spróbować zbudować przerzutniki z tranzystorów wysokiej częstotliwości, ale to raczej ostateczność. Lepiej rozejrzeć się nad układami scalonymi do zastosowań specjalnych.

W modelowym urządzeniu zastosowano dwa układy scalone 74S74 będące wysokoczęstotliwościową wersją układu TTL 7474. Układ ten zawiera dwa przerzutniki typu D które użyjemy do budowy dzielnika częstotliwości. Układy serii ‘S’ mogą pracować z częstotliwościami dochodzącymi do 120 MHz. Jeśli nie uda się dostać akurat tych układów – trzeba poszukać innych. W zasadzie nadają się dowolne liczniki lub przerzutniki (D, JK) które można połączyć w układ licznika dwójkowego. Muszą jednak dopuszczać pracę w tak wysokich częstotliwościach.

Z powszechnie dostępnych serii układów cyfrowych malej skali integracji – warunek ten spełnia tylko seria ‘S’, nie już nie jej niskoenergetyczna wersja ‘LS’. Zwróćmy uwagę, że tylko jeden z układów pracuje z pełną prędkością. Drugi może być wolniejszy (typu ‘LS’ lub ‘H’).

 

Cyfrowe układy scalone w trakcie przełączania pobierają więcej prądu. Dlatego do każdego układu dołączamy parę kondensatorów – kondensator elektrolityczny o większej pojemności oraz szybki kondensator ceramiczny. Kondensatory te zapobiegają przedostawaniu się zakłóceń przez przewody zasilania.

Procesor
Część zrealizowana na procesorze, będzie pełniła dwie role. Po pierwsze, będzie licznikiem który przez zadany czas będzie zliczał nadchodzące impulsy.

Po drugie, będzie sterował wyświetlaczem a właściwie zestawem wyświetlaczy siedmiosegmentowych. Ze względu na niewystarczającą liczbę wyjść procesora, wyświetlacze będą pracować w trybie multipleksowanym. Oznacza to, że poszczególne wyświetlacze nie będą świecić cały czas, ale będą zapalane na krótką chwilę – po kolei. Jeśli będzie się do odbywało wystarczająco często – będzie się nam wydawało, że wszystkie cyfry po prostu świecą.

Jako licznik – możemy użyć jednego z liczników w jaki wyposażony jest procesor Atmega. Mamy do dyspozycji trzy liczniki. Dwa ośmiobitowe i jeden szesnastobitowy, przy czym tylko dwa z nich mają wejścia dostępne z zewnątrz. Niestety liczniki wewnętrzne nie wystarczą. Przy liczeniu do miliona – czyli do pełnego wyświetlacza potrzebujemy dwudziestu bitów. Dlatego skorzystamy z tego, że przepełnienie sprzętowych liczników – może zgłosić przerwanie – czyli wyzwolić pewien program, który może realizować zliczanie na kolejnych bitach rejestrów procesora lub pamięci.

Liczenie powinniśmy realizować przez jakiś konkretny czas, po którym licznik odczytamy. Ponieważ jednak górna graniczna częstotliwości liczonych impulsów jest bliska częstości wykonywania poleceń procesora, obsługa liczenia czasu przez procesor z taką dokładnością jest niemożliwa. Musimy albo zgodzić się na niedokładność rzędu kilku zliczonych cykli – w więc zmiany rzędu ostatniej cyfry. Możemy też odmierzanie czasu pozostawić jednemu z liczników, który może zmieniać stan wyjść procesora bez udziału programu. Sygnał ten możemy użyć do bramkowania sygnału wejściowego.

 

Katody wyświetlaczy, możemy przyłączyć bezpośrednio do procesora. Obciążalność poszczególnych wyjść wynosi około 40mA, a więc całkiem sporo. Niestety nie wystarczy to do sterowania wspólnej anody – przez którą przepływa sumaryczny prąd wszystkich zapalonych segmentów – a więc mogący dochodzić nawet to 300mA. Tu musimy użyć tranzystorów.

 

Program
:020000020000FC
:1000000012C01895189518953CC11895189542C0BE
:10001000189563C018951895189518951895189502
:10002000189518951895F894F0E0EFEDFEBFEDBF28
:100030000FD147D018D078940000000000002A9516
:10004000F1F71A95E1F7F8CF02B71A2D1B2939F409
:10005000083C28F400E0702E802E902E48C0702EB0
:100060008A2C9B2C44C003E20FBD0DE10EBD09E0BC
:100070000F9309BD04EC08BD0F91039503950BBDCB
:1000800000E00ABD0FEF0DBD0DBDBA9A09B70860BB
:1000900009BF08950F930FB70F931F932F933F93AB
:1000A0004F935F936F937F93CFDF12D07F916F91C8
:1000B0005F914F913F912F911F910F910FBF0F9122
:1000C00018958C98949806E003BF09B7016009BFA2
:1000D00000E002BFA02EB02E08950F930FB70F932C
:1000E000A39409F4B3940F910FBF0F911895572D56
:1000F000682D792D20E432E44FE094D098F00FE0A1
:10010000A0D0502E0CE09DD0402E0DE09AD0302E85
:100110000DE097D0202E0EE094D0102E0DE091D05F
:10012000002E089500E018E020E035E34CE068D0B0
:1001300014E020E83AE146E063D012E020E43DE03C
:1001400043E05ED011E020EA36E841E059D00030CB
:1001500009F40FE076D0502E00E018E020E838E3F4
:1001600041E04ED014E020E43CE940E049D012E008
:1001700020E23EE44CD011E020E137E248D061D0EB
:100180003AD0402E00E018E020E43FE140D014E0F7
:1001900020EA3FE03CD012E020ED37E038D011E01B
:1001A00028EE33E034D04DD0302E00E018E020E2CD
:1001B00033E02DD014E020E931E029D012E028EC22
:1001C00030E025D011E024E628D03BD0202E00E0FE
:1001D00018E020E522D014E028E21FD012E024E14C
:1001E0001CD011E02AE019D02CD005D0102E052FFC
:1001F00028D0002E0895102F0AE023D0012308955F
:1002000011D0A8F0521B630B740B010F08950CD092
:1002100070F0521B630B010F0895521740F0521BF0
:10022000010F0895741719F4631709F4521708950C
:1002300012D71C54D17030D61050EFFD38BD35FFA9
:100240003B91E0E3F2E0E00F00E0F01F049108953D
:1002500004E10F6304BB01E1006C01BB8B9A8A9A35
:10026000899A889AB99A8D9A939A929A919A909A21
:10027000C19A959A04E005BD09B70F73006409BFE0
:1002800008950F930FB70F931F932F93062D0030F0
:1002900019F10130E1F00230A9F0033071F00430BF
:1002A00039F0C19A052D23D095980FEF602E18C014
:1002B000909A042D1CD0C19813C0919A032D17D089
:1002C00090980EC0929A022D12D0919809C0939ADC
:1002D000012D0DD0929804C0959A002D08D09398C6
:1002E00063942F911F910F910FBF0F91189515B324
:1002F000107C202F2F73212B25BB12B31F73202FAF
:08030000207C212B22BB089593
:00000001FF
 
Opinie
 
Facebook
 
  
1837 wyświetleń

numer 9/2017
2017-09-01

Od redakcji
Elektronika
Felieton
Historia
Literatura
Psychologia
Rozmaitości
Sztuka życia
Wakacje

nowyOlimp.net na Twitterze

nowy Olimp - internetowe czasopismo naukowe dla młodzieży.
Kolegium redakcyjne: gaja@nowyolimp.net; hefajstos@nowyolimp.net