基于DSP的嵌入式以太网接口转换器

发布者:TranquilWhisper最新更新时间:2012-05-09 来源: dzsc关键字:DSP  以太网接口  转换器 手机看文章 扫描二维码
随时随地手机看文章

引言

许多测量和控制设备都是通过串口与其他设备通信,使设备间的数据交互和远程控制受到限制。如果能把串口的数据转换成网络数据格式,组建一个局域网(LAN)来进行数据的交互与传输,则上述的限制将得到有效的改进。考虑到以太网组网技术的易于理解、实现、管理和维护,且成本低廉、网络拓扑结构灵活的优点,应用以太网组网技术来搭建数据交互的平台。其中的关键就是接口转换器的实现。

DSP芯片作为一种特殊的嵌入式微处理器系统,具有嵌入的协处理器和用于快速数据处理的并行数据通道,而且DSP在语音图像信号处理方面也具有强大功能。在嵌入式网络设备中引入DSP技术,可以使嵌入式以太网变得更快,成本更低,也更容易进行功能扩充,因此选用DSP芯片作为接口转换器的微控制器。

为提高网络通信效率,可以采用自定义的从数据链路层到应用层的网络通信协议,以适应特定场合应用的需要;如果需要,还可以编写一个自定义协议和TCP/IP互译的网关软件,实现嵌入式网络和Internet的连接。

本文介绍的接口转换器解决了车内的数字式语音通信系统的接口转换问题。

1 接口转换器的硬件设计

在设计一个嵌入式系统时,不但要考虑系统所要具备的功能,同时还要考虑价格、体积等因素。TMS320C3X[1]系列芯片是TI公司推出的浮点运算DSP芯片。由于其较高的性价比,TMS320C3X的应用极其广泛;由于将浮点运算与定点运算结合起来,具有更高的精度,并且不必考虑运算的溢出问题,因此浮点DSP具有更高的性能,更容易在系统的处理器上实现高级语言[2]。TMS320C32是TMS320系列浮点数字信号处理器的新产品,在TMS320C30和TMS320C31的基础上进行了简化和改进。在结构上的改进主要包括:可变宽度的存储器接口、更短的指令周期时间、可设置优先级的双通道DMA处理器、灵活的引导程序装入方式、可重新定位的中断向量表以及可选的边缘/电平触发中断方式等。对TMS320C32的开发可以用汇编语言,也可以用C语言。使用汇编语言的优点在于,运行速度快,可以充分利用芯片的硬件特性;但开发速度较慢,程序的可读性差。使用C语言的优势在于,编程容易、调试速度快、可读性好,可以大大缩短开发周期;但C语言对于其片内没有映射地址的特殊功能寄存器不能操作,如IF和IE、AR0~AR7等。

以太网接口芯片采用CS8900A[3]。该芯片是Cirrus Logic公司生产的一种局域网信号处理芯片,内部集成了片上RAM,其模拟前端包括曼彻斯特编解码器、时钟恢复电路、10BASE2T收发器和滤波器及一个AUI(Attachment Unit Interface)接口。CS8900A的MAC(Medium Access Control,媒体访问控制)引擎负责以太网数据帧的发送和接收、检测和处理冲突,生成和检测帧引导头(Preamble),自动生成和校验CRC(Cyclical Redundancy Check,循环冗余校验)码。芯片在网络物理层符合IEEE 802.3以太网标准,支持全双工操作,是嵌入式平台实现10 Mbps以太网连接的很好的选择方案。

接口转换器的硬件框图如图1所示。DSP作为整个硬件模块的CPU,SRAM用作外部数据存储器,Flash用于存储程序,CPLD或FPGA用于扩展DSP的对外接口控制。虚线框是可扩展的模块。

2 TMS320VC32与CS8900A的连接方法

CS8900A的20位地址线与TMS320VC32地址线低20位相连;CS8900A的16位数据线与TMS320VC32数据线低16位相连;数据总线高位使能端由A0控制。通过一片CPLD扩展TMS320VC32的外部控制功能,控制CS8900A的中断请求、复位和读写操作。TMS320VC32与CS8900A连接关系如图2所示。

设置以太网接口芯片CS8900A工作于I/O模式。通过对芯片各寄存器的操作可设置网络终端接口电路的功能和读取状态信息。

CS8900A的主要寄存器有:

LineCTL 决定CS8900A的基本配置和物理接口,设置初始值为00D3H,选择物理接口为10BASE2T。

