搜索
bottom↓
回复: 2

请教,TC1输出脉冲变双脉冲和AB相

[复制链接]

出0入0汤圆

发表于 2014-9-9 15:17:47 | 显示全部楼层 |阅读模式
现状及要求:
1、TC1输出脉冲,最大25K,此脉冲记为A
2、需要得到A的反相脉冲(A-),使用74LS04进行反相
3、使用一个中断输入,将TC1的输出脉冲也接到此中断输入脚上
4、中断一旦收到上升沿脉冲,开自己的下降沿中断使能,延时10us,将一个端口如PA0翻转,记为B
5、中断一旦收到下降沿脉冲,开自己的上升沿中断使能,延时10us,将一个端口如PA0翻转,记为B
6、需要得到B的反相脉冲(B-),使用74LS04进行反相

这样最终将A/A-/B/B-接入计数电路,当成是不正规的正交脉冲使用,是否存在问题?我只需要让下级设备知道速度,而不需要知道方向,所以B永远滞后A

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

 楼主| 发表于 2014-9-9 15:37:10 | 显示全部楼层
我想正确的做法应该是,
1、开启TC1的匹配中断A(OCR1A赋值)
2、在TCNT1计数到约OCR1A的一半时,OCR1B赋值
3、此时OCR1B输出的相位与OCR1B相差90度
4、再用反相器对两个引脚输出的脉冲进行反相

有两个问题:
1、怎样知道TCNT1达到了OCR1A的一半?还是计算好时间给计时器(如T2)赋值,时间一到,给OCR1B赋值?
2、使用74LS04的反相器,最大传输时间为15ns,可能造成A和A-变化时间不同步,使用SN75175(差分变单端)是否会信号出错?


修改原因:打错字

出0入0汤圆

 楼主| 发表于 2014-9-9 20:32:58 | 显示全部楼层
又想到一种方法:
1、TC1使用匹配中断A,即给OCR1A赋值,匹配中断连接至OC1A引脚
2、TC1使用匹配中断A,给OCR1B赋值为OCR1A的一半,但是此时不语OC1B引脚相连
3、产生OC1B中断时,重新给OC1B赋值,此时赋值与0CR1A相同,而且设置为与0C1B引脚相连

问题在于:在给OCR1A赋值时是否会造成脉冲输出脉冲丢失,即在原本应输出脉冲时,此时对OCR1A赋值,造成脉冲丢失?理论上输出脉冲越低丢失的几率越小,但事实上不知道究竟会怎样
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-4 02:24

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表