基于FPGA的数据采集系统

博客
当今,在电气测控中往往需要对模拟信号,数字信号进行采集。平时我们用的MCU(51系列,AVR系列,PIC系列)和DSP往往因为采集数据量大而不能完全满足我们的需要。现在众多测控公司采用的是FPGA(现场可编程逻辑器)采集数据。FPGA的优点:众多的I/O口,资源众多,可自由编程支配,接口众多方便连接。 FPGA主要厂商Altera公司和Xilinx公司。本系统中的FPGA是采用Altera公司的EP1C20F400。 1. 系统部件:FPGA芯片区,多路选择与A/D采样电路,时钟电源,PROM程序下载电路,W5300以太网芯片等部分。    图一 结构示意图     2. EP1C20F400特点分析与资源分配: 该系统内核采用1.5V供电,I/O口为3.3V供电。内部划分为四大部分 (a) FPGA逻辑运算:用来接收数据,并对接收而来的数据进行处理。 (b) A/D控制:进行A/D采样。 (c) 数字量检测:实现数字量输出的控制、数字量输入的存储、数字量输入状态变化识别(中断输入)。 (d) 接口逻辑:与CPU的接口,便于PCI,VXI及其他总线的连接。     3. 模拟量采集: 该系统用的是A/D芯片AD976A。多路模拟量是通过AD438的多路开关后输入到AD976A芯片的。A/D采样部分可分为:寄存器组、时钟发生模块、采样控制状态机、数据存储模块。     4. 数字量采集: 主要完成数字量的采集与存储。 图二 数字采集与存储原理图     5. 以太网接口 本系统采用WIZNET以太网芯片W5300以便以太网通信。采用W5300的16位总线接口方式。                                   图三 W5300的接口电路        总结:在ASIC,DSP,FPGA三足鼎立的时代,由于FPGA更具灵活性,接口方便,在高速类型中小型项目FPGA占有显著优势。现在项目中大多要求以太网通信,W5300集成TCP/IP协议栈,为以太网通信减少了很大工作量。   作者:浩然电子唐海峰 点击:原文地址
Read More

W5500 EVB 用户手册 V1.01(二)

博客
上一篇给大家介绍了有关W5500 EVB 的简介,开发调试及程序下载部分。 本篇介绍最后 固件演示部分。 9    固件演示 该固件可以实现让嵌入式系统实现一个 Web Server 的示例功能。 图 14  硬件连接 9.1   默认配置 表 3 W5500-EVB Http Server  默认配置 1)      使用 IAR 打开程序目录中 app.eww 工程文件,浏览 IAR 左侧文件栏,双击打开 device.c 文件,如果 EVB 板式第一次使用,EEPROM 里是没有存储设备的 IP 地址等信息的,会使 用默认的配置信息。在 set_default()函数中(如图 2),可以看到默认的配置信息,这里先 把本机 IP 地址(lip)和网关地址(gw)修改为与您网络环境匹配的地址(可以在自己的 电脑里查看电脑的网关地址和 IP 地址,然后再修改 EVB 板的地址信息)。 图 15  固件程序默认配置 2)      也可以使用串口调试工具,在系统设备管理器中查看 USB Serial Port(串口端口号),并使 用串口工具打开对应串口端口。按下开发板上的 Reset 按键(SW6)重启评估板,可以从 串口工具中看到默认的配置参数。 图 16  查看端口号 图 17  串口输出默认配置 9.2   打开 Http Server  若想成功登陆 Http Server, 需要保证调试 PC 的 IP 地址与测试 W5500-EVB 的本地 IP 处于同一 网段内。 1)      可以参考默认的配置信息,将调试 PC 设置为 192.168.1.xxx 这个网段内; 2)      在已知调试 PC 的 IP 地址的前提下,也可以在 IAR 中修改程序中的配置信息,使之与调试 PC 处于同一网段下。并参考第 8 节-程序下载,重新烧录到开发板中。 打开任意浏览器,在地址栏中输入 W5500-EVB 的本地 IP 地址,进入 Http Server 页面。 注:以下演示,采用的是 W5500-EVB 的默认配置(192.168.1.101)。 图 18 Http Server 配置页面:默认配置 9.3   Http Server 修改参数  1)      在打开的网页中修改 IP,子网掩码及网关…
Read More

