基于DSP嵌入式系统的数字电视信号传输采集系统

发布者:Yinyue1314最新更新时间:2010-10-23 来源: 中电网关键字:传输流接口  EP1C6Q240C8  PLD  DSP  FIFO  网络接口 手机看文章 扫描二维码
随时随地手机看文章

  本系统实现了在以TI公司的TMS320DM643为核心的嵌入式系统中,对数字电视传输流(TS)信号进行采集并在以太网中传输。利用本系统可轻松地实现在局域网中对数字电视传输流信号的传输、调度。数字电视传输流信号源是针对欧洲数字有线广播系统标准(DVB-C)的数字有线电视信号。网络接入硬件在以TMS320DM643为核心的嵌入式系统中实现,网络接入软件采用了TI公司针对C6000系列DSP推出的TCP/IP NDK(Network Developer’s Kit)网络开发包来实现。

  系统电路设计

  电路主要由5部分组成。数字电视传输流网络采集系统框图如图1所示。

数字电视传输流网络采集系统框图

图1 数字电视传输流网络采集系统框图

  其主要功能是通过传输流接口模块采集数字电视信号进入PLD(Cyclone EP1C6Q240C8)芯片,进行必要的处理后,将信号发送到DSP(TMS320DM643)芯片存储起来,并进行算法处理。通过TMS320DM643对BCM5221进行必要的配置,将存储在TMS320DM643内的数据通过BCM5221传送到局域网中,并通过计算机接收数据。

  传输流接口模块

  传输流接口模块由CY7B933输入接口芯片及其电器接口电路组成。CY7B933输入接口电路是点对点的传输模块,可以通过光纤、同轴电缆和双绞线进行高速的串行数据传输。输入接口符合DVB-ASI的接口标准。输入接口接收到串行位流后,通过内部PLL时钟同步恢复数据的时钟信息,并对位流进行串并转换、解码和传输检错等操作。这种输入接口能灵活地把高速点对点串行数据转变成并行数据,而且应用领域广泛,包括各种服务器、存储器和视频传输的应用。

  PLD控制模块

  在项目中,此部分硬件选用的是Altera公司的EP1C6Q240C8芯片。

  此模块的主要功能是实现与CY7B933接收芯片的接口,把数据从CY7B933接收进来,并缓存数据。这部分功能均由VHDL语言编写的功能模块实现。主要有两个功能模块:RECEIVE与FIFO。RECEIVE模块主要负责从CY7B933接收数据字段;FIFO模块主要负责缓存数据。

  RECEIVE模块

  RECEIVE模块的功能是实现与CY7B933接收芯片的接口,把数据从CY7B933接收进来。其工作方式是以一个传输流包为边界接收数据的。

  首先,RECEIVE模块会检测传输流包的边界,通过查找包头字节(固定为0x47)间的字节数来确定。因为包中数据也可能含有0x47,所以要牺牲3个包的数据来检查3次。当发现0x47这个字节的时候,就会触发一个内部的计数器开始计数。当计数到188后,如果下一个字节又是0x47,说明传输流包属于188个字节的包,那么计数器被清零;如果下一个字节又是0x47,说明传输流包属于188个字节的包,那么计数器被清零,否则计数器清零并重新开始检测边界。

  当检测到边界以后,RECEIVE模块开始接收数据包。计数器会从零开始计数,在接收数据的过程中使能wrreq输出有效信号,同时把数据输出到下一级。当计数到188时,表示一个数据包接收完成。当一个包的数据接收完之后,计数器清零,并置ts188,保持高电平一个时钟周期。下一个周期检测数据是否为0x47,如果是,说明是下一个数据包的边界;否则,说明出现了错误,并重新回到上一段所说的检测数据包边界的状态。

  此外,PLD模块内会有一个专用计数器记录空包数,当接收到数据包后,会首先检测此数据包是否为空包,如果是空包,PLD模块会把这个空包删除,并在计数器中加1。如果接收的不是空包,就会把计数器的值加到这个数据包的私有字段中,并缓存到FIFO。然后计数器自动清零。这样处理数据包的目的是为了减少网络传输的数据流量,从而可以传输更多的传输流数据。把计数器的值加入私有字段是为了在计算机接收到数据后,可以把原来的空包恢复出来,从而保证原传输流数据的完整性。

  FIFO模块

  FIFO模块的功能是从RECEIVE模块接收数据,并缓存起来。当RECEIVE模块接收完一个完整的传输流数据包之后,会发送ts188或ts204的中断信号给DSP,DSP就会启动EDMA功能从FIFO模块接收数据。DSP与FIFO模块采用异步连接的方式,具体的接收操作在DSP部分说明中再加以描述。

  DSP算法处理模块

  此模块主要由以TMS320DM643为核心的嵌入式系统组成。主要实现从PLD模块接收传输流数据包,把数据包打包成TCP/IP格式,并实现对网络接口(BCM5221)控制模块的初始化,然后把数据包传送到网络模块。

  为了实现上述功能,必须建立起一套以TMS320DM643为核心的基本系统。

  系统的具体配置

  时钟配置:EMIF内核时钟ECLKIN是133MHz。此外,系统的外设总线、EDMA传输和L2存储器的工作时钟为CPU内核时钟的1/2,即300MHz;片上定时器的工作时钟为CPU内核时钟的1/8,即75MHz。

  中断配置:TMS320DM643除了RESET和NMI引脚提供外部不可屏蔽中断请求输入以外,还有两个外部中断引脚GP0[5]/EXT_INT5、GP0[7]/EXT_INT7,以提供可屏蔽的外部中断请求输入。系统中,EXT_INT5外部中断用作PLD模块的请求接收数据信号,每当PLD模块接收完一个传输流包,就会发送一个外部中断信号给DSP,通知DSP接收数据。此外,EDMA中断用于接收完一个包的数据后做后续处理。

  系统对EMIF的使用情况:

  系统在CE0空间扩展了4M×64bit的SDRAM存储器(MT48LC4M32BPG),用于存储程序与数据。SDRAM的

  工作时钟由TMS320DM643的ECLKOUT1提供,与EMIF的工作时钟频率相同,本系统中默认ECLKIN为其时钟源,即133MHz。

  系统在CE1空间扩展了4M×8bit的Flash存储器(Am29LV033C)。在对Flash进行读/写访问前,需要通过EMIF的CE1控制寄存器CE1CTL,将CE1空间配置为8-bit异步存储器接口,及读/写时序。

  系统在CE2空间扩展了与FIFO模块连接的接口。在DSP看来,FIFO模块可视为8bit异步只读存储器。FIFO模块的读使能信号rdreq与TMS320DM643的CE2片选信号连接;FIFO模块的读时钟信号rdclk与TMS320DM643的ARE读使能信号连接。

  以太网接口

  TMS320DM643上集成有一个EMAC+MDIO片上外设,EMAC是Ethernet Media Access Controller的缩写,即以太网媒体访问控制器,MDIO是Management Data Input/Output的缩写,即管理数据输入/输出模块。EMAC+MDIO用于为以太网物理层(PHY)器件提供接口,其中,EMAC为接口以太网PHY提供数据通路,MDIO为接口以太网PHY提供管理信息通路。

  TMS320DM643的网络接口原理框图如图2所示。图2描述了EMAC+MDIO与DSP中间有一个EMAC 控制模块。它主要包含一些必备的、使EMAC更加有效使用DSP的存储空间,控制其复位、中断的一些逻辑。

  这些寄存器的地址空间为:0x1C800000~0x1C803FFF。

