利用MSM7512B实现的PC机和单片机远程通信

发布者:RadiantExplorer最新更新时间:2014-02-17 来源: elecfans关键字:MSM7512B  PC机  单片机  远程通信 手机看文章 扫描二维码
随时随地手机看文章

  MSM7512B是一款单片FSK调制解调器。他符合ITUT V.23标准,可以支持1200 b/s半双工或1 200 b/s收/75 b/s发全双工2种数据传输方式。MSM7512B用于控制或单向数据通信比较方便,这样的系统往往执行端由小巧的单片机组成,处理控制端由计算机组成。如通过网络的远程抄表,远程报警,远程检测和远程在系统编程。但如果需要经过模拟接入网的远程双向数据通信,问题就不简单了。这就引出了如何利用 MSM7512B进行PC机和单片机之间的远程通信问题。

  1 通信方案与模式

  通信方案应由具体应用决定。当PC机和单片机要通过公共电话交换网进行通信时,由于MSM7512B没有附加其他功能电路,因此在发起连接端需要加接拨号电路,在应答连接端需要加接振铃检测电路。如果连接请求是由计算机发起的,其通信方案可如图1所示。

  图1 通信方框图

  图1 通信方框图

  MSM7512B的14,15脚 MOD1,MOD2是通信工作模式控制。当MOD2=0,MOD1=0时,芯片处于发送模式,只能以1 200 b/s向外发送数据;而MOD2=0,MOD1=1时,处于接收模式,可以以1 200 b/s的速率接收数据,也可以以75 b/s的速率发送数据。可惜MSM7512B没有一种模式可以以75 b/s接收数据,因此当PC机端和单片机端都采用MSM7512B时,无法用全双工发送接收数据。

  然而计算机与单片机之间的数据传输是双向的,如果没有应答确认,通信过程就难以为续。这就引出了如何用2个MSM7512B以物理层的半双工实现链路层双向通信的问题。也就是说,一方使用MOD2=0,MOD1=0,另一方使用MOD2=0,MOD1=1,并且这2种模式需要在通信过程中不断转换。

  2 模式转换中必须注意的问题

  根据以上提出的设计方案,通过单向的通信测试发现两个方向的单工模式都是可行的。但这并不意味着半双工通信一定可行,当在连接建立后的通信过程中改变调制解调器模式从而改变收发方向时,接收的数据就会时而正确时而不正确。显然,在通信过程中转变模式是一个值得探讨的问题。经过多次反复的测试和分析,发现双机的MSM7512B都处于接收状态时,也就是两者都不发送数据时,一方居然能接收到一些奇怪的数据。这说明如果一方已经从发送模式转换为接收模式而另一方还没来得及转换,通信双方将同时处于接收状态(见图2),而这时模拟信道上信号为零,其上的噪声被MSM7512B误认为是信号加以接收,从而导致一些干扰数据的产生进而影响正常通信。[page]

  图2 一般通信时序

  图2 一般通信时序

  为此需制定新的通信时序,用以保证在通信过程中双方不可能同时出现在接收状态,也就是双方或者都处于发送状态,或者一发一收。图3表示了这种新的通信时序中PC方发数据,单片机方发应答的情形。其中Td是数据传输时延,Tc是MSM7512B模式转换时延,T1、T2为避免双方同时处于接收状态而设置的人为延迟。单片机方的保存数据仅在接收到正确的帧后操作,而若是在等待接收重传帧时则不操作,所需时间为Tsave.同样,PC方的装载数据也是在发送新帧时操作,而重传帧时也无需操作,所需时间为Tload。

  图3 一发一收

  图3 一发一收

  在正常收发情况下(无重传),对单片机而言,一收到来自计算机的数据,紧接着就改变为发模式,但改变为发模式后并不立即发应答,而要延迟?T1时间等待计算机准备好收状态再发应答。单片机发完应答后也不能立即转换为收模式,而应延迟T2时间保证计算机方在此之前已转移为发送模式。如果是确认应答,就保存数据,然后转为收模式,如果是否认应答,直接转为收模式。对计算机端而言,状态转移过程类似。即计算机一收到来自单片机的应答立即改变为发模式,如果是确认应答,装载下一组数据,然后延迟T1时间等待单片机准备好接收状态再发数据。如果是否认应答,直接延迟T1时间等待单片机准备好接收状态,然后重发数据。计算机发完数据后也不能立即转换为收模式,而应延迟T2时间保证单片机方在此之前已转移为发送应答模式。显然,在链路对称的情况下,假定装载数据和保存数据时间相同,应有T1》T2。

  那么如何确定T1,T2呢?为了保证在通信过程中双方不能同时出现在接收状态(也就是双方或者都处于发送状态,或者一发一收),则不难得出如下关系式:?

  

  因为Tsave和Tload都与具体的帧长度有关,即与机器速率有关,例如单片机处理数据要慢于PC机,因此帧越长,保存数据时间就越大于装载数据时间,为保证正确的模式转换,T1随之增加。所以延时值即T1,T2的取值在数据传输速率一定时也要依具体的数据长度而定。通过实验得出当帧长度为54字节时T1,T2的取值为100 ms,50ms比较合理。而帧长度为100字节时T1,T2的取值为200 ms、100 ms比较合理。针对其他长度的T1,T2的选取可以用试凑法,测试多组数据比较选取较好的。选取的原则就是在保证数据传输可以正常进行的前提下选取较小值。

  3 传输效率

  从图3的时序图可以看出如下关系:

  设帧长度为N1字节,应答长度为N2字节,数据传输速率为Rb/s.当每字节10个码元时,传输一段数据的总耗时Ts为

  Ts≈2T1+2Tc+2Td+[(N1+N2)×10/R]×1 000 (ms)?(3)

  其中Td与路径长度和媒介有关,Tc与调制解调芯片有关,一般均较小。由于传输效率与传输时间成反比,因此在N1,N2,R取值一定时,式(3)表明传输效率主要由T1决定,即T1选取越小传输效率越高。注意到延时T2是为了保证通信过程中,在收方转变为发送模式之前,发方仍处于发送模式,同时也要保证在对方数据发出之前转变为接收模式,他的选取只要满足关系式(1)即可,表面上看与传输效率无关,但由于T1受到T2的制约,所以隐含着对T2的要求。由此可见,合理选取模式转换的人为延迟时间T1和T2,是提高传输效率的关键所在。

  采用以上方案,PC机和单片机之间就都可以使用MSM7512B正确地进行远程数据的发送和接收了。

