基于NDK的数字电视传输流网络采集系统
时间:07-28
来源:互联网
点击:
系统初始化
初始化配置主要包括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流节目。因此,可以证明本系统的设计方法合理、有效。■
初始化配置主要包括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流节目。因此,可以证明本系统的设计方法合理、有效。■
嵌入式 数字电视 DSP 电路 Altera VHDL 总线 收发器 连接器 LED 电源模块 稳压电源 电压 相关文章:
- 蓝牙无线电调制解调器Siw1701原理与应用(02-19)
- 嵌入式移动数据库的关键技术(03-20)
- 在嵌入式SQL中怎样使用游标(08-12)
- 嵌入式Linux系统软件开发学习思路详细介绍 (08-20)
- 基于AVR单片机的嵌入式“瘦服务器”系统设计思想(03-11)
- 嵌入式系统设计中的存储碎片收集策略(05-04)