基于DSP的科氏流量计变送器开发过程中遇到的问题及解决方案(五)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
四、电源
交流电首先经过单相桥式整流电路,整成单极性,再经过电容滤波,平波,再经过变压器,三端集成稳压器,转变为各种直流电压。
瞬态抑制二极管又叫箝位型二极管,能吸收高达数千瓦的浪涌功率,它的主要特点是,在反向应用条件下,当承受一个高能量的大脉冲时,其工作阻抗立即降至极低的导通值,从而允许大电流通过,同时把电压箝制在预定水平,其响应时间仅为10-12ms,因此可有效保护电子线路中的精密元件。
(二)MAX706RESA
1.实际运行时,必须要把跳线TP3拔了,使得MR与WDO连接起来,才能使该模块有效!!!而在调试的时候,不能保证定时喂狗,则需要把跳线接上,此时MR一直与高电平连接,不会发生复位!!!
2.电压监测模块MAX706RESA,WDI监测DSP的程序是否正常运行,如果程序跳飞的话就不会喂狗,这样WDO输出的信号就会通过MR引脚复位MAX706RESA,而MAX706RESA会通过RESET复位DSP。VCC监测的是3V电源,如果电压降低,也会产生RESET复位DSP。PFI监测的是另一个电源4V,如果电压降低,PFO会产生信号,作为外部不可屏蔽中断通知DSP(GPIO30)。
五、算法
(一)数据的预处理
5.先把采样频率设置很高,目的是采进高频噪声和谐波,其次通过滤波后信号变干净了,再欠采样,隔几点抽取一个点,减少计算量。
6.每个DMA中断,已经采集50个值,采集到2000个数据时,才开始第一次计算。
7.先进行数据的预处理,标度转换,除以2^24,绝对值大于3的截断,如果绝对值小于2,就计数,如果计数不超过1900的话,表示这部分数据是有效的,由此推断正常情况下,数据应该位于3V以下,原始信号为毫伏级,经过模拟放大13.8倍,按照3V推算,传感器的电压信号幅值为217毫伏,实验平台的罗斯蒙特流量计传感器的电压信号幅值300毫伏,这样的话最大值应该在4.14V。如果在2V和3V之间(三分之一)的数据超过5%,这部分数据才有效,否则就不进行后续计算。实验平台的罗斯蒙特流量计传感器的电压信号频率在250HZ左右,用matlab计算频率从200-300HZ,在2V到3V之间的数据在800个到1300个之间。程序修改为,电压值超过4.14的截断成4.14,在4.14和2.76之间的点数要保证在800到1300之间。
3.搞不懂GPIO60跟看门狗有什么关系。看门狗指的是MAX706RESA中的,原理图上是GPIO61与其WDI相连,必须每隔1.6秒喂一次狗,否则电压监测模块就会将DSP重启,重启的话,显示屏上的数据还存在,但是不会变化了。不知道到底ห้องสมุดไป่ตู้60还是61
4.虽然说1.6s喂一次狗就行了,但是考虑到其他因素,必须20ms喂一次狗。
8.当预处理后符合要求的次数达到了30次,即DMA的缓存区连续采集到正确的数据60000点后,才开始真正的计算。如果下一次采集到的数据又不符合要求,那么CalStaFlag标志位清零,等到再连续60000点符合要求时,才进行下一次计算。当第31次符合要求,运算继续下去,当第32次不符合要求时,运算暂停标志位有效,运算只是暂停一次,如果第33次的数据正确,运算继续。当累计5次采集到错误的数据,CalStaFlag标志位清零,运算彻底停止,又要累计30次正确才会将CalStaFlag置1。
9.注意!!!信号的频率不同时,放大倍数也不一样,因此那个判别条件49也会变!!!!
(二)ANF
交流电首先经过单相桥式整流电路,整成单极性,再经过电容滤波,平波,再经过变压器,三端集成稳压器,转变为各种直流电压。
瞬态抑制二极管又叫箝位型二极管,能吸收高达数千瓦的浪涌功率,它的主要特点是,在反向应用条件下,当承受一个高能量的大脉冲时,其工作阻抗立即降至极低的导通值,从而允许大电流通过,同时把电压箝制在预定水平,其响应时间仅为10-12ms,因此可有效保护电子线路中的精密元件。
(二)MAX706RESA
1.实际运行时,必须要把跳线TP3拔了,使得MR与WDO连接起来,才能使该模块有效!!!而在调试的时候,不能保证定时喂狗,则需要把跳线接上,此时MR一直与高电平连接,不会发生复位!!!
2.电压监测模块MAX706RESA,WDI监测DSP的程序是否正常运行,如果程序跳飞的话就不会喂狗,这样WDO输出的信号就会通过MR引脚复位MAX706RESA,而MAX706RESA会通过RESET复位DSP。VCC监测的是3V电源,如果电压降低,也会产生RESET复位DSP。PFI监测的是另一个电源4V,如果电压降低,PFO会产生信号,作为外部不可屏蔽中断通知DSP(GPIO30)。
五、算法
(一)数据的预处理
5.先把采样频率设置很高,目的是采进高频噪声和谐波,其次通过滤波后信号变干净了,再欠采样,隔几点抽取一个点,减少计算量。
6.每个DMA中断,已经采集50个值,采集到2000个数据时,才开始第一次计算。
7.先进行数据的预处理,标度转换,除以2^24,绝对值大于3的截断,如果绝对值小于2,就计数,如果计数不超过1900的话,表示这部分数据是有效的,由此推断正常情况下,数据应该位于3V以下,原始信号为毫伏级,经过模拟放大13.8倍,按照3V推算,传感器的电压信号幅值为217毫伏,实验平台的罗斯蒙特流量计传感器的电压信号幅值300毫伏,这样的话最大值应该在4.14V。如果在2V和3V之间(三分之一)的数据超过5%,这部分数据才有效,否则就不进行后续计算。实验平台的罗斯蒙特流量计传感器的电压信号频率在250HZ左右,用matlab计算频率从200-300HZ,在2V到3V之间的数据在800个到1300个之间。程序修改为,电压值超过4.14的截断成4.14,在4.14和2.76之间的点数要保证在800到1300之间。
3.搞不懂GPIO60跟看门狗有什么关系。看门狗指的是MAX706RESA中的,原理图上是GPIO61与其WDI相连,必须每隔1.6秒喂一次狗,否则电压监测模块就会将DSP重启,重启的话,显示屏上的数据还存在,但是不会变化了。不知道到底ห้องสมุดไป่ตู้60还是61
4.虽然说1.6s喂一次狗就行了,但是考虑到其他因素,必须20ms喂一次狗。
8.当预处理后符合要求的次数达到了30次,即DMA的缓存区连续采集到正确的数据60000点后,才开始真正的计算。如果下一次采集到的数据又不符合要求,那么CalStaFlag标志位清零,等到再连续60000点符合要求时,才进行下一次计算。当第31次符合要求,运算继续下去,当第32次不符合要求时,运算暂停标志位有效,运算只是暂停一次,如果第33次的数据正确,运算继续。当累计5次采集到错误的数据,CalStaFlag标志位清零,运算彻底停止,又要累计30次正确才会将CalStaFlag置1。
9.注意!!!信号的频率不同时,放大倍数也不一样,因此那个判别条件49也会变!!!!
(二)ANF