[发明专利]用于嵌入式系统的模拟串口方法有效
申请号: | 201110396365.7 | 申请日: | 2011-12-02 |
公开(公告)号: | CN102521183B | 公开(公告)日: | 2018-01-26 |
发明(设计)人: | 杨进 | 申请(专利权)人: | 深圳市科陆电子科技股份有限公司 |
主分类号: | G06F13/38 | 分类号: | G06F13/38 |
代理公司: | 深圳国新南方知识产权代理有限公司44374 | 代理人: | 曹镇,崔春 |
地址: | 518000 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种用于嵌入式系统的模拟串口方法。本发明公开了一种用于嵌入式系统的使用软件的方式模拟串口的方法。本方法通过MCU的通用IO引脚、可中断IO引脚和定时器模拟串口,在接收数据时利用定时器控制采样间隔,检测接收串口二进制比特数据流,根据设定的数据位、停止位、校验位合成串口接收的数据,利用IO中断避免定时器不稳定造成的误差积累造成数据接收错误;在串口发送时利用定时器控制发送每一位数据的时间来模拟串口发送数据。本发明旨在现有系统中采取软件的方式模拟串口,从而减少硬件扩展串口芯片的成本,进而提高产品的利润空间,带来更高的经济效益。 | ||
搜索关键词: | 用于 嵌入式 系统 模拟 串口 方法 | ||
【主权项】:
用于嵌入式系统的模拟串口方法,所述方法通过MCU的可中断IO引脚、通用IO引脚和定时器模拟串口,其特征在于,模拟串口接收数据时,MCU的接收引脚中断触发启动采样定时器,所述采样定时器的定时间隔根据模拟串口设定的波特率计算得到,定时器启动后在每个采样间隔对模拟串口的接收IO的状态进行采样,得到当前时刻串口接收的数据流的一个数据位的状态,当采样到一个字节的数据位之后停止采样,根据本周期内的采样到的数据位拼合成一个字节的数据;模拟串口发送数据时,根据模拟串口波特率设定定时器周期,启动定时器,每个周期中根据要发送的数据的数据位设定模拟串口发送数据脚的状态,当一个字节的数据发送完成后停止定时器;所述模拟串口接收数据的步骤为:①设置MCU模拟串口的接收引脚的IO为低电平触发中断,其中所述接收引脚为可中断IO引脚;②当模拟串口接收引脚触发中断后根据模拟串口设置的波特率计算出定时器的周期,禁止模拟串口接收引脚的触发中断,启动定时器;其中,步骤②中所述的定时器周期=1/(模拟串口波特率*2)③定时器首次触发中断后读取模拟串口的接收引脚的状态,如果模拟串口接收引脚的状态为高电平则表示模拟串口接收数据出错,禁止定时器,回到步骤①;如果模拟串口接收引脚的状态为低电平则表示模拟串口接收数据起始位正确,重新设定定时器周期,重新启动定时器,跳转到步骤④继续;其中,步骤③中所述的定时器周期=1/模拟串口波特率④定时器触发中断后读取模拟串口的接收引脚的状态,如果模拟串口接收引脚的状态为高电平则表示模拟串口接收到一位值为1的数据;如果模拟串口接收引脚的状态为低电平则表示模拟串口接收到一位值为0的数据;保持定时器周期不变,重新启动定时器;⑤重复上述步骤④,重复N次后,无校验位通信跳转到步骤⑥,有校验位通信则跳转到步骤⑦;其中,N=模拟串口设定的数据位+模拟串口设定的停止位+模拟串口设定的校验位⑥把接收到的数据按位拼合成字节存入接收缓冲区,通知上层应用程序已接收到一个字节数据;⑦统计接收到的数据位的高位的个数和设定的奇偶校验对比,如果统计出的高位的个数和设定的奇偶校验一致,则把接收到的数据按位拼合成字节存入接收缓冲区,通知上层应用程序已接收到一个字节数据;如果统计出的高位的个数和设定的奇偶校验不一致,丢弃本次接收到的数据位;⑧停止定时器同时禁止定时器中断,重复步骤①至⑦完成持续数据接收过程;所述模拟串口发送数据的步骤为:(1)无数据发送时保持发送引脚为高电平,其中发送引脚为通用IO引脚;(2)当用户需要发送数据时,设定定时器周期,置发送引脚为低电平,启动定时器;其中,步骤(2)中所述的定时器周期=1/模拟串口波特率(3)定时器中断后,根据待发送数据的最低位设定发送引脚的电平把正在发送的数据右移一位;其中,最低位为1则设置发送引脚保持高电平,最低位为0则设置发送引脚保持低电平(4)重复步骤(3)直至当前字节发送完成,无校验发送数据跳转到步骤(5),有奇偶校验则跳转到步骤(6);(5)置发送引脚为高电平,完成当前字节的发送,跳转到步骤(1)继续下个字节的发送;(6)根据设定的奇偶校验及步骤(3)~(4)中发送的1的个数设置下面一个定时周期内的发送引脚的电平;(7)置发送IO为高电平,完成当前字节的发送并保持本次设定的定时器周期为2个以上的周期,跳转到步骤(1)继续下个字节的发送。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市科陆电子科技股份有限公司,未经深圳市科陆电子科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201110396365.7/,转载请声明来源钻瓜专利网。