RxCTL 控制CS8900A接收特定的数据报,设置RxTCL的初始值为0D05H,接收网络上的广播或目标地址与本地物理地址相同的正确数据报。

RxCFG 控制CS8900A接收到特定数据报后会引发接收中断,RxCFG可设置为0103H,收到正确数据报时产生接收中断。

BusCTL 控制芯片的I/O接口操作,设置初始值为8017H,打开CS8900A的中断总控制位。

ISQ 中断状态寄存器。内部映射接收状态寄存器和发送中断寄存器内容。

Port0 发送和接收数据时,CPU通过Port0传输数据。

TxCMD 发送控制寄存器。如果写入数据00C0H,那么网卡芯片在全部数据写入后开始发送数据。

TxLength 发送数据长度寄存器。发送数据时,首先写入发送数据的长度,然后将数据通过Port0写入芯片。

系统上电时,首先对CS8900A进行初始化,写寄存器LineCTL、RxCTL、RxCFG、BusCTL。发送数据时,写控制寄存器TxCMD,并将发送数据长度写入TxLength,然后将数据依次写入Port0口,数据就可以发送出去了;接收到数据时,CS8900 A将触发中断,在其中断处理程序中可以接收数据并处理。[page]

3 接口转换器的软件设计

3.1 自定义网络协议

在嵌入式网络系统中,可以使用TCP/IP协议,但不够经济。原因是TCP/IP协议过于庞大,过于复杂,以至于效率低下。一方面是嵌入式系统各单元内部CPU的处理速度受限;另一方面,在某些特定场合特定任务的应用环境中TCP/IP功能冗余,阻碍了硬件效能的最大发挥。为此,针对特定的应用,制定相应的自定义网络协议,灵活方便,针对性强,经济实用。

下面单从数据应用的角度,定义一个简单、实用的以太网传输协议。

3.2协议层次

系统参照ISO的OSI模型,采用缩减的网络体系结构。如图3所示,网络体系结构分为3层:物理层、数据链路层和应用层。物理层规定网络的拓扑形式及通信信号的电气特性;数据链路层实现点到点的通信规程,完全执行IEEE802.3的CSMA/CD协议。

3.3 帧结构

以太网帧结构如下:


物理层的前同步码(即物理帧前导符+物理帧界定符)8字节由硬件自动生成。除去这8个字节,将其余字段的长度加起来,可以得到以太网帧的最大长度为1 518字节,最小长度则为64字节;加上8字节的前同步码,即可得到最小帧长度为576位。这样长度的帧能够保证所有冲突都可以检测到。这是因为IEEE 802.3标准中,两个站点的最远距离小于2 500 m,由4个中继器连接而成,其冲突窗口为2倍电缆传播延迟加上4个中继器的双向延迟之和,合计为51.2μs。就10 Mbps以太网而言,这个时间段内等于发送64字节(即512位)的数据。

使用CSMA/CD作为一种访问控制方式,意味着最短数据帧长度与网络上最长传输延迟时间间隔有着密切的关系。要保证在发送过程中出现冲突时,冲突域内的所有结点都应该知道发生了冲突,以便采取适当的措施。这就需要最短数据帧长度必须大于网络上的最长传输延迟时间间隔,再加上阻塞附加时间和同步延迟时间等。这就是IEEE 802.3标准中最短帧长度为64字节的由来。[4]

其中应用层帧类型分为数据帧和数据确认帧两种,具体结构如下:


由于数据帧长度可变,又由于数据确认帧的MAC层长度仅为18字节,故在网络控制器初始化时须设置MAC层PAD填充功能(即MAC帧长度少于64字节时,网络控制器自动将其填充至64字节后再交给物理层)。

自定义数据帧的预留管理单元还可以制定一些简单的控制或管理信息帧,以便更好地扩充功能和组织软件。限于篇幅,兹不赘述。如想连入Internet,需要在系统中加入一个能够转换本协议和TCP/IP协议的前端网关(实质上是一个交互翻译的软件系统)。

3.4程序设计流程

本接口转换器所要实现的功能是把从RS232串口接收到的串口数据转换成以太网帧格式发送到以太网,并把从以太网上接收到的帧数据解包转换到串口传送。程序设计中包含初始化程序、主循环、串行接口程序和网络通信接口程序。