TMS320DM643的网络接口原理框图

图2 TMS320DM643的网络接口原理框图

  网络接口控制模块

  本系统用BroADCom公司的BCM5221作为10/100Base-TX以太网收发器,BCM5221的MII接口与TMS320DM643的MII接口对接。具体接口如图3所示。RJ45连接器选用AMP公司的40*9-1,其上带两个LED指示灯,右边的LED为绿色,用作指示连接状态。左边的为$,正常情况下用来指示数据传输。

TMS320DM643与PHY设备连接框图

图3 TMS320DM643与PHY设备连接框图

  电源模块

  系统包括4组电源:系统外接稳压电源,把220V的交流电源电压转换成5V直流电压;PLD模块电源由两种电源供电,分别是3.3V和1.5V;TMS320DM643需要两种电源,分别为CPU核心和周边的I/O接口供电。周边I/O电压要求3.3V,CPU核心电压只要1.4V;网络接口控制模块采用3.3V电源供电。

  系统软件设计

  系统的软件设计主要是通过TCP/IP网络开发包NDK来实现的。该开发包支持TCP/IP协议,并占用较少的系统资源。NDK仅用200kB~250kB的程序空间和95kB的数据空间即可支持常规的TCP/IP服务。所以,NDK很适合目前嵌入式系统的硬件环境,是实现DSP网络开发的重要工具。

  系统软件的框图如图4所示。