W5500 EVB(评估板)用户手册 V1.01(一)

博客
W5500是WIZnet于2013年9月新推出的一款高性能以太网芯片,W5500发扬了早期W5***系列芯片的所有主要特征: - 全功能10/100以太网MAC&PHY -全硬件TCP/IP协议处理 -8个独立socket -32KB RAM缓存 W5500 EVB板由 WIZnet中国大陆区代理商生产制造。正面图如下: 本文主要包括W5500 EVB的简介,开发调试及程序下载部分。 简介 W5500 Evaluation Board  简称 W5500-EVB,是为了方便广大用户更好的了解、使用 W5500 这 款以太网芯片所开发的评估板。该板采用了 STM32F103RCT6+W5500 的设计,基于 ARM 的 Cortex-M3 平台。 W5500 延续了之前 WIZnet 系列产品的 ToE 技术,使用硬件逻辑门电路实现 TCP/IP 协议栈的传 输层及网络层(如:TCP, UDP, ICMP, IPv4, ARP, IGMP, PPPoE 等协议),并集成了数据链路层,物理 层,以及 32K 字节片上 RAM 作为数据收发缓存。从而把网络数据流量的处理工作全部转移到 W5500 集成硬件中进行。使得上位机主控芯片(此板为 STM32F103RCT6),只需承担 TCP/IP 应用层控制信 息的处理任务。从而大大节省了上位机对于数据复制、协议处理和中断处理等方面的工作量,提升了 系统利用率及可靠性。 在操作过程中,用户可以近似的将 W5500 作为 STM32F103RCT6 的一个外设 RAM 来使用,非常 简易。另外,W5500 还提供网络唤醒及掉电模式供客户选用,从而降低系统能耗。W5500 对外接口 为通用的 80MHz 高速 SPI,供不同平台拓展高速以太网方案选用。 2    特点 - 支持硬件 TCP/IP 协议:TCP, UDP, ICMP, IPv4, ARP, IGMP, PPPoE - 支持 8 个独立端口(Socket)同时通讯 - 支持掉电模式 - 支持网络唤醒 - 支持高速串行外设接口(SPI 模式 0,3) 3    规格 4    方框图 图 1  方框图 5    硬件布局 图 2 底板布局(正面) 图 3  底板布局(反面) 图 4  底板布局(正面) 6    插针引脚分布 表 2 插针引脚分布 7    开发调试工具  7.1   编译工具 1)    IAR Embedded  当前的…
Read More

小型W5500 + AVR XMEGA MCU 网络模块

博客
我们想 强调第三方模块“网络适配器”使用的是W5500芯片。 eHajo 公司是 一个提供开发服务,组件集,开发板和模块定制的公司,由德国顾问Hannes Jochriem 先生创立。 SPI-Netzwerkadapter Wiznet W5500 集合了我们的W5500芯片 和 Atmel AVR ATxmega8E5(..16E5 和 ..32E5 也可以),小模块上也有RJ45连接器和一些排针。 W5500提供多达8个 网络连接,并带有独特的全硬件TCP/IP 协议栈。 (more…)
Read More

装配一个WIZ820io + SD卡适配器

博客
介绍一款WIZ820io + SD卡适配器,来自PJRC。 Teensy 3.1, Pins, 和 WIZ820io 分别出售。 这个适配器可携带 上G的SD卡&一个WIZnet WIZ820io以太网模块(带Teensy 3.0/3.1). 对于喜爱WIZnet WIZ820io这款产品的用户,这无疑带来便利! 下面就看一下装配步骤: 将排针置于一块面包板或其他固定装置上,使其在正确位置上保持水平。 将适配器 置于引脚上。 2.  修剪WIZ820 板上的第12个引脚。 3.   焊接28个排针到WIZ820_SD_ADAPTOR上。 4.  焊接第12个 WIZ820io 引脚到WIZ820_SD_ADAPTOR上 或者, WIZ820io 引脚可以置于插座中,并将插座跟WIZ820_SD_ADAPTOR焊接上, 可允许WIZ820io 被移除。 5.  把28个引脚焊接到Teensy 3.1.上 或者, 排针可以置于插座中, 将插座和 Teensy 3.1.焊接。 装配完成:   更多信息>>
Read More

