当前位置:首页 > 消费电子 > 消费电子
[导读]随着计算机技术与现代工业系统的发展,工业领域中对数据采集的精度和数据处理的实时性提出了更加苛刻的要求,以保证后续更加复杂的控制。

随着计算机技术与现代工业系统的发展,工业领域中对数据采集的精度和数据处理的实时性提出了更加苛刻的要求,以保证后续更加复杂的控制,而传统的数据采集系统一般采用A/D 芯片主控芯片搭配的方法,处理速度慢、功能单一,当被测对象复杂且数据量较大时,很难满足对数据高精度的采样,而通过RS232 串口与上位机通信则更无法保证数据处理的实时性。针对这一实际情况,设计了基于FPGA 与ARM 搭配的数据采集系统,FPGA 负责保证数据采样的高精度和高速度,而ARM 作为主控芯片,嵌入Linux 内核,负责控制整个系统,并将数据通过USB高速上传到上位机中,借助上位机的强大运算能力,保证数据处理的实时性,同时根据不同的被测信号只需选择相应的数据采集卡,即可方便简单地组成一个用户自定义的数据采集系统,具备良好的通用性。

1 系统总体设计

数据采集系统的总体结构如图1 所示,主要由输入调理电路、A/D 转换电路、FPGA 和ARM控制电路组成。被采集的模拟信号经由调理电路输入到A/D 转换芯片,进行模数转换,在FPGA的控制下送入到FPGA 内嵌的FIFO 存储模块中并通知ARM 立即取走数据,最后通过USB 交由上位机进行实时处理。


FPGA 与ADC 的连接与控制

2 FPGA 系统设计

FPGA 具有高集成度、高可靠性、低功耗及时序控制精确等优点,选用Xilinx Spartan3 系列的XC3S200 负责控制A/D 转换及数据的缓存,可以简化电路设计,缩短开发周期。ARM 选用Atmel公司的SAM9G45 芯片,工作频率达400MHz,能够保证实时高速地控制采集系统和上传数据。

2.1 FPGA 与ADC 的连接与控制

数据采集芯片选用ADI 公司的AD7656,是一款六通道16 位逐次逼近型,低功耗,每路通道最大采集速度为250kS /s 的A/D 转换芯片,可实现较高的采样精度和速率。

FPGA 与AD7656 的连接如图2 所示,AD7656 的6 个采样通道被分为3 组,由CONV STA、CONV STB 和CONV STC 3 个信号启动对应的双通道同步采样,将该3 个引脚相连即可实现6个输入通道的同步采样,同时提供并行和串行接口两种模式,为了提高数据吞吐率,采用16 位( /B 引脚置低) 的并行接口( SER/引脚置低) 模式,以便与FPGA 的16 位数据线直接相连传输数据。


FPGA 与ADC 的连接与控制

FPGA 中的A/D 控制模块通过将CONV ST引脚电平拉高,启动相应通道的采样,采样过程中BUSY 引脚为高电平,表示正在进行采样; 当采样完毕后,AD7656 自动将BUSY 置低; FPGA 中的A/D 控制模块检测到BUSY 信号为低后将CS 和RD 信号置低,读取并保存数据到FPGA 内部的FIFO 中。FPGA 对AD7656 的控制过程仿真如图3 所示。


FPGA 与ADC 的连接与控制

2.2 FPGA 与ARM 的连接

FPGA 与ARM 的连接如图4 所示,在与ARM的通信中,由于是跨时钟域通信,为了避免亚稳态、采样丢失及潜在逻辑错误等情况的发生,采用脉冲边缘检测法,对ARM 传来的控制信号首先进行内部时钟同步再做后续处理。


FPGA 与ADC 的连接与控制

FPGA 收到ARM 的RST 命令后控制AD 芯片开始采样,检测到BUSY 引脚为低后FPGA 将数据取走并缓存到FIFO,然后改变INT 引脚上的电平,向ARM 产生一次中断; ARM 每判定一次中断,通过CLRINT 给予FPGA 反馈,FPGA 在CLRINT 有效期内将不再产生中断; ARM 使能NCS 和NRD 信号通过数据线D[15: 0]将数据完全取走后,清除CLRINT 信号,以使FPGA 可以继续向ARM 产生中断。

