当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]基于NiosII的IP Camera传输系统实现

1 引言

  随着网络技术的发展,人们对监控功能要求越来越高,网络摄像头以其特有的优势改变了传统监控手段,为远程实时监控提供了出色的解决方案。人们只需打开网页或视频浏览器就可实时查看需要监控场所的安全情况。

  2 系统的硬件设计

  IP Camera的硬件架构如图1所示,这是笔者参与开发的一种基于Altera公司NiosII嵌入式软核CPU的网络视频传输设计方案,实现了以太网内视频数据传输。FPGA采用的是Altera公司的Cy-cloneII系列的EP2C35F672C6器件。IP camera主要是由视频采集、Cyclone FPGA及系统存储和网络传输等3部分组成。由于Cyclone FPGA及系统存储的电路设计具有一定的通用性,所以这里仅介绍视频采集和网络传输的电路设计。

  2.1视频采集模块设计

  本系统设计的视频采集器件采用ADV7181B。ADV7181B是一款集成的视频解码器,通过配置可以接收CVBS复合视频、S-Video及YPrPb分量多种模拟信号,ADV7181B的数字输出是16位或8位、并与CCIR656标准兼容的YCrCb4:2:2视频数据,还包括垂直同步VS、水平同步HS及场同步信号。

  本系统设计选用ADV7181B的AIN6作为CVBS复合视频信号的输入,ADV7181B的输出数据采用8位的数据宽度。ADV7181B的27 MHz时钟由FPGA提供,FPGA通过I2C总线读/写ADV7181B的寄存器控制ADV7181B,ADV7181B的I2C总线读地址为0x40,写地址为0x41。ADV7181B的8位YCrCb4:2:2视频输出数据及其他输出信号直接连接至FPGA。视频采集电路模块电路图如图2所示。

[!--empirenews.page--]

2.2网络传输模块设计

  本系统设计的网络器件采用DM9000A。DM9000A是Davicom公司推出的一款低功耗高速网络控制器,该器件具有通用处理器接口、10 M/100 M PHY和4 KB的SRAM。

  本系统设计的以太网接口部分电路原理图如图3所示在DM9000A的48个引脚中,TX+、TX-、RX+、RX-分别连接到RJ45INTLED的TD+、TD-、RD+、RD-。而LED1和LED2则分别连接至RJ45INTLFD的黄色LED与绿色LED接口,除悬空引脚和电源相关引脚外,其余引脚均连接至FPGA。

  3 系统软件设计

  系统软件设计主要包括:建立底层软件平台一NiosII IDE提供的底层软件开发平台,建立应用软件,创建用户传输任务等功能,从而实现TCP/IP连接和视频数据传输。

  3.1 建立底层软件平台-μC/OS-II和LWIP

  考虑到嵌入式系统的有限资源及NiosII IDE开发环境对μC/OS-II的支持,系统选择μC/OS-II作为操作系统。在NiosII IDE集成开发环境中,μC/OS-II的加载非常方便,只需在建立工程时选取μC/OS-II库选项即可。更重要的是,它根据用户在SOPC中搭建的硬件平台而动态加载。开发系统时,需不断修改和调整硬件平台,从而获取最佳配置。NiosIIIDE开发环境会自动根据开发者修改后的硬件平台加载μC/OS-II。这样,开发者无需考虑硬件平台就可解决与操作系统μC/OS-II不匹配问题。

