![]() |
|
||||||||||||||
| . 网站首页 . 新闻 . 新品 . 方案 . 专访 . 活动 . DSP . EDA . 评测室 . 技术文库 . 会员区 . 商城 . 服务导航 . 邮购 . 资源 . | ||
|
||
|
|||||
| 101规约在基于TMS320F2812的FTU中的实现 | |||||
作者:陶维青 王… 文章来源:微计算机信息 点击数: 更新时间:2006-9-5 ![]() |
|||||
|
陶维青 王骏 来源:微计算机信息 内容摘要:馈线终端单元(FTU)是配电网馈线自动化系统的主要装置,101规约则是我国电力行业标准。本文讨论了基于新型DSP芯片TMS320F2812的FTU设计,着重介绍了如何利用TMS320F2812的异步串口实现101规约,并给出了涉及异步串口的硬件原理图和C语言源码。 关键词: 101规约 TMS320F2812 FTU 串行通信 1 引言 101规约即DL/T634.5 101-2002,等同采用国际电工委员会制定的IEC60870-5-101基本远动任务配套标准,是我国电力行业标准,也是我国大多数电力自动化产品支持或将要支持的通信规约。所以,使用101规约作为FTU与配电网主站的通信规约,可以使产品间具有更好的兼容性、开放性和标准性。 快速、准确传输故障信息是实现配电网馈线自动化系统的关键 ,因而,作为馈线自动化系统主要装置的FTU,要实时检测电网运行状态,即时判断、记录、隔离故障,恢复非故障段线路运行,并快速向主站发送记录数据、执行主站下发的命令。随着交流采样技术的发展,数据处理量的加大,以单片机为核心芯片的传统FTU已难以满足实时性的要求;而目前FTU大都采用AD 2185 DSP外加单片机或CPLD、FPGA等进行硬件外扩,电路复杂,成本高,无疑增加了开发难度、周期和所需费用,并降低了系统的可靠性。TI公司推出的新型32位定点DSP芯片TMS320F2812 (以下简称F2812) 则很好的解决了这一矛盾,它不但具有150M的主频和高速运算处理能力,而且有着丰富的片内外设资源,控制功能极其强大,在几乎不需要任何硬件功能模块外扩的情况下就可以满足FTU所有功能要求。因而,本文基于F2812进行了FTU设计,着重论述了如何利用F2812内部异步串口实现101规约。 2 101规约简介 101规约只采用了OSI 7层模型中的物理层、数据链路层和应用层,这样简化了结构,满足了传送数据时实时快速性的要求 。物理层定义了接口电路标准和网络结构,一般采用RS232或RS485。数据链路层主要是在通信设备之间建立可靠的数据传输通道,它需要将输入的数据分成数据块,组成数据帧并进行传送,同时还要处理接收端发来的应答帧;101规约采用的传输帧格式有3种,如图1所示。应用层为用户使用窗口,它的报文仅包含一个应用服务数据单元;应用服务数据单元包含了数据、控制命令等各种信息的统一编码,其格式见图2。链路层的用户数据就是由应用服务数据单元组成 。 单点帧“E5”用来表示无所请求的数据;固定帧则主要用作命令或确认;而可变帧主要用作数据传输,如时钟同步、SCADA数据等。
3硬件设计 3.1 系统硬件结构框图 在系统硬件结构设计上,将FTU分为上下两层板。下面一层是信息采集和控制板,它包括PT、CT、光电耦合器、控制继电器、串口电平转换芯片等组成的数据采集、数字信号控制和通信等模块;上面一层是CPU板,它包括DSP、锁存器等组成的数据处理、数字信号开入或开出等模块。这样的设计使得FTU结构层次化,模块化,抗干扰性强,而且方便和简化了系统的调试工作。系统的硬件结构框图见图3。
3.2 异步串口电路部分
3.2.1 F2812异步串口介绍 F2812片内带有两个全双工SCI (Serial Communication Interface,串行通信接口),一般看作UART。每个串口收发器各带有一个16级深度的FIFO,可以减少对CPU的使用率,同时也防止数据丢失。波特率可通过波特率选择器从串行时钟频率中选取,有64K种 。 系统复位后,默认串口为普通串行通信方式;只有当FIFO发送寄存器中SCIFFENA位(BIT14)置1时,才使能带FIFO的通信方式。此后,读写串口收发缓存器,便可将数据移出或移入FIFO缓存单元。 需要注意的是,每执行一次发送或接收中断,都要用软件清除一次对串口中断的应答信号;并且在使用带FIFO的通信方式时,还要清除一次发送或接收中断标志。否则,CPU无法响应下次中断。另外,接收、发送缓存器的低8位才是有效的数据缓存位。 3.2.2 异步串口驱动电路 如图4所示,F2812的两个异步串口,经过光电耦合器HCPL2631隔离和RS232驱动芯片转换电平后与外界通信,其中,串口B可以选择为RS485通信方式。应用时,串口B只能选择RS232和RS485通信方式中的一种;在硬件上,通过对电阻R241和R242有选择的焊接,以区分RS232和RS485通信通道;在软件上,对于RS232通信方式,串口B用法与串口A完全一样,下面会详细讨论;对于RS485通信方式,由于RS485为半双工通信方式,所以要用软件输出数字信号经光电隔离后对MAX1486的DE引脚加以控制,以实现数据发送和接收间的切换。
图4异步串口驱动电路 4 软件设计 4.1 整体设计思想 对于数据结构,参照101规约规定的帧结构和应用服务数据单元格式,所有传输数据均可由三种结构体来定义,即由启动字符、帧长度、控制字以及地址字组成的报头结构体,按应用服务数据单元格式定义的数据单元结构体,由帧校验和结束字符组成的报尾结构体;这三种结构体内部可以再细分,如数据单元标识可定义为由数据单元类型、传送原因和公共地址组成的结构体。具体应用时,单点帧只有一个固定字符,不需要定义变量;固定帧只用到了报头和报尾结构体,其中帧长度为定值,不需要传送;可变帧用到了这三种结构体。 对于程序结构,由于101规约规定了传输帧的格式只有三种,所以在接收和发送数据处理时,均严格按帧的格式来划分模块,按帧格式中的数据顺序来发送数据,程序实现起来方便,而且可以使程序结构化,模块化,便于维护。 值得注意的是,101规约规定了帧格式中的基本单元为字节,而且F2812异步串口的收发缓存也只有8位有效数据位,但TI的C语言中没有这一数据类型,它的基本单元是字;所以,按字定义数据,在接收和发送数据时只取每个字的低8位,这样虽然浪费了一半的存储器空间,但程序编写容易,效率也较高 。 4.2 程序流程 整个通信程序流程思路为:接收中断函数根据帧与帧之间的时间间隔,区分出每一帧,并将已接收完的一帧数据存入内存,然后打开接收数据处理函数;在接收数据处理函数中按帧的起始字不同,分辨出此帧数据是固定帧还是可变帧数据,再按不同帧的格式进行校验,在地址、长度、帧校验和、结束字符均检验正确后,进入固定帧或可变帧解包处理模块;在帧解包处理模块中,根据此帧数据的功能码和用户数据,设置相应的处理标志,完成后打开发送数据处理函数;在发送数据处理函数中,根据接收数据处理函数所设置的处理标志和主程序设置的处理标志,对相应的具体数据按帧的三种结构进行打包,打包结束后,使能F2812发送中断;发送中断将打包完成的一帧数据发送出去,全部发完后,关闭发送中断。至此,一次完整的收发数据处理过程结束。 可见,整个程序各个部分均参照101规约中帧的格式来编写,以接收数据处理函数为例,给出了其流程图,见图5。
4.3串口程序源码
|
|||||
| 欢迎点击进入:TI德州中文网 (国内唯一针对TI应用的中文技术网站) 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 | | |||
|
|