|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
关于多个频率采样的问题? |
作者:冷若寒 栏目:单片机 |
斑竹和大侠们: 昨查看我原来做的一段频率采样的程序,发现很是累赘啊?请斑竹和大侠们帮一下忙纠正纠正!情况如下: 我用的PIC16C74的两路CCP模块做的频率采样(都是方波,50HZ); 我的两种做法: 1.在中断里记录连续两次上升沿的捕捉值,然后在中断里做减法运算,求出周期值;最后在主程序里去求频率值; 2.设置上升沿中断,开中断后,丢掉第一次的捕捉值,关闭TMR1,清零TMR1,开TMR1,那以后每次记录的捕捉值就是周期值; 对于第一种方法:在中断里做减法运算,显然不妥,需要保护太多的值;不过勉强性的通,我的那程序就是这样作的; 对于第二种方法:同时开两路CCP时,好像行不通啊! 对各位高手而言,这可能是一个简单的问题,但是我还是希望能得到你们的指点; |
2楼: | >>参与讨论 |
作者: zgl7903 于 2005/1/15 16:39:00 发布:
zgl7903 需要判断定时器溢出的,你测得的周期可能是定时器溢出后又记得的,因此你还要相应定时器溢出中断. |
3楼: | >>参与讨论 |
作者: 冷若寒 于 2005/1/16 13:21:00 发布:
不太明白啊 大侠们能具体一点吗? |
4楼: | >>参与讨论 |
作者: 冷若寒 于 2005/1/16 15:26:00 发布:
急切啊 急切啊 |
5楼: | >>参与讨论 |
作者: xieyuanbin 于 2005/1/17 11:42:00 发布:
捕捉要注意TMR1是否溢出 2楼讲的意思就是说如果你的周期超过计数值的范围的话,可能造成当时捕捉到的TMR1值已经是溢出过后的值,这样的值应该考虑进位,而不是单纯16位的 先把你的问题讲清楚一点,比如你要测的频率有几路?你需要达到什么目的?你的贴子我看得糊里糊涂的。 若不用显示的话,没有必要换算到频率值。 |
6楼: | >>参与讨论 |
作者: martin 于 2005/1/17 13:29:00 发布:
re 第一种方法可行。 第二种方法: 方案1,分时采样(分时使能CCP,启动Timer1),实时测量不能保证。 方案2,第一路上升沿中断,Timer1清零,启动Timer1,第一路上升沿再次中断,记录CCP的值,加修正后为第一路周期值。第二路上升沿中断(滞后于一路的二路首个上升沿),记录CCP值,第二路再次上升沿,CCP值减去前次上升沿CCP值得到二路周期值。这样可以减少一个减法。 |
7楼: | >>参与讨论 |
作者: 冷若寒 于 2005/1/18 11:21:00 发布:
回复xieyuanbin 斑竹 ,martin 斑竹 回复xieyuanbin 斑竹: 频率采样主要是做显示用的,我是做UPS 的显示界面,通信程序;一路是市电频率采样,另一路是输出频率采样;都是整成方波之后送给CCP去采样的; 还有使用的是两路CCP模块(即CCP1,CCP2); 回复martin 斑竹: 对于您的方案1,分时采样(分时使能CCP,启动Timer1),是不是我把市电频率采样,计算完成得市电频率后,再使能输出频率CCP采样,启动Timer1, 采样计算输出频率,此法是在中断里得两次CCP的值,再在主程序里相减得周期值; 对于您的方案2,两路CCP捕捉采样中断是同时开还是在第一路采样中断后,开第二路采样中断呢? |
8楼: | >>参与讨论 |
作者: xieyuanbin 于 2005/1/18 14:08:00 发布:
提供一个建议 无论如何,你都要用到TMR1,而CCP模块在中断的瞬时已经记录下TMR1的值,所以不必担心中断冲突和中断延时的问题,你大可同时开两个中断去捕捉周期,而且你做UPS,输入输出相位应该基本同步才是,所以你可在测市电那端先清0,选择合适的分频比,这样可基本保证TMR1不溢出,但这样你反而要考虑清零之前的误差? |
9楼: | >>参与讨论 |
作者: 冷若寒 于 2005/1/18 14:42:00 发布:
关于有源滤波 斑竹您谈到相位问题,顺便问一下:我们做的市电电压采样是这样做的,市电经变压器降压,整流,分压,然后再经过有源滤波,最后在送给模拟采样RA口;然而发现有源滤波后波形很不平滑,纹波很大,采样数据在做LCD显示时波动很大;在程序上数字滤波废了很大力啊;有源滤波的参数如何设计?可以参考什么样的书啊?请您多指点一下啊,刚入行不容易啊。 大侠们也给点意见啊! |
10楼: | >>参与讨论 |
作者: xieyuanbin 于 2005/1/18 15:13:00 发布:
你可在有源滤波前整流之后先加适当无源滤波 加负载。有源滤波还是有纹波的,没办法。你要数字滤波上下功夫,简单的办法是连续测量一个交流电周期或几个周期,然后再求平均值,这样可以较好地滤除50HZ的干扰。但个人认为AD采样频率应与交流周期没有整数倍关系。然后再与先前的历史值求平均。 |
|
|
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入 |
Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号 |