程序运行首先进行初始化工作,包括初始化CS8900A、初始化串口和初始化一些参数,然后进入主循环。主循环内循环运行CS8900A中断服务查询程序和串口缓冲区查询程序,若有CS8900A中断申请,则中断调用网络通信接口程序;若串口缓冲区有数据,则中断调用串行接口程序。流程如图4所示。[page]

(1)串行接口程序

串行接口程序是DSP通过16C2550向外部数据口进行数据接收、发送的程序,目的是进行数据传输。此程序包括串口发送接收程序及数据组织程序。发送和接收通过中断并发处理。整个串口发送程序在主循环中调用。其模块的流程为:

发送 收到网络串口数据→打开数据口→中断发送;

接收 中断接收→整理串口数据→发送到网络上去。发送和接收逻辑流程如图5所示。



(2)网络通信接口程序

网络接口程序是DSP通过CS8900A对系统的其他单元发送命令和接收信息的程序,目的是与系统的其他单元通信,接收与发送数据包和信令数据包。此程序包括网络数据接收程序、网络数据发送程序、数据组织程序。发送与接收服务程序流程如图6所示。


结语

该接口转换器已成功地应用于车内的数字式语音通信系统之中。结果表明,本方案成功地实现了数据的实时传输,可以给各种应用RS232串口进行数据传输的嵌入式系统的联网操作提供接口解决方案。本方案预留了升级扩展的功能。接入PCM编码器并对程序作出相应改动,可实现语音的数字化网络通信;接入A/D转换器和各种传感器可实现数据采集系统的联网。

关键字:DSP  以太网接口  转换器 引用地址:基于DSP的嵌入式以太网接口转换器

上一篇:一种多协议的嵌入式总线集成器的设计与研究
下一篇:LPC2000系列的CAN总线验收滤波器应用

推荐阅读最新更新时间:2024-05-02 22:03

