Pulsewidth detection SIMULINK with a rounding issue

Hi all, i want do detect the Pulsewidth of the Pulsegenerator. Therefore i check if the Signal i want to detect and my Clock is both on high.If they are then i increment the counter. The value of the counter is read every 100us. After that i substract the old counter value from the new one. I dont get, why the Scope shows 7 instead of 6.5 ( the Pulsegenerator is set to 65%).
Does anyone know why i get a 7 instead of a 6.5 although the counter is set to 2^16-1? I hope someone has an idea or an remark to fix my problem? As soon as i set the Generator to 1 Mhz i get the correct value.
Thank you a lot and merry christmas

 Risposta accettata

Your pulse cycle is 100us. Your clock cycle is 10us. So you can count 10 times during a pulse cycle. It is like counting by 10 so you got 70 or 60 when the pulse width is 65%.
When you increase your clock to 1Mhz which is 1us clock cycle, you are counting by 1 so you are able to get 65.

Più risposte (0)

Categorie

Scopri di più su Simulink in Centro assistenza e File Exchange

Prodotti

Release

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by