您的当前位置:首页基于FPGA的数据采集及传输系统的设计

基于FPGA的数据采集及传输系统的设计

来源:锐游网
计算机与现代化 2012年第5期 JISUANJI YU XIANDAIHUA 总第201期 文章编号:1006.2475(2012)05-0134-03 基于FPGA的数据采集及传输系统的设计 万智萍 (中山大学新华学院,广东广州510520) 摘要:在目前使用的芯片中,各种嵌入式芯片大部分都是功耗较高或是输出较慢。为此,本文采用Altera公司的FPGA芯 片EP1C6Q240C8作为主要控制芯片,采用Verilog HDL编程,以AD976A芯片进行模数转换,然后在FPGA芯片中进行存 储处理,并进行高速输出。通过这种设计方法,可以在数据采集及传榆上实现低功耗和高速度,并且开发周期短,费 用低。 关键词:FPGA;数据采集;数据传输;Verilog HDL 中图分类号:TF'274 文献标识码:A doi:10.3969/j.issn.1006-2475.2012.05.038 Design of Data Acquisition and Transmission System Based on FPGA WAN Zhi—ping (Xinhua College of Sun Yat—sen University,Guangzhou 510520,China) Abstract:In the current use of chip,various embedded chips are mostly high power consumption or output of slow.Therefore, this paper uses the FPGA chip EP1 C6Q240C8 of Ahera company as the main control chip,uses Verilog HDL programming,uses AD976A chips for analog—to—digital conversion,and then makes store processing in the FPGA chip,and output at high speed. Through the design method,it can realize low consumption and high speed on data acquisition and transmission,and short devel・ opment cycle and low cost. Key words:FPGA;data acquisition;data transmission;Verilog HDL 0 引 言 后输出。在接收器件不确定的情况下,作为测试,在 FPGA输出口连接上串口,这样可以直接在计算机的 随着现场可编程门阵列FPGA(Field—Programma— 串口上接收并测试其输出速度。 ble Gate Array)的价格愈来愈低,在科技研发行业中 FPGA使用得越来越广泛。FPGA是在各种简单的可 1 系统结构 编程器件基础上的进一步的产物。FPGA时钟频率 1.1外围结构设计 高,内部延时小,全部控制逻辑由硬件完成,速度快、 FPGA能进行现场设计、现场编程、现场验证、现 效率高,适于大数据量的高速传输控制_】』。FPGA全 场修改与分析,从而现场实现数字系统的单片设计和 部的控制逻辑是由延时更小的硬件来完成 。由于 应用。其设计陛能已完全能够与ASIC媲美,而且由 它有着单片机无法比拟的低功耗、高速率,且它有着 于FPGA的逐步普及,其性能价格比也足以与ASIC 和单片机一样的低成本,很多公司在数据采集和传输 抗衡 』。对于系统的外围结构(如图1所示),主要 上,会先考虑使用FPGA。 用于数据的采集,对于FPGA外围的信号,采集模拟 关于数据采集的方案有很多,如MCUⅢ3 J、 信号到转换芯片,然后传输到FPGA,转换芯片 DSP La]CPLDI 、FPGA! 、、ARMI’ 等,本文采用Altera AD976A由EP1C6Q240C8控制,外围加人了一块 公司的FPGA芯片EPIC6Q240C8,连接各种外围器 MCU对FPGA进行控制,大部分的处理主要集中在 件,使用Verilog HDL编程,实现数据采集和存储,然 FPGA内部。 收稿日期:2011—12-09 作者简介:万智萍(1980一),男,湖北鄂州人,中山大学新华学院讲师,硕士,研究方向:嵌入式系统。 2012年第5期 万智萍:基于FPGA的数据采集及传输系统的设计 135 控制信号 数字信号 AD976A A/D数据处 图1 FPGA外围结构刁 意图 FPGA内部主要的4个处理单元:A/D数据处理 单元、输入数据处理单元、输出控制单元和中断处理 单元,可以实现数据采集及输出,且FPGA内部需对 外部的A/D转换芯片进行控制,主要是处理其转换 和数据采集工作。MCU的各种信号,需要进行电平 转换,不使用MCU对A/D转换芯片进行控制,一 是考虑 FPGA作为控制和A/D转换芯片有更好的协调性,而 且FPGA由于其高度的并行和灵活的配置特性,以高 速、实时、低成本、高灵活性的优点应用于数字信号处 理领域 ,使用FPGA控制要比MCU控制更好。 1.2 FPGA内部处理结构 l串行接口I - Iir算机J 数字输I{I 定时输出 I  II 数字输出单元 定时输出单元 lI  /\ ● /\ ●…… /- L一地址译码单元 I I时钟摔制单元l Il 数字检测 中断处理 A/D数据 A/D控制 控制单元 单元 储存单元 逻辑单元 + ● 数字输入 中断输入 MCU ……f A/D控制 ^L, ,u^ l图2 FPGA内部处理结构不意图 FPGA在内部功能上,主要根据具体设计方案而 定,由于该硬件平台设计考虑了系统的可扩展性,从 器件的选择上对系统的资源进行评估L1引。本文采用 FPGA主芯片EP1 C6Q240CS为240引脚的贴片式芯 片,拥有6030个LE,以及26个M4K片上RAM(共计 239616bits),并且含有2个高性能PLL以及多达185 个用户自定义IO。根据需要,FPGA芯片在收到 MCU的信号后,控制A/D转换芯片,对其转换后的 数字信号进行接收。对于FPGA内部结构(如图2所 示),本文讨论其处理方式。 在主芯片中,芯片按照MCU发送的信号进行分 析,然后对A/D进行数据采集,保存在A/D数据储 存单元,然后交由FPGA内部运算处理。其中A/D 控制逻辑单元控制A/D芯片AD976A的接收、转换 及输出到FPGA。而FPGA中的数字检测控制单元, 主要完成数字量输入的采集与存储、中断信号状态识 别功能…J。还有一个接口逻辑控制单元,是对MCU 信号进行分析和操作,也可以和其他芯片接口进行扩 展连接。 2数据采集与传输设计 2.1数据采集 数据采集的方式主要使用A/D转换的方式将模 拟信号转换为数字信号,才能被FPGA采集。本文 A/D转换使用Analog Devices Company的16位芯 片——AD976A。AD976A是一个l6位逐次逼近式 的转换器,它具有高速度、低功耗的特点。根据 AD976A的内部采集转换时序(如图3所示),对于模 拟量的输入,当芯片被选通,即CS为低电平时,R/C为 低电平,采集/保持电路进入保持状态,再进行一次转 换。转换时,BUSY为低电平,直到转换结束才变为高 电平。在CS再次选通时,R/C变为高电平进行输出, 此时,BYTE变为高电平,允许并行输出数据,FPGA 芯片便可以接收AD976A芯片转换后的数据。 r弋 西]\厂———__\厂 面] .厂一 BYTE MODE 转换 DATA BUS 图3 AD976A内部采集转换时序图 2.2数据传输 可编程技术是FPGA的核心,采用不同类型的存 储器实现可编程功能对FPGA器件的结构和性能有 着巨大的影响 引。数据传输由串口发送到计算机, FPGA中主要由数字输出单元输出,而FPGA内部编 程主要使用标准硬件描述语言Verilog HDL¨引,数据 传送中不含时钟信息,需要收发双方约定好数据率和 传送时钟¨ 。该程序采用50MHz的时钟频率, 1 15200的波特率。以下为数据发送的部分程序: trans(TxD—start,TxD—data,TxD,TxD—busy,rst,clk);//该 函数包含芯片发送数据的所有端口 136 input clk,rst,TxD_计算机与现代化 2012年第5期 start;//时钟、重启、发送开始作为输入端 busy;//从输出端口发送串口数据 芯片速度够快,则能采样到更精准的数据。 input[7:0]TxD_data;//此端ISl为待发送的数据 output TxD,TxD—FPGA芯片作为主控芯片,控制A/D的转换。所 以在A/D芯片数据转换完毕后,进行输出时,FPGA reg TxD;//发送寄存器 已经在等待接收。FPGA接收后,首先是中断等待, 即将wait状态置1,然后进入检测,FPGA开始检i贝0传 reg[7:0]TxD_dataReg;//8位寄存器发送模式 reg[3:0]state;//4位状态寄存器 parameter ClkFrequency=50000000;//时钟频率为50 MHz parmetaer Baud=1 15200;//串口波特率为1 15200 输过来的数据是否为有效数据,若无效,则返回等待 状态,wait状态置0。对于有效数据,FPGA会先进行 储存,储存时,芯片为“忙”状态,若无需输出,则直接 结束并返回“等待”状态,若需要进行输出,则再次把 在计算机上,采用9针RS-232进行传输,2针和 3针作为接收和发送,5针接地,使用串口软件进行 测试。 3 系统处理过程 数据采集及传输系统分为以下几个部分:数据采 集、数据存储、数据处理和数据传输。按照系统设计 图5状态转换不意图 根据状态转换方式,A/D转换芯片一直在扫描 模拟输入端口,当有模拟信号输入,就开始转换。在 转换过程中,芯片一直在进行检测,即处于“忙”状 态。此时芯片若采集到数据,则储存在芯片缓存里, 直到数据转换完毕,输出到FPGA,再继续转换下一 个数据。由于A/D芯片的转换速度很快,只要主控 已经变为“空闲”状态的busy端置0,直到输出结束 再返回“等待”状态。 4实验结果与分析 根据以上的设计方法,使用Verilog HDL编程,然 后使用Quartus II输入程序并进行仿真,使用elk的 周期为20ns,得到变化的输入的采集及输出结果(如 同6所示) 图6 Quartus It仿真结果 由结果町知,开始时,重启端【j置低电 卜,用于状 态清零,然后芯片将并行数据转为串行数据,并由时 钟频率下降沿触发输出。在串行输出时,按照TxD 作为数据发送端,此时TxD—busy一直为低电平,直到 数据发送结束。 在开发板上对FPGA与MCU进行编程设置后, 使用各种不同电压进行输入,在PC端使用串口软件 得到结果(如图7所示) 冈7 PC端数据采集结果 5 结束语 如果项目开发所使用的主控芯片需要减少功耗 和提高速率,可优先考虑使用FPGA,因为FPGA具有 低成本、低功耗、高速率的优点,因此目前使用FPGA 的项目越来越多。本文采用FPGA (下转第140页) l40 计算机与现代化 2012年第5期 入式检测及控制系统的IP地址进行管理和访问,只 要有网络接入的地方,检测人员就可以通过浏览器登 录服务器,无需安装客户端,即可对UPS设备进行远 实现[J].小型微型计算机系统,2003,24(11): 2046.2048. 程检测和控制¨引。模块中嵌入式Web服务器工作 原理是指把Web服务器引入到现场测试和控制设置 等嵌入式应用中后,在硬件平台和软件系统的支持 [4] Yu G Q,SHA z Y.The design of embedded single chip network measure and control system[C]//International Seminar Oil Future BioMedical Information Engineering. Wuhan,2008:259-262. [5]滕秋琴.ARM嵌人式系统网络接口设计[J].电讯技 术,2008,48(10):84—88. [6]周润,谢永乐.基于ARM—Linux和¥3C2440的嵌入式 下,使系统具备以TCP/IP为底层通信协议,Web技 术为核心的基于互联网的网络测试和控制设备 。 4 结束语 本文在综合检测分析UPS和嵌入式系统的基础 上,从检测实际要求出发,对嵌入式技术应用在UPS 智能检测及控制进行了深入研究,设计了基于ARM9 的UPS远程智能检测及控制系统。本系统方便检测 人员对UPS设备的检测,更好地实现了检i贝0的地域 化和分散化,客户可委托检测机构对UPS进行统一 的控制和维护,进一步提高检测和管理效率,市场发 展前景可观。 参考文献: Linux内核设计[J].中国仪器仪表,2010(3):56-59. [7] 杨柳,岳坤,庞和明,等.Qt/Embedded及嵌入式Linux 在智能监控系统控制中的应用[J].计算机应用, 2010,30(A01):289-291. [8] 王娟娟.在线式UPS电源的数字化控制技术[D].武 汉:华中科技大学,2007. [9]雷涛,郝福珍.嵌入式WebServer的研究与实现[J].计 算机工程与设计,2006,27(16):2992-2995,3006. [10]何顶新,杨义成,任劲松.基于¥3C4510B的网络UPS监 控系统[J].计算机技术与发展,2006(6):12一l4. [11]张培仁.嵌人式微处理器原理、系统设计与应用[M]. 北京:清华大学出版社,2007. [12]邢向磊,周余,都思丹.基于嵌入式Linux系统的电源管 理软件[J].计算机工程,2010,36(1):253-255. [13]李超,肖建.嵌入式Linux开发技术与应用[M].北京: 电子工业出版社,2008. [1] 杨萍,王利红.网络UPS智能系统概述[J].微型机与 应用,2004,23(4):4-5,37. [2]Jasmin Blanehette,Mark Summerifeld.C++GUI Program- rning with Qt 4[M].USA:Prentice Hall PTR,21306:22-29. [3] 张曦煌,柴志雷.嵌入式Web服务器中CGI的特点及 [14]周立功,陈明计,陈渝.ARM嵌入式Linux系统构建与驱 动开发范例[M].北京:北京航空航天大学出版 社,2006. (上接第136页)作为主控芯片,MCU只作为辅助控制, 能达到MCU达不到的数据采集及传输速度。使用该 方案,有利于工业级的数据采集和传输,而且利用 FPGA可以在线编程的特点,根据不同的应用需要进 行功能扩展,进一步增加了系统应用的灵活性¨ 。 若需要将芯片更换为同系列或是相似架构的FPGA 芯片,本文的方法可以做为参考。本文还有一些需要 系统设计[J].计算机测量与控制,2011,19(9): 2302—2331. [6] 冯志江,黄凤鸣.基于CPLD和ISA总线的数据采集系 统设计[J].电子设计工程,2010,18(1):60-62,65. [7] 刘锐,王林.基于ARM数据采集系统的设计[J].中国 测试,2010,36(4):89-92. [8] 石伟锋,韩兵.基于MCU+FPGA架构的智能数据采集 系统[J].计算机仿真,2005,22(8):246-249. [9]刘吉,杨德伟,李立京,等.基于FPGA的高速数据处理 系统设计[J].电子设计工程,2011,19(2):158.161. [1O]邵磊,倪明.基于FPGA的高速数据采集系统设计与实 改进的地方,比如芯片的选择,还有待更新。 参考文献: [1]秦奎,张卫平,陈文元.基于ARM和FPGA的微加速度 现[J].计算机工程,2011,37(19):221-223. 计数据采集系统设计[J].现代电子技术,2010,33 (2):25—27,30. [11]葛澎,王垄.基于FPGA的数据采集系统设计[J].现代 电子技术,2011,34(15):161—163. [12]杨海钢,孙嘉斌,王慰.FPGA器件设计技术发展综述 [J].电子与信息学报,2010,32(3):714-727. [13]Richard E Haskell,Darrin M Hanna.FPGA数字逻辑设 计教程——Veri1og[M].郑利浩,王荃,陈华锋译.北 京:电子工业出版社,2010. [2] 刘春雅,程旭,赵辉昌.基于FPGA的数据采集系统的 设计与实现[J].电子设计工程,2011,19(1):51— 54.61. [3]陈龙,邓先灿,孙麒.基于MSP430单片机的多路数据采 集系统的设计[J].现代电子技术,2006,29(20):107— 109,112. [14]武荣伟,苏涛,翁春蕾.基于FPGA的高速数据传输方 案设计与实现[J].重庆邮电大学学报:自然科学版, 2010,22(2):205-208. [4]魏怀玺,李兵,渠慎丰,等.基于DSP和ADS8364的高 速数据采集处理系统[J].电子技术应用,2006,32 (6):82—84. [15]杨隆梓,段星辉,魏焕东,等.基于FPGA的多通道同步数 [5] 王树争,严胜刚.基于FPGA的阵列感应测井数据采集 据采集系统[j].科学技术与工程,21308,8(6):1466—1469. 

因篇幅问题不能全部显示,请点此查看更多更全内容

Top