简易同步降压转换器电路
这是一个简单的同步降压转换器,用于演示输出电感中连续和非连续电流的负载瞬态响应。在低至空载的负载状态下,输出电感电流都一直保持连续,因为同步整流器允许电感电流在轻负载状态下反向流动。只需用一个二极管替换底部 FET (Q2),电路便可转为非连续。尽管本文介绍的是降压拓扑结构的区别,但您会注意到所有电源拓扑都有类似的响应。简易同步降压转换器电路:
[电源管理]
简易同步降压<font color='red'>转换器</font>电路
贸泽电子开售Analog Devices AD9083模数转换器
贸泽电子开售Analog Devices AD9083模数转换器 为毫米波成像和相控阵雷达应用提供低功耗解决方案 2021年5月19日 – 专注于引入新品并提供海量库存的电子元器件分销商贸泽电子 (Mouser Electronics) 即日起开售Analog Devices Inc.的AD9083模数转换器 (ADC)。这款器件具有16个通道,支持最高125MHz的信号带宽,提供灵活的低功耗选项,可在毫米波成像和相控阵雷达等应用中实现大幅节能。 贸泽电子分销的Analog Devices AD9083模数转换器是一款连续时间Sigma-Delta (CTSD) ADC,支持最高125MHz的信号带宽。AD9083
[模拟电子]
贸泽电子开售Analog Devices AD9083模数<font color='red'>转换器</font>
基于ARM11和DSP协作视频流处理技术的3G视频安全帽
1.引言 为提高在高危工作场所现场作业的可控性,本文采用仿生学原理和高集成度设计实现了与人眼同视角的3G视频安全帽。本设计由视频安全帽和腰跨式数据处理终端两部分组成,采用高可靠性航空插头连接。其中图像处理采用三星公司的S3C6410ARM11处理器和 TMS320DM642 DSP处理器组成。本设计结合DSP处理器在视频压缩方面的优势和运行于ARM之上的Linux操作系统在数据管理与任务调度机制方面的出色表现,由DSP完成图像处理功能,并通过高速接口把视频数据传输给嵌入式微处理系统,完成视频数据的传输、存储功能。 2.系统构成 本设计由视频安全帽和腰跨式视频终端两部分组成。视频安全帽中包含1路视频输入、1路音频输入和1路音
[嵌入式]
基于ARM11和<font color='red'>DSP</font>协作视频流处理技术的3G视频安全帽
基于DSP/FPGA的超高速跳频系统基带设计与实现
跳频通信 系统作为扩频通信体制中的一种重要类型,以其出色的抗远近效应、抗干扰能力,在军用、民用通信领域得到了广泛应用。跳频通信方式是指载波受一伪随机码的控制, 不断地、随机地跳变,可看成载波按照一定规律变化的多频频移键控(MFSK)。跳频通信的频率受伪随机码控制不断跳变,跳频图案可以设置几千乃至上万个,收发两端只要跳频图案一致,跳频时间同步,就可在信息传输过程中不断跳变空间频率信道,实现跳频通信。   近年来随着半导体工艺和计算机技术的发展, DSP (Digital Signal Processor )、 FPGA (Field Programmable Gates Array)等现代信号处理芯片越来越成熟和普遍使用,以前只能理
[嵌入式]
基于<font color='red'>DSP</font>/FPGA的超高速跳频系统基带设计与实现
Diodes 推出适用负载点应用的 18V、6A 同步降压转换器
Diodes 公司 (Nasdaq:DIOD) 今日发布AP62600 同步直流对直流降压转换器,适用于负载点 (POL) 转换的应用,如电视、显示器、白色家电、家用电器、消费性电子产品以及大规模集成电路。 AP62600 提供高达 6A 的输出,供应电压为 4.5V 至 18V,整合内建的高侧与低侧 MOSFET,分别为 36mΩ 与 14mΩ 导通电阻。 AP62600 是基于 Diodes 最近推出的 AP64xxx (40V) 与 AP63xxx (32V) 直流对直流转换器而扩充,进一步发挥同级最佳的 EMI 效能。AP62600 专有的闸极驱动器搭配快速的瞬时反应,可减少高频辐射 EMI 与切换节点振铃现
[电源管理]
Diodes 推出适用负载点应用的 18V、6A 同步降压<font color='red'>转换器</font>
基于ADSP-TS201S的多DSP并行系统设计
0 引言 在宽带雷达信号处理中,存在诸如回波采样率高、脉冲压缩(匹配滤波)运算量大、处理流程复杂、实时高分辨目标检测困难等一系列问题。针对这些问题,采用通 用计算机平台难以应对运算量大和实时性等高要求,因此,需采用专用的数字信号处理器(DSP)来进行高速运算。尽管当前的数字信号处理器已达到较高水平, 但单片DSP芯片的处理能力还是不能满足宽带雷达的性能要求,需要引入并行处理技术,在本设计中使用4片DSP芯片组成并行处理系统。另外,为充分发挥 DSP芯片在复杂算法处理上的优势及FPGA在大数据量的底层算法上的优势,设计了一种基于FPGA控制的多DSP并行处理系统。 1 系统设计 基于FPGA控制的多DSP并行处理系统的原理图
[单片机]
基于ADSP-TS201S的多<font color='red'>DSP</font>并行系统设计
Xilinx推出ISE 11.1,加速FPGA应用
全球可编程逻辑解决方案领导厂商赛灵思公司(Xilinx, Inc. (NASDAQ: XLNX))今天宣布正式推出ISE® 设计套件11.1版本(ISE® Design Suite 11.1)。这一FPGA设计解决方案在业界率先为逻辑、数字信号处理、嵌入式处理以及系统级设计提供了完全可互操作的领域专用设计流程和工具配置。 该新版本为面向多种市场和应用的基于FPGA的片上系统解决方案提供了更简单、更智能的设计方法。赛灵思公司致力于为设计人员提供目标设计平台,而ISE 设计套件 11.1版本的推出是一个重要的里程碑。 为更好地满足当前异常多元化的FPGA应用对先进FPGA设计技术的需求,赛灵思公司此次推出的ISE设计套件
[嵌入式]
在仿真环境下实现TMS320C6000系列DSP的程序自引导
摘要:介绍了TMS320C6000系列DSP在仿真环境下对闪速存储器(FLASH)的C语言编程方法,同时根据这种DSP的程序自引导机制(boot loader),介绍了从FLASH进行引导的新途径,从而为TMS320C6000系列DSP的开发提供了一种新的思路。 关键词:TMS320C6000;FLASH;boot loader 开发DSP系统应用板,最终要脱离仿真器而独立运行,这时就需要一个能在断电后保存程序及初始化数据的存储器。系统上电时,由引导程序将DSP的应用程序从该存储器引导到DSP应用板上的高速存储器(如内部SRAM,SDRAM等)中。由于FLASH具有电信号删除功能且删除速度快,集成度高,因而已成为此种存储器的
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved