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

 채택된 답변

Fangjun Jiang
Fangjun Jiang 2019년 12월 19일

0 개 추천

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.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Arduino Hardware에 대해 자세히 알아보기

제품

릴리스

R2018a

질문:

2019년 12월 19일

답변:

2019년 12월 19일

Community Treasure Hunt

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

Start Hunting!

Translated by