Gast
#639000
Hallo, ich stehe vor einer Aufgabe die Frequenz eines Signals mit MEGA128 zu messen. Die Frequenzen liegen unter 50Hz und sind dabei unkritisch. Die Schwierigkeit liegt darin, dass das Signalpegel zw. 3V und 5V liegt. D.h. ich kann mit meinem Controller nicht auf Flanken reagieren - wie es hier mehrfach im Forum als Lösungsansatz beschrieben ist - weil der Pegel immer High ist. Ich habe mir das so vorgestellt: Der ADC wird mit einem Timer gesteuert. Timer löst periodisch mit 1ms einen Interrupt aus (->Dirackamm). In dessen ISR wandle ich das Signal AD und speichere die Werte (Dirackamm gefaltet mit Signal). Das ganze wird 1 sec lang gemacht. Anschließend werte ich die ADC werte aus. Die FCPU ist 16MHz -> tzyklus=63ns. In der Zeit zwischen 2 Interrupts habe ich also 1ms/63ns = 16000 Programmschritte zur Verfügung, normaler Weise ausreichend, um die ADC und Sicherung der Werte durchzuführen. Was meint ihr zu meinem Konzept, ist es realisierbar, was würdet ihr anders machen? Danke