基于DSP的嵌入式以太网接口转换器
时间:09-15
来源:互联网
点击:
许多测量和控制设备都是通过串口与其他设备通信,使设备间的数据交互和远程控制受到限制。如果能把串口的数据转换成网络数据格式,组建一个局域网(LAN)来进行数据的交互与传输,则上述的限制将得到有效的改进。考虑到以太网组网技术的易于理解、实现、管理和维护,且成本低廉、网络拓扑结构灵活的优点,应用以太网组网技术来搭建数据交互的平台。其中的关键就是接口转换器的实现。
DSP芯片作为一种特殊的嵌入式微处理器系统,具有嵌入的协处理器和用于快速数据处理的并行数据通道,而且DSP在语音图像信号处理方面也具有强大功能。在嵌入式网络设备中引入DSP技术,可以使嵌入式以太网变得更快,成本更低,也更容易进行功能扩充,因此选用DSP芯片作为接口转换器的微控制器。
为提高网络通信效率,可以采用自定义的从数据链路层到应用层的网络通信协议,以适应特定场合应用的需要;如果需要,还可以编写一个自定义协议和TCP/IP互译的网关软件,实现嵌入式网络和Internet的连接。
本文介绍的接口转换器解决了车内的数字式语音通信系统的接口转换问题。
1 接口转换器的硬件设计
在设计一个嵌入式系统时,不但要考虑系统所要具备的功能,同时还要考虑价格、体积等因素。TMS320C3X系列芯片是TI公司推出的浮点运算DSP芯片。由于其较高的性价比,TMS320C3X的应用极其广泛;由于将浮点运算与定点运算结合起来,具有更高的精度,并且不必考虑运算的溢出问题,因此浮点DSP具有更高的性能,更容易在系统的处理器上实现高级语言。TMS320C32是TMS320系列浮点数字信号处理器的新产品,在TMS320C30和TMS320C31的基础上进行了简化和改进。在结构上的改进主要包括:可变宽度的存储器接口、更短的指令周期时间、可设置优先级的双通道DMA处理器、灵活的引导程序装入方式、可重新定位的中断向量表以及可选的边缘/电平触发中断方式等。对TMS320C32的开发可以用汇编语言,也可以用C语言。使用汇编语言的优点在于,运行速度快,可以充分利用芯片的硬件特性;但开发速度较慢,程序的可读性差。使用C语言的优势在于,编程容易、调试速度快、可读性好,可以大大缩短开发周期;但C语言对于其片内没有映射地址的特殊功能寄存器不能操作,如IF和IE、AR0~AR7等。
以太网接口芯片采用CS8900A。该芯片是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将触发中断,在其中断处理程序中可以接收数据并处理。
DSP芯片作为一种特殊的嵌入式微处理器系统,具有嵌入的协处理器和用于快速数据处理的并行数据通道,而且DSP在语音图像信号处理方面也具有强大功能。在嵌入式网络设备中引入DSP技术,可以使嵌入式以太网变得更快,成本更低,也更容易进行功能扩充,因此选用DSP芯片作为接口转换器的微控制器。
为提高网络通信效率,可以采用自定义的从数据链路层到应用层的网络通信协议,以适应特定场合应用的需要;如果需要,还可以编写一个自定义协议和TCP/IP互译的网关软件,实现嵌入式网络和Internet的连接。
本文介绍的接口转换器解决了车内的数字式语音通信系统的接口转换问题。
1 接口转换器的硬件设计
在设计一个嵌入式系统时,不但要考虑系统所要具备的功能,同时还要考虑价格、体积等因素。TMS320C3X系列芯片是TI公司推出的浮点运算DSP芯片。由于其较高的性价比,TMS320C3X的应用极其广泛;由于将浮点运算与定点运算结合起来,具有更高的精度,并且不必考虑运算的溢出问题,因此浮点DSP具有更高的性能,更容易在系统的处理器上实现高级语言。TMS320C32是TMS320系列浮点数字信号处理器的新产品,在TMS320C30和TMS320C31的基础上进行了简化和改进。在结构上的改进主要包括:可变宽度的存储器接口、更短的指令周期时间、可设置优先级的双通道DMA处理器、灵活的引导程序装入方式、可重新定位的中断向量表以及可选的边缘/电平触发中断方式等。对TMS320C32的开发可以用汇编语言,也可以用C语言。使用汇编语言的优点在于,运行速度快,可以充分利用芯片的硬件特性;但开发速度较慢,程序的可读性差。使用C语言的优势在于,编程容易、调试速度快、可读性好,可以大大缩短开发周期;但C语言对于其片内没有映射地址的特殊功能寄存器不能操作,如IF和IE、AR0~AR7等。
以太网接口芯片采用CS8900A。该芯片是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将触发中断,在其中断处理程序中可以接收数据并处理。
DSP 嵌入式 C语言 Cirrus 模拟前端 解码器 电路 收发器 滤波器 CPLD FPGA 总线 编码器 传感器 相关文章:
- 基于IXP421的VoIP网关及其性能测评(10-02)
- 新一代移动通信系统的关键技术(10-26)
- 基于DSP和FPGA的机器人声控系统设计与实现 (04-16)
- 设计基于TMS320LF2407的低功耗中文人机界面 (04-16)
- USB接口芯片的原理及应用 (04-15)
- 利用以太网硬件在环路实现高带宽DSP仿真(05-04)
