您的位置 首页 制造

根据DSP嵌入式体系的数字电视信号传输收集体系

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

  本体系完结了在以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流节目。因而,能够证明本体系的规划办法合理、有用。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/zhizao/226957.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部