基于FPGA和ARM的微距数据采集系统设计.docx
- 文档编号:26200317
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:20
- 大小:647.69KB
基于FPGA和ARM的微距数据采集系统设计.docx
《基于FPGA和ARM的微距数据采集系统设计.docx》由会员分享,可在线阅读,更多相关《基于FPGA和ARM的微距数据采集系统设计.docx(20页珍藏版)》请在冰豆网上搜索。
基于FPGA和ARM的微距数据采集系统设计
基于FPGA和ARM的微距数据采集系统设计
学号:
SC11009010
姓名:
王楠
联系方式:
705679317@
基于FPGA和ARM的微距数据采集系统设计
王楠1,2
(1.中国科学院光电技术研究所,成都610029;
2.中国科学技术大学精密机械与精密仪器系,合肥230026)
摘要:
一些特殊场合对微距测量仪提出了低功耗,高效率,实时方便,操作界面友好的要求,但是传统的测量仪器往往都依赖于PC机,这使得传统的微距测量仪无法满足要求。
本文提出了一种基于ARM+FPGA的嵌入式解决方案。
本方案以嵌入式ARM9处理器S3C2440和FPGA芯片EP1K30TC144-3为核心,利用视频解码芯片SAA7113完成对衍射条纹视频图像的解码,并通过FPGA的逻辑控制将有效视频图像传输至S3C2440进行处理,最后在嵌入式WINCE环境下,编写友好的人机交互可视化用户终端,实现便携式微距记录及参数设置。
出于实际需要的考虑,还设置了距离调节功能,用户只需点击屏幕上对应的调距按钮,就可以通过步进电机实现调距功能。
这样可使微距测量更加自由和方便,并且测量时完全脱离计算机,同时提高测量的工作效率,使其更加智能化、人性化。
关键字:
嵌入式;图像采集;ARM;FPGA
中图分类号TP391文献标识码A
设计创新点:
1.图形修正技术中对于任意图像对称点的位置确定算法设计;
2.图形修正技术中对于图像倾斜角度的算法设计;
3.使用两片SRAM实现与ARM的高速数据传输;
4.系统优化中的唤醒机制设计;
5.利用WINCE系统的移植来实现对外围设备驱动和友好的人机交互界面;
0引言
现代化生产和科学研究对距离的高精度测试系统要求日益提高。
传统图测距系统大都是基于PC机上,而在一些特殊的场合,尤其是在实时性要求较高时,普通的PC机显然无法满足应用要求。
文中设计了一种基于ARM和FPGA的嵌入式的微距测量系统,可以很好地解决实时的嵌入式对微小距离的测量问题,并可以作为一个部分嵌入到其他距离测试仪器中。
它主要包括数据采集模块、数据处理模块以及调距模块等。
1系统结构
本系统的结构模型,如图1所示。
图像采集模块负责采集原始图像,并将原始图像数据送给FPGA,本次设计采用了可编程视频输入处理器SAA7113H。
原始图像数据送到FPGA后,FPGA将原始图像数据暂存于两个SRAM中,系统采用了Altera公司的EP1K30TC144-3和Samsung公司的S3C2440a。
一帧图像采集完成后,ARM将图像数据通过FPGA取出,进行必要的算法处理,并将结果显示到3.5寸的液晶屏上。
用户可以通过点击屏幕上对应的按钮对距离进行相应的调整,整个距离调节过程由ARM驱动步进电机完成。
图1整机系统结构
2工作原理
整个系统涉及光学原理,算法部分和硬件部分,下面就算法和外围设备部分进行说明,具体的硬件设计可参见本文系统硬件设计部分。
2.1衍射原理以及算法优化
2.1.1夫琅禾费单缝衍射原理
让激光发出的单色光照射到狭缝上,当狭缝很宽时,缝的宽度远远大于光的波长,衍射现象极不明显,光沿直线传播,在屏上产生一条跟缝宽度相当的亮线;但当缝的宽度调到很窄,可以跟光波相比拟时,光通过缝后就明显偏离了直线传播方向,照射到屏上相当宽的地方,并且出现了明暗相间的衍射条纹,狭缝越小,衍射范围越大,衍射条纹越宽,但亮度越来越暗。
整个成像系统如图2所示。
图2夫琅禾费单缝衍射实验装置示意图
对于零级夫琅禾费衍射条纹,其半角宽可由下面的等式计算:
Δθ=λ/a,其中a为缝宽,即本次设计所要测得的对象;—————————————
(1)
设透镜的焦距为f,则最终在CCD上得到的条纹实际宽度为:
Δl=2fΔθ=2fλ/a;—————————————————————————————
(2)
变化后可以得到:
a=2fλ/Δl;————————————————————————————————(3)
我们注意到,只要激光源和透镜选定,那么结果就可以由测得的中央衍射条纹宽度算出。
2.1.2对衍射公式的算法优化
在实际的测量过程中,我们对Δl的获得是通过像素点的个数转换而来,考虑到CCD本身的感光元件之间的距离极小,所以误差是极小的,如果我们选用1/4″SONYCCD,型号为JZY-930,感光面积3.6mm×2.4mm。
采用NTSC格式,那么像素点为510(H)×492(V),所以最后得到像素点与实际距离的转换关系为:
Δl=3.6n/510——————————————————————————————(4)
在激光光源的选取中,我们选择使用最为广泛的红光光源,其波长为650nm,最后是透镜的选择,这里暂时不取定制,由计算的结果进一步考虑,将已知的型号都带入,可以得到:
a=1.84167f/n——————————————————————————————(5)
我们知道嵌入式在进行浮点运算时是极慢的,故应将浮点运算转换为整型运算,由考虑到如果乘数是2的多少次幂的话可以通过移位来实现,可进一步加快速度。
我们注意到2的20次方是1048576,由此如果f能取5.69cm的话,能进一步优化算法。
这样只需要规定最终得到的结果是以nm为单位即可。
2.2图像增强技术
由于CCD得到的图像结果往往引入了噪音,为了得到更好的图形效果,我们必须将噪音去除。
下面一一进行说明。
2.2.1图像归一化
图像归一化的主要目的是降低条纹纵向的灰度变化程度,但不改变条纹的结构,同时也使得图形具有预订的均值和方差,有利于图形的识别。
但是在归一化的过程中,也会把图像背景中的杂散信号增强。
一般按照下面的公式进行归一化:
式中I(i,j)为条纹图像(i,j)处的灰度值,M,VAR分别为条纹图像的均值和方差,M0,VAR0则是归一化后期望的条纹图像均值和方差。
2.2.2低通滤波
在视频信息传入后,首先进行一次低通滤波,由于噪音大多是高频的,所以这一次滤波可以去除大部分的噪音。
理论上我们总是希望能找到无限长的滤波器。
但是这是不可能的。
实际中可以采用有限冲激响应数字滤波器(FIR),添加hamming窗来实现低通滤波的效果,hamming窗以及它的频谱如下图所示。
图3hamming窗以及它的频谱图
2.2.3去除加型噪音信号
考虑到条纹只有在垂直方向上存在变化,而在与条纹平行方向是不变化的,所以在本系统中实际需要处理信息只有与条纹垂直方向的信息,这样一方面大大减少了信息处理的数量,另一方面也使得采集得到的信息大大的冗余。
对于这些冗余的信息,我们不应该摒弃,而可以将得到的所有横象条纹相加并求平均,由于获得的数据及其具有规律,所以也使得这个过程极好处理。
最终平均得到的信息几乎可以完全去除加权噪音。
2.2.4二值化及去噪
图像的二值化是将一个具体条纹灰度图像生成另一个只有两种色调的黑白分明的条纹图像的过程。
二值化的操作使得条纹灰度图中相对色调较浅的明条纹部分被转换为白色,而相对较深的暗条纹被转换成了黑色,最终条纹图像只有黑白两种色调的二值化图像。
条纹图像经过二值化后,线条分明、纹理清晰,为后续的处理带来极大的便利,同时减小了图像的存储空间。
传统二值化方法就是阈值法,又可细分为固定阈值法和自适应阈值法。
固定阈值法就是采用固定的阈值,但是不同的条纹图像其灰度差异较大,即使是一幅条纹图像其各部分的眀暗程度也各不相同,所以固定阈值法是不可取的。
一般采用“局部自适应的阈值”方法,对原始条纹图像中的所有像素逐个进行考察,并根据每个待判定像素的灰度值变化情况来调整二值化的阈值,最终得出二值化的条纹图像。
所谓的“局部自适应阈值法”指以图像中某一块的总体灰度来调整阈值,块内所有大于阈值的像素被置为1,而小于阈值的像素被置为0。
具体步骤如下:
1)在条纹的有效区域内,把条纹图像分成W×W块(本文W取8);
2)针对每个子块,计算块内的灰度均值:
,其中f(i,j)为子块中(i,j)的灰度值;
3)针对该块内的所有像素进行二值化:
由于灰度去噪的不完全性及二值化过程可能引入噪声,所以对二值化后的条纹图还需进一步进行滤波去噪。
目的是消除二值化造成纹线的孔洞、缺口和凸出。
一般通过填补二值化后条纹上的孔洞或者删除毛刺和孤立点为1的像素,一般采用以下两个步骤进行除噪:
P点的八邻域定义如下图所示。
图4八邻域图
1)删除算法,当同时满足以下两个条件时P点置1:
a、P=0;
b、P1+P3+P5+P7≥3
2)填充算法,当同时满足一下三个条件时,P处像素值置0:
a、P=1
b、(P1+P2+P3)(P5+P6+P7)+(P3+P4+P5)(P7+P8+P1)=0;
c、
;
2.3图形修正技术
在实际的拍摄过程中,由于摆放位置偏移,角度倾斜以及其他的原因,往往会导致条纹出现中心偏移和条纹倾斜,对此需要进行修正。
2.3.1对称点检测技术
这部分内容是我自己设计的一个算法,也可以看做是本文的一个创新点,下面进行介绍。
由于拍摄条纹是关于中央的对称线对称的,所以我们可以先通过图形加强技术得到一列数据,然后将依次对各个元素实现对称,具体来说就是第一列照写,第二列将第一个元素关于第二个元素对称,即将第三个元素写成第一个元素的值,其余的元素不变;之后再将第一和第二个元素关于第三个元素对称,即将第四写成第二个元素的值,第五个元素写成第一个元素的值,其余的元素不变;以此类推,直到对所有的元素全部对称一遍,这时可以得到一个640×640的矩阵。
再设置一个参考矩阵,这个矩阵就是将数据重复640列,这样也可以得到一个640×640的矩阵。
将两个矩阵相减可以得到三列列全部为零,其中两列是首列和尾列,另外一列所在的位置就是对阵点,这时得到的是从第一个元素数起对称点的位置。
事实上也可以倒着来对称,具体说就是先对倒数第二个元素做对称,然后是倒数第三个,以此类推直到第一个,这样得到的结果将是从最后一个元素数起对称点的位置。
这样的好处一方面是间接地证明了这个方法的正确性,另一方面是考虑在实际的操作过程中,如果能知道条纹偏离的方向,那么只需要小于一半元素个数次的比较就可以得到结果。
具体的过程可参见下面的例子:
设得到的数据为(1,2,3,2),
那么参考矩阵为:
A0=
;
第一次变化后可得:
A1=
;
第二次变化后可得:
A2=
;
A1-A0=
,此式表明从第一个元素数起,第3列为对称点;
A2-A0=
,此式表明从最后一个元素数起,第2列为对称点;
从两式的比较中可以得到,如果知道对称点向右偏移,那么采用第二种算法会更加节约时间。
使用这种方法可以方便快捷地找到对称点的位置,如果在Y轴也有对称,用同样的方法也可以找到Y轴的对称点,那么就可以完全确定一幅图像中的对称点,之后只需要对偏离的位置进行修正就可以得到关于原点的对称图像。
需要指出的是如果图像不具有对称性,那么将得不到三个全0的列,那么就需要重新进行拍摄。
当然在本次设计中,不需要Y轴的信息,只需要X轴的信息即可。
2.3.2条纹倾斜角度测试技术
这部分内容也是我自己设计的一个算法,同样可以看做是本文的一个创新点,下面进行介绍。
衍射条纹中在垂直于条纹方向上梯度最大,在其余方向上会小于这个值。
设,u=f(x,y,z),利用梯度的相关计算有:
;——————————————————————————————(6)
由上面的式子可知,无论角度怎么倾斜,在水平和竖直两个方向上都会有值,我们可以将其看做是梯度在X和Y方向上的投影,所以,我们只需要先取
,再取
,之后就可得到如下的等式:
————————————————————————————(7)
在反解出θ值皆可得到倾斜的角度,之后进行修正即可。
此时,还有一个问题需要解决,就是对离散的数据如何进行梯度运算,在一般数字信号处理中都是使用差分法来代替梯度,在本设计中也采用这种方法,由于条纹的特殊性,所以我们只需要任意取一行和一列就可以算出倾斜的角度,为了方便我们可以直接取第一行和第一列。
2.4外围设备工作原理
下面就本设计中涉及到的LCD,触摸屏和步进电机的工作原理和相关参数进行一下说明。
2.4.1LCD显示屏
LCD液晶显示器是LiquidCrystalDisplay的简称,LCD的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。
S3C2440的LCD控制器由由一个逻辑单元组成,它的作用是:
把LCD图像数据从一个位于系统内存的videobuffer传送到一个外部的LCD驱动器。
LCD控制器使用一个基于时间的像素抖动算法和侦速率控制思想,可以支持单色,2-bitperpixel(4级灰度)或者4-bit-pixel(16级灰度)屏,并且它可以与256色(8BPP)和4096色(12BPP)的彩色STNLCD连接。
它支持1BPP,2BPP,4BPP,8BPP的调色板TFT彩色屏并且支持64K色(16BPP)和16M色(24BPP)非调色板真彩显示。
LCD控制器是可以编程满足不同的需求,关于水平,垂直方向的像素数目,数据接口的数据线宽度,接口时序和刷新速率。
对于TFTLCD屏,它支持1,2,4,8BPP调色板显示模式,支持64K(16BPP),64M(24BPP)色非调色板模式,支持多种屏幕分辨率:
如640*480,320*240,160*160和其他最大的虚拟屏幕可达4M在64K色模式下,最大屏幕分辨率:
2048*1024。
S3C2440LCD控制器被用来传送视频数据和生成必要的控制信号,比如VFRAME,VLINE,VCLK,VM等等。
除了控制信号外,这S3C2440还有作为视频数据的数据端口,它们是如图4所示的VD[23:
0]。
LCD控制器由REGBANK,LCDCDMA,VIDPRCS,TIMEGEN,和LPC3600(看图4LCD控制器方块图)组成。
REGBANK由17个可编程的寄存器组和一块256*16的调色板内存组成,它们用来配置LCD控制器的。
LCDCDMA是一个专用的DMA,它能自动地把在侦内存中的视频数据传送到LCD驱动器。
通过使用这个DMA通道,视频数据在不需要CPU的干预的情况下显示在LCD屏上。
VIDPRCS接收来自LCDCDMA的数据,将数据转换为合适的数据格式,比如说4/8位单扫,4位双扫显示模式,然后通过数据端口VD[23:
0]传送视频数据到LCD驱动器。
TIMEGEN由可编程的逻辑组成,支持不同的LCD驱动器接口时序和速率的需求。
TIMEGEN块可以产生VFRAME,VLINE,VCLK,VM等等。
图5LCD控制器方块图
2.4.2触摸屏
随着使用电脑作为信息来源的与日俱增,触摸屏已经越来越普及。
为了操作上的方便,人们用触摸屏来代替鼠标或键盘。
工作时,我们必须首先用手指或其它物体触摸安装在显示器前端的触摸屏,然后系统根据手指触摸的图标或菜单位置来定位选择信息输入。
触摸屏由触摸检测部件和触摸屏控制器组成;触摸检测部件安装在显示器屏幕前面,用于检测用户触摸位置,接受后送触摸屏控制器;而触摸屏控制器的主要作用是从触摸点检测装置上接收触摸信息,并将它转换成触点坐标,再送给CPU,它同时能接收CPU发来的命令并加以执行。
按照触摸屏的工作原理和传输信息的介质,我们把触摸屏分为四种,它们分别为电阻式、电容感应式、红外线式以及表面声波式。
本次实验使用的是电阻式触摸屏,下面进行说明。
电阻触摸屏的屏体部分是一块与显示器表面相匹配的多层复合薄膜,由一层玻璃或有机玻璃作为基层,表面涂有一层透明的导电层,上面再盖有一层外表面硬化处理、光滑防刮的塑料层,它的内表面也涂有一层透明导电层,在两层导电层之间有许多细小(小于千分之一英寸)的透明隔离点把它们隔开绝缘。
当手指触摸屏幕时,平常相互绝缘的两层导电层就在触摸点位置有了一个接触,因其中一面导电层接通Y轴方向的5V均匀电压场,使得侦测层的电压由零变为非零,这种接通状态被控制器侦测到后,进行A/D转换,并将得到的电压值与5V相比即可得到触摸点的Y轴坐标,同理得出X轴的坐标,这就是所有电阻技术触摸屏共同的最基本原理。
电阻屏根据引出线数多少,分为四线、五线、六线等多线电阻触摸屏。
下面是四线电阻屏的原理示意图
图6四线电阻屏的工作原理示意图
触摸屏的外接电路主要就是要控制上下两层导电层的通断情况以及如何取电压,取电压之后还需要将这个模拟量转换成数字量,这部分工作主要是靠S3C2440A芯片中的模数转换器部分来实现的。
即触摸屏的功能实现实际上分两部分,分别是触摸屏的外接电路部分和S3C2440A芯片自带的A/D转换控制部分。
S3C2440A芯片的A/D转换器有8个输入通道。
转换结果为10bit数字,转换的过程是在芯片的内部自动实现的,转换的结果可以直接从寄存器中取值出来,在进行一定的转后就可以得到触摸点的坐标。
触摸屏电路部分占用了ADC8个通道中的两个通道作为X、Y两个坐标轴方向的电压输入。
如下图所示,对触摸屏两个导电层的通断控制主要是通过4个外部晶体管来实现的,而这4个外部晶体管又受控于4个引脚NYPON、YMON、NXPON和XMON。
X、Y两个坐标轴方向的电压输入分别采用ADC的A[7]和A[5]两个输入通道。
图7ADC与触摸屏的应用方框图
2.4.3步进电机
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。
即给电机加一个脉冲信号,电机则转过一个步距角。
步进电机分三种:
永磁式(PM):
一般为两相,转矩和体积较小;反应式(VR):
一般为三相,可实现大转矩输出,但噪声和振动都较大;混合式(HB):
混合了永磁式和反应式的优点。
步进电机的工作原理如下图所示:
开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。
当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。
而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。
依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着某个方向转动。
图8四相步进电机原理示意图
S3c2440拥有5个16位定时器,可以用来输出PWM方波信号,其优点是输出方波的频率稳定;频率值的设定容易。
定时器的特点是:
5个16位定时器,其中4个有输出管脚,可以输出PWM方波信号;两个8位分频器和两个4位分频器;可编程控制输出波形(占空比);自动装载模式或或一次性脉冲模式;具有死区发生器。
下图是16位定时器模块示意图。
图916位定时器模块示意图
3系统硬件设计
3.1图像采集模块
用可编程视频输入处理器SAA7113H进行视频信号处理。
SAA7113H内部集成了强大图像色度、亮度处理功能以及多种输出模式;有32个工作寄存器,在系统复位时,必须通过I2C总线对其进行初始化。
本系统使用灰度图像,没有使用色度信号,所以数据线为8位。
SAA7113H与FPGA的接口,如下图所示。
图10SAA7113H与FPGA的接口示意图
3.2FPGA模块
FPGA的主要作用是把图像采集芯片传过来的图像原始数据进行预处理(图像归一化和低通滤波),然后把经过预处理的图像数据,采取乒乓操作的方式,暂存于两片SRAM中。
当FPGA开始接收第一帧图像时,把该帧图像根据FPGA内部生成的地址存储在SRAM1中,一帧图像接收完毕后,向ARM传送。
同时,把下一帧图像暂存于SRAM2中,然后传给ARM,依次循环。
这样就可以实现图像的高速采集。
本系统选用了Altera公司的EP1K30TC144-3,它采用EECMOS技术,144引脚TQFP封装,容量为10万门,具有高密度、低成本、低功耗的特点。
FPGA的内部结构包括时钟驱动模块、SAA7113H控制模块、图像归一化模块、滤波模块、SRAM控制模块、ARM数据交换模块等。
SAA7113H控制模块主要负责对视频采集芯片SAA7113H的初始化和启停等功能控制;图像归一化模块主要负责将最初得到的图像进行归一化,在统计图像的均值M和标准差VAR时可以优化算法并通过移位的方式进行;滤波模块主要负责对图像进行滤波以去除噪音,这个过程可以通过调用Altera公司提供的FIRIPCore来实现;SRAM控制模块则主要进行读写地址生成、“乒乓”读写控制等;ARM数据交换模块负责向ARM申请中断和数据传输。
这些模块在设计中利用VHDL语言,在QuartusII环境下进行编程和调试,具体实现方法参见文献。
本系统中,主要针对640×480的灰度图像的采集和存储,所以选用了ISSI公司的IS61LV25616AL,它是一种高速度、低功耗的256kB×16的CMOS静态随即存储器,能够满足系统的实际要求。
SRAM控制模块的内部结构框图,如下图所示。
图11 SRAM控制模块的内部结构框图
3.3ARM模块
为了实现友好的操作界面,也是为了编写程序的方便和更好地驱动外围设备,本次设计决定在S3C2440芯片中嵌入WINCE的操作系统,这样只需要在定制系统时加添加外围设备的驱动程序,之后的软件部分就可以在VS2005中直接使用C++语言进行编写。
ARM模块的主要作用是,从SRAM中取出图像原始数据,先进行图像修正处理,然后通过平均的方法去除加型噪音,此时得到一组行数据,最后进行二值化处理,计算出中央条纹所占的像素点个数,再利用前面相关的衍射公式进行距离的换算,每次点击确定按钮后ARM将最终结果显示在LCD上。
出于方便用户的想法,我们设计了焦距、波长和CCD分辨率的输入编辑框,用户可根据实际情况进行数据设定,这样也可以使这套系统具有更加广阔的使用范围。
为了方便用户对距离进行相关的调整,在显示界面上增添了距离调节按钮,点击“+”和“-”就可以让ARM驱动步进电机对距离进行调整,具体可参见下图。
图12对话框设计示意图
在实际执行过程中,FPGA接收完一帧图像后,向ARM发出中断请求,ARM收到请求后,通过FPGA将SRAM中的数据读入。
一帧数据发送完毕后,FPGA发出发送完毕信号,ARM对接收到的数据进行必要的处理,之后通过数据算出结果并将其显示在LCD上。
当用户点击屏幕上的距离调节按钮是,触摸屏向ARM发出中断请求,ARM得到请求后,通过脉宽调制模块对步进电机进行驱动,使它对距离进行微调。
3.4系统优化
考虑到嵌入式系统低功耗,高性能的要求,我们不希望系统一直工作,但是每当距离有变化时系统又能及时响应。
对此,我增加了一个唤醒机制,即FPGA不是每次接收完数据以后都会向ARM发出中断请求,而是将新得到的这一帧数据与前一帧数据进行比较,如果两帧数据相差不大时,可以认为是噪音,抖动等因素引起的变化,但是当数据变化较大时,FPGA发出唤醒信息,得到信息后ARM进行工作,今后后面的数据处理。
事实上这种做法有很多的好处,一方面,如果距离引起条纹发生变化,那么对于一帧数据而言,这个变化一定是巨大的,相反如果变化太小,则很有可能不是距离变化引起的,所以不用担心系统过于灵敏而出现误判;另一方面,由于衍射条纹不具有周期型,所以我们可以完全不用担心出现周期移动时出现数据重合的现象,进一步减少了误判。
所以我们只需要选择一个好的阈值,就可以很好地实
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA ARM 数据 采集 系统 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)