原理:
此项目的关键是,FSK是连续相位的,且高电平与低电位的频率不成倍数关系(1200Hz与2200Hz).采用测量脉冲宽度的话不容易确定上升沿与下降沿.理论上用A\D转换后的幅值对时间查表可确定上升下降沿,但软硬件太复杂,还不如买成品fsk解调IC.我采用的办法是测量脉冲宽度,因为数据是异步串行通讯方式,由1到0的下降沿来确定时钟,即由1200hz到2200hz的改变来确定,关键是1200到2200的改变是任意相位的,而不是从0相位开始.说明白点,用单片机不停测脉冲宽度,先是1200的宽度,突然来了个脉冲宽度在1200与2200之间,这说明下降沿在这个脉冲内的某个时间,怎么确定这个时间呢?经过我周密计算 :--) ,公式如下,
T(下降沿距当前时间)=[ T(这个脉冲时间) - T(2200hz脉冲宽度) ] x 2.2
有了起始位的下降沿,检测1200Hz,2200Hz对你们来说就容易了吧?
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !