网络与通信
基于DSP的以太网通信接口设计
肖波
(四川泸州医学院生物医学系医学工程技术教研室,泸州646000)
摘要:介绍了以DSP为核心,具有以太网接口的嵌入式系统硬件电路组成和软件设计方法。详细地介绍了网络控制器RTL8019A的工作原理及DSP硬件电路设计。解析了嵌入式TCP/IP协议在DSP硬件上的移植,在此协议栈的基础上,完成了上层协议的编写和实现。关键词:DSP;RTL8019A;TCP/IP协议
DesignofEthernetcommunicationInterfaceBasedonDSPXIAOBo(MedicalEngineeringTechnologyResearchLab,DepartmentofBiomedicalEngineering,LuzhouMedicalCollege,
Luzhou646000)
Abstract:Thisarticleexplainthehardwarecircuitscompositionandsoftwaredesignmethodofthesystem,thissystemisa
embeddedsystemwhichhasEthernetinterfaceandDSPasitscore.ThisarticlealsoexplainsindetailtheworkingprincipleandDSPhardwarecircuitdesignofthenetworkcontrollerRTL8019.WeprovideembeddedTCP/IPprotocoltransplantationonDSPhardware.Basedonthisprotocolstack,wecompleteupperprotocol.KeyWords:DSP;RTL8019A;TCP/IPProtocol
1引言
许多测量和控制设备都是通过串口与其他设备通信,使
器需要做的只是在RTL8019AS的外部总线上读写MAC帧。RTL8019AS的外部总线符合ISA标准,DSP总线虽然不是标准的ISA总线,但可以实现它们之间的连接。通过对应用需求的分析,可以进一步减少RTL8019AS与DSP之间接口的信号线。TMS320VC5402与RTL8019AS硬件接口电路如图1所示。
设备间的数据交互和远程控制受到限制。如果能把串口的数LAN)来进行数据据转换成网络数据格式,组建一个局域网(
的交互与传输,则上述的限制将得到有效地改进。考虑到以太网组网技术的易于理解、实现、管理和维护,且成本低廉、网络拓扑结构灵活的优点,应用以太网组网技术来搭建数据交互的平台。其中的关键就是接口转换器的实现。DSP芯片作为一种特殊的嵌入式微处理器系统,具有嵌入的协处理器和用于快速数据处理的并行数据通道,而且DSP在语音图像信号处理方面也具有强大功能。在嵌入式网络设备中引入DSP技术,可以使嵌入式以太网变得更快,成本更低,也更容易进行功能扩充,因此选用DSP芯片作为接口转换器的微控制器。为提高网络通信效率,可以采用自定义的从数据链路层到应用层的网络通信协议,以适应特定场合应用的需要;如果需要,还可以编写一个自定义协议和TCP/IP互译的网关软件,实现嵌入式网络和Internet的连接。
图1TMS320VC5402与RTL8019AS硬件接口电路
TMS320VC5402的信号都是经过译码和电平转换后和RTL8019AS连接的,这是因为RTL8019AS的工作电压为5V,而TMS320VC5402的工作电压为3.3V。其中RTL8019AS的控制信号IOWB、IORB、SA5,通过IS、IOSTRB、R/W、A14、A15译码得到,逻辑关系如下:
IOWB=IOSTRB+R/WIORB=IOSTRB+R/WSA15=IS+A15+A14
将地址允许线AEN接地,置为有效状态,使用SA5来作为地址使能信号。因为选的RTL8019AS基地址为0x300~0x31F,所以地址有效的时候SA5为低电平,所以采用SA5作为地址使能信号。当选用RTL8019AS时,才将其置低,平时置高。这样做可以方便TMS320VC5402对多个外设进行逻辑
2以太网接口电路设计
DSP与以太网间通过网络接口控制器连接,选用
RTL8019AS以太网控制器,是由台湾Realtek公司生产的基于ISA总线的10Mbps以太网控制器芯片。RTL8019AS实现以太网媒介访问层(MAC)和物理层(PHY)的功能,包括MAC数据帧的收发、地址识别、CRC编码/校验、曼彻斯特编解码、超时重传、链路完整性测试、信号极性检测与纠正等。主处理本文收稿日期:2009-11-12
-89-
电脑编程技巧与维护
控制。RTL8019AS可以通过引脚“冷”复位,也可以通过软件“热”复位,复位引脚RSTDRV保持800ns的高电平即可实现RTL8019AS复位。这里使用的是“冷”复位,用XC95144XLCPLD来控制RTL8019AS复位。具体实现是向I/O端口0x8006写入1后;大约50ms再写入0,这样就可以实现RTL8019AS复位。实现的逻辑关系如下:
RES8019CS=IS+A15+A14+A2+A1+A0
若RES8019CS=0则RSTDRV=D0RTL8019AS与以太网接口电路如图2所示。
度则为64字节;加上8字节的前同步码,即可得到最小帧长度为576位。这样长度的帧能够保证所有冲突都可以检测到。这是因为IEEE802.3标准中,两个站点的最远距离小于2500m,由4个中继器连接而成,其冲突窗口为2倍电缆传播延迟加上4个中继器的双向延迟之和,合计为51.2μs。就10Mbps以太网而言,这个时间段内等于发送64字节(即512位)的数据。使用CSMA/CD作为一种访问控制方式,意味着最短数据帧长度与网络上最长传输延迟时间间隔有着密切的关系。要保证在发送过程中出现冲突时,冲突域内的所有节点都应该知道发生了冲突,以便采取适当的措施,这就需要最短数据帧长度必须大于网络上的最长传输延迟时间间隔,再加上阻塞附加时间和同步延迟时间等。这就是IEEE802.3标准中最短帧长度为64字节的由来。其中应用层帧类型分为数据帧和数据确认帧两种,具体结构如图5所示。
222238~1492数据数据帧标识序列号预留管理单元数据长度数据帧图2RTL8019AS与以太网接口电路图
3接口转换器的软件设计
在嵌入式网络系统中,可以使用TCP/IP协议,但不够经
2数据确认帧标识2被确认帧序列号数据确认帧42补零3.1自定义网络协议
济。原因是TCP/IP协议过于庞大,过于复杂,以至于效率低下。一方面是嵌入式系统各单元内部CPU的处理速度受限;另一方面,在某些特定场合特定任务的应用环境中TCP/IP功能冗余,阻碍了硬件效能的最大发挥。为此,针对特定的应用,制定相应的自定义网络协议,灵活方便,针对性强,经济实用。下面单从数据应用的角度,定义一个简单、实用的以太网传输协议。3.2协议层次
系统参照ISO的OSI模型,采用缩减的网络体系结构。如图3所示,网络体系结构分为3层:物理层、数据链路层和应用层。物理层规定网络的拓扑形式及通信信号的电气特性;数据链路层实现点到点的通信规程,完全执行IEEE802.3的CSMA/CD协议。
应用层数据链路层物理层应用层数据链路层物理层图5
由于数据帧长度可变,而且数据确认帧的MAC层长度仅为18字节,故在网络控制器初始化时须设置MAC层PAD填充功能(即MAC帧长度少于64字节时,网络控制器自动将其填充至64字节后再交给物理层)。自定义数据帧的预留管理单元还可以制定一些简单的控制或管理信息帧,以便更好地扩充功能和组织软件。如想连入Internet,需要在系统中加入一个能够转换本协议和TCP/IP协议的前端网关。3.4程序设计流程
本接口转换器所要实现的功能是把从RS232串口接收到的串口数据转换成以太网帧格式发送到以太网,并把从以太网上接收到的帧数据解包转换到串口传送。程序设计中包含初始化程序、主循环、串行接口程序和网络通信接口程序。程序运行首先进行初始化工作,包括初始化CS8900A、初始化串口和初始化一些参数,然后进入主循环。主循环内循环运行CS8900A中断服务查询程序和串口缓冲区查询程序,若有CS8900A中断申请,则中断调用网络通信接口程序;若串口缓冲区有数据,则中断调用串行接口程序。流程如图6所示。
图3网络协议层次
3.3帧结构
以太网帧结构如图4所示。
8
6
6
2
46~1500
4
FCS(MAC帧
CRC校验)
前同步码目的地址源地址帧长度类型MAC帧内容
头部
图4
物理层的前同步码(即物理帧前导符+物理帧界定符)8字节由硬件自动生成。除去这8个字节,将其余字段的长度加起来,可以得到以太网帧的最大长度为1518字节,最小长
图6初始化与主循环程序流程
-90-
NETWORKANDCOMMUNICATION
(1)串行接口程序
串行接口程序是DSP通过16C2550向外部数据口进行数据接收、发送的程序,目的是进行数据传输。此程序包括串口发送接收程序及数据组织程序。发送和接收通过中断并发处理。整个串口发送程序在主循环中调用。其模块的流程为:
发送收到网络串口数据→打开数据口→中断发送;接收中断接收→整理串口数据→发送到网络上去。发送和接收逻辑流程如图7所示。
发送缓冲区有数据?Y开中断N中断接收?Y组织数据N网络与通信
的以太网通信。
图8发送与接收服务程序流程
参考文献
[1]万静华,丁亚军.以太网控制器的嵌入式设备网络互联
[J].单片机与嵌入式系统应用,2001,12:41~43.
[2]杨晔.实时操作系统uC/OS-Ⅱ下TCP/IP协议栈的实现
[J].单片机与嵌入式系统应用,2003,(7):80~83.[3]王念旭,等.DSP基础与应用系统设计.北京:北京航空
航天大学出版社,2001.
[4]郭向勇,吴光斌,赵怡滨.千兆位以太网组网技术.北京:
电子工业出版社,2002.作者简介
肖波,女(1971-),讲师,工学硕士,四川泸州医学院生物医学系医学工程技术教研室,研究方向:生物医学仪器、单片机及DSP。
中断发送)发送流程(a发送至网络(b)接收流程图7发送和接收逻辑流程
(2)网络通信接口程序
网络接口程序是DSP通过CS8900A对系统的其他单元发送命令和接收信息的程序,目的是与系统的其他单元通信,接收与发送数据包和信令数据包。此程序包括网络数据接收程序、网络数据发送程序、数据组织程序。发送与接收服务程序流程如图8所示。
4结语
给出了以DSP为核心处理器的嵌入式系统硬件设计方法,详细地介绍了DSP以太网接口设计原理及过程。对嵌入式TCP/IP在嵌入式系统上实现及实际应用作了分析并设计了DSP的以太通信程序,实现了基于DSP的嵌入式系统与PC机
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY(上接第63页)
DataSource属性设置为标准展开表,两个约束数据组合控件DataCombo1、DataCombo2的RowSource属性分别设置为ADODC1和ADODC2,Listfield属性分别设置为检测项目类别、检测项目名称。Text1的DataSource属性设置为ADODC2,Datafield属性设置为标准编号,用于显示所选择的认证项目的标准名称和标准号。DataCombo1、DataCombo2的Click事件的程序代码如下:
PrivateSubDataCombo1_Click(AreaAsInteger)
Dimstrquery4AsString
strquery4=\"select*from日化新表where类别名称=\"+\"'\"+DataCombo1.BoundText+\"'\"WithAdodc2
.RecordSource=strquery4.RefreshEndWithEndSub
PrivateSubDataCombo2_Click(AreaAsInteger)IfArea=dbcAreaListThen
Adodc2.Recordset.Bookmark=DataCombo2.SelectedItemEndIf
DimstrqueryAsString
strquery=\"selectID,参数序号,参数名称,方法标准,仪
器设备名称型号from日化标准展开表where产品标准='\"+Text1.Text+\"'orderbyID\"WithAdodccx
.RecordSource=strquery.RefreshEndWithEndSub
6生成申请书附表5
申请书附表5是仪器设备(标准物质)及其检定/校准一
览表,要求将标准按参数展开,因此,一个标准有多条记录。为了使表附5中的标准和申请书附表1中的标准的顺序保持一致,且申请书附表1中的内容改变时能随之改变,因此申请书附表5是通过将标准展开表和新表进行组合后实现的。由新表确定标准,标准展开表将标准展开并提供每个参数所依据的方法标准和所使用的仪器。这一过程和标准查询基本相似。
在生成申请书附表5窗中,共有3个ADOData控件。ADODC1、ADODC2和ADODC3的DataSource属性分别设置标准展开表、新表和附表5。有4个命令按钮,两个用于食品、日化两个专业标准的切换。一个用于返回主页,一个用于生成附表5。Datagrid控件用于显示生成后的附表5。
-91-
因篇幅问题不能全部显示,请点此查看更多更全内容