FPGA 中断控制模块的状态转移过程如图5所示,当BUSY 信号为低并且已将数据缓存到FIFO 中后, INT 引脚置位产生中断,同时启动一定时器。若在定时期间CLRINT 有效,则认为ARM 正常响应了中断; 若直到定时结束,CLRINT一直无效,则认为ARM 未能检测到中断或不能正常响应,FPGA 等待一小段时间后再次产生中断。


FPGA 与ADC 的连接与控制

3 ARM 系统设计

ARM 芯片嵌入Linux 3.0.4 版本的内核,通过开发设备驱动程序,能够稳定高速地处理FPGA数据并通过USB 实时上传到主机中。

3.1 FPGA 驱动程序

FPGA 驱动主要负责控制并读取FPGA 数据,并将数据缓存到KFIFO 等结构中工作:

a.管理RST 信号线,控制FPGA 进行采样。

b.根据硬件电路调用为FPGA 申请指定区域内存,由于芯片带有MMU 单元,不能直接访问申请的物理内存,需要将申请到的内存区重新映射到虚拟地址。当对该内存区进行读访问时,NCS 与NRD 信号会由内核负责置为低有效。

c.为INT 信号申请中断线,注册中断处理例程。中断发生后,将CLRINT 置高有效,从映射的虚拟地址读取数据并保存在KFIFO 中。

d.重新使能中断线,等待下次中断。

KFIFO 是由Linux 内核提供的先进先出队列,能够快速稳定地缓存数据。FPGA 驱动程序将KFIFO 符号导出,以使USB 驱动程序也可以直接访问然后将其上传到主机中。

3.2 USB 驱动程序

Linux 内核为USB 设备侧驱动提供了USB Gadget 框架,提供了良好的上层接口,隐藏了底层USB 规范的具体实现。设备侧的USB 驱动程序需要提供一个读端点0x01,读取上位机的控制信息; 写端点0x82,向上位机报告当前采集系统的状态; 写端点0x83 将采集数据上传到上位机中。主要实现过程如下:

a.配置3 个USB 端点描述符( 一个读端点0x01,两个写端点0x82 和0x83) 。

b.从0x01 端点接收到上位机的采样命令后,进行初始化工作,通知FPGA 开始采样。

c.为request 结构分配内存,将KFIFO 缓冲区的采样数据拷贝到request 包中。request 结构类似于Windows 下的URB( USB Request Block)请求包。

d.向0x83 端点提交写请求,将request 包中的数据通过USB 上传到主机中。

e.如果采样过程中发生错误,如缓冲区溢出等情况,通过0x82 端口向上位机汇报,请求重启。

上位机USB 驱动程序使用Driver Studio 工具,以Visual Studio 2010 作为辅助开发环境。上位机只需与数据采集设备配置同样的USB 端点,通过0x01 端口向ARM 发送控制命令,从0x82 端口读取采集系统的状态信息,将从0x83 端口接收到的数据缓存后待上层数据处理程序读取。

4 系统总体流程与试验

采集系统的工作流程如图6 所示,系统上电后ARM 引导Linux 启动,初始化内部寄存器及板卡上的RAM,向内核装载USB 驱动及FPGA 驱动,初始化FPGA 和配置AD7656 工作模式。初始化完毕并接收到主机采样命令后,A/D 开始进行采样,系统进入等待数据状态; 采样结束后拉低BUSY 引脚触发FPGA 通知ARM 来读取数据。ARM将FPGA传来的数据及系统状态信息通过USB 迅速上传到上位机中,上位机根据具体应用进行数据处理等操作,完成一次采集工作。


FPGA 与ADC 的连接与控制

采集系统在实际试验中,AD7656 每次完成6通道的采集转换需3μs,FPGA 实际工作时钟频率为40MHz,ARM 的主时钟频率( MCK ) 为133MHz,因此数据从FPGA 上传到主机所需时间小于1μs,即4μs 内就可以完成一次采样,满足系统每周期采样256 次的需求。对50Hz 交流电信号每个周期采样128 个点,采样结果如图7 所示。


FPGA 与ADC 的连接与控制

5 结束语

采用FPGA + ARM 芯片组合的数据采集系统,FPGA 负责采样控制,ARM 负责整个系统的逻辑控制,通过USB 总线上传到上位机处理。整个系统采样精度高,数据传送快,能够满足现代工业系统中对多通路、高精度、高速度、实时处理和易操控的复杂需求,同时借助Linux 内核,针对不同领域不同应用,可轻松进行二次开发,将有广阔的应用前景。

声明:该篇文章为本站原创,未经授权不予转载,侵权必究。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