新闻中心

EEPW首页 > 测试测量 > 设计应用 > 基于SOPC的以太网远程数据采集系统设计

基于SOPC的以太网远程数据采集系统设计

作者:时间:2012-05-24来源:网络收藏


将NIOSII处理器、UART JTAG、SRAM控制、SDRAM控制器、CFI控制器、EPCS控制器、PLL及ADS8364控制器、DM900A控制器核添加到 Builder中生成系统,如图5所示。点击Generate生成NiosII系统。然后在QuartusⅡ添加PLL模块,添加输入输出引脚,完成顶层模块硬件接口的连接。最后分配引脚,编译下载到FPGA中,就完成了FPGA硬件设计。

3 系统软件设计
软件设计主要是在NiosII IDE环境中,采用μC/OS-II嵌入式实时操作系统,使用LWIP作为网络协议栈。LWIP即Light WeightIP(轻量级IP),是瑞十计算机科学院的AdamDunkels等人开发的一套用于嵌入式系统的开放源码的轻型TCP/IP协议栈。LWIP的主要目的是减少存储器占用和代码尺寸,使其适合应用于小型、资源有限的嵌入式系统中。本设计使用标准的socket接口来实现TCP/IP操作。
软件主要由3个任务组成:数据采集任务、FIR滤波任务、网络传输任务。在程序中调用lwip_stack_init()函数和lwip_divice_init()函数分别完成协议栈和驱动程序的初始化,调用init_done_func()、get_mac_addr()和get_ip_addr()函数设置MAC和IP地址;然后由标准Sock et接口完成网络操作。NIOSII开发包中有很多LWIP的编程实例,修改部分代码即可使用。由μC/OS-Ⅱ的OSTaskCteate()函数创建数据采集任务DataAcquisition Task()和滤波任务FilterTask()。
数据采集任务负责从A/D输出数据通过PIO口采集到片上FIFO中,通过调用IORD_ALTERA_AVALON_PIO_DATA()函数在每个采样周期连续采样10次,将采集的数据放入FIFO中,唤醒滤波任务。滤波任务采样FIR滤波,利用Altera提供的DSP Builder在FPGA中建立一个FIR滤波器,对一个采样周期的数据进行滤波,然后将滤波后的数据放入发送队列。通过仿真FIR滤波器对高频信号有很好的滤除效果。网络传输任务从发送队列取数据发送到上位机。取数据发送到上位机。软件流程如图6所示。

e.jpg



4 结束语
随着计算机技术和互联网技术的深入发展,数据采集处理技术广泛应用于工业、通信、测试测量等领域,越来越多的设备需要网络接入功能,以实现设备的远程监控。本设计将嵌入式技术和成熟的技术结合在一起组成系统,介绍了从底层硬件,到NiosⅡ应用软件的整个架构的设计。最后在开发板上实现并通过实验验证,结果满足设计要求,具有良好的性能。此数据采集系统可以根据
需要灵活配置,可以适应不同的应用场合。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