Pulsewidth detection SIMULINK with a rounding issue
조회 수: 1 (최근 30일)
이전 댓글 표시
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
댓글 수: 0
채택된 답변
Fangjun Jiang
2019년 12월 19일
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
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Sources에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!