当前位置:首页 > 单片机 > 单片机
[导读]MSM7512B是一款单片FSK调制解调器。他符合ITUT V.23标准,可以支持1200 b/s半双工或1 200 b/s收/75 b/s发全双工2种数据传输方式。MSM7512B用于控制或单向数据通信比较方便,这样的系统往往执行端由小巧的单片机组成,

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

1通信方案与模式

通信方案应由具体应用决定。当PC机和单片机要通过公共电话交换网进行通信时,由于MSM7512B没有附加其他功能电路,因此在发起连接端需要加接拨号电路,在应答连接端需要加接振铃检测电路。如果连接请求是由计算机发起的,其通信方案可如图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误认为是信号加以接收,从而导致一些干扰数据的产生进而影响正常通信。


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

在正常收发情况下(无重传),对单片机而言,一收到来自计算机的数据,紧接着就改变为发模式,但改变为发模式后并不立即发应答,而要延迟?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的制约,所以隐含着对T?2的要求。由此可见,合理选取模式转换的人为延迟时间T1和T2,是提高传输效率的关键所在。

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


 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