基于ARM的数据采集系统——学位论文.doc_第1页
基于ARM的数据采集系统——学位论文.doc_第2页
基于ARM的数据采集系统——学位论文.doc_第3页
基于ARM的数据采集系统——学位论文.doc_第4页
基于ARM的数据采集系统——学位论文.doc_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于arm的数据采集系统承 诺本人呈交的学位论文,是在导师的指导下,独立进行研究工作所取得的成果,所有数据、图片资料真实可靠。尽我所知,除文中已经注明引用的内容外,本学位论文的研究成果不包含他人享有著作权的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确的方式标明。本学位论文的知识产权归属于培养单位。本人签名: 日期: 摘 要摘 要近年来随着计算机技术的发展和后pc时代来临,嵌入式技术已经成为工业生产和科研实验中不可或缺的重要组成部分。另一方面,数据采集则是信号与信息处理的关键,在军工和民用中得到了广泛应用。两者的相互结合,将是未来自动控制领域的发展趋势。因为将嵌入式技术引入到数据采集系统中,不但大大提高了系统的实时性和灵活性,而且还能满足日益提高的自动测量需求。本文的研究正是基于上述考虑而进行的基于arm的嵌入式数据采集与显示系统研制。在兼顾通用性和可扩展性的条件下,设计了以arm处理器和可编程逻辑器件fpga为核心的数据采集系统。该系统主要由两个部分组成:系统主控核心板和实现各外围功能的扩展板。核心板由微处理器arm、扩展内存以及直流电源模块组成,主要用来控制各相关外围功能器件的正常工作;扩展板主要由可编程逻辑器件fpga、模数转换器、显示器接口以及串口等组成,可进行多通道多参数的采集、存储、传送和显示。软件设计上,编写了bootloader,完成了基于xmodem协议的传输方式,开发了触摸屏和彩色lcd的驱动程序,移植了uc/gui图形用户界面,实现了抢占式实时操作系统uc/os-ii在该平台上的运行。最后对采集到的数据进行了基于小波变换的数字信号处理,得到了满意结果。关键词:嵌入式系统;arm;数据采集;fpga;小波变换;abstractabstractdevelopment of embedded data acquisition and displaying system based on armzhang leidirected by prof. jiang haihewith the development of computer technology and after-pc times coming, the embedded technology plays very important roles in both industrial production and scientific experiment. on the other hand, data acquisition is the key procedure in information and signal processing, and has been applied widely in both war industry and civil. embedded system is one of the leading-edge technologies nowadays. it can be used to enhance real-time feature and flexibility of the system, so as to meet the increasing automate measurement needs. the study of embedded data acquisition system based on arm is such a case.considering universality and expansibility, we have designed this data acquisition system, mainly based on arm processor and fpga. the system consists of two main parts: main board and peripheral board. the function of main board is to control peripheral parts, and the main board is composed of arm, extended memory and dc power. then there are fpga, adc, interface of lcd and uart in the peripheral board, which is used to acquire, store, transmit and display data. in software design, bootloader and protocol based on xmodem have been finished. in addition, the drivers of the touch screen and lcd have been also developed. the friendly man-machine interface is obtained by using the uc/gui. furthermore, the uc/os-ii, as a real-time preemptive multitasking operating system, has been transplanted to the hardware platform. in the end, wavelet transformation is applied to resolve overlapped data signal and a satisfying result has been achieved. key words: embedded system; arm; data acquisition; fpga; wavelet transformation;目 录目 录摘 要iiabstractiii第一章 绪 论11.1选题背景11.2论文研究的主要内容21.3论文的创新点及研究目标21.4本论文的组织结构3第二章 系统的总体设计42.1 系统控制的总体设计42.2 系统的电路模块介绍42.2.1离子迁移谱模块电路介绍52.2.2嵌入式控制系统电路介绍62.3嵌入式控制器总体设计72.4本章小结8第三章 基于arm的数据采集系统硬件设计93.1核心板电路设计93.1.1 s3c44b0x微处理器93.1.2 s3c44b0x存储系统103.1.3 rom接口电路103.1.4 ram接口电路123.1.5 系统电源设计133.1.6晶振及复位电路133.1.7 jtag接口电路143.1.8触摸屏接口电路153.2扩展板电路设计163.2.1系统电源电路163.2.2 uart接口电路183.2.3 fpga控制电路183.2.4 lcd接口电路203.2.5模数转换电路223.2.6数模转换电路253.2.7数字i/o口电路263.3本章小结26第四章 系统软件设计274.1 arm引导程序设计274.1.1 bootloader程序设计274.1.2 xmodem传输协议实现324.2 控制系统主体软件设计344.2.1 移植uc/os-ii操作系统354.2.2 fpga控制adc的程序设计414.2.3 应用控制程序的实现454.3 图形用户界面uc/gui的移植454.3.1 设备驱动程序464.3.2 系统界面设计494.4 本章小节53第五章 数据分析与处理545.1 数据分析处理的方法545.2 数据分析的理论依据555.3 基于小波变换的应用585.4 谱峰信号处理软件(vc版)605.5 本章小节62第六章 离子迁移谱控制应用636.1 整体工作流程简介636.2 系统的不足及改进64第七章 总 结65参考文献66攻读硕士期间发表的论文68致 谢69第一章 绪 论第一章 绪 论1.1选题背景随着计算机和微电子技术的进步,嵌入式系统越来越广泛的应用于各个领域。嵌入式系统采用的是微处理器,可实现相对单一的功能,运行独立的操作系统,所以往往不需要大量的外围器件,嵌入式系统也正朝着网络化、智能化、便携化和人机界面友好等方向发展。另一方面,随着电子、信息、网络等技术的飞速发展,人们对工业测量的要求也越来越高。不但要求数据采集的高速度高精度,还要求采集设备便携、可移动、使用方便,以满足远程采集的需要1。因此将嵌入式技术引入到数据采集系统中,不但能提高系统的实时性和灵活性,而且还能满足日益提高的自动测量需求。 目前,传统的单片机测控系统通常是基于单任务机制的。这种机制具有简单直观、易于控制的优点,然而由于程序只能按单一的顺序执行,缺乏灵活性,在复杂系统中难以胜任,所以必须引入多任务机制,改善程序结构,以满足复杂、实时系统的要求。由于8/16位mcu资源极度受限,实现多任务系统相对困难。而32位高性能微处理器的出现很好地解决了上述矛盾,尤其是随着近年来arm技术的不断成熟,使得32位微处理器的功能更加完善。首先,它的高速低功耗特性适于便携应用设计。其次,目前许多32位微控制器都可以使用sdram,因此可极大地降低使用大容量数据存储器的成本;而8位微处理器一般只能使用成本较高的sram作为数据存储器。此外,要求在系统上建立rtos必然成为一种现实需求,而32位微处理器在设计上就考虑到了对rtos的支持。总之,32位处理器的出现,为嵌入式设计带来丰富的硬件功能,使得整个嵌入式系统的升级只需通过软件的升级即可实现2。数据采集和嵌入式技术相结合被广泛的应用,具体涉及到科研实验数据采集系统、交通运输数据采集系统、航空航天数据采集系统、资源勘测数据采集系统、农业数据采集系统等。基于以上原因,研制了基于arm的嵌入式数据采集与显示系统,用于对离子迁移谱进行控制。本系统平台采用基于arm7技术规范三星公司的s3c44b0x为微处理器,它以很好的性价比和很强的功能得到了广泛的应用。uc/os-ii系统因层次结构简单易懂且内核完全开放以及强大的外围接口支持,成为理想的嵌入式平台。所以本数据采集系统以arm7作为硬件模块并将uc/os-ii嵌入到该平台中去,这样系统在处理多个任务时,就可以通过调度机制进行调度运行。1.2论文研究的主要内容 基于arm的嵌入式数据采集与显示系统主要包括两个部分:系统主控核心板和各外围功能扩展板,工作的主要内容有:1) 阅读了arm体系结构的相关书籍和资料,根据s3c44b0x的设计原理,结合具体的需要设计了基于arm的嵌入式系统核心电路板,完成了原理图的设计和pcb版图的绘制。2) 根据实际需要设计了基于fpga的嵌入式系统外围扩展电路板,完成了原理图的设计和pcb版图的绘制。同时实现了多通道模拟、数字信号输入、输出的数据采集和控制。3) 在上述硬件平台环境下,编写了用于配置系统硬件,加载、升级固件代码的bootloader,完成的主要功能有:系统硬件自检、配置端口与外设、处理系统中断、引导操作系统以及对flash编程等。4) 针对arm7tdmi类型处理器,移植了uc/os-ii操作系统。当同时运行多个任务时,能够进行正确调度。5) 阅读了图形用户界面uc/gui的源代码,完成了uc/gui在arm处理器上的移植,编写了触摸屏和lcd的驱动程序,创建了基于该gui的小型汉字库,实现了嵌入式系统中类windows的图形界面的开发。6) 编写了离子迁移谱仪的控制系统软件,包括主动模式程序、被动模式程序、环境变量参数采集、数字开关量以及极性电压控制。7) 完成了基于小波变换的重叠信号的分辨与处理,使得处理后的谱图峰可达到基线分离、峰位置和面积基本不变的满意效果。8) 完成了系统在离子迁移谱仪上的设计和应用。1.3论文的创新点及研究目标该论文选题的主要创新点有:1)利用armfpga模式设计数据采集系统。为了解决嵌入式数据采集系统中,数据采集速度快,而处理器速度有限的矛盾,提出了armfpga模式。即采用fpga作为arm与ad之间的接口,利用arm来控制fpga完成数据采集。通过verilog语言在fpga内部实现了异步fifo,这样就可以把采集到的数据先保存到fpga内部数据缓存区fifo中,当达到fifo半满值或者一个采集周期结束时产生外部中断,在中断服务子程序中由arm取走数据。此种设计减轻了arm的负担,同时也提高了数据采集的实时性。2)uc/os-ii上移植了uc/gui图形用户界面并实现了自建小汉字库。uc/gui是一个小型而且功能强大的图形用户界面,其设计目标就是应用于嵌入式系统。对于汉字的显示,常用的方法是加载整个汉字库到内存的指定地址。但由于嵌入式系统的内存资源十分有限,而整个汉字库又十分庞大,所以通过链表创建一个自定义的小型汉字库,只存放将要用到的几十个汉字,这样一来不但可以实现汉字的显示还能节约宝贵的内存资源。本论文的研究目标是:在对数据采集和嵌入式系统的理解基础上,设计出一套接口丰富、功能强大的嵌入式数据采集和显示系统。满足高速数据采集的需要,而且能够对采集到的信号作正确的分析与处理。1.4本论文的组织结构为了更清晰地了解本论文的内容,从开发角度,介绍下整个系统的设计实现流程以及论文各章节的主要内容。第一章介绍了课题的背景和研究的基本任务。第二章为整个数据采集系统的总体设计。介绍了各个器件的选型考虑、总体控制逻辑以及嵌入式数据采集和显示的总体设计。第三章介绍了基于arm的数据采集系统硬件设计。包括核心板与外围板的设计、arm与fpga的通信、串口、触摸屏等硬件设计。第四章为系统的软件设计。包括bootloader程序的分析和设计、uc/os-ii操作系统的移植、uc/gui移植和界面设计、控制系统程序的设计。第五章为数据的分析处理。应用小波变换对数据进行定量、定性分析。第六章为系统在离子迁移谱中的应用。介绍了系统控制方式和调试结果。第七章对整个项目进行了总结,并指出了系统存在的不足和改进措施。第二章 系统的总体设计第二章 系统的总体设计2.1 系统控制的总体设计系统控制的总体设计如图2.1所示,图中列出了各个模块单元以及之间的相互流程关系。 图2.1 系统控制总体设计模块简图 如图2.1所示,高压电源模块为离子迁移谱仪提供所需高压,其高压输出值受嵌入式控制器控制而变化;压力传感器和温度传感器分别提供需要的腔体压力值和腔体温度值;触发模块为数据采集提供同步触发信号;而接近开关则为直线步进电机的运动提供标志信号。2.2 系统的电路模块介绍系统的电路模块部分主要由离子迁移谱模块和嵌入式控制器模块组成。离子迁移谱模块与嵌入式控制器模块之间的通信模式如图2.2所示。图2.2 模块间通信简图如图2.2所示,高压调节是通过芯片dac7731将预期的高压值转换成相应的控制电压并输出到高压电源模块端;离子信号的采集则是由嵌入式控制器端的fpga模块控制完成,采用的模数转换芯片为ads7805,它的采样率最高达到100ksps,精度为16位;环境的各参数采集则是由max197芯片完成,其显著特点是精度高并且能同时对8路模拟信号进行采集;直线步进电机的驱动信号和采集的同步触发脉冲则都是由fpga模块产生,脉冲的周期和宽度都可调。2.2.1离子迁移谱模块电路介绍离子迁移谱电路模块主要包括:直线步进电机电路、电磁阀控制电路、触发电路、高压电源模块以及压力和温度传感器。本文不涉及离子迁移谱仪的具体构造,接下来将对上面提到的几个电路模块进行详细的介绍。触发电路主要产生触发脉冲,在触发脉冲的高电平期间前端离子门打开,开始采集数据,当变为低电平时离子门关闭,其电路结构如图2.3所示。图2.3 同步脉冲触发电路图中输入为控制信号,该信号通过光耦6n137和三极管9013形成脉冲输出信号。采用光耦的隔离控制方式,增强了电路的安全性和可靠性。电磁阀的供电电压为直流24v,其控制电路如图2.4所示。输入信号(in signal)通过光耦tlp521和20k电阻,进入继电器驱动芯片uln2803。uln2803能为继电器提供最大0.5a的驱动电流,最后输出信号(out signal)直接用来控制电磁阀。图2.4 电磁阀控制电路腔体的温度和气压测量分别使用温度传感器和压力传感器,测量范围分别为0400,01125 torr,对应的输出电压为05v。高压电源模块用于给离子迁移谱仪提供高压,其控制输入电压为-5v+5v,对应输出高压为-10 kv +10 kv。2.2.2嵌入式控制系统电路介绍嵌入式控制系统电路在这里主要指为离子迁移谱仪提供控制信号的接口电路,主要包括数字i/o口、采集环境参数电路和高压调节控制电路等。数字i/o口主要是为电磁阀提供一个数字开关量来控制电磁阀的开关,环境参数指腔体温度和腔体压力,而高压控制则是通过控制器输出控制信号来改变高压模块输出的电压值。环境参数的采集是由arm控制max197芯片完成的,max197芯片是12位转换精度,分两次读取数据:先读取低8位再读取高8位。具体的电路结构如图2.5所示。图2.5 环境参数采集电路max197的片选、读、写引脚分别与arm控制器bank2的ngcs2、nwe和noe相连接。而max197的使能信号引脚则与地址最低位addr0相连,因为数据的存储是16位的,即当addr0为0时先发送低8位数据,然后地址加1,指向下一个存储区域,此时addr0为1,再发送高8位数据到此存储区域即可。高压调节控制则是通过dac7731完成,将希望加载到模块上的电压值通过界面输入,然后经过dac7731进行数字量到模拟量的转化,最后将得到的值作为高压模块的控制输入信号。2.3嵌入式控制器总体设计嵌入式数据采集控制器是整个系统的控制核心,它完成了对离子迁移谱仪相关参数的数据采集和控制,并通过人机界面进行交互。它的总体设计如图2.6所示。微控制器采用三星公司的arm7系列的s3c44b0x,负责对各单元电路进行控制;人机界面采用的是lcd和触摸屏;lcd使用的是320240象素的256色stn屏,触摸屏使用的是四线电阻式触摸屏;fpga主要功能是完成主信号的采集、触发脉冲的产生以及步进电机的驱动脉冲;串口通信方式为rs-232,设计了两路串口,其中一路和pc机进行通信,在调试阶段打印调试信息;另外一路预留,通过扩展系统软件功能可以和pc机进行通信,使系统接受pc机控制。图2.6 嵌入式控制器总体设计本系统设计有两个a/d转换电路,一个采集主离子信号,另一个采集各个环境参量。电磁阀电路使用8路数字i/o口中的3路,接近开关使能信号占用1路数字i/o口,而其他4路预留,用于功能扩展。2.4本章小结本章介绍了整个系统的总体设计,对系统的电路结构分别从离子迁移谱模块电路和嵌入式控制系统电路两方面进行了详细的介绍。同时给出了离子迁移谱模块和嵌入式控制模块之间的通信简图,使读者能更容易地理解两模块之间的关系。最后介绍了嵌入式控制器的总体设计,对各功能单元只是进行了简单的描述,具体的实现细节将在后面的章节详细描述。第三章 基于arm的数据采集系统硬件设计第三章 基于arm的数据采集系统硬件设计3.1核心板电路设计嵌入式数据采集系统按其执行功能分成两个部分:核心板和扩展板。核心板完成系统最基本的功能,其硬件设计相对固定,只需要改变软件代码便可以实现不同的功能;扩展板和受控对象连接,针对不同的受控对象需要作相应的硬件改动。这样的硬件设计有利于系统硬件的升级,控制不同对象的时候只需更改扩展板电路和系统软件。3.1.1 s3c44b0x微处理器核心板的主控制芯片采用了arm系列的微控制器s3c44b0x。arm是advanced risc machines的缩写,既可以认为是一家公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。arm公司1991年成立于英国剑桥,专门从事基于risc技术芯片的设计和开发,主要出售arm技术知识产权(intelligence patent,简称ip)核的授权。作为一家ip核供应商,arm公司本身不直接从事芯片生产,通过转让设计许可,由合作公司根据各自不同的应用领域,加入适当的外围电路,形成自己的arm微处理器芯片进入市场。目前比较流行的arm的ip核有arm7tdmi,strongarm,arm720t,arm9tdmi,arm922t, arm940t, arm946t, arm966t,arm10tdmi等。它们每秒可以处理6000万至1.2亿条指令,不同的授权厂商提供了不同的外设,支持高端、中端、低端产品,可供选择的余地很大,极大的满足了各类应用方案的设计。s3c44b0x是samsung公司推出的16/32位采用了arm7tdmi核的处理器,它为嵌入式系统和一般类型的应用提供了高性价比的微控制器解决方案。为了降低系统成本和减少外围器件,s3c44b0x提供了丰富的内置部件,包括:8kb cache、内部sram, lcd控制器、带自动握手的2通道uart、4通道dma、外部存储器控制器(片选逻辑,fp/ edo/ sdram)、带有pwm功能的5通道定时器、71个通用io口、实时时钟(rtc)、8通道10位adc、8个外部中断源、i2c总线控制器、i2s总线控制器、同步sio接口和pll倍频器等。此外,s3c44b0x还采用了一种新的总线结构,即samba ii(三星arm cpu嵌入式微处理器总线结构)。s3c44b0x通过提供全面的、通用的片上外设,大大减少了系统电路中除处理器以外的元器件配置,从而最小化了系统的成本3。3.1.2 s3c44b0x存储系统在系统复位的时候,s3c44b0x的程序(pc)指针被设置成0,使程序跳转到0x0000_0000处开始执行。该地址对应的是bank0,bank0是与rom相连接的。rom中存储有系统的初始化程序,负责配置处理系统的结构、工作模式以及自动检测嵌入式控制器的各个硬件是否工作正常。然后系统开始运行。s3c44b0x复位后的存储器映射图如图3.1所示。图3.1 s3c44b0x复位后的存储器映射s3c44b0x的存储器控制系统具有以下特点:l 支持数据存储的大/小端选择(通过外部引脚实现);l 地址空间:具有8个bank,每个bank可达32mb,总共可达256mb;l 每个bank的数据宽度均可改变(8位/16位/32位);l 8个bank中,bank0bank5支持rom和sram,bank6和bank7支持rom、sram和fp/edo/sdram等;3.1.3 rom接口电路4s3c44b0x内部没有rom,所以扩展了一块flash存储器,用于在系统掉电以后保存系统的代码和数据。rom采用的flash芯片是sst公司的sst39vf1601,容量为16mbit(16)。其数据总线和地址总线和s3c44b0x的数据和地址总线相连,读、写和s3c44b0x的读、写引脚相连。需要注意的是数据宽度不同时,地址总线的连接也不同,在设计时要详细参考s3c44b0x的数据手册。由于sst39vf1601作为系统的rom使用,它包含了系统的启动代码,系统复位以后pc指针需要指向sst39vf1601中起始的程序代码,所以必须将sst39vf1601的片选信号和s3c44b0x的ngcs0相连,以使sst39vf1601映射到系统存储器中的bank0,起始地址为0x0000_0000,接口电路如图3.2所示。 图3.2 rom存储器接口电路在读取bank0中的数据之前需要确定其数据宽度,这是由s3c44b0x的om1:0引脚在外部硬件上确定。当om1=0,om0=1,则bank0的数据宽度为16位。本次设计选择的bank0的数据宽度即为16位,因此sst39vf1601的47引脚需接高电平,表示数据宽度为16位。3.1.4 ram接口电路ram作为整个系统的内存,需保证有足够大的空间。本设计中不但数据要保存在ram中,而且当系统启动时还要将整个uc/os-ii操作系统从flash中搬运到ram里运行,主要是因为ram的存取速度比flash快的多。所以系统初始化后,都将保存在rom中的代码和数据装载入ram进行执行。s3c44b0x集成了ram的控制器,支持多种不同类型的ram。本系统采用的ram为hynix的hy57v561620,为268,435,456 bit (4banks 4m 16bit)的cmos sdram。和rom一样,数据宽度不同时需要注意地址总线的连接方式。在本设计中采用的是16位数据总线的接口方式,并将hy57v561620映射到s3c44b0x存储器系统中的bank6中,字节地址空间为0x0c00_00000x0c7f_ffff,接口电路如图3.3所示。图3.3 ram存储器接口电路由于内部有4个bank,所以用hy57v561620的20,21引脚来标识对哪个bank进行操作。因为hy57v561620的存储配置为(4m164b) 1,根据s3c44b0x的数据手册规定,hy57v561620的ba0、ba1引脚应该与s3c44b0x的地址线addr23、addr24相连接。 3.1.5 系统电源设计 系统的电源设计对于整个系统来说至关重要,好的设计可以使整个系统运行稳定。相反,如果设计时考虑不周到,整个电源系统可能会受到干扰甚至不能正常工作,系统电源设计电路如图3.4所示。图3.4 系统电源电路 s3c44b0x的内核工作电压为2.5v,i/o口工作电压为3.3v。工作所需的电源由dcdc转换器提供。采用的电源器件为ams公司的ams1117,其产品系列可以提供2.5v和3.3v等多个电压的输出,输出电流可以达到1a。图3.4为5v到3.3v和5v到2.5v的电压转换电路,vdd5为来自开关电源的+5v直流电压,在其进入pcb板的地方采用了两个22uf的电解电容进行去耦。在ams1117的输入和输出端采用100uf,47uf的钽电容和一个104电容用以消除噪声的影响。3.1.6晶振及复位电路s3c44b0x芯片需要两个晶振,一个给内核提供时钟,一个给rtc(实时时钟)提供时钟,二者均采用无源晶振其值分别为10mhz和32.768khz,如图3.5所示。其中y1为内核时钟晶振,y2为rtc时钟晶振。s3c44b0x中有一个pll(phase-locked-loop)锁相环电路,可以将时钟倍频,倍频后最高工作频率可以达到66mhz。具体使用晶振时钟还是外部时钟,由s3c44b0x的om3:2引脚在外部硬件上确定。当om3=0,om2=0,则使用的是外部晶振时钟,此时锁相环使能。 图3.5 系统时钟电路系统复位电路实现系统上电复位和用户按键复位的功能。采用了较为简单的rc复位电路,如图3.6所示。在系统上电以后电源电流流经r1给c9充电。在充电过程中,74hc04的1端未达到阈值电平前的这段时间内,nreset为低电平,系统复位。一段时间后74hc04的1端充电到3.3v,nreset为高电平进入工作状态。s3c44b0x要求系统复位时nreset保持至少四个mclk周期。两级非门电路用于按钮去抖动和波形整形,所以要合理选择r1和c9的值,经使用证明复位电路的工作是可靠的。 图3.6 系统复位电路3.1.7 jtag接口电路 jtag接口电路用来连接仿真器进行代码的实时调试和程序的烧写,本设计中jtag接口主要是配合简易仿真板调试程序,以及完成最底层的固件程序的烧写,具体电路如图3.7所示。根据s3c44b0x的数据手册规定,ntrst、tms、tck和tdi引脚都必须接一个10k的上拉电阻。图3.7 jtag接口电路3.1.8触摸屏接口电路56电阻式触摸屏是一种传感器,它将矩形区域中触摸点(x,y)的物理位置转换为代表x坐标和y坐标的电压。这种屏幕可以用四线、五线、七线或八线来产生屏幕偏置电压,同时读回触摸点的电压。本文使用的触摸屏为四线电阻式触摸屏,它包括上下叠合的两个透明层,这两个透明层由具有相同表面电阻的透明阻性材料组成。其中一层在左右边缘各有一条垂直总线,另一层在底部和顶部各有一条水平总线,见图3.8。为了在x方向进行测量,将左侧总线偏置为0,右侧总线偏置为vref;将底部或顶部总线连接到adc(a/d转换器),当x层和y层由于触摸屏被按下而接触时即可作一次测量。在y方向的测量和x方向原理相同。 图3.8 触摸屏结构简图触摸屏上代表触点位置的电压值通常由触摸屏接口芯片测量。本设计采用的触摸屏接口芯片为ads7843。该芯片是ti公司一款具有串行接口的可编程8/12位的adc,转换速率可以达到125khz,作为触摸屏接口芯片得到了广泛的应用。图3.9为触摸屏接口电路,图中x+、y+、x-、y-即为图3.8中的四条总线。ads7843的控制和数据信号连接到s3c44b0x的gpio口上。通过gpio口模拟ads7843的控制时序进行指令的写入和转换数据的读出。 图3.9 触摸屏接口电路3.2扩展板电路设计 因为本设计采用了arm+fpga+adc的结构,而扩展板上的主要的电路即为fpga和a/d,所以扩展板的设计在整个电路系统中占据十分重要的作用。此种设计的优点主要体现在fpga有着其他微处理器无法比拟的优势,特别是在时序和逻辑方面。fpga时钟频率高,内部延时小,原来由软件完成的逻辑控制全部由硬件来完成,速度快,效率高。系统中fpga主要起到连接采集电路和arm的桥梁作用,而控制命令和数据处理则由arm完成。这样fpga把原来纯粹以软件操作形式的数据采集变成硬件采集,arm只需要设置好采集所需要的各种相关寄存器,然后启动fpga工作。此种设计减轻了arm的负担,同时也提高了采集速度和数据采集的实时性。3.2.1系统电源电路 扩展板的电源电路相对于核心板而言更为复杂,扩展板的输入电压为直流24v而整个系统要用到的电压分别为:1.5v、2.5v、3.3v、5v、v和v等。所以为了得到上述电压,应采用相应的dc-dc电压转换模块。 同arm相比较fpga的i/o口工作电压也为3.3v,而内核工作电压却为1.5v。其dc-dc转换器都是采用的ams1117系列,其电路设计同前述的核心板电路采用同样的方式。在此不再重复,请参考前面的电路图。由于扩展板的直接输入电压为直流24v,所以为了得到5v和v的电压,在设计时采用了单刀双掷开关,具体结构如图3.10所示。图3.10 单刀双掷开关控制的电源电路图中的两个dc-dc转换模块采用的是北京汇众公司生产24v转5v和24v转v模块。当输入的是24v电压时,模块1,2两端分别输入的是gnd_24p,vdd24;当输入的是-24v电压时,模块1,2两端分别输入的是vdd24n,gnd_24n.为了得到v电压,可以通过v转换到v,采用的dc-dc模块是线形稳压器lm7812和lm7912,电路如图3.11所示。 图3.11 lm7812和lm7912连接电路图3.2.2 uart接口电路 串口主要是用于通信的,串口负责打印一些必要的调试信息和交互一些人机命令以及完成大固件程序的下载和升级。另外由于串行rs-232的电平和s3c44b0x的i/o口电平不同,电平的转换使用了串行接口芯片max3232,其接口电路如图3.12所示。图3.12 串口接口电路 3.2.3 fpga控制电路fpga能实现逻辑控制,响应速度快,效率高。本设计采用了altera公司cyclone系列的ep1c6t144i7芯片。可以实现ramrom双口ram或fifo功能,使得此款芯片适合有存储和缓冲功能需要的数据采集系统7。fpga作为ad的控制器是受控于arm的。由于arm对外围存储器和寄存器是统一编址,所以只要将bank0bank5的某个片选与fpga片选相连就可将fpga映射至其某一段区域,本系统中将fpga映射到0x020000000x04000000地址处,即fpga片选与arm的ngcs1相连接。arm通过对外部寄存器的读写操作,使外部地址总线和数据总线产生了相应的寄存器地址数据和命令字,完成对fpga的发指令操作。fpga检测到外部读写信号后,使能内部的存储器和寄存器进行相应的操作。fpga与arm通信的数据总线端口是一个双向i/o口,在arm未对fpga操作的时候,保持该端口为高阻态,使fpga内部数据锁存。由于fpga引脚众多在此不作详细的描述,具体应用方式可参考ep1c6t144i7芯片的数据手册。fpga不同于cpld,它是基于sram结构设计,掉电易丢失数据,需外接配置芯片。当系统上电后,数据自动加载到fpga。此处的配置芯片选用的是epcs1(1mbit),其与fpga的具体连接方式如图3.13所示。图3.13 epcs1接口电路 fpga代码是放在配置芯片epcs1中,对于代码的下载可通过byteblastermv或byteblasterii通信电缆,两种下载方式的接口电路如图3.14所示。图3.14 byteblastermv和byteblasterii接口电路 fpga经过一系列配置和运算,就可以进行数据采集了。通过verilog语言在fpga内部实现了异步fifo,这样就可以把采集到的数据先保存到fpga内部数据缓存区fifo里。当达到fifo半满值或者一个采集周期结束时,产生外部中断由arm来响应中断。考虑到ad采样的写fifo速度与arm读fifo速度不一致,所以选择异步fifo作为缓存来实现不同时钟域间的接口。将fifo的深度设置为4096个字节,当fifo中的数据达到2048个字节时(即半满状态)产生外部中断。arm在中断处理程序中把数据取走,arm与fpga之间的具体通信原理如图3.15所示:图3.15 arm与fpga通信原理图 arm通过配置fpga的各种寄存器来发布控制命令,因此根据实际系统的需要,设计了9个寄存器分别满足不同的逻辑控制:系统控制系统状态fifo数据脉冲调制等寄存器。这些寄存器对于arm的访问可分为:只读和可读可写。arm的主控程序先完成相应寄存器控制字的设置,然后启动ad采集,通过检验系统状态寄存器,转入对应的处理程序。fpga寄存器功的能和地址分配如图3.16所示:地址长度名称功能base+0x0016scr系统控制寄存器base+0x02 16ssr系统状态寄存器base+0x0416fifocfifo数量寄存器base+0x0616fifodfifo数据寄存器base+0x0816pmc被动模式寄存器base+0x0a16amc主动模式寄存器base+0x0c16gpo通用输出寄存器base+0x0e16gpi通用输入寄存器base+0x1016awc脉冲输出宽度图3.16 fpga相关寄存器 注:此处base是bank1的基地址(0x0200,0000)3.2.4 lcd接口电路s3c44b0x中集成有一个lcd控制器,它把系统ram存储器中的一部分内存共享为显示缓冲区,并将显示缓冲区中的数据传送到外部的lcd驱动器中。lcd控制器的寄存器和程序中设定显示缓冲区的地址后,通过对显示缓冲区的读、写即可实现lcd的显示控制。s3c44b0x中的lcd控制器具有如下特性:l 支持256色的彩色stn lcd、单色lcd、4或16级灰度lcd;l 支持3种类型的lcd:4位双扫描,4位单扫描和8位单扫描显示;l 支持多虚拟显示屏幕(硬件上的水平和竖直滚动);l 系统存储器作为显示存储器;l 支持的真实屏幕尺寸有:640480、320240和160160(象素); 图3.17 lcd控制器框图s3c44b0x中的lcd控制器框图如图3.17所示。lcd控制器用来传送数据和产生必要的控制信号,如vframe、vline、vclk和vm。此外lcd控制器还包括数据总线vd7:0。本次设计采用的lcd为256色stn lcd,大小为320240象素,显示方式为8位单扫描,其与s3c44b0x的接口电路如图3.18所示。 图3.18 lcd控制器接口电路3.2.5模数转换电路 本设计中用到两个a/d转换电路,一个用来采集环境参数,另一个用来采集离子主信号。由于第二章中第二节已经介绍了环境参数采集的具体电路结构,在此不再重复累述,接下来将重点介绍主离子信号采集的设计。整个主信号采集电路主要由三个部分组成:前端运算放大器电路、a/d转换电路和数据缓冲电路。前端运放主要起到提高输入阻抗,避免a/d转换电路受到干扰的作用。运算放大器采用的是ti公司的opa132,opa132的特性如下:l 电源供电范围大:v到v;l 20v/us的电压摆率;l 开环增益达到130db;l 低的补偿电压:最大500uv;opa132在系统中的连接电路如图3.19所示,其中ad16in为输入的模拟信号量,该信号量通过运放opa132后经过电阻r13进入后端的a/d转换器。图3.19 运算放大器opa132接口电路adc(a/d转换器)的作用是将模拟信号数字化,以便后续的分析和处理,它的性能直接影响整个系统的性能。本系统采用的adc为ti公司的ads7805,ads7805是一款16位精度、10us采样时间的cmos结构模数转换器,它采用了sar技术,集成有高精度的内部参考电源、跟踪保持电路和内部时钟电路。特性如下:l 100ksps的采样速率;l 标准的v输入电压;l lsb inl,16位无缺失码;l 5v供电电压;l 可以使用内部或外部参考电压;l 16位并行数据接口;ads7805控制信号有、和。为整个芯片的片选信号,为读写控制信号,为整个采集标志信号。ads7805转换时序如图3.20所示。图3.20 ads7805转换时序图ads7805片选信号被始终设置为低电平,和控制数据的读取和转换。如果为低电平并且为高电平,上第一个下降沿将初始化一个新的转换,此转换脉冲宽度应该在40ns至6us之间。变为低电平后大约延时65ns后也变为低电平,并且保持低电平直到转换完成,然后更新输出寄存器的数据。当为低电平时,所有的转换命令都将被忽略,必须在恢复高电平前完成由低电平到高电平的转换。的脉冲周期应该至少在10us以上,而的脉冲宽度不应该超过8us。当为高电平时,数据线上的数据为高阻状态。 ads7805在系统中的连接电路如图3.21所示,其中ain来自前级运算放大器的输出。数据总线直接和fpga的相应引脚相连,和连接到fpga的gpio口上。引脚经过4.7k和10k两个电阻分压后与fpga的引脚相连,通过检测该引脚的电平变化,来判断转换状态。 图3.21 ads7805连接电路数据缓冲电路由两片74hc245芯片组成,其主要用于在数据总线上两路信号的异步通信。该芯片的特性如下:l 输出与cmos,nmos和ttl兼容;l 低的输出电流:1.0ua;l 工作电压范围:2.06.0v;l 抗噪声干扰能力强;74hc245的连接见图3.22,ne为使能信号,将其置于0使芯片处于使能状态;dir为方向控制信号,dir1表示数据由a端到b端,dir0表示数据由b端到a端总线传输。图3.22 74hc245连接电路3.2.6数模转换电路 数模转换电路主要完成数字量到模拟量的转换,本设计通过界面输入相应数值,然后将该数字量转换成高压电源模块的控制输入信号,完成对高压模块的控制。本系统的dac转换芯片采用ti公司的dac7731芯片,可通过软件配置完成单极性或双极性电压输出,其可配置输出电压为:v,v和10v。dac7731的电路连接如图3.23所示。 图3.23 dac转换电路 运算放大器opa132主要是降低输出阻抗,增强电路抗干扰能力。da_sdi为串行输入的数字量,a16out为转换后的输出模拟量。3.2.7数字i/o口电路 数字i/o口的输出用来控制气路系统中电磁阀。该输出起到数字开关量的作用,在实际应用中需外部提供24v电压。由于要驱动外部继电器,其本身的驱动电流很小,所以末端连接一块uln2803继电器驱动芯片,该芯片最大能提供0.5a的驱动电流,足以满足外部继电器的需要。具体连接方式见图3.24所示:图3.24 数字i/o口电路3.3本章小结本章详细介绍了基于arm的嵌入式数据采集系统的硬件设计。将硬件的设计过程中分为核心板设计和扩展板设计。核心板是包括主控制器在内的嵌入式系统,扩展了ram和rom,对外预留了扩展接口。扩展板则主要包括了fpga,a/d转换,d/a转换,串口uart和lcd接口等外围设备。在整个系统中硬件设计起到至关重要的作用,稳定的硬件是系统可靠运行的保障。因此对涉及到的电路都进行了细致分析和说明,并给出了详细的电路设计原理图。第四章 系统软件设计第四章 系统软件设计4.1 arm引导

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论