XMEGA web服务器板(WIZnet应用)– Elektor十月刊

博客
2013年10月,Elektor 期刊介绍了XMEGA web服务器板,使用的网络模块是WIZnet WIZ820io。 这篇文章在欧洲地区已经用六种语言刊登出版,并对WIZnet产品产生了一定的市场效应。 这个项目介绍文章在这期82页的杂志中占据了11页。 下面是主标题,详述了这个模块和关于此项目的一些基本信息。 你可以在如下的其他页面看到WIZ820io模块更详细的信息。   期刊中很多的WIZnet相关参考如下: (1)由于篇幅原因没有办法在这里进行完整描述,但可以从韩国WIZnet原厂获得文档[15]。 驱动是用C编译的,广泛用于单片机,给应用代码提供一个接口(比如一个web服务器) ==>[15]www.wiznet.co.kr/WIZ820IO (2) 现存的ElektorBus库, KöpLe的一个小显示库和WIZnet驱动都在"嵌入式固件库"的发展中扮演一定角色。 (3)WIZ820io 模块的socket, Elektor提供(#130076-91) 请看WIZnet820 全图   下面这些与接口相关: 久经考验的UART接口仍然用于最常见的板间通信。所需编程很简单,这是因为硬件UART已经在单片机中建好。更重要的是,还有许多转换器可用,例如RS-485和USB。我们的微处理器包括6个UART模块,其中三个在板上直接可用。 来自其中一个UART的信号PC2和PC3用于一个RS-485驱动设备,通过RS-485A和B引出了一个接线端子。 阅读全文,点击以下链接: 文章URL:https://www.elektor.com/xmega-multi-function-board-controller-module 如你想得到更多关于此项目和此模块的信息,请点击以下链接: https://www.elektormagazine.com/labs/embedded-firmware-library-efl https://www.elektormagazine.com/magazine/elektor-201310/23489 https://www.elektormagazine.com/magazine/elektor-201310
Read More

基于W5500的Arduino插板–ioShield-A(提供资料下载)

博客
ioShield-A 可使Arduino板实现联网。 基于WIZ550io网络模块(使用WIZnet W5500以太网芯片)。W5500提供一个硬件网络协议栈(TCP/IP)可用TCP/UDP进行通信。支持8个独立的端口同时工作。并且,上电初始化后,WIZ550io内嵌 MAC地址和默认IP地址,可以在用户的电脑上ping到。 ioShield 使用W5500芯片集,替换W5100在之前Arduino以太网板上的库文件,请在此下载(W5500 Arduino库文件):https://github.com/Wiznet/WIZ_Ethernet_Library 兼容的板列表 Arduino 板 Arduino board (e.g. the Uno) Arduino Leonardo Arduino兼容板 Seeeduino v3.0 : 基于 Arduino Duemilanove 尽管你有 不带AVR的Arduino兼容板,你也可以使用ioShield硬件。但是你应该给每个芯片集使用适当的S/W库。请参考每个产品的网页: Cookie Board : 基于 ARM Cortex-M3/M0 http://www.coocox.org/Cookie.html GR-Sakura Board : 基于 Renesas 32-bit RX63N http://www.renesas.com/products/promotion/gr/index.jsp#board Chipkit : 基于 Microchip PIC series http://chipkit.net/ 现有资源 所有的ioShield的设计文档及源代码都可在Github上找到: 硬件: 原理图(PDF file), 原理图&PCB 文档(Eagle CAD), 零件清单(PDF file) 以太网库 : https://github.com/Wiznet/WIZ_Ethernet_Library
Read More

为您的设备添加社交网络功能

博客
此文章已刊登在《无线电》杂志2014年1月刊 社交网络与物联网 近年来,随着Twitter和Facebook的大热,社交网络这个名词红遍了大街小巷。截至2012年,全球社交网络的使用人数超过了14亿!不管是明星大腕,还是草根百姓,还是权贵政要,都拥有自己的社交网络的账号,而且关注者众多,动辄数以千万计。在2012年美国总统竞选时,奥巴马的Twitter更是发挥了前所未有的影响力,竞选当时奥巴马的跟随者(粉丝)已超过了850万名,排名全美第三,仅次于美国歌星ladygaga和加拿大小天王贾斯汀·比伯。国内社交网络也不甘落后,各大门户网站紧急跟进,类Twitter和Facebook网站如雨后春笋,争相破土而出。新浪更是抢到了weibo.com!个人认为新浪的微博相对来讲和Twitter更接近,使用起来较为方便。与此同时,各类人物也都争相开通了自己的微博,例如知名的李开复先生、演员姚晨等等,粉丝都超过了几千万。试想一下,他们的每一条微博都将可能被几千万人看到,受众人群如此之众,社交网络的信息传播方式又一次改变了人们对互联网的认识。 然而,硬件也不甘心落后,物联网融合传统的传感器网络和互联网,使每个硬件设备都有机会连接互联网。微电子技术的发展,尤其是单片机发展的突飞猛进,价格下降的同时,运算能力大幅上升,使得一些传统的白色家电,诸如电视、空调以及冰箱等设备连接网络成为现实。更有一些公司为了方便开发者和使用者,推出了物联网云平台,例如国内比较知名的就有YeeLink还有乐为物联等,用户可以同过这些平台随时随地了解自己设备的状态并且能远程控制。 早在2011年底,就有浙大的学生开发出了会发微博的饮水机(如下图1所示),来方便自己随时知道饮水机的状态。不过他这个做法相对原始,并没有实现饮水机连网,而是通过一个设备把饮水机的状态传送给电脑,由电脑来完成连网发微博的功能。 图1. 会发微博的饮水机(图片源自:http://info.js.hc360.com/2012/04/0908545081.shtml) 今天我们要介绍主要内容是让设备自己发微博,不需像上面饮水机那样还需要电脑辅助;也就是说如何实现给饮水机一根网线就能让她发微博。   开发环境 工欲善其事,必先利其器。我们先来看一下开发环境。开发板如图2所示。 1.  开发板基本情况 a)         单片机:STM32F103RC,256K字节Flash,48K字节SRAM,2K字节EEPROM b)         以太网控制器:W5500,SPI接口与单片机相连 c)         电源:USB供电 2.  开发工具: IAR for ARM v5.41,这是我们工程所使用的版本。如果使用不同版本的IAR,请对STM的库稍作调整。 3.  其他 a)         新浪微博用户名和密码;如若没有,就赶快给你的设备申请一个吧! b)         一根Mini接口的USB线,如图2所示。 c)         一根网线。 d)         STM32芯片的串口程序烧录工具,STM官方提供的程序名为:Flash Loader Demo,运行界面如图3所示。 图2. USB线示例   图3. 程序烧录工具运行界面 程序开发 看代码之前,我们还是先来了解一下整个的程序流程,如下图所示。在硬件初始化完成之后,将进行网络参数配置,这是要根据自己网络的情况来配置W5500的IP地址等网络参数,确保W5500能连接外网;然后初始化W5500的一个Socket,再连接服务器,等待连接成功后,直接发送微博内容。就这么简单,下面还是详细看一下代码吧。   图4 程序流程图 熟悉完了开发环境,我们就来看一下具体的代码实现,在此我们无法贴出全部代码,这里只贴出发送微博实现部分的代码(请查找weibo.c),想要全部代码的话,到http://wizwiki.net/forum/download/file.php?id=48下载。   1#include "w5500/socket.h" 2#include "w5500/w5500.h"   #include <stdio.h> #include <string.h>   3#define SOCK_WEIBO      2                     //the socket number is used for weibo; it can be a number between 0~7 4#define WEIBO_SERVER    "61.109.255.136"      //weibo server IP address string 5#define HTTP_PATH       "/wiznet/"            //HTTP path 6#define WEIBO_ID        "[email protected]"   //your sinaweibo ID 7#define WEIBO_PWD       "******"             //your sinaweibo password   chartmp_buf[512]={0x00,};                              //a temp buffer to store weibo content and HTTP header unsigned char post_weibo(char* weibo) { 8unsigned char weibo_server_ip[4] = {61,109,255,136};    //Weibo server IP address 9static unsigned intany_local_port…
Read More