[发明专利]一种通过模拟串口接收程序校准MCU晶振频率的方法在审
申请号: | 202211135639.1 | 申请日: | 2022-09-19 |
公开(公告)号: | CN115437991A | 公开(公告)日: | 2022-12-06 |
发明(设计)人: | 李秀萍;吴敏;杨农军 | 申请(专利权)人: | 北京富奥星电子技术有限公司 |
主分类号: | G06F13/42 | 分类号: | G06F13/42 |
代理公司: | 北京天驰君泰律师事务所 11592 | 代理人: | 孟锐 |
地址: | 100088 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 通过 模拟 串口 接收 程序 校准 mcu 频率 方法 | ||
1.一种通过模拟串口接收程序校准MCU晶振频率的方法,其特征是,其步骤包括:
步骤1,在MCU程序里面设定串口通讯波特率;
步骤2,将上位机发送给MCU的串口数据的帧头字节设定为高位有连续为0,低位有连续为1的数据,使MCU模拟串口接收程序能接收到非0bit;
步骤3,在上位机发送串口帧头数据时,起始位由高电平跳变为低电平,MCU进入中断程序,确认是串口起始位之后,延时半个bit的时间,再依次循环读取bit0~bit7的数据,读取到bit7之后,程序运行到串口数据为0的时刻,MCU程序开始循环检查停止位的高电平,在每次检查之间加一个固定的延时时间t,每次检查后将检查的总次数n加1,直到读取到停止位的高电平之后,停止计数,得出一个总的循环读取次数n,根据n值的大小推算出MCU晶振频率的误差;
步骤4,推算出MCU晶振频率的误差之后,对于内部有寄存器调整晶振频率的MCU,修正晶振频率寄存器的值,使MCU晶振频率达到预期的频率,校准MCU晶振频率;对于内部没有寄存器调整晶振频率的MCU,通过修正模拟串口接收程序里面读取1bit的延时函数,校准模拟串口的通讯波特率。
2.根据权利要求1所述通过模拟串口接收程序校准MCU晶振频率的方法,其特征在于,所述步骤4中所述内部有寄存器调整晶振频率内部有寄存器调整晶振频率的MCU同时具有硬件串口时,修正晶振频率寄存器的值,得到准确的波特率,改用硬件串口与上位机进行通讯。
3.根据权利要求1所述通过模拟串口接收程序校准MCU晶振频率的方法,其特征在于,所述步骤4中所述内部有寄存器调整晶振频率内部有寄存器调整晶振频率的MCU同时不具有硬件串口时,用模拟串口接收程序来接收上位机的串口数据或用模拟串口发送程序给上位机发送串口数据。
4.根据权利要求1所述通过模拟串口接收程序校准MCU晶振频率的方法,其特征在于,所述步骤1中串口通讯波特率为在MCU程序里面设计与串口通讯1bit耗时接近的延时函数delay(m),其中m为可调的整数,在MCU晶振频率准确的情况下,delay(m)的运行时间加上MCU检查串口电平的时间正好等于串口通讯1bit的时间。
5.根据权利要求4所述通过模拟串口接收程序校准MCU晶振频率的方法,其特征在于,所述步骤4中所述修正模拟串口接收程序里面读取1bit的延时函数的具体方法为:推算出MCU晶振频率的误差之后,使用模拟串口接收和发送程序与上位机进行串口通讯,对所述延时函数delay(m)进行修正,在m值上加上偏差值,使MCU运行delay(m)和检查串口电平的实际时间与串口通讯1bit时间误差在3%以内。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京富奥星电子技术有限公司,未经北京富奥星电子技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211135639.1/1.html,转载请声明来源钻瓜专利网。