关键字:MSM7512B  PC机  单片机  远程通信 引用地址:利用MSM7512B实现的PC机和单片机远程通信

上一篇:讲述如何实现单片机与触摸屏的通信
下一篇:基于8位单片机实现电机和PFC控制

推荐阅读最新更新时间:2024-03-16 13:35

AT89C52单片机为控制器的多功能交通灯控制系统
汽车数量越来越多,而现在的红绿灯处的交通灯模式采用的是定时控制,由于车流量是随时变化的,当此时没有车通过,而相对的车要等到此方向的绿灯结束显示红灯才能通过,在时间和空间方面的应变性能较差,这样不仅浪费了时间,还使得相对方向的车辆造成“堵车”现象。要想解决城市红绿灯处的“大堵车”现象,改善原有的红绿灯处交通灯控制系统是很有必要的。 本文以AT89C52单片机为控制器的交通灯控制系统,该系统通过红外接收器接收信号实现特种车辆(119、120等)自动放行;通过车辆检测电路采集路况信号,经单片机处理后,分配各车道的绿灯时间,实现车流动态调节,LED数码管显示通行倒计时;系统除基本交通灯功能外,还具有通行时间手动设置、可倒计时显示、急车
[单片机]
AT89C52<font color='red'>单片机</font>为控制器的多功能交通灯控制系统
常用MCU加密方法介绍
随着物联网和边缘计算的出现,五花八门的MCU也被应用其中,如何保证我们的程序安全和知识产权不受侵犯呢,本文我们将对主流MCU的程序加密进行讲解,希望能够帮助你选择最适合自己应用的微处理器。 1. MCU加密 通常所说的MCU加密是指将用户的程序固件保护起来,防止别人通过外部调试接口或者其他方法读取烧写在Flash中的程序。保护自家方案不轻易被别家抄袭,从硬件上保护自己的知识产权。MCU加密还指防止自家程序被恶意读取破解。 2. 常用MCU加密方式 通过写特定配置字; 增加外部加密芯片; 对程序代码进行密码加密,使程序变成密文; 程序校验芯片的唯一ID。 2.1 配置字加密 2.1.1 原理 MCU厂商在设计芯片时
[单片机]
常用<font color='red'>MCU</font>加密方法介绍
触控温度计设计
  1. 内容简介   温度的量测应用非常的广泛,从农业上的气温观测,及日常防疫的体温量测至工业上的半导体制程,温度都是相当重要的一个指标及依据。本文主要是介绍HYCON HY16F188 Series芯片在温度量测上的应用,并透过Touch Key的界面进行操作。由于HY16F188芯片内部集成高精度 △ADC,且ADC输出频率最快可以到达10KHZ,藉由外部LCD驱动IC HY2613B完成显示。HY16F188用于温度上的量测,不需外接的感测组件即完成,达到周边电路简单且省电的应用。   2.原理说明   2.1量测原理   本应用的温度量测组件是采用,IC内部的绝对温度传感器TPS,绝对温度传感器由二极管(BJT)组成,其
