专利名称:一种风扇速度检测装置的制作方法
技术领域:
本发明涉及散热检测与控制技术,尤其涉及一种风扇速度检测装置。
背景技术:
在电子设备中,通常会使用风扇进行散热。出于环保、节能以及降低噪音的要求,需要根据电子设备工作时的发热大小对风扇进行调速,而读出风扇的转速是调速的前提。在电子设备中用到的风扇的转速通常在1000RPM到8000RPM(转/分钟,Round per Minute)之间,现有技术通常利用专门芯片读取风扇转速,或者利用CPLD消耗比较多的逻辑单元来读取风扇的转速。请参考图1,现有技术中一种典型的实现方式包括风扇转速脉冲通过CPLD直接送给专门的转速检测芯片(如SUPER 10),转速检测芯片计算出风扇转速后,将计算值放在 芯片的专门寄存器中,由CPU通过到转速检测芯片的特定接口读取寄存器中的转速值,经过CPU的计算处理得出风扇的转速。请参考图2,现有技术中另一种典型实现方式包括用CPLD的25MHZ时钟采样风扇送到CPLD的转速脉冲信号,统计一个风扇转速高脉冲的采样个数,从而大致计算出风扇转速脉冲的高电平宽度,再大致计算出风扇的转速。这种方案需要在CPLD中分配一个寄存器用来保存上述采样数,这个寄存器的位数由风扇的最低转速决定,风扇的转速越低,则图2中Tl就会越大,采样个数就越多,因此需要的寄存器的位数越多。对于1000RPM的风扇,需要的位数为10位。请参考图2,通常风扇转动一圈会产生两个上升沿,因此风扇转动一圈的时间TS通常等于4倍的Tl (上升沿的宽度);而最终计算出来的风扇转速RPM=60/TS。进一步来说,在这样的方案中若遭遇到风扇堵转的情况,风扇输出的转速脉冲会停止,输出信号会固定在高电平或低电平,停在高电平时,Tl会无限大,CPLD计数器会溢出;停在低电平时Tl为零,CPLD的计数器为零,CPLD会误认为风扇的转速无限高。所以用这种方法无法解决风扇堵转情况下的转速检测。
发明内容
有鉴于此,本发明提供一种风扇转速检测装置,应用于计算机系统,包括信号生成单元、信号处理单元以及统计输出单元,其中信号生成单兀,用于生成窄方波信号,其中窄方波信号的高电平宽度小于风扇输出的转速脉冲信号宽度的1/5 ;信号处理单元,用于将窄方波信号与转速脉冲信号进行异或得到采样输出信号;统计输出单元,用于统计预定时间内采样输出信号的上升沿个数,并根据上升沿数量与风扇转速之间的对应关系计算出风扇转速。优选地,所述信号生成单元,进一步用于使用第一及第二方波信号异或生成所述窄方波信号,其中该第一及第二方波信号的周期相同,所述窄方波信号的周期为第一及第二方波信号周期的一半。
优选地,所述信号生成单元,进一步用于使用预定的周期参考方波通过相移生成第一方波信号,并将第一方波信号进行相移生成第二方波信号。优选地,所述预定时间是所述窄方波信号的周期。优选地,所述统计输出单元进一步用于在计算出风扇转速为预定的数值时,确定风扇当前状态为堵转。优选地,所述窄方波信号的高电平宽度小于1ms。优选地,所述窄方波信号的高电平宽度为计算机系统提供的参考时钟的周期或者该参考时钟周期的整数倍。
本发明并不需要再像现有技术那样引入专用的转速检测芯片,需要用到的逻辑器件资源也很少,本发明在硬件成本上的投入可以大幅度降低。
图I是本发明现有技术风扇转速检测的硬件架构图。图2是本发明现有技术风扇转速检测的信号示意图。图3是本发明风扇转速检测的硬件架构图。图4是本发明风扇转速装置的逻辑结构图。图5是本发明风扇转速检测的所有信号示意图。图6是本发明风扇转速检测的部分信号示意图。
具体实施例方式本发明使用成本更低效果更佳的技术来实现风扇速度的检测。请参考图3以及图4,本发明提供一种风扇转速检测装置,该装置包括信号生成单元、信号处理单元以及统计输出单元。在优选的实施方式中,从实现上来说,该风扇转速检测装置采用可编程的逻辑器件实现,由于本发明采用了更为简洁有效的逻辑设计,因此可编程的逻辑器件可以是用CPLD来实现,当然被发明并不排除FPGA等其他实现方式。请进一步参考图5,在本实施方式中假设高电平有效,以下描述风扇转速检测装置实现风扇转速检测的。步骤101,信号生成单元首先获取参考方波信号Fl ;在优选的实施方式中Fl的频率为1HZ,本发明并不具体限定Fl的周期,只是由于IHZ信号一来容易获取,比如通过参考时钟信号进行频率处理获得,二来在计算示例上比较简单。步骤102,信号生成单元将Fl信号相移获得F2信号,并将F2信号相移获得F3信号;其中两次相移方向一致。在优选的方式中,两次相移的宽度也是一致的,比如说40ns(对于应到25MHZ的参考时钟),相移的宽度大小并无非常严格的限制,但通常是小于Ims的,一般建议使用ns量级的相移宽度。步骤103,信号生成单元将F2与F3异或生成IHZ的窄方波信号F4,其中F4信号的脉冲宽度为生成F3信号时F2信号的相移宽度。在优选的方式中,F4信号的脉冲宽度为40ns或者40ns的整数倍(大于等于2),其宽度通常小于参考方波信号宽度1/1000。步骤104,信号处理单元将信号F4与风扇输出的脉冲信号F5进行异或得到采样输出信号F6。步骤105,信号统计单元统计预定时间T内该采样输出信号F6的上升沿个数M,并根据预定的算法获得风扇的转速。在本发明中,窄方波信号F4是一个高电平宽度比较小的信号,如前所述通常是ns级别的,也就是说在信号F4 —个周期内,大部分电平是低电平。异或这一算法的规律是I与一个数值异或之后,该数值改变;而O与一个数值异或的结果还是该数值。由于O与任何信号异或的结果都不变,比如说O与I异或的结果还是1,O与O异或的结果还是O。正因如此,请参考图5,F4与F5异或之后形成了 F6,相对于F5而言,F6的改变仅仅发生在F4为高电平的时候。相对于现有技术在预定时间内统计F5的上升沿个数,本发明统计被F4异或后的F5,也就是F6的上升沿个数。在F4的一个周期内,F5通常会有很多个上升沿,而每个上升沿的宽度会远远大于F4,F4周期内只有初始的高电平才会改变F5,因此F5的第一个上升沿可能会被F4所改变,而且F4的高电平宽度(也就是脉冲宽度)通常小于F5的高电平宽度的1/5,乃至更小,比如1/50。请参考图6 (也可以参考图5)所示的情形,预定时间T (也就是一个统计周期)假 设为Fl的半个周期,F5的上升沿个数为3个,但F6的上升沿个数为4个,有I个误差。然而图6仅仅是示例性,在实际产品中,F5的上升沿个数多达几十个,乃至上百个。此时一个上升沿统计的误差从比例上来讲是非常小的;而且不是什么情况下都存在误差的。假设F5上升沿个数为67,F6上升沿个数为68,风扇转动一圈输出的上升沿个数为2个,假设统计周期为O. 5秒。此时根据F6的上升沿计算出来的风扇转速(单位为RPM) X=60*68/2/0. 5=4080,根据F5的上升沿计算出来的风扇转速Y=60*67/2/0. 5=4020 ;X=L 015Υ。也就是说实际上计算出来的风扇转速误差仅仅为I. 5%。对于上层对散热的控制来说,这样的误差几乎是没有影响的。这个误差随着风扇的转速变化而相应变化,风扇转速越大,误差越小,总体上来说误差可以控制在2%左右,一般不超过5%。虽然本发明的风扇转速检测可能会存在少量的误差,然而这个误差对于整个计算机系统的监控等应用来说是完全可以容忍的。而且最为重要的是,本发明不再需要再像现有技术那样引入专用的转速检测芯片,需要用到的逻辑器件资源也很少,比如说,如果上升沿个数为67 (二进制的1000011),此时只需要7个CPLD计数器,对应到风扇转速为4000RPM ;而现有技术中需要用到10个计数器才能对应到风扇转速为1000RPM的情形,因此本发明在硬件成本上的投入可以大幅度降低。请进一步参考图5,当风扇输出的信号为长低电平信号F7时,F4与F7异或得到信号F8,信号F8是一个与F4完全相同的信号,当风扇输出的信号为长高电平信号F9时,F4与F9异或得到信号F10,F10是一个与F4周期相同,但高低电平完全相反的信号。由于F9与FlO是固定格式的信号,因此统计输出单元可以轻易识别出F9与F10。比如通过上升沿个数来识别,因为一个统计周期内,其上升沿个数仅为I个,根据前述的算法可以得出风扇转速为60。转速60显然是一个异常的值,因为风扇转速通常在1000-8000这样的数值区间,并不会出现现有技术中CPLD计数器溢出,或者计算出无限大的风扇转速的情况。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种风扇转速检测装置,应用于计算机系统,包括信号生成单元、信号处理单元以及统计输出单元,其特征在于 信号生成单元,用于生成窄方波信号,其中窄方波信号的高电平宽度小于风扇输出的转速脉冲信号宽度的1/5 ; 信号处理单元,用于将窄方波信号与转速脉冲信号进行异或得到采样输出信号; 统计输出单元,用于统计预定时间内采样输出信号的上升沿个数,并根据上升沿数量与风扇转速之间的对应关系计算出风扇转速。
2.如权利要求I所述的装置,其特征在于,所述信号生成单元,进一步用于使用第一及第二方波信号异或生成所述窄方波信号,其中该第一及第二方波信号的周期相同,所述窄方波信号的周期为第一及第二方波信号周期的一半。
3.如权利要求I所述的装置,其特征在于,所述信号生成单元,进一步用于使用预定的周期参考方波通过相移生成第一方波信号,并将第一方波信号进行相移生成第二方波信号。
4.如权利要求3所述的装置,其特征在于,所述预定时间是所述窄方波信号的周期。
5.如权利要求I所述的装置,其特征在于,所述统计输出单元进一步用于在计算出风扇转速为预定的数值时,确定风扇当前状态为堵转。
6.如权利要求I所述的装置,其特征在于,所述窄方波信号的高电平宽度小于1ms。
7.如权利要求I或6所述的装置,其特征在于,所述窄方波信号的高电平宽度为计算机系统提供的参考时钟的周期或者该参考时钟周期的整数倍。
全文摘要
本发明提供一种风扇转速检测装置,应用于计算机系统,包括信号生成单元、信号处理单元以及统计输出单元,其中信号生成单元,用于生成窄方波信号,其中窄方波信号的高电平宽度小于风扇输出的转速脉冲信号宽度的1/5;信号处理单元,用于将窄方波信号与转速脉冲信号进行异或得到采样输出信号;统计输出单元,用于统计预定时间内采样输出信号的上升沿个数,并根据上升沿数量与风扇转速之间的对应关系计算出风扇转速。本发明并不需要再像现有技术那样引入专用的转速检测芯片,需要用到的逻辑器件资源也很少,本发明在硬件成本上的投入可以大幅度降低。
文档编号G01P3/481GK102866259SQ20121029851
公开日2013年1月9日 申请日期2012年8月21日 优先权日2012年8月21日
发明者蒋玉峰, 梁红伟, 黄金海, 陈清海, 陈莹 申请人:浙江宇视科技有限公司