软件系统图

图4 软件系统图

  具体流程:系统配置主要在初始化函数中完成,此初始化函数将在.cinit初始化后,并在DSP/BIOS初始化和main函数之前调用。系统配置需要开启INT8中断,也就是EDMA传输中断,并设置GPIO7引脚为高电平,从而使PLD模块始终处于初始状态。TCP/IP协议配置在任务线程中完成,主要实现服务器IP地址和网关的配置。当其完成后,系统就会触发一个软件中断,在软件中断程序中,服务器会产生一个用于侦听的端口,并开始侦听网络上的请求。此时,服务器已经处于待命状态,等待客户机的传输请求。

  当客户机的传输请求到来时,系统首先会使GPIO7引脚变为低电平,PLD模块开始发送数据。当其接收到一个完整的传输流数据包后,就会发一个中断给DSP,DSP启动EDMA,用ping-pong的方式接收数据进入特定的存储器,当接收完一个完整的传输流数据包后,会产生硬件EDMA中断,中断程序主要是设置特定的标志位为1,然后退出硬件中断,重新回到软件中断程序。当软件中断程序检测到特定的标志位为1时,就会开始传输在存储器中的传输流数据包给客户机。当一个数据包传输完毕后,特定的标志会被置0,系统等待下一个数据包的到来。

  当客户机要求停止传输的请求到来时,系统会重新使GPIO引脚变为高电平,PLD模块回到初试状态。此时,系统也会处于待命状态,继续侦听网络。

  系统初始化

  初始化配置主要包括EMIF总线配置、中断配置和底层网络配置3个部分。初始化工作首先在DSP/BIOS的全局参数配置窗口进行设置,然后调用初始化函数进行配置。

  在DSP/BIOS的全局配置窗口主要设置了DSP的工作时钟频率为600MHz,选择使用的片级支持库CSL为DM643的库,选用小端访问模式,片内256kB的SRAM全部用于Cache,并调用初始化函数dm643_init()。

  TCP/IP协议配置

  初始化程序dm643_init()完成后,系统将进入各个线程。首先,系统会触发任务线程TSK0,在TSK0任务线程中执行函数StackTest(),其首先调用NC-SystemOpen()函数,完成协议栈及其所需内存的初始化,然后新建一个系统配置句柄hCfg = CfgNew();,并实现服务器IP地址和网关的配置。在本系统中,IP地址配置为"192.168.0.2";子网掩码为"255.255.255.0";网关地址为"192.168.0.1"。配置好之后,系统会触发一个软件中断,并做好侦听网络的准备。

  网络侦听

  前面在任务线程中已经配置了IP地址和网关,下面就要在软件中断中设置端口并进行侦听。首先,在开始使用报路之前,必须分配一个文件环境fdOpenSession( TaskSelf() )给这个报路。接着就可以创建一个报路对象stcp = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP),并设置端口sin1.sin_port = htons(1000),在这里设置端口号为1000,当然也可以设置其他的端口号。然后把端口号与报路对象绑定bind( stcp, (PSA) &sin1, sizeof(sin1)。最后进入侦听状态listen( stcp, 1)。

  数据的接收

  当客户端要求传输数据的信号到来后,系统会使GPIO7引脚变为低电平,PLD模块开始发送数据。DSP通过EDMA方式来接收数据。EDMA可以在没有CPU参与的情况下,由EDMA控制器完成DSP存储空间内的数据搬移。系统主要采用EDMA的ping-pong方式来连续接收数据。用ping-pong方式的目的是为了使接收操作和发送操作分开进行,增强程序的操作性和可读性。

  限于篇幅,网络发送部分不再赘述。

  结语

  本系统的硬件和软件功能已经实现,网络传输的速度为2MBps。按照此速度,假设传输流中的空包百分比为40%,可以传输5MBps的传输流数据,至少可以传输2~3路的TS流节目。因此,可以证明本系统的设计方法合理、有效。

关键字:传输流接口  EP1C6Q240C8  PLD  DSP  FIFO  网络接口 引用地址:基于DSP嵌入式系统的数字电视信号传输采集系统

上一篇:Altera Q4在台积电加工28纳米的FPGA芯片
下一篇:TMS320C54x系列DSP的中断机制

推荐阅读最新更新时间:2024-05-02 21:10

基于ARM与DSP的嵌入式运动控制器设计详解
引言 运动控制系统广泛地应用于工业控制领域,而嵌入式技术在工业控制领域的应用还不太成熟,近年来,工业控制对运动控制系统的要求越来越高,为了满足新一代运动控制系统的各项性能要求,嵌入式运动控制器应运而生。基于ARM与DSP运动控制芯片相结合的新一代运动控制系统,充分发挥ARM微控器与专业运动控制芯片MCX314As的各自特点,可方便的构成高性能的嵌入式运动控制系统。 运动控制芯片MCX314As MCX314As是日本NOVA电子有限公司的DSP运动控制专用芯片,它是控制4轴的脉冲序列输出驱动伺服电机、步进电机的运动控制芯片,可用于工业自动化设备、工业机器人、测量设备、办公设备和家用电器等。可以进行各轴独立的定位控制、速度控制,
[单片机]
基于ARM与<font color='red'>DSP</font>的嵌入式运动控制器设计详解
可编程图形芯片进入并行计算领域
  在传统领域一枝独秀的高端图形芯片现在也要开始进入并行计算领域。图形芯片厂商nVidia在年初召开的“nVidia专业图形解决方案高端论坛”上,非常高调地表示将在更多新兴领域大显身手。      Andy Keane: FPGA仅在金融领域与可编程GPU形成竞争,其它并行计算领域没有威胁。   “石油/天然气/地震资料处理、金融风险建模、医疗成像、有限元计算、生物序列匹配等新兴应用领域需要大规模并行计算能力,而我们专业的可编程GPU具有128个处理器内核,非常适合于这些并行计算场合的需要,”nVidia专业解决方案事业部全球销售副总裁Walter Mundt-Blum说道。他以金融行业为例进行了解释,金融是并行计算的一个重
[焦点新闻]
基于DSP/BIOS在电能质量监测终端中的应用
  DSP (数字信号处理器)在现今的工程应用中使用越来越频繁。其原因主要有三点:第一,它具有强大的运算能力,能够胜任FFT、数字滤波等各种数字信号处理算法;第二,各大 DSP 厂商都为自己的产品设计了相关的IDE(集成开发环境),使得 DSP 应用程序的开发如虎添翼;第三,具有高性价比,相对于它强大的性能,不高的价格有着绝对的竞争力。   TI为本公司的DSP设计了集成可视化开发环境CCS(Code Composer Studio),而DSP/ BIOS 是CCS的重要组成部分。它实质上是一种基于TMS320系列DSP平台的实时操作系统内核,也是TI公司实时软件技术 eXpress DSP技术的核心部分。DSP/
[嵌入式]
基于<font color='red'>DSP</font>/BIOS在电能质量监测终端中的应用
Cadence DSP IP取得业界首款汽车ASIL B(D)级认证
该认证将助力客户开发面向 自动驾驶 及ADAS应用,且符合ISO26262标准的SoC产品 中国上海,2020年11月13日——楷登电子(美国 Cadence 公司, NAS DAQ:CDNS)今日宣布,Cadence® Te nsilica®ConnXB10与ConnXB20是业界首款通过汽车安全完整性B(D)级(ASILB(D))认证,面向汽车雷达、 激光雷达 及车用 无线通信 技术(V2X)优化的 DSP 产品。通过ISO26262:2018功能性安全标准体系下的ASILB(D)认证对于开发自动驾驶及先进驾驶员辅助系统(ADAS)汽车专用片上系统(SoC)是必不可少的。 ASILB(D)认证由随机硬件故障支持(ASI
[汽车电子]
基于软件定义无线电的实时频谱分析仪设备连接方法(一)简单2端口TCP/IP连接
TCP/IP传输协议 TCP/IP传输协议,即传输控制/网络协议,也称为网络通讯协议,是在网络使用中的最基本的通信协议。TCP/IP传输协议对互联网中各部分进行通信的标准和方法进行了规定,并且它是保证网络数据信息及时、完整传输的两个重要协议。 TCP/IP传输协议不仅仅指的是TCP和IP两个协议,而是一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇,因为其中TCP和IP协议最具代表性而被称为TCP/IP协议。 TCP/IP传输协议是一个四层的体系结构,包括应用层、传输层、网络层和网络接口层,不同层次采用了不同的协议。 应用层是TCP/IP协议的第一层,是直接为应用进程提供服务的,主要协议有FTP、SMTP
[测试测量]
基于软件定义无线电的实时频谱分析仪设备连接方法(一)简单2端口<font color='red'>TCP</font>/<font color='red'>IP</font>连接
DSP实现高功率因数PWM整流器的控制
1 、引言   PWM整流器是应用脉宽调制技术发展起来的一种新型电源变流器。其基本原理是通过控制功率开关管的通断状态,使整流器输入电流接近正弦波,并且电流和电压同相位,从而消除大部分电流谐波并使功率因数接近于1。本文采用TI公司的TMS320F240DSP对整流器实现数字控制,这一方法相对于模拟控制具有以下优点:   1)控制灵活在数字控制系统中,主要利用软件算法实现控制方案,相比于模拟控制较灵活;   2)可靠性高微机系统由于采用元器件较少,信号全部采用数字处理,故受干扰小,可靠性高;   3)故障分析容易信号检测将取得的信息寄存,具备记忆的能力,故容易实现故障诊断;   4)参数设定简便可以使系统的调试工作变得很方便
[电源管理]
基于DSP的汽车减震弹簧故障诊断仪的设计
汽车减震弹簧故障诊断仪的基本原理是基于非线性频谱分析技术的。这种技术的基本思想是:根据采样得到的减震弹簧的输入和输出数据,利用有效的非线性系统辨识方法得到弹簧的振动方程,再利用多维傅里叶变换得到减震弹簧的非线性传递函数的频域表示形式—广义频率响应函数GFRFGeneralizedFrequency ResponseFunctions。 GFRF是描述系统非线性传递特性的一种非参数模型它能够唯一地刻画系统传递特性的频域特征因而系统故障前后传递特性的非线性变化就能够通过GFRF被准确地反映。弹簧处于正常工作状态时,仅具有一阶GFRF;弹簧在疲劳失效后最明显的变化是三阶GFRF大量出现1。分析弹簧系统的GFRF就可判
[嵌入式]
一种基于DSP的多轴运动控制器的设计与实现
    摘要: 介绍一种基于DSP的多轴运行控制器的设计方案,包括控制器的各部分组成及功能,并给出相应的示意图。此种控制器设计个有集成度高、运算速度快、处理能力强等特点。     关键词: DSP TMS320F206 多轴运行控制器 PC/104总线 引言 现代化控制日新月异的今天,各类高速、高精度的控制设备得到了广泛的运用。作为一种实时补偿的控制方法,其相应的硬件设备要求在保持控制实时性的基础上,更要具有与主控机进行实时数据交流的能力。此类设备在很多数控设备、机器人控制等方面都有广泛的运用。另一方面,DSP是现在比较热门的技术,其芯片处理速度可以达到几十ns、几ns,甚至更高,处理精度为32位或更高,所
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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