[单片机]
触控温度计设计
用Proteus学习51单片机之串口
串口的理论知识我就不记了,网上多的是。51单片机的串口,有4种方式,分别为方式0,方式1,方式2,方式3.由于我的目的,使用串口主要是为了和电脑进行通信,所以主要使用方式1(事实上我也只学了方式1,其他方式等用到的时候再学吧)。 串口的方式1,其波特率与定时器T1相关,公式如下: 方式1波特率 = (2SMOD×32)/(T1溢出率) SMOD是一个寄存器,一般我们就取0了 T1的溢出率,即每秒T1计数满几次(相关知识可以看看前面笔记的记录) 正是因为如上的公式,所以设置TH1和TL1的初值,就能控制方式1的波特率了。不过一般波特率是固定的那么几种,像2400,4800和9600等,要用的时候查一下初值就成了。 由于用的是Prot
[单片机]
用Proteus学习51<font color='red'>单片机</font>之串口
英飞凌推出高安全的非接触式微控制器系列
英飞凌科技股份公司(FSE: IFX/ OTCQX: IFNNY)近日在“智能卡暨身份识别技术工业展”(CARTES & IDentifica-tion)上推出了一款高安全的双界面微控制器系列产品,该系列产品实现了非接触式芯片前所未有的数字安全特性,是英飞凌在非接触式解决方案方面矢志创新的结果。全新SLE 78CL(CL意为非接触式)系列采用了屡获殊荣的“Integrity Guard”硬件安全技术,英飞凌发明的这项技术被芯片卡行业誉为“最佳硬件创新”。英飞凌将SLE 78CL系列产品瞄准下一代卡片或其它形式的政府身份识别及支付应用。 今后十年,在芯片卡和安全项目中,基于硬件的安全将日益成为重要的差异化因素。尤其是保
[RF/无线]
单片机的基本结构解析
单片机的五个组成部份: 运算器:用于实现算术和逻辑运算。计算机的运算和处理都在这里进行; 控制器:是计算机的控制指挥部件,使计算机各部份能自动协调的工作; 存储器:用于存放程序和数据;(又分为内存储器和外存储器,内存储器就如我们电脑的硬盘,外存储器就如我们的U盘) 输入设备:用于将程序和数据输入到计算机(例如我们电脑的键盘、扫描仪); 输出设备:输出设备用于把计算机数据计算或加工的结果以用户需要的形式显示或保存(例如我们的打印机)。 注:1、通常把运算器和控制器合在一起称为中央处理器(Central Processing Unit),简称CPU。 2、通常把外存储器、输入设备和输出设备合在一起称
[单片机]
<font color='red'>单片机</font>的基本结构解析
基于AT89C51单片机的RS232-GPIB控制器设计
越来越多的测量仪器提供GPIB(General Purpose Intefface Bus)总线接口,通过该总线可以方便快捷地连接带有GPIB接口的仪器及计算机,组成一个GPlB网络。GPIB设备与计算机连接时,需要借助GPIB接口板卡,但这些GPIB接口板卡价格昂贵,给仪器与计算机连接带来不便。在大多数情况下计算机只连接一台GPIB接口仪器,并不需要这些功能复杂价格昂贵的GPIB板卡。面对单台仪器与计算机连接的功能需求,本文设计了一种性价比突出的RS232一GPIB控制器,该控制器利用计算机最常用的RS232接口,控制带有GPIB接口的仪器,在计算机与仪器之间建立数据传输的通道。同时,支持SCPI(Standard Comman
[单片机]
基于AT89C51<font color='red'>单片机</font>的RS232-GPIB控制器设计
什么是51单片机最小系统
1.什么是51单片机 51 内核单片机是 指兼容Intel 的8051指令系统的单片机统称;从诞生到现在的几十年时间,已成为一款经过市场考验、成熟的芯片产品。目前国内也众多51单片机厂家,且还有众多带51内核,用于各种不同场景的专用类单片机。 51单片机内部框架: 以下以STC89C52单片机为例,其内部总体结构其基本特性如下: 8位CPU、4-8k 字节 ROM、128 字节 RAM、21 个特殊功能寄存器32根I/0线、可寻址的 64 字节外部数据、程序存贮空间、2个 16 位定时器计数器中断结构:具有二个优先级、五个中断源、一个全双工串行口、位寻址(即可对寄存器进行位操作)功能,能按位进行逻辑运算的位处理器。 除 1
[单片机]
什么是51<font color='red'>单片机</font>最小系统
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved