远程数据采集系统的设计与实现【精品毕业论文】 .pdf_第1页
远程数据采集系统的设计与实现【精品毕业论文】 .pdf_第2页
远程数据采集系统的设计与实现【精品毕业论文】 .pdf_第3页
远程数据采集系统的设计与实现【精品毕业论文】 .pdf_第4页
远程数据采集系统的设计与实现【精品毕业论文】 .pdf_第5页
免费预览已结束,剩余49页可下载查看

远程数据采集系统的设计与实现【精品毕业论文】 .pdf.pdf 免费下载

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

文档简介

华中科技大学 硕士学位论文 远程数据采集系统的设计与实现 姓名:吴雪峰 申请学位级别:硕士 专业:计算机系统结构 指导教师:谢长生 20070604 i 摘 要 在进行数据采集时,由于许多被测对象距离较远或现场危险,只能在远距离的 地方进行测量,然后传输出去,这便产生了远程数据采集系统。远程数据采集系统 有着自身的特点:首先,为了精确和全方位获取环境信息,系统一般要提供多个采 集通道进行高速采样;其次,为方便用户随时了解系统的运行状况,系统在高速采 样的同时,必须能以异步接收和处理控制站的命令、传输用户所需数据;另外,远 程数据采集系统一般仅靠电池供电,于是低功耗成为衡量系统性能的重要指标。 从实时性、远程可控性、低功耗的目标出发,提出由fpga(现场可编程门陈列) 作为数据采集控制部分、由嵌入式微处理器系统和单片机作为数据存储和传输部分 的数据采集系统。外部信号通过前置放大、滤波后,在fpga的控制下进行高速数模 转换和缓存;采集到的数据由嵌入式微处理器系统进行读取、处理和存储;数据通 过rj-45网络接口或无线数传模块传输至远程上位机。 单片机在系统中有三个作用:一是提供用户操作输入接口及系统状态指示灯等 信息;二是当嵌入式微处理器系统在高速采集和存储时,可以异步的接收来自控制 站的无线命令,并对命令进行分析和处理;三是对嵌入式微处理器系统进行电源控 制,在不需要采样时可以将嵌入式板的电源断开。 与通常的仅仅采用单片机或嵌入式微处理器系统的采集系统相比,同时采用两 者可以将用户接口和采集任务分开,使采集系统在保证吞吐率和实时性的同时能处 理用户输入或来自控制站的无线传输命令。另外,单片机对嵌入式微处理器系统的 电源控制功能可以达到降低系统功耗的目的。 关键字关键字:数据采集,嵌入式系统,无线数据传输 ii abstract since many objects being observed are out of our territories or they are in dangerous places, it is wise to sample data of them in where they are, and then send the data back to where we are, called long-distance data acquisition system, which has some unique characteristics as follows. first, in order to know the objects or environment of the sampling place more exactly, more sample channels are required. second, these devices must be able to receive orders and send back information that the supervisor needs. third, the power supply of these systems are usually batteries, thus low power consumption becomes an important devising guideline of these systems. aiming to get the quality of real time, long-distance controllability, and low power consumption, a data acquisition system is proposed which compose of the following elements, a fpga-based sampling board, an embedded cpu, a single chip and a wireless data transferring module. exterior signals are first amplified, filtered, and then transformed from analog signals to digital signals under the control of fpga board. the digital data is then buffer by the fpga board. digital data is then fetched by embedded cpu system, which handles and stores it in hard disks at the form of files. these files then are sent to the personal computer, which can analyze them, either by internet or by a wireless data transferring module, depending on the real conditions. the single chip has three functions in the system. first, it provides the input/output interface to the operator; second, it can exchange data asynchronously with long-distance control center; third, it controls the power switch of the embedded cpu system, that is, it can shutdown the embedded cpu system when it is no need to collect data. compared with data acquisition systems which only use single chips or embedded cpu systems, combining these two can separate user interfaces from sampling and storage task, thus can make the system take in and send out in large quantities, while it can communicating with the control center. besides that, the power controlling function of the single chip can reduce the consumption of power of the whole system. keywords: data acquisition, embedded system, wireless data transfer 独创性声明独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取 得的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何 其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人 和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本 人承担。 学位论文作者签名: 日期: 年 月 日 学位论文版权使用授权书学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保留 并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本 人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检 索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密, 在 年解密后适用本授权书。 不保密。 (请在以上方框内打“”) 学位论文作者签名: 指导教师签名: 日期: 年 月 日 日期: 年 月 日 本论文属于 1 1 绪论 1.1 课题背景 用于数据采集的成套设备,称为数据采集系统(data acquisition system)。数 据采集是将被测对象(外部世界、现场)的各种参量(如物理量、化学量、生物量等) 通过各种传感元件作适当转换后,再经信号调理、采样、放大、滤波、量化、编码、 传输等步骤, 最后送到控制器进行数据处理或存储纪录的过程 1。 数据采集技术(data acquisition)是信息科学的一个重要分支。 在生产过程中,应用数据采集系统可对生产现场的各种参数进行采集、监视和 记录,是提高产品质量、降低成本、增加生产效率和节省人力的重要手段;另外, 数据采集是控制系统实现控制的基本条件,只有准确实时的获取对象的运行数据才 能实施有效的控制。在科学研究中,数据采集装置可采集大量的动态与静态信息, 是各种研究领域的有力工具,也是破解科学奥秘的重要手段之一 2。数据采集也广泛 应用于设备故障的诊断。故障诊断技术依据设备在运行过程当中伴有的振动、噪声、 发热、应变、压力等物理参数的变化,通过一定的方式来判断和识别设备运行的状 态和故障,对故障的危害进行早期的预报和识别,防止设备在故障状态下连续运行 而造成的设备失效和相应的附加损失,保证设备安全、正常、长周期的、满负荷优 质运行 3。数据采集技术已在雷达、通信、水声、遥感、地质勘探、振动工程、无损 检测、语声处理、智能仪器、工业自动控制以及生物医学工程等领域有着广泛的应 用 4。随着科学技术的发展,已在速度、分辨率、精度、接口能力、软件设计以及抗 干扰能力等方面向现代数据采集技术提出了越来越高的要求。可以预言:随着大规 模集成电路技术与计算机技术的发展,数据采集技术的应用领域将更为广阔。 在进行数据采集时,由于许多被测对象距离较远或现场危险,只能在远距离的地 方进行测量,然后传输出去,这就是远程数据采集系统。水下数据采集系统是一个 典型的例子,它通过水下的数据采集装置来采集声音信号、水深信号、磁罗盘方位 信息等等。通过对采集数据的分析,从而可以辅助获取采集装置周围的环境、目标 的运动状况。 本课题“远程数据采集系统”的目的是实时记录多个水听器阵元收到的目标噪 声远场辐射信号, 并同步记录gps时钟、 平台方位信息, 将其存至大容量高速硬盘中; 2 并能够通过无线电通讯方式实时传输数据,在数据采集和存储系统和岸站之间建立 高速无线数据链路连接。开展这一项目的研究目的是设计一种稳定、高速、大容量 的数据采集与存储系统,在此系统的帮助下可以根据水下环境的有关信息。 1.2 国内外概况 1.2.1 发展历程 传统的数据采集系统是一个典型的嵌入式系统。核心是在微处理器进行传统的 编程。其传统意义的执行机制是顺序执行,多采用一个主循环和几个顺序调用的子 程序 5。图1-1是一个基于传统编程的简单数据采集系统的程序流程图。当系统中有 中断请求(实时处理请求)时,系统立刻停止当前的程序而转去执行中断,等到中断 结束之后,再转回重新开始。 图 1-1 传统的数据采集流程 近年来,数据采集系统的一个重要的发展方向是通过信号的测量(数据采集)、 处理、控制与管理,实现测、控、管一体化。随着科学技术的发展和数据采集系统 的广泛应用,人们对于数据采集系统的主要技术指标,如通过速率,分辨率、精度、 输入电压范围、控制方式以及抗干扰能力等方面提出了越来越多的要求,尤其是实 时处理与高速性兼具的要求。 3 而传统的数据采集系统达到实时处理是以牺牲速度为代价的,这显然与实时处 理与高速性兼具的要求矛盾。随着嵌入式系统的发展和应用领域的扩展,较为复杂 的嵌入式系统,已不是早先一个控制循环所能支持的,而要求一个支持多任务和实 时控制的嵌入式操作系统 6, 7。若在数据采集系统中采用了嵌入式实时多任务操作系 统后情况就大不一样了。下面可通过同样简单的基于rtos(real time operation system)的数据采集系统的编程流程图来做一个对比。图1-2是基于rtos的编程流程 图。这时所谓“实时”,对于计算机系统而言不但要求逻辑结果正确,而且还有时 间的要求,即这个结果必须产生在截止时限(deadline)之前 8,9。 数据采集处理数据 显示打印 rtos处理键盘中断 图 1-2 基于rtos的数据采集流程 在这样的一个系统中,用户的应用程序是运行于rtos之上的各个任务。rtos 根 据各个任务的要求,完成资源(包括存储器,外设等)管理,消息管理,任务调度, 异常处理等工作。在rtos支持的系统中,每个任务均有一个优先级,rtos根据各个 任务的优先级,动态的切换各个任务,可保证对实时处理和高速性的要求。而且在 编写程序时,可以分别编写各个任务,不必同时将所有任务运行的各种可能情况记 在心中,大大减少了程序编写的工作量,而且减少了出错的可能,保证了最终程序 的高可靠性。 1.2.2 发展趋势 数据采集系统在工业控制领域的应用十分广泛,根据其特点可以形成通用软件 规模,即可以设计专用的数据采集系统嵌入式实时多任务操作系统,然后固化在很 小的芯片中。很多工程师已经开始这方面的尝试,但还有许多工作要做。可喜的是 在片上系统(system on chip, soc)现在已经实现,固化在一片芯片上的通用数据采 4 集系统将不再只是个梦想。 1.2.3 市场现状 目前市场的数据采集装置大多采用8位或16位单片机, 由于位数小、 时钟频率低、 指令执行时间长、内存小,不能运行实时操作系统,因此不能胜任数据采集的实时 性以及各种附加功能要求,已不能满足生产与科学试验的需求。当前,我国大型工 程项目核心仪器全部依靠进口,全国各类科研经费有一半左右用来购置进口仪器, 研究所、高校,以及国家、地方重点实验室所用的科学仪器,不论是材料制备设备 还是测量仪器大部分都是进口的。而仪器仪表一般510年就要更新换代,如果不加 强发展我国的科学仪器仪表技术,改变国内目前的技术现状,仪器仪表依赖国外的 状况就不可能改变。而数据采集装置作为仪器仪表的一种也面临同样的状况,因此 在我国开发具有低成本、实时性好的数据采集装置势在必行 10。 1.3 课题主要研究工作 本论文的研究以外测系统数据采集记录系统的项目为背景,以ep9312和linux作 为系统控制核心,同ad采集板、单片机、无线数传模块一起,提出了一套满足项目 需求的高速数据采集系统。该系统集采集、存储、传输、控制于一体。该项目的主 要工作如下: (1) 嵌入式微控制系统的选取和数据采集部分硬件电路的设计。 核心板采用基于 cirrus logic公司ep9312(arm9)处理器的开发板,板载硬盘,串口,rj-45网络接口。 数据采集部分采用以现场可编程门阵列(fpga)为核心的硬件电路构成。 (2) 深入研究嵌入式linux系统的设备驱动模型,以及linux的中断机制,完成采 集板驱动程序的设计,以及中断服务例程的设计。 (3) 完成数据采集和存储系统的主控程序的设计。 (4) 用户操作接口部分的软硬件设计;参数预置的通信协议的设计及实现。 (5) 远程无线通信系统的设计与实现。 论文第一章介绍了课题的背景和研究的基本任务;第二章介绍了系统实现所需 的关键技术;第三章为系统设计,硬件部分分为基于cirrus logic 公司ep9312的核 心板,单片机,以及采用了fpga的数据采集部分,软件部分采用的是嵌入式linux; 第四章从数据采集与存储、用户界面、数据传输的角度介绍了系统的实现,以及系 统的测试;第五章是总结和展望。 5 2 关键技术 本章介绍了远程数据采集系统中所用到的关键技术,包括现场可编程阵列技术、 多线程技术、循环缓冲区技术、crc校验技术、无线数传电台技术等等。这些技术和 理论决定了系统的可行性。 2.1 现场可编程门阵列(fpga)技术 在基于实时嵌入式微处理器的数据采集系统中,嵌入式软件必须从传感器上接 收输入数据,数据采集的过程也影响嵌入式软件的设计以及执行时间。传统数据采 集的方法是使用多路输入开关从不同传感器上传输数据。而多路开关通道的选择、 控制信号的产生和数据读取都是由嵌入式软件来实现。现场可编程阵列(fpga)的应 用,可将某些软件功能改由硬件来实现 11,从而从逻辑上可以大大简化嵌入式软件 的设计。在可靠性方面,fpga有很强的优势,与处理器顺序执行的方式相比,用vhdl 设计的硬件,如果设计得当,将不会存在类似于mcu的复位不可靠和pc可能跑飞等问 题。 2.2 多线程技术 进程(process)与线程(thread)是现代操作系统进行多任务处理的核心内容。 unix操作系统通常以进程作为计算机资源分配的最小单位,这些资源包括处理器、 物理及虚拟内存、文件i/o缓冲、通信端口等。为了适应多处理器环境下日益增长的 细粒度并行运算的需要,现代操作系统提供了线程支持 12。线程是进程中执行运算 的最小单位,它也是处理器调度的基本单位,我们可以把线程看成是进程中指令的 不同执行路线。一个线程同所属进程中的其他线程共享该进程占有的资源。线程有 时被成为轻权进程(lightweight process)。 在数据采集系统这类问题中,采集与存储一般由两个不同的线程来实现。另外 同时采集不同性质的数据,可以采集部分也要由多个线程来实现。比如本数据采集 系统中,数据来源除了ad采集板外,还有方位仪的数据。这样实现时需要三个线程。 相比进程而言,使用线程有着自身的优点。首先,可以简化编程模型,它将处 理多个异步事件的编程模型转化为多个线程来实现,使得每个线程处理同步事件的 6 编程模型。其次,线程在共享资源时更加方便,比如文件的共享,内存的共享等等。 另外,使用线程模型可以提高整个系统的吞吐率。最后,交互式的程序利用线程可 以提高系统的响应速度(将io处理的部分作为单独的线程来运行) 13。 2.3 循环缓冲区技术 数据采集系统中存在较多的“生产者和消费者”问题。比如:采集板产生采样 数据,开发板的设备驱动程序从采集板读取数据;操作系统内核产生数据,应用程 序读取数据;应用程序中一个线程处理和产生数据,另一个线程将数据写入磁盘。 这种情况下,如果不加控制,则会出现读与写操作同时出现在一个缓冲区,出现不 可预料的后果。 使用循环缓冲区可以有效的避免此类并发访问的问题,其原理如图2-1所示。循 环缓冲区使用一种叫做“生产者和消费者”的算法:一个进程将数据放入缓冲区, 另一个进程将数据取出。如果只有一个生产者和一个消费者那就避免了并发访问 14。两个指针被用来寻址循环缓冲区:head和tail。head是指向数据写入的位置并 且只能被数据的生产者更新的指针;数据从tail读出,它只能出消费者更新。循环 缓冲区在被填满之前运行得很好、但如果缓冲区满了,就可能出现问题。可以选择 不同的解决方法:有的实现直接丢弃新的数据;有的实现是丢弃最旧的数据,覆盖 缓冲区的tail。最好的解决方案取决于数据的重要程度和其他一些具体问题。 图 2-1 循环缓冲区 7 如果缓冲区满时,则以采用丢弃最旧数据,覆盖缓冲区tail的方法为好。这样 设计的原因是数据采集系统一般讲究实时性,数据来源是源源不断的,如果丢掉新 数据可能造成采样不连续的问题。系统软件一般必须保证这种实时性。 循环缓冲区的一个特例是双缓冲区,即缓冲区的长度为两个。在远程数据采集 系统中多处用到了这种结构。以fpga内部的数据缓冲区为例,为了保证采样和传输 各不间断的进行, 采用乒乓传输结构 15, 如图2-2所示。 其本质是循环缓冲区的特例: 双缓冲区。 图 2-2 fpga内部的双缓冲区 这样的设计使得同一片地址范围对应于两块缓存区域,对外部而言是透明的, 同时内部很好的解决了生产者和消费者问题。 2.4 crc校验技术 在远程数据采集系统中,需要采用有线或无线的通信方式与控制站传输数据。 在计算机通信过程中, 由于信道上存在的各种复杂因素(例如: 冲击噪声和热噪声等) 的影响,所传输的信号将受到不同程度的干扰,严重时会造成误码以致阻断通信。 所以应该在接收方检查所接收的数据是否正确,可采用多种检测方法。其中循环冗 余校验码(crc校验)是目前在计算机网络通信及存储器等方面应用最为广泛的一种 校验编码方法,是一种强有力的检测手段 16。 crc检错方法的工作原理是:将要发送的数据比特序列当作一个多项式k(x)的系 数,在发送端用收发双方预先约定的生成多项式g(x)去除,求得一个余数多项式 r(x)。将余数多项式加到数据多项式之后(称为t(x)发送到接收端。在接收端用同 样的生成多项式g(x)去除接收到的数据多项式t(x),如果除得尽,表明无差错, 8 即t(x) = t(x);如果除不尽,表明有差错,即t(x)t(x);余数将指明出错位 所在位置。crc是一种线性分组码,具有较强的纠错能力并有许多特殊的代数性质, 前k位为信息码元,后r位为校验码元,他除了具有线性分组码的封闭性之外,还具 有循环性。其编码和译码电路很容易用移位寄存器实现,因而在fec(前向纠错)系统 中得到了广泛的应用。 几种常见生成多项式有:crc-12,具有g(x)=x12+x11+x3+x2+1的形式,由12位 冗余位组成; crc-16, 其形式为g(x)=x16+x15+x2+1, 由16位冗余位组成; crc-ccitt, 其形式为g(x)=x16+x12+x5+1,由16位冗余位组成。 2.5 无线数传电台技术 在本数据采集系统中需要进行短距离的无线数据传输。可以采用建立专用无线 数据传输系统或借用gsm、cdma等公网信息平台两种方式来实现。相比较,用无线电 台建立专用无线数据传输方式比其它方式具有投资少、开通快、维护简单、适应性 强、扩展性好等优点 17。随着计算机应用技术和通信技术的飞速发展,采用无线数 传电台的数据采集与控制系统在油田、水处理、电力、铁路、煤气、地震、气象、 环保、gps等行业开始普及应用。 数传电台一般采用数字信号处理、纠错编码、软件无线电、数字调制解调和表 面贴片一体化设计等技术,具有高性能、高可靠的特点,电台提供标准的rs232数据 接口,可直接与计算机、数据采集器、rtu、plc、数据终端、gps接收机、数码相机 等连接,传输速率从960019200bps,误码低,发射功率软件调节,任何型号的电台 可设置为主站或远站使用,能适应室内或室外恶劣工作环境。电台数据和语音兼容, 可工作于单工、半双工、时分双工tdd、全双工方式,收发同频或异频中转组网,并 具有远程诊断、测试、监控功能,满足各种应用的遥测台网中心与众多远方站之间 的远距离、高速的数据采集和控制。 2.6 防止电平触发方式下发生不必要的中断 系统在设计时,一般采集板的数据缓冲区满后,要通知系统板来取走数据,这 种握手过程用中断来实现最为有效。在硬中断中,需要考虑的一个十分重要的问题 是当中断源申请一次中断并在cpu已响应此次中断请求后如何撤消中断请求。如果在 cpu执行完此次中断服务程序并在返回原程序断点处之前尚未撤消中断请求,则会引 9 起在cpu返回原程序后再次产生中断(由此类推,还可能引起更多次中断),而再次产 生的这些中断是不希望的,也是不必要的,因此必须防止其发生 18。当采用边沿触 发方式时不会产生这样的问题,而当采用电平触发方式时却很有可能发生这样的问 题。 解决这个问题的方法一是由中断源自动撤消中断请求。在设计中断源产生中断 请求信号的逻辑电路时,使中断源在准备就绪后可产生高电平或低电平的请求信号, 但只使该有效电平的保持时间略长于cpu对此硬中断的中断响应周期,即保证在 cpu 执行中断服务程序并返回原程序之前,中断源已将电平请求信号撤消。此方法可使 用单稳电路实现,方法简单,但因不同cpu的中断响应周期不同,因此需对不同cpu 设计不同的中断请求逻辑电路,即不具有通用性。 方法二是cpu等待中断请求信号的撤消。若外部中断源具有自动撤消中断请求信 号的能力,但中断请求信号保持有效时间较长(即有再次引起中断的可能),可将该 中断请求信号通过输入接口连接到cpu,在cpu执行中断服务程序返回前对该请求信 号进行查询, 等待该信号变为无效后再返回原程序执行。 采用这种方法可能会使 cpu 效率降低,但比前一种方法的通用性好。 方法三是由cpu控制撤消中断请求。如图2-3所示,假定cpu的中断请求intr采用 高电平触发方式,图中触发器的(r复位端)和(s置位端)均为上跳沿起作用。当中断 源申请中断时,由产生的上跳变使触发器的q端输出高电平以向cpu申请中断,而cpu 在进入中断服务程序后,利用输出指令通过输出接口使触发器r端产生上跳变,使q 端复位,从而撤消了向cpu的中断请求,保证了“申请一次,中断一次”。此方式既 避免了上述第一种方法通用性差的缺点,又避免了上述第二种方法使cpu效率降低的 弊端,因此是一种很好的方法。 图 2-3 cpu控制中断撤消请求 10 3 系统设计 远程数据采集系统由数据采集部分、存储和传输部分、远程控制站组成。系统 设计以基于fpga的逻辑控制模块作为数据采集部分、ep9312(arm9)嵌入式系统板和 单片机作为存储和传输部分、pc机作为远程控制站。ep9312嵌入式系统板为整个系 统的控制核心,在该板上使用linux作为系统软件。本章将从分别对这三个部分从软 硬件的角度进行分析。 3.1 系统的整体设计方案 理论上,完整的数据采集系统包括:用于切换输入通道的多路复用器(mux);为 不同输入范围提供增益和偏移电压调节的信号调理电路;模拟数据转换器(adc)和电 压基准(vref),以及处理器、存储器,通讯接口等部分 19。 系统要求能实时记录16通道的噪声信号,并同步记录gps时钟、平台方位信息, 将其存至大容量高速硬盘中;能通过internet传输数据;并能通过无线电通讯方式 实时传输数据和修改采样参数,在数据采集和存储系统和远程控制站之间建立高速 无线数据链路连接。 采样精度要求是16位a/d采样; 采样通道数目可由软件任意设置; 每通道数据的采样频率分成10档,可通过上位机数据回放软件预先设定。 根据远程数据采集系统的实际要求,将系统分为三个部分:数据采集部分、存 储和传输部分、远程控制站。高速的数据采集由fpga来实现,存储和传输则由arm9 嵌入式系统板来实现,远程控制站为pc机。fpga在数据缓冲区填满时向嵌入式系统 板发中断信号来通知其取走数据。在arm9嵌入式系统板使用dma技术将数据写入磁 盘,从而提高系统的吞吐率。在从fpga板获取采样数据的同时,系统周期性的通过 rs232串口从磁罗盘设备和gps设备获取方位信息和时间值,这些值和采样数据一起 按照一定的格式打包,然后写入数据文件。数据文件通过internet网络传送到远程 控制站,在条件不具备时,可以通过无线方式发送数据,提高了系统的适应性。在 系统的运行过程中,还可以通过发送无线命令来更改系统的采样参数。 远程数据采集系统的结构图如图3-1所示。整个系统分为三个部分:数据采集部 分、存储与传输部分、控制站。值得注意的是,该设计同时采用了单片机和采用嵌 入式微处理器系统。 11 图 3-1 远程数据采集系统结构图 12 通常,数据采集系统中的存储和传输部分只采用单片机或只采用嵌入式微处理 器。考虑到以下几个因素,在本系统中则同时采用了两者。一是利用单片机系统可 以方便的提供用户操作输入接口及系统状态指示灯等信息。二是由于嵌入式cpu板要 处理的任务较重,有读取磁罗盘的进程任务、采集任务,写盘任务,如果再让其异 步的接收来自控制站的无线命令,并对命令进行分析和处理,则会影响到高速的采 集和写盘任务。如果将查询或处理无线命令的任务交给单片机系统来做,则不会影 响到高速的采集和存储任务。三是对嵌入式cpu板进行电源控制,在不需要采样时可 以将嵌入式cpu板的电源断开,这样可以使系统更加灵活,在不需要采样时可以断开 嵌入式cpu板的电源,从而达到降低系统功耗的效果。 3.2 数据采集部分解决方案 在高性能数据采集系统中,通常采用单片机或dsp(数字信号处理器)作为cpu, 控制adc(模数转换器)、存储器和其他外围电路的工作。但基于单片机和dsp 设计的 数据采集系统都有一定的不足。单片机的时钟频率较低,各种功能都要靠软件的运 行来实现,软件运行时间在整个采样时间中占很大的比例,效率低,难以适应高速 数据采集系统的要求;dsp的运算速度快,擅长处理密集的乘加运算,但很难完成外 围的复杂硬件逻辑控制 20。 在高速数据采集方面,fpga(field programmable gate array)有单片机和dsp 无法比拟的优势。 fpga是一种采用单元型结构的新兴的pld器件。 它采用了cmos、 sram 工艺制作, 在结构上和阵列型pld不同, 它的内部由许多独立的可编程逻辑单元构成, 各逻辑单元之间可以灵活的相互连接,具有密度高、速度快、编程灵活、可重新配 置等优点,fpga成为目前主流的pld器件之一。fpga时钟频率高,内部时延小,全部 控制逻辑由硬件完成,速度快,组成形式灵活,可以集成外围控制、译码和接口电 路;最主要的是fpga可以采用ip内核技术,通过继承、共享或购买所需的知识产权 内核提高开发进度。利用eda工具进行设计、综合和验证,加速了设计过程,降低了 开发风险,缩短了开发周期,效率高而且更能适应市场。fpga的io端口多,且可以 自由编程支配、定义其功能,再配以verilog语言进行软件设计;fpga的最大优点是 可在线编程,基于fpga设计的数据采集器可以方便地进行远程功能扩展,可以适应 不同应用场合的需要。 本系统的数据采集部分是基于fpga技术设计的多路模拟量采集与处理系统。实 13 际采样时, 采样频率高达50khz, 16个通道同时采样, ad转换精度为16位, 目前的fpga 技术完全可以胜任。 3.3 存储与传输部分解决方案 存储和传输部分是一个典型的嵌入式系统。嵌入式系统被定义为 21,22:以应用为 中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成 本、体积、功耗严格要求的专用计算机系统。下面分别从硬件,软件的角度分析数 据存储和传输部分所需要采用的嵌入式系统。 3.3.1 硬件平台选择 自1958年以光蚀刻技术做出集成电路以来,不断发展的半导体技术推动人类社 会迈入了信息时代 23。现今微处理器已经被广泛应用于各个领域,深刻地改变了人 们的生活方式。微处理器由通用cpu(包括pc类cpu和高端服务器cpu),和嵌入式/专 用cpu两大类组成。pc类cpu是应用于pc领域的x86架构cpu及其x86架构兼容的cpu。 我们称这一类pc/服务器cpu为通用cpu。在这类微处理器芯片中不包括i/o接口电路, 更没有其他的外围功能控制模块。另一大类cpu是嵌入式/专用cpu 24。它们广泛应用 于各种信息设备,如信息家电、手机、pda、平板电脑等产品中的cpu。这些信息设 备并不要求cpu有很强的处理功能或很高的时钟速度,但却特别强调cpu的低功耗、 低电压、低散热、小面积和低价格特性。这类处理器芯片中除了cpu以外还需要一些 i/o接口电路以及一些面向特定应用的功能模块。而且对于一些应用,为了在cpu的 操作与外设的dma 25操作之间引入某种并行度从而提高系统的效率。 嵌入式/专用cpu大多采用risc结构。从1970年ibm开始定义risc体系结构开始, 如今经过了将近35年的历程,其间包括了sun公司的sparc处理器,motorola的 mpc603,一直到1990年arm公司成立,它在risc cpu开发领域不断取得突破,其结构 已经从v3发展到v6。risc结构的cpu简单而规整,可以大大减少集成的规模。在微处 理器中除了具有risc结构的cpu内核之外,同时还具有外部设备/电路、中断控制器、 dma控制器等等,这样的微处理器就是所说的soc(system on chip) 26。soc顾名思义 就是集成在cpu芯片上的部件较多,独立构成一个系统。到目前为止,arm微处理器 及技术 27的应用几乎已经深入到各个领域,特别是嵌入式领域。 在本数据采集系统中选择evoc ec3-5521cldna主板作为嵌入式系统板。该主板 是一款专为工业品或消费品用户精心设计基于ep9312芯片组的bga352封装3.5主 14 板,具有性能稳定可靠质量保证价格合理等特点本卡采用200mhz arm920t处理器板 载32m flash,64m sdram,可支持多种lcd显示屏,此外该主板还集成1个cs8952 10m/100mbps自适应以太网络控制器,提供高速稳定的网络接口。板上集成ac97标 准音效声卡满足多媒体应用的需要。 ep9312是这块主板的核心控制芯片,它是基于arm9核心的一块片上系统(soc)。 其内部结构如图3-2所示。其核心是200m hz的arm920t处理器。 图 3-2 ep9312系统内部框图 ep9312的具体的技术指标如下: (1) 200 mhz arm920t 处理器 16kb 数据高速缓存和 16 kb 指令数据高速缓存 mmu 可支持 linux和 microsoft windows ce 100 mhz 系统总线 (2) maverick crunch 数值运算引擎 浮点整数和信号处理指令 优化的数字音乐压缩算法 硬件互锁允许在线编码 (3) 用于数字版权管理或ip 系统安全设计的maverick key id 32 位唯一 id 15 128 位随机 id (4) 内置外设 带软件微调的实时时钟 12 个可最优化系统性能的数据传输 dma 通道 boot rom 双 pll 可控制所有时钟域 watchdog 计时器 2 个通用 16 位计时器 通用 32 位计时器 40 位 debug 计时器 (5) 通用i/o 16 个具有中断能力的增强型通用 i/o 外部存储器 memory 32 位 sdram 接口至多可与 4 组器件相连接 32/16/8 位 sram/flash/rom 接口 串行 eprom 接口 3.3.2 嵌入式操作系统的选择 3.3.2.1 常见嵌入式操作系统的介绍常见嵌入式操作系统的介绍 嵌入式操作系统按实时性能可以分为两类。一类是面向控制、通信等领域的强 实时操作系统如windriver公司的vxworks, psos,qnx系统软件公司的qnx,at的 nucleus等。其中在国内市场中vxworks和psos有较大影响。另一类是面向消费电子 产品的弱实时操作系统,这类产品包括个人数字助理(pda)、移动电话、机顶盒、电 子书、webphone等,比较著名的有windows ce, palm os 28, qnx。这些操作系统都 是商业化的。目前还有一些嵌入式操作系统是源代码公开,如: uc/os, linux等。 这些操作系统满足一定的实时性要求,比其他商用操作系统更具有价格竞争力。 一个嵌入式系统的开发离不开嵌入式系统软件,而对嵌入式系统软件的要求也 和通用计算机系统上的软件有所不同,它一般具有如下的要求:体积小,执行速度 快,可裁剪性和可移植性好 29。 评价一个实时操作系统一般可以从任务调度、内存管理、任务通讯、内存开销、 16 任务切换时间、最大中断禁止时间等几个方面来衡量。 (1) 任务调度机制: rtos的实时性和多任务能力在很大程度上取决于它的任务 调度机制。从调度策略上来讲,分优先级调度策略和时间片轮转调度策略;从调度方 式上来讲,分可抢占、不可抢占、选择可抢占调度方式:从时间片来看,分固定与可 变时间片轮转。 (2) 内存管理:分实模式与保护模式。 (3) 最小内存开销: rtos的 设计过程中,最小内存开销是一个较重要的指标, 这是因为在工业控制领域中的某些工控机(如上下位机控制系统中的下位机),由于 基于降低成本的考虑,其内存的配置一般都不大,而在这有限的空间内不仅要装载 实时操作系统,还要装载用户程序。因此,在rtos的设计中,其占用内存大小是一 个很重要的指标,这是rtos设计与其它操作系统设计的明显区别之一。 (4) 最大中断禁止时间: 当rtos运行在内核态或执行某些系统调用的时候, 是不 会因为外部中断的到来而中断执行的。只有当rtos重新回到用户态时才响应外部中 断请求,这一过程所需的最大时间就是最大中断禁止时间。 (5) 任务切换时间:当由于某种原因使一个任务退出运行时,rtos保存它的运行 现场信息、插入相应队列、并依据一定的调度算法重新选择一个任务使之投入运行, 这一过程所需时间称为任务切换时间。 商用型的实时操作系统功能稳定、可靠,有完善的技术支持和售后服务,但价 格贵,而免费的主要是在价格上有优势。嵌入式系统在硬件设计、软件开发方面, 虽可针对使用需求进行相应的变动,但整个体系结构 30往往变化不大,可用图3-3表 示。它由硬件抽象层,rtos内核和各功能模块组成。 硬件 硬件抽象层 驱动程序 编程接口 rtos内核 内存 管理 模块 系统 api 网络 协议 图形 驱动 函数库 文件 系统 图 3-3 rtos体系结构图 17 硬件抽象层(hal):包含所有与硬件平台相关的代码。存在于rtos的最底层,直 接访问和控制硬件,对其上层rtos的机器无关代码提供访问和控制服务。 rtos内核(kernel):提供了统一的系统编程接口,使用户程序及上层os组件对 系统设备透明。 rtos上的功能模块:rtos接口上需要有对用户程序提供的函数接口,专门为用 户定制网络、图形、视频等接口,并且提供驱动程序开发界面,方便开发者对不同 需求的设备定制驱动程序。 一般来说,rtos内核的实现都为微内核的体系结构。使用微内核的体系结构, 使得rtos体积很小,便于实现rom固化,同时方便进行模块化的扩展 31。嵌入式系统 中的灵魂就是嵌入式操作系统,嵌入式操作系统是一切嵌入式系统应用软件运行的 平台。 近十年来, 嵌入式操作系统得到了飞速的发展, 从支持8 位微处理器到16 位、 32位甚至64 位。现在的嵌入式操作系统除了内核外还提供其他的功能模块 32,如: 高速文件系统,tcp/ip网络系统,gui系统等。以下是对几种比较流行的嵌入式操作 系统进行简要的介绍: (1) nucleus plus是为实时嵌入式应用而设计的一个抢先式多任务操作系统,其 95%的代码是用ansi c写成的,因此非常便于移植并能够支持大多数类型的处理器。 nucleus plus 采用了软件组件(component) 的方法。每个组件具有单一明确目的, 通常由几个c 或汇编模块构成,提供清晰的外部接口,对组件的引用就是通过这些 接口完成的。除了少数一些特殊情况外,不允许从外部对组件内的变量进行访问。 由于采用了软件组件的方法,nucleus plus各个组件非常易于替换和复用。nucleus plus的组件包括任务控制、内存管理、任务间通信、任务的同步与互斥、中断管理、 定时器管理及i/o驱动管理等。 (2) vxworks是windriver 公司开发的具有工业领导地位的高性能实时操作系统 内核,具有先进的网络功能。vxworks 的开放式结构和对工业标准的支持,使得开 发人员易于设计高效的嵌入式系统,并可以很小的工作量移植到其它不同的处理器 上。作为一种先进的实时操作系统,它具有以下特点:可裁剪微内核结构、高效的 任务管理、灵活的任务间通讯、微秒级的中断处理、支持多种物理介质及标准和完 整的tcp/ip 网络协议等。vxworks操作系统是美国wind river公司于1983年设计开 发的一种实时嵌入式操作系统(rtos),具有高性能的内核和友好的用户开发环境。 其突出特点是:可靠性、实时性和裁减性。它是目前嵌入式操作系统中用得最广泛、 市场占有率最高的操作系统 33。 18 (3) wince是微软专门为信息设备、移动应用、消费类电子产品、嵌入式应用等 领域设计的全新战略性操作系统产品。它继承了microsoft 操作系统的进程调度的 可抢占性。在中断处理部分分成了“中断服务程序”和“中断服务线程”,不支持 嵌套中断。值得一提的是wince 的图形界面,作为微软件公司的产品,这一部分对 于广泛使用windows 的用户而言,能够在嵌入式产品中碰到熟悉的桌面应用环境是 非常具有吸引力的。 (4) 自从1991年10月5日linux问世到现在,仅仅13年的时间,而它在全球计算机 产业界的影响却超过了之前的任何一个操作系统。linux 是一个成熟稳定的网络操 作系统,将它作为嵌入式操作系统具有很多显著的优点。它的核心源代码是免费和 开放的,所有人都可以根据自己的意图修改和定制开发适合自己的产品,这可以大 大地降低开发产品的成本和适应嵌入式系统的发展趋势。同时linux 核心代码采用 移植性比较好的c 语言编写,所以它可以很容易地移植到很多微处理器上。linux是 以unix为基础发展而成的操作系统,诞生至今 34,在很多方面已经赶上甚至超过了 很多商用的unix系统。它充分利用了x86 cpu的任务切换机制,实现了真正的多任务、 多用户环境。linux对硬件配置的要求相当低,能够支持多种处理器芯片。开放源码 的linux吸引了众多程序设计者对其内核进行升级、 修补, 并开发出大量的应用程序。 在应用于嵌入式系统方面,嵌入式linux可裁剪的内核 35已经可以被优化到几十万字 节;为实时系统而开发的实时linux内核可以支持抢占式多任务,让linux内核支持 实时任务 36。 3.3.2.2 操作系统的选择操作系统的选择 根据数据采集系统的实际要求,并考虑到成本因素,我们选择了源码公开的嵌 入式linux系统作为操作系统,它能满足一定的实时性要求,并比其他商用操作系统 更具有价格竞争力。如果经测试不能满足实际要求,我们可以采用经过实时化改造 的linux,如rt linux。这样不影响实际的开发过程。 采用linux的优势在于:开放源代码,成本低,有着丰富的软件资源;高度模块 化,易裁减;功能强大,性能高效,非常健壮和安全;由于linux源码开放,当代码 有变化时,其内核代码迅速被数以万计团体和个人检查过健壮性、安全性;完善的 网络通信、图形、文件管理机制;支持多种体系结构,驱动程序丰富;与unix兼容, 文档丰富。 linux作为嵌入式操作系统的主要问题就是实时性问题。linux最初是作为分时 操作系统而设计的通用操作系统,追求系统的平均

温馨提示

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

评论

0/150

提交评论