接到一个项目,用单片机软解码FSK格式来电显示的数据,并送到电脑.经过查阅大量资料,我已经对这种格式研究清楚,并编写好程序流程图.当我编程序到一半的时候,因某种原因与对方停止合作.我便放弃了这个程序.现将我查到的一些资料提供给大家,供大家参考.我还有FSK格式的波形图,我贴不上图来.可向我要.我可完成这个项目,产品成本极低.如谁有兴趣,可与我联系.原理:此项目的关键是,FSK是连续相位的,且高电平与低电位的频率不成倍数关系(120
接到一个项目,用单片机软解码
FSK格式来电显示的数据,并送到电脑.经过查阅大量资料,我已经对这种格式研究清楚,并编写好程序流程图.当我编程序到一半的时候,因某种原因与对方停止合作.我便放弃了这个程序.现将我查到的一些资料提供给大家,供大家参考.我还有FSK格式的波形图,我贴不上图来.可向我要.我可完成这个项目,产品成本极低.如谁有兴趣,可与我联系.
原理:
此项目的关键是,FSK是连续相位的,且高电平与低电位的频率不成倍数关系(
1200Hz与2200Hz).采用测量脉冲宽度的话不容易确定上升沿与下降沿.理论上用A\D转换后的幅值对时间查表可确定上升下降沿,但软硬件太复杂,还不如买成品fsk解调
IC.我采用的办法是测量脉冲宽度,因为数据是异步串行通讯方式,由1到0的下降沿来确定时钟,即由1200hz到2200hz的改变来确定,关键是1200到2200的改变是任意相位的,而不是从0相位开始.说明白点,用单片机不停测脉冲宽度,先是1200的宽度,突然来了个脉冲宽度在1200与2200之间,这说明下降沿在这个脉冲内的某个时间,怎么确定这个时间呢?经过我周密计算