微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于DSP+ARM架构的协议转换器设计

基于DSP+ARM架构的协议转换器设计

时间:01-12 来源:电子工程专辑 点击:

O口;中断控制器,支持21个中断源,包括4个外部中断;支持SDRAM、SRAM、Flash等;具有扩展外部总线和JTAG接口,支持软件开发及硬件调试。

  本设计选用ARM微控制器S3C4510B是因其集成有以太网控制器和极强的外围扩展能力。S3C4510B以及其外围芯片Flash、SDRAM组成了整个系统的核心,负责控制和协调各模块工作,并实现与远程上位机的以太网通信。本设计对S3C4510B内部SDRAM和ROM进行了扩充。采用两片SDRAM芯片HY57V641620并联构建32 bit的SDRAM存储系统;采用一片Flash芯片HY29LV160构建16 bit的Flash存储器系统。

  2.2.1 ARM与DSP的接口电路

  由于ARM微控制器要实现整个系统的协调控制和网络功能,DSP处理器要执行复杂计算,因此需要实现ARM和DSP之间的数据交换。从某种程度上来说,ARM和DSP之间数据交换的速度决定了整个系统的运行速度和性能。

  DSP处理器TMS320C6416集成了一个16/32 bit宽的主机接口HPI,HPI通过复位时的自举和器件配置引脚HD5选择采用HPI16或HPI32。UPI具有两条地址线HCNTRL[1:0],负责对HPI的内部寄存器寻址。HPI只有三个32 bit内部寄存器,分别是控制寄存器HPIC、地址寄存器HPIA和数据寄存器HPID。只需对上述三个寄存器进行相应的读写操作,就能完成对DSP内存空间的访问。

  由于ARM微控制器S3C45l0B中没有完全符合DSP处理器TMS320C6416 HPI接口时序的外部接口可以直接使用,因此选用S3C4510B中时序最接近HPI接口时序的外部I/0接口与TMS320C6416进行连接。TMS320C6416与S3C4510B的接口示意图如图3所示。由图3可知,TMS320C6416与S3C4510B通过单独的32 bit数据线HD0~HD31和8条控制线进行连接。S3C4510B通过HPI访问DSP内部的RAM以及其他一些外部资源。在整个ARM与DSP通过HPI进行通信和数据交换的过程中,除了中断ARM和清除ARM发过来的中断需要DSP本身参与外,其他操作中DSP都处于被动地位。所以对于ARM来说,DSP就相当于一片外接的SDRAM。


图3 TMS320C6416与S3C4510B的接口示意图

  2.2.2以太网接口电路

  ARM微控制器S3C4510B内嵌一个以太网控制器,支持媒体独立接田MII(Media Independent Interface)和带缓冲DMA接口(Buffered DMA Interface)。可在半双工或全双工模式下提供10/100 Mb/s的以太网接人。在半双工模式下,控制器支持CSMA/CD协议,在全双工模式下支持IEEE802.3 MAC控制层协议。因此,S3C4510B内部实际上已包含了以太网MAC控制,但并未提供物理层接口,所以采用RTL8201作为以太网的物理层接口。信号的发送和接收端TPRX+、TPBX-、TPTX+、TPTX一应通过网络隔离变压器和RJ45接口接入传输媒体。以太网接口示意图如图4所示。


图4以太网接口示意图

  3、系统软件设计

  由于需要ARM微控制器S3C4510B实现整个系统的协调控制和网络功能,因此在S3C4510B上移植了嵌人式操作系统uClinux。uCLinux是一个带有完整TCP/IP协议的操作系统,在uCLinux中加人实时RT -Linux模块以满足对嵌人式操作系统的实时性要求,并根据需要对uCLinux系统进行了裁剪。

  在网络通信中,基于TCP/IP协议的通信方式有很多,本文选用Socket实现服务器端和客户端的数据通信。socket是建立在传输层协议上的一种套接字规范,它定义了两台计算机间进行通信的规范。套接字屏蔽了底层通信软件和具体操作系统的差异,使得任何两台安装了TCP协议软件和实现了套接字规范的计算机之间的通信成为可能。在开发ptCLinux系统下的套接字程序时,采用了TCP套接字,因为它提供了一种可靠的面向连接的数据传输方法,有检错和纠错机制,并且不管对单个数据报还是数据包,它都提供一种流式数据传输方式。服务器首先启动并进行初始化操作,通过调用函数socket()创建一个套接字,然后调用函数bind()将该套接字和本地网络地址绑定在一起,再调用函数listen()将该套接字转换成倾听套接字,之后调用函数accept()来等待接收客户的请求。客户在调用函数socket()建立套接字后就可以调用函数connect()与服务器建立连接∝连接一旦建立,客户端和服务器端之间就可以通过调用函数read O和wnte()进行通信,待数据传送结束以后,双方调用函数close()关闭套接字。

  通过对系统进行联合调试,实现了被测数据无损、实时、远距离与远程上位机进行通信并能接收上位机的控制指令,实现工作状态远程交互的任务。测试人员通过上位机可以对遥测数据进行编辑,并随时可以查看接收数据的正确与否。

本文详细介绍了基于DSP+ARM架构的协议转换器的设计实现。提供了详细的硬件平台结构设计方案,阐述了基于嵌人式系统的

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top