当前位置: 首页 -  蓝鲸科创 - 正文

基于单片机和msm7512b芯片实现电话线数据传输接口设计

2020-06-28 16:38 蓝鲸科创 迎夏91°c
A+ A-

基于单片机和msm7512b芯片实现电话线数据传输接口设计

在主叫工作方式下(发送状态),单片机主动向上位机提出传送数据的请求,单片机处于发送状态,单片机通过p1.0和p1.1将msm7512b设置为调制方式,置p1.4为高电位,控制继电器j1闭合,使msm7512b与电话线接通,延时等待2s之后,单片机通过p1.5、p1.6、p1.7控制双音多频发生器ht9200a,产生的dtmf信号送入msm7512b的外部信号输入端eai,经过msm7512b内部放大后由ao端输出,向上位机发送电话号码,确认与上位机的电话线接通后,开始向上位机发送数据。发送数据完毕,单片机置p1.4为低电位,控制继电器j1断开,使单片机处于接收待命状态,电路如图2所示。

基于单片机和msm7512b芯片实现电话线数据传输接口设计

基于单片机和msm7512b芯片实现电话线数据传输接口设计

基于单片机和msm7512b芯片实现电话线数据传输接口设计

msm7512b是日本oki公司生产的一种价格低廉、功耗低、性能良好的调制解调芯片,满足itu-tv.23协议标准,由单电源(3~5v)供电,采用fsk调制解调方式,通信速率为1200bps,其fsk输出信号可直接驱动600ω通信电路,外围电路简单可用于内置式modem、数据传输系统、家庭安防系统等场合。

msm7512b包括调制和解调两部分,图1为该芯片的内部功能框图。msm7512b有4种工作模式,由mod1、mod2端口进行控制。当mod1=0,mod2=0时,msm7512b工作于调制模式。xd输入为0或1的数字信号,ao端对应输出频率为2100hz或1300hz的fsk信号,rs是fsk信号输出的使能控制端;当mod1=1,mod2=0时,msm7512b工作于解调模式,ai输入频率为2100hz或1300hz的fsk信号,rd对应输出解调后的0或1数字信号,cd是输入检测的指示;当mod1=0,mod2=1时,msm7512b工作于环路自测模式,用于检测芯片工作是否正常;当mod1=1,mod2=1时,msm7512b工作于节电模式,此时msm7512b功耗仅0.1mw,其他模式一般功耗为25mw。

本系统由单片机采集现场的数据,现场数据经过ad574(12位芯片)进行a/d转换,把0~10v的电压转换成0~4095,根据实际使用的要求,单片机对采样的数字量进行数字滤波。滤波算法有算数平均值方法、滑动平均值方法及防脉冲干扰平均值方法等。单片机对滤波后的数据进行分类整理,存放在ram中,以备向上位机传送。

通过电话线连接msm7512b,再接到单片机上,进行远程数据传输。工作过程分为分为主叫和被叫部分。主叫部分电路如图2所示,被叫部分电路如由图3所示。

电话线数据传输接口设计

发送过程的软件流程见图4,其接受的流程与此相似。具体的工作过程可参考上面内容。

msm7512b介绍

在被叫工作方式下(接收状态),单片机的中断1通过光隔离器4n35接收到电话线路的振铃信号后,单片机通过p1.0和p1.1将msm7512b设置为解调方式。置p1.4为高电位,控制继电器j1闭合,使msm7512b与电话线连通。接收上位机发送来的指令和数据,按指令将a/d数据向上位机发送。发送数据完毕,单片机置p1.4为低电位,控制继电器j1断开,使单片机处于接收待命状态。如确认收到的电话号码不是本机号码(误码),则对接收到的命令不做处理。发送和接收的工作方式是半双工,通信数率都是1200bps。

ai、ao、rd、cd、xd、rs、mod1、mod2为msm7512b的管脚。本设计中,四种模式的选择由单片机实现。

软件流程