摘要:本文对单片机通信性能的分析和评价方法进行研究,指出了物理接口电路分布参数的分析方法和保证通信系统通信接口控制性能固件正确性的组合选择法。对单片机通信性能评价时,可以使用本文提出单片机通信性能分析参数。这些参数是比特吞吐系数ξ、数据传输有效性σ和数据识别率η。利用这些参数,可以定量地对单片机通信性能进行分析,同时也可以利用这些参数进行单片机的选择和应用系统设计。 关键词:单片机 通信 性能分析 引言 现代信息网络技术的一个突出特点,就是使工业控制系统6中的所有设备连接成网,从而在一个核心软件管理下工作(这个软件可能是分布式的操作系统, ![](/UpLoadFiless/Article/pic/2008-07/20080726201700771.gif) 也可能是嵌入式操作系统),形成一个有机的整体。这种整体网络方式的现代工业控制系统具有传统独立控制系统所无法比拟的先进性,不仅能极大地提高工业设备的生产效率,还可以大大提高系统的安全性和可靠性。 目前,为了实现网络化系统,工业设备都必须以网络终端的形式出现在系统中,而这种网络终端大多用单片机或数字信号处理来实现。由于工业控制系统设备的多样性和分布性,智能模块方式的单片机终端已经成为主流设备控制方式。随着信息和电子技术的发展,各种工业控制系统网络不断改进,这就对单片机通信功能的要求不断增加。特别是对各种现场总线技术中通信接口和通信协议,更是提出了新的通信要求:不仅能适应某一个通信协议,还希望能成为一种通信协议自动转换的智能终端。因此,单片机通信功能是否满足设计目标要求是必须设计中的一个关键问题。 在单片机应用技术中,需要有一个对单片机通信性能进行分析评价的理论方法,只有这样才能解决对单片机通信性能进行评价和设计的问题。本文的目的就是通过研究讨论,提出一个对单片机通信性能的分析和评价方法。 本文从单片机通信接口的物理结构和固件特性两个方面对单片机通信接口进行了分析,提出了接口电路物理性能分析模型和通信特性定量评价分析的参数。 一、串行通信口的物理特性 对单片机的通信性能可以从通信接口性能和软件处理能两个方面进行考虑。通信接口性能主要表现在与通信有关的电路物理性能上;而软件处理性能则与单片机的指令系统和CPU性能直接有关,所以,软件处理性能可以用单片机的固件特性来表示。 单片机串行通信接口一般分为两种,一种是同步串行通信接口(SPI),另一种是异步串行通信接口(SCI)。SPI具有串行通信速度高的特点,但一般需要1条发送和1条接收串行数据通信线、1条通信目标选择线和1条同步时钟线,一共需要4条通信线(占用单片机的4个I/O引脚)。SOC虽然数据传输速度低于SPI,但一般只需要2条数据线和1条地线即可,也就是只需要3根通信线(占用单片机的3个引脚)。 SPI和SCI串行通信接口的基本电路结构如图1和图2所示。 ![](/UpLoadFiless/Article/pic/2008-07/20080726201700104.gif) 从图中可以看到SPI和SCI的物理结构有很大差别:SPI的通信速率和信号接收正确率由时钟和接口物理特性决定;SCI的通信速率和信号接收正确率由物理接口和时钟分频率决定。 通信接口接收的是数字电平信号,因此,存在电平判别的问题。如果输入电路的物理特性对输入电平波形有影响,则会直接影响接收信号的正确性。因此,要求接收和发送电路的物理特性必须满足波形的要求。 通信息的物理特性还与通信介质和连接状态有关。图3是通信接口电路和驱动电路之间的待效电路图。 当数据传输速率远小于电路电压跟踪速度时,可认为每一位数据的电平保护足够长的时间。根据图3可以得到输出和输入信号的阶段响应: u=U(1-e -at) (1) 式中,u是数字信号高电平,a=1/[R(C1+C2)]是上升时间常数。图4是数字信号受到分布参数影响后的波形。 根据式(1)可知,在5V电源电压条件下,通信信号电平幅度上升到判别电压幅度(TTL高电平或CMOS高电平)所需时间是T=-R(C1+C2)ln0.46(对TTL电路)或T=-R(C1+C2)ln0.72(对CMOS电路)。如果信号的波特率为fb,为确保正确接收,信号上升时间应当为信号脉冲宽度的1/4~1/10。 由此,当数字信号为TTL电平时,要求单片机接口电路的分布参数范围是 当数字系统为CMOS电平时,要求单片机接口电路的分布参数范围是 如果单片机的物理分布参数已经确定,则式(2)和式(3)就是最高通信速率的限制条件。 通过以上分析可以看出,单片机通信接口的物理特性对通信性能直接影响,主要反映在接口电路分布参数对数字信号波形的影响,进而引起接口电平判别失误。 二、单片机串行通信接口的固件特性 所谓单片机串行通信接口的固件特性,是指单片机串行通信接口的控制和支持硬件在串行通信时所具有技术特性。固件特性包括两个方面问题,一个方面是软件行为对硬件的要求条件,另一个是硬件电路所能提供的结构和功能特性。 1.单片机通信接口功能的控制方式 单片机串行通信接口功能的控制是在单片机内部硬件结构支持下的软件操作。单片机是面向寄存器的工作方式,因此,对于通信接口的控制是通过一系列的寄存器操作实现的。基本控制步骤如下: (1)设置必要参数(如通信速率、时钟源、终端方式等); (2)设置数据结构(对于异步通信口); (3)通过向发送寄存器写入数据,启动发送/接收——读取数据。 每一次通信(发送一个字节)都需要重复最后一个步骤。 由此可知,单片机串行通信接口寄存器的操作会直接影响通信接口的功能和性能。由于单片机的每一步骤操作都是执行1条指令, ![](/UpLoadFiless/Article/pic/2008-07/20080726201700690.gif) 所以,单片机串行通信的真正发送时间,是向发送寄存器写数据指令结束的时刻。 2.单片机串行通信接口基本固件特性 单片机串行通信接口一般包括发送数据、接收数据、发送时钟、接收时钟、线路监测、碰撞处理、波特率设置、帧结构设备等。这些固件的特性有一个共同的特点,就是全部以寄存器为操作对象,并在每一个操作指令结束时执行寄存器操作,通过寄存器的输出电路实现相应的功能。由此可知,寄存器操作的特性,就是单片机串行通信接口固件的特性。 (1)次序固定的固件特性。单片机串行以通信接口操作中,必须先进行相应的设置,才能实施通信。这种固定的次序是单片机串行通信接口的重要固件特性,如果忽略了这种次序特性,必然会导致通信失败。 (2)协议相关的固件特性。通信协议是有效利用单片机串行通信接口的基本保证之一。如果在单片机的通信协议执行过程中出现问题,则通信功能就会丧失。 (3)隐含协调性。所谓隐含协调性指隐含在通信指令集中的协议规定,如发送方与接收方的等待协议规定等。 由此,可以把单片机的固件特性用3个不同集合之交表示:设有通信接口的操作次序集合A、相关协议集合B和隐含规约集合C。A中的每一个元素都是一种正确的通信接口操作次序;B中每一个元素都是一种体现相关协议的通信接口操作要求;C中每一个元素都是一种隐含规约,则符合要求的通信接口控制固件必然是三者之交: Y=A∩B∩C (4) 由此可知,要检查单片机串行通信接口的基本固件特性,可以使用式(2)进行判别;如果不能满足式(2),就表明单片机串行通信接口的固件特性有问题,会引起通信失效。 三、单片机通信性能分析 上述对单片机串行通信接口的物理特性和因件特性的分析,提供了单片机通信性能分析的基础。单片机通信性能分析包括比特吞吐特性分析、有效性分析和数据安全性分析。 1.比特吞吐特性分析 比特吞吐特性,是指单片机执行通信任务时单位时间内发送和接收的比特数目。比特吞吐特性不能用串行特性的波特率代替。比特吞特性不仅与波特率有关,更与单片机的固件特性有关。不同的通信协议会引起不同的通信操作,形成不同的操作固件。这种固件操作的有效性才是决定比特吞吐特性的关键。 在处理一组数据时,设通信协议处理数据的时间为tp,串行通信发送数据的时间为tc,则总的通信时间为t=tp+tc,因此,串行通信接口的比特吞吐特性可用如下函数表示: ξ=fctc/(tp+tc) (5) 式中,ξ叫做比特吞吐系数,fc是固件设备的串行通信波特率。可见,在fc固定的条件下,要提高比特吞吐特性,就必须尽量减少tp+tc并增加tc。在tp=0这种极端情况下,比特吞吐系数才能等于通信波特率。 利用比特吞吐系数可以方便地检查单片机的串行通信能力能否满足应用系统的要求。例如,应用系统要求每秒钟内传输10个字节数据,相当于要求每秒钟的比特吞吐系数为80K。这里K是数据帧格式有效系数:异步串行通信中K>1;同步串行通信中K=1。 ![](/UpLoadFiless/Article/pic/2008-07/20080726201700191.gif) 根据这个要求,可以对应用系统所设计的软件结构进行核实,如果不能满足,则说明应用系统不能满足对通信的要求,必须进行调整。 2.有效性分析 所谓有效性,是指对包括通信协议在内的整个通信过程的有效性。设单片机应用系统发送和接收的控制信息数据是随机函数y=P(x),其中x代表单位时间内的数据传输量。Y的数据期望是: σ=E[y]=E[P(x)] (6) σ叫做单片机串行通信系统的数据传输有效性系数。显然,在满足应用系统功能的前提下,σ的值小,说明数据传输的有效性高;反之,系统数据传输量大,说明系数控制信息的有效性差。必须注意,这里只考虑控制信息,并不包括必要的数据采集。 有效性分析就是要根据系数数据传输的随机分布,估计系统数据的有效性。可以直接利用有效性系数作为检验的标准。 此外,数据识别率也是衡量单片机通信效果和应用系统固件特性的一种重要参数。 数据识别率是指对接收到的数据语义理解的速度。设单片机接收到能代表完整意义的X个字节所需要的时间是tx,语义理解(翻译和判别)需要的时间为tY,则数据识别率为 η=X/(tx+ty) (7) 数据识别率表示了单位时间内单片机通信的效果,η值越大,表明单片机的整体固件特性越好,通信效率越高。 3.数据完全性 数据安全性不仅与系统的串行通信物理特征有关,更主要的是与应用系统通信的固件特性有关,尤其是通信协议中的应用层,直接关系系统的数据安全。 数据安全性可以用通信稳定性和数据识别率表示。 通信稳定性与通信线路和物理接口的侵入和干扰状态有关。对于单片机通信系统来说,当多个单片机采用串行连接的方法连接在1条总线上时,通信线路的侵入状态由通信协议直接确定。如使用令牌通信方式时,基本上没有侵入状态;但如果用客户/服务器方式,侵入状态将随线路上单片机数量的增加而恶化。这是比较复杂的通信系统行为特性分析问题,本文不再分析。 结论 本文对单片机通信接口的物理特性和固件特性进行了分析。指出了确定物理接口电路分布参数的分析方法,并导出了在不考虑传输线电感(PCB板)条件下电路分布参数与保证通信可靠条件之间的关系计算公式。这些计算表明,接口电路的分布参数是限制通信速度的主要因素之一。 通信接口控制的固件特性对单片机通信性能有重要影响。通信接口控制的固件特性需要用通信接口操作次序集合A、相关协议集合B和隐含规约集合C的交集进行检查。选择一组合适的固件结构组合,以保证通信系统通信接口控制性能固件的正确性。 对单片机通信性能评价时,可以使用本文提出的单片机通信性能分析参数。这些参数是比特吞吐系数ξ、数据传输有效性系数σ和数据识别率η。利用这些参数,可以定量地对单片机通信特性进行分析,同时也中以利用这些参数进行单片机的选择和应用系统设计。 必须指出,单片机通信系统的安全特性也是一个重要的应用基础,限于篇幅本文不再讨论。 |