[!--empirenews.page--]

  LWIP是瑞士计算机科学院的开发的TCP/IP协议栈,其开发的初衷是用于嵌入式系统,一般它只需要几十KB的RAM和约40 KB的ROM就可运行。NiosII IDE开发环境内部集成了LWIP协议栈,用户在加载操作系统μC/OS-II后,只需选取相应的LWIP选项,即可加入协议栈。工程中,LWIP以系统库的形式存在,应用软件只需加上相应的头文件,就可调用API函数实现网络连接、数据收发等功能,迅速实现系统的网络接入。

  3.2建立应用软件

  本系统设计的嵌入式应用软件流程图如图4所示。

  首先对堆栈和驱动程序初始化。初始化堆栈,应在调用OSStart启动μC/OS-II调度程序之前调用IDE的库函数lwip_stack_int(),该函数用于设置协议栈。堆栈初始化后,再调用库函数init_done_func(),但该函数必须调用库函数lwip_devices_init(),这个函数将对在system.h中定义的所有已安装的以太网设备驱动程序进行注册。函数lwip_devices_init()还会调用函数get_mac_addr()和函数get_ip_address()从而获取系统的mac地址和IP地址。当lwip_devices_init()返回一个非0值则表示注册成功。注册成功后,LWIP栈可用,从而便可在程序中创建任务。

  初始化完成后,使用函数sys_thread_new()创建使用套接字API与LWIP栈对话的新任务。系统中,由函数sys_thread_new(link_task,NULL,link_PRIO)创建的用户任务是link_task()。该任务中,系统调用函数listen(fd_listen,1)监听上位机连接是否成功,一旦连接成功,调用NiosII IDE所提供的IO操作函数IOWR(OUT_PIO_BASE,0,0x01)控制接收模块,将视频数据保存到SRAM,当存满一帧后,接收模块产生一个中断,这时系统可通过指针读取SRAM中的值a[i]=*(p+i+N/2*(TIMES-times),每读取1 450 Byte就调用套接字API函数send(clisock,send_buf,N,0)发送至上位机。由于保存图像的分辨率仅是320×240,所以数据量并不大。发送时,通过函数IOWR(OUT_PIO_BASE,0,0x00)控制接收模块何时停止接收,一帧图像发送完毕,再通过函数IOWR(OUT_PI-O_BASE,0,0x01)控制接收模块开始接收下一帧图像,如此反复循环,直到连接断开为止。


  4 上位机软件设计

  本系统设计的客户端视频显示应用程序是利用LabWindows/CVI软件开发,此应用程序利用套接字编程,可以作为客户机与服务器NiosII系统之间通信。

  本系统设计的上位机的应用程序除了显示视频功能外,还添加了保存和回放功能。上位机通过创建一个标准的Socket接口完成连接以及接收数据;当接收完一帧数据后,对其进行数据处理,再调用函数CreateDIBitmap()创建一幅位图,最后再调用函数CanvasDrawBitmap()完整显示。

  5 结束语

  本系统设计是基于NiosII IP摄像头的系统,介绍了从SOPC Builder创建NiosII软核处理器、IDE建立底层软件平台,到设计NioslI应用软件的整个架构。同时,对上位机的应用程序做了说明。经过硬件测试,整个系统运行良好,实时性能良好。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

北京2024年5月14日 /美通社/ -- 从企业经营来看,一家公司的存亡并不完全依赖于CMO的执掌,而营销人往往被赋予打通企业任督二脉的期望。 2024年,手握"重金"的营销掌门人似乎更危险。...

关键字: AI 数字化 IP 组件

现有股东Philip Fayer将转出其绝大部分现有股权,现有股东Novacap和CDPQ将转出其大部分现有股权 主要亮点: 全球领先的支付公司Nuvei与金融科技私募股权投资领域的重要企业Advent通过全现...

关键字: NOVA IP INTERNATIONAL CD

新思科技全球总裁兼首席执行官Sassine Ghazi深入分享万物智能时代的全新机遇

关键字: EDA AI IP

2023年,AIGC给我们的工作生活带来了前所未有的生产力提升,也引爆了一波AI芯片应用。但纵观全球半导体产业,各行业复苏不及预期,市场需求持续低迷,进入L型底部。

关键字: 安谋科技 AI 智能汽车 异构计算 IP review2023

为数据中心提供卓越的吞吐量、AI编码和图像增强性能。

关键字: IP 半导体

2023年12月21日,由芯原股份主办的第二届南渡江智慧医疗与康复产业高峰论坛成功召开,芯原股份创始人、董事长兼总裁戴伟民博士在开幕致辞分享了对于本届论坛的期望和对于未来海南康养产业的愿景。

关键字: 智慧医疗 康养产业 芯原 IP

业内消息,近日有阿里员工在社交媒体平台发文称,自己在盒马总部无法使用山姆会员 App,质疑盒马总部的 IP 地址被山姆屏蔽。该员工表示,来盒马总部开会,打算逛一下山姆会员 App,结果完全打不开。还以为手机出问题了,重启...

关键字: IP

随着汽车智能化的发展,信息安全变得尤为重要。在电影《速度与激情8》中黑客操纵大量自动驾驶汽车坠楼攻击的画面,或许在未来也不仅仅是只存在电影里夸张刻画。

关键字: 车规 信息安全 IP HSM 安谋科技 山海 S20F SPU

Chiplet是一种微型集成电路技术,它代表了半导体设计和制造的新趋势。在传统的单一SoC设计中,所有的功能都被集成到一块大型芯片上。相比之下,Chiplet设计采用了一种模块化方法,将不同的功能划分到多个小型芯片上,然...

关键字: PHY Chiplet IP 奎芯科技

近日,第11届EEVIA年度中国硬科技媒体论坛暨产业链研创趋势展望研讨会在深圳召开,上海合见工业软件集团产品工程副总裁孙晓阳在会上发布了主题为“把握芯片设计关键核心,助力国产EDA新格局”的演讲。

关键字: 芯片设计 仿真 验证 chiplet 合见工软 IP
关闭
关闭