找回密码
 注册
关于网站域名变更的通知
查看: 140|回复: 2
打印 上一主题 下一主题

基于FPGA+ARM的高速U盘记录仪的设计

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-8-3 09:50 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
摘要:为了满足对高速串行数据长时间实时显示存储的要求,提出了一种采用FPGA+ARM作为主控制器结合大容量 Flash缓冲的设计方案;系统前端采用FPGA串并转换并控制 Flash进行数据采集,后端采用 ARM进行实时显示存储;该系统采集速率高,能够采集高达8.45 Mbps 的输入数据,存储容量可扩;系统是针对两路输入速度高达460 800 bps的串行数据而设计的,经测试验证,数据存储可靠稳定,可广泛应用于飞行装置上。& q5 J; W# [/ n/ z9 |

6 C8 L5 M+ c/ r- d9 {" D该U盘记录仪是应用于某飞行装置上,主要用来采集来自POS 机的两路波特率高达 460 800 bps 的高速 422 串行数据,并可以对采集的数据进行实时存储和现场分析。只针对ARM 开发的 U 盘记录仪虽然可以实现实时数据采集及完全脱离 PC进行可靠的数据现场分析,但由于串行接口芯片及驱动速率的限制,串口所能达到的最高采集速率为 235 kbps,无法满足系统所需的 460 800 bps 速率要求。系统通过采用 FPGA进行串并转换,配合大容量 Flash 缓冲,可以将采集速率提高到 8.45 Mbps,弥补了嵌入式开发的不足。系统的实时显示部分则由ARM完成,系统采用了U 盘作为存储介质,使得存储容量具有可扩性。通过持续采集来自 POS机的两路波特率高达 460 800 bps 的8位高速 422 串行数据,从而验证系统可靠存储数据的时间不少于 40小时,能够满足大多数飞行装置上数据实时显示存储需求。
$ z1 D/ [+ x: O
5 D- e: E  r/ P# r" Z* X1 硬件设计9 M- g7 u$ n8 Y6 A6 E3 m1 t
系统由 ARM 模块、FPGA 数据采集模块、存储模块、LCD显示模块、USB接口模块和电源转换模块组成。
7 J8 Y- I  }8 o  |; P1 p6 LFPGA数据采集模块通过控制信号线和数据线与 ARM 模块并行通信,当 FPGA接收到处理器控制线发送的读写命令后将 Flash存储器中的数据传输给 ARM,ARM处理器通过 USB接口模块在 U盘准备好的情况下对 U盘进行读写。为了防止 U盘中的数据因外界因素损坏而丢失,系统选用了Flash作为备份。ARM处理器一方面与 FPGA构成的数据缓存部分进行通信,另一方面监测 U 盘的状态。并在系统层建立可靠的数据分析软件使系统完全脱离 PC机对存储的数据进行现场分析处理,如图1为系统硬件结构图。
- y6 y" a' H% K ! a6 c. E3 d% ~* u* }

9 \7 R: [: D* Y+ Y  ^- z" ^" U% }1.1 核心控制部分设计
2 Y0 x/ w- v2 F: J7 hFPGA选用Xilinx 公司的 XC3S500E芯片,该芯片的I/O 接口多达108个兼容多种电平标准,有利于FPGA与 ARM处理器和 Flash存储介质并行通信,360 Kb的 Block RAM 缓存资源,通过 FPGA内核自带的高速异步 FIFO,可方便地为数据读写提供缓冲空间。) {  s/ H. P' p/ ~: O
ARM处理器选用三星推出的 S5pv210 芯片。主频可达1 GHz,64/32 位内部总线结构,32/32 kB的数据/指令一级缓存,512 kB的二级缓存,可以实现 2000 DMIPS(每秒运算2亿条指令集)的高性能运算能力,适合高速数据采集。FPGA与 ARM的并行通信硬件连接如图2 所示。
$ t% k2 N& ~# x% C: E ; M6 e3 E: f( F, C$ m1 U
为了满足系统长时间对海量数据的可靠存储。系统选用了三星公司的 K9MDG08U5M作为大容量的缓存介质,芯片的存储容量为16 GB,与U盘容量相当,满足海量数据缓冲所需空间。写入速度最高可达8.45 Mbps,该速度也是本系统整体可达到的最高读写速度,Flash 的引入提高了系统的整体性能。
# P  I7 S' z* {' ]- R" c
. x$ d2 d: j; m7 e  g1.2 USB通信接口模块' d" U9 y' C/ \& d% |
本文采用的 USB接口芯片是 Fel.1s,其最大的特点是使用了MTT技术,该技术的 USB HUB 会让每一个USB 接口独享带宽,不出现数据拥堵、速度下降的情况,符合通用串行总线 2.0规格。FEl.1S提供4个USB Port,丰富的外接口除了可以控制 U盘外还可以连接鼠标,从而更加灵活的进行系统层界面操作。1 a9 X1 i: W- c0 _' m4 Z/ g3 |# G* e
Fe1.1s芯片的DM、DP引脚分别为下游端口的 D-、D +双绞线各接一个15 k 下拉电阻分压,可以使得在没有设备插入的时候,D-、D+上始终保持低电平。DPU、DMU为上游端口的 D+、D-双绞线与ARM 连接,实现上游集线器的通讯。USB总线速度通过 USB2.0通信协议识别,由 U盘内置的上拉电阻决定。
! t4 R/ H) c9 P( V
9 k0 `! ^6 u! A0 Z2 i' O4 ^: V: W* Y2、系统的软件设计* U: B8 K5 _. Y  ]/ j
系统软件部分由上位机和下位机组成。上位机软件主要是ARM处理器控制实现,通过移植WinCE 操作系统,并在系统层开发相关的应用软件,完成了两路数据的分数及单路数据波形显示。下位机软件主要通过在 FPGA 中编写硬件逻辑,从而实现数据的串并转换、仲裁、编帧、控制 Flash大容量缓冲的读写及实现与 ARM处理器的并行通信。
9 q. Q, m: {) {$ R2 L+ l2.1上位机部分设计# r7 w& y- G. ?- }/ i+ v  B
作为后端数据显示,系统在 ARM处理器控制平台上移植了具有友好操作界面的 WinCE 系统,该系统具备实时采集、即时显示、自动存储、自动处理、自动传输等功能。为现场数据的真实性、有效性、实时性、可用性提供了保证,较适用于工业数据采集。! ^1 h9 i) b3 d* g5 v" D
WinCE的应用软件开发及其他的一些服务都是通过Win32 CE API函数来支持,通过 API 函数与内核空间对话,达到控制硬件的目的。而一般由硬件厂家提供的 BSP,保证了嵌入式操作系统可以在硬件平台上运行。WinCE操作系统就是采用硬件抽象和 BSP底层结构的设计思想。
& ^. _, L  O$ \+ g2 T2 l! s如果说 BSP包与开发操作系统映像相对应,那么 SDK 包就与开发应用软件相对应。系统在 WinCE6.0平台上,利用VS2008+SDK 搭建的开发环境使用C#语言编制了数据分析软件。操作系统的 API函数丰富,驱动资源易获取,这样就大大减轻了软件开发的难度。( Z' \; t* E2 N7 |) t

1 T2 D0 W  H8 G. U8 U0 {. k2.2 FPGA内部逻辑设计) h" N6 {, t0 V1 [% L  O# m
作为前端数据接收部分,系统主要围绕 FPGA实现,内部逻辑全部采用 VHDL 语言实现,如图 3为 FPGA 内部RTL级。; f* x- j- R) [* l$ {; y" N
7 c: u5 P( Z) U0 H
Clk_div模块通过8分频主频为29.4912 MHz的系统以8 倍于串行数据波特率的时钟进行采样保证了数据接收的可靠性。9 Z) ^5 ?7 R- d( |
" z# Y' `) P6 h, |4 n* M. J

% a% C0 z+ u7 w8 V

基于FPGA ARM的高速U盘记录仪的设计.pdf

3.31 MB, 下载次数: 0, 下载积分: 威望 -5

该用户从未签到

2#
发表于 2022-8-3 10:42 | 只看该作者
参考学习学习,Thanks♪(・ω・)ノ

该用户从未签到

3#
发表于 2022-8-3 13:51 | 只看该作者
不错,确实张知识了,支持楼主
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-6 13:15 , Processed in 0.156250 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表