




已阅读5页,还剩65页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
沈阳理工大学学士学位论文摘 要温度的测量和控制在工业生产中有广泛的应用,尤其在石油、化工、电力、冶金等工业领域中,对度的测量和监控是非常重要的一个环节,温度参数是工业控制中的一项重要的指标。本文主要研究了基于arm9架构的嵌入式linux系统在工业领域中各种炉温控制场合中的应用。目前控制方案主要是采用传统的plc和单片机进行控制。plc主要是针对单项工程或者重复数极少的项目,灵活性相对不足,并且体积大,成本相对较高;而单片机主要用于小型设备的控制,具有成本低,功耗低,效率高的特点,但可移植性较差。为了适应信息产业的发展,新技术革新以及产业的专业化现代化的发展,本文针对plc和单片机控制的优缺点和应用场合提出了采用arm9嵌入式微控制器at91rm920t和linux操作系统相结合的嵌入式温度控制系统,具有系统扩展性强、可靠性高、响应速度快、体积小等特点,为用户提供了一种新型的控制方案。本文首先论述了嵌入式操作系统的组成,接着设计了温度控制系统的硬件系统,主要括cpu模块、模拟电路模块、存储模块和通信模块四个部分;在对温度控制系统的软件部分的设计中,主要是针对boot-loader的移植、linux内核移植、根文件系统的定制、驱动程序的编写和应用程序的编写五部分进行设计。系统功能主要是循环采集ad通道数据,上传ad数据到服务器,接收服务器下发的控制数据包,记录日志等。通过在线运行测试,该系统稳定可靠,采集和控制效果良好,可有效降低了生产成本和工人的劳动强度,为安全生产提供保证。关键词:arm;linux;嵌入式系统;温度控制系统abstractits a broad application to measure and control temperature in the industry production.especially in some industry,such as oil,chemistry,electric power,metallurgy,its a very important tache to measllre and control temperature,temperature parameter is all important index in industry control situation.the paper mainly researches the application in kinds of temperature controlsituations in the industry field based on arm9 construct and embedded linux system.presently the control projects normally are plc and scm.plc normally aims atsingle project or small repetition project,lacks in agility and volume,the cost ishigher comparatively;scm is mainly used in the minitype equipment,the cost andthe power is lower,the efficiency is higher,but it is hard to transplant.in order toadapt to the improvement of information industry,the paper focuses on strongpointa,weakpoints and applied fields of plc and scm,and puts forward to adopt arm9 embedded micro controller and linux operation system to control the temperature,ithas a good expansibility,dependability,fast response speed,small volume,offers anew type control project to users.firstly the paper discusses the composing of the embedded operation system,then designs the hardware system of temperature control system which mainlyconsists of cpu module,analog circuit modde,storage module and communicationmodule;in the design of software system,we aim at the transplant ofboot-loader,thetransplant of linux kernel,the tailor of root file system,the programming of dfiversandapplications.the functions of system mainly are circularly sampling the data from the adchannels,uploading the data to the server,and receiving the control data packagefrom the server and record logs.throug the online test,we conclude that,the system is steady,has good sampling andcontrol effect.it can be good for reducing the cost of production and labour intensity,and guarantees the safe production.key words:arm,linux,embedded system,temperature control system目 录1 绪 论11.1 嵌入式的概述11.1.1 嵌入式系统的定义11.1.2 嵌入式系统的特点21.2 国内外现状以及研究意义21.3 选题背景和主要工作32 温度控制系统总体方案设计52.1 系统概述52.2 系统的总体架构52.2.1 硬件系统的设计原则52.2.2 系统硬件的整体结构62.2.3 系统软件的整体结构63 温度控制系统的硬件设计83.1 at91rm9200芯片介绍83.1.1 arm920t处理器概述83.1.2 arm920t系统结构分析83.1.3 arm920t的存储器格式103.2 外围电路设计103.2. 1 at91rm9200相关接口和控制器103.2.2 模拟电路设计123.2.3 存储模块设计143.2.4 通讯模块设计164 嵌入式linux操作系统的建立174.1 交叉编译环境的建立174.2 boot-loader模块设计184.2.1 boot-loader概述184.2.2 at91rm9200的启动流程194.2.3 boot-loader的移植204.3 m linux的移植224.4 基于nandflash的文件系统设计234.5 at91rm9200系统内核的烧写254.6 嵌入式linux的设备驱动程序264.6.1 设备驱动程序的开发过程264.6.2 加载和卸载驱动程序274.6.3 模数转换电路的驱动程序设计275 温度控制系统应用程序的设计295.1 相关概念295.1.1 进程295.1.2 进程间通信305.1.3 共享内存305.1.4 信号量315.1.5 套接字325.2 温度控制系统应用程序设计335.2.1 主程序功能与实现345.2.2 ad数据采集程序功能与实现345.2.3 da数据采集程序功能与实现375.2.4 网络通信程序功能与实现385.2.5 日志记录程序功能与实现415.3 makefile的编写和源文件的编译42结 论44致 谢45参考文献46附录 a 英文原文47附录 b 中文翻译55附录 c 程序代码6165沈阳理工大学学士学位论文1 绪 论1.1 嵌入式的概述随着微电子技术的发展,嵌入式系统被广泛应用于工业领域、无线通信领域、智能仪表,消费电子等各个领域。它以嵌入式应用为目的,将计算机硬件和软件相结合,完成特定的任务和功能。嵌入式系统在形式上可以分为系统级、板级、器件级。系统级指的s各种工控机,板级是指带有cpu的主板和oem(originalequipment manufacturer)产品,器件级以单片机最为典型,后来许多半导体厂商以嵌入式应用为目标,形成嵌入式微处理器,并有许多嵌入式操作系统的支持。通常嵌入式系统是针对某一特殊领域而专门设计和应用的,既要求产品体积小、实时性好、系统可靠性好,又要求产品的性价比高。所以对嵌入式系统开发来说,如何针对某种具体应用来选择合适的嵌入式处理器,使嵌入式操作系统与之配合是非常关键的。1.1.1 嵌入式系统的定义嵌入式系统(embedded system)也称嵌入式计算机系统。顾名思义,嵌入式系统是计算机的一种特殊形式,所以在理解嵌入式系统概念前,必须先明确计算机的基本概念。计算机是能按照指令对各种数据进行自动加工处理的电子设备,一套完整的计算机系统包括硬件和软件两个部分。软件是指令与数据的集合,而硬件则是执行指令和处理数据的环境平台,是那些看得见、摸得着的部件。计算机的硬件系统主要由中央处理器(cpu)、存储器、外部设备以及连接各个部分的计算机总线组成。嵌入式系统是以应用为中心、计算机技术为基础,软、硬件可剪裁,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。上述定义较好地描述了嵌入式系统各方面的特征,不同的应用对计算机的有不同的需求,嵌入式计算机在满足应用对功能和性能需求的前提下,还要适应应用对计算机的可靠性、机械结构、功耗、环境适应性等方面的要求,在一般情况下,还要尽量降低系统的成本。简单地说,嵌入式系统是为具体应用定制的专用计算机系统,定制过程既体现在软件方面,也体现在硬件方面。硬件上,针对应用,选择适当的芯片、体系结构,设计满足应需求的接口、设计方便安装的机械结构;软件上则明确是否需要操作系统、配置适当的系统软件环境、编写专门的应用软件2。1.1.2 嵌入式系统的特点(1)是“专用的计算机系统嵌入式系统微处理器大多非常适合于工作在为特定用户群所设计的系统中,称为“专用微处理器,它专用于某个特定的任务,或者很少的几个任务。(2)运行环境差异大嵌入式系统无处不在,但运行环境差异也很大,可运行在飞机上,冰天雪地的两极中,骄阳似火的汽车里。特别是在恶劣的环境或突然断电的情况下,系统仍能够正常工作。(3)比通用pc系统资源少通用pc系统有数不胜数的系统资源,可轻松地完成各种工作。而嵌入式处理器结构简单,资源较少。(4)功耗低,体积小,集成度高,成本低通用pc发热量大,功耗大,空间大,而嵌入式微处理器必须嵌入到对象的体系中所以必须严格控制其功耗和体积,同时为了减低成本,系统必须进行量体裁衣,去除冗余力争用较少的软硬件资源实现较高的性能3。1.2 国内外现状以及研究意义目前以信息家电为代表的互联网时代嵌入式产品,不仅为嵌入式市场的发展展现了美好的前景,还给嵌入式技术的发展注入了新的生命力。主要的发展趋势有:(1)联网成为必然趋势为了适应嵌入式分布式处理器结构和应用上的需求,面向21世纪的嵌入式系统要求配备标准的一种或多种网络通讯接口。针对外部联网要求,嵌入式设备必须配有通讯接口,以及相应的tcp/ip协议栈支持。同时由于家用电器互联的要求,新一代嵌入式设备还须具备usb,b1uet00th或irda等通讯接口,同时也需要提供相应的通讯组网协议。(2)支持小型电子设备实现小尺寸,微功耗和低成本由于消费类电子以及应用场合的需要,嵌入式的集成度越来越高,体积越来越小,功耗越来越低。由于限制了内存容量和复用接口芯片,这就提高了嵌入式系统软件设计的要求,使设计者不得不选用最佳的编程模型和最佳的软件算法,优化程序。(3)提供精巧的多媒体人机界面嵌入式设备之所以为亿万用户乐于接受,其中重要的因素之一就是他们与使用者之间的亲和力以及自然的人机交互界面。如银行的存取款机以及汽车gps导向系统等,都具有良好的人机界面。工业控制,这一当今热门领域更是让嵌入式系统找到了一个良好的发展空间。从上世纪90年代开始,工业控制开始向一体化的智能控制方向发展,即采用微电子技术,实现机电一体化,计控一体化,人机一体化。而嵌入式工业控制系统其具有功耗小,集成度高,专用性强,速度快,编程方便,价格低等优点逐渐成为当今工业控制的首选。当今的中国已经成为世界的制造工厂,我国是一个工业制造的大国,但绝对不是一个工业制造的强国,一个制约我国成为工业制造强国的根本因素是工业控制系统设计,而工业控制系统的设计关键在于工业控制器的设计。自从1965年我国研制出第一块集成电路至今,集成电路产业已经经历了40多年风风雨雨,可现在依然落后于发达国家,甚至不如后起的一些国家和地区。原因是多方面的。利用嵌入式系统带来的良好机遇,采取特色产品战略,大力发展各种具有自主知识产权的ip(intelligence property)核h1,形成技术积累和ic产品特色,满足工业控制的市场需求,缩短技术差距,使我国不仅仅是一个制造大国,而且成为一个制造强国。因此,研究如何将嵌入式控制系统应用到工业控制中,实现工业控制的网络化,智能化,一体化对我国工业控制水平的发展具有积极的现实意义。1.3 选题背景和主要工作温度的测量和控制在工业生产中有广泛的应用,尤其在石油、化工、电力、冶金等重要工业领域中,对温度的测量和监控是非常重要的一个环节。很多行业需要使用大量的加热设备,诸如热处理的加热炉,用于融化金属的坩埚炉,以及各种反应炉等,这样,温度就成了工业控制中的一项重要的被控参数。由于炉子的种类,用途,实现手段的不同,各种加热方法也不尽相同,比如煤气、天然气、油、电力等等,但就其控制系统本身的动态性而言,基本属于大惯性,纯滞后环节。目前控制方案主要是采用传统的plc和单片机进行控制,满足了用户大多数场合的需要。plc主要是针对单项工程或者重复数极少的项目,灵活性相对不足,并且体积大,成本相对较高,功能扩展需要较多的模块;而单片机主要用于小型设备的控制,尤其是专业电子设备的控制,具有成本低,功耗低,效率高的特点,但是也存在程序一次性拷入后无法修改,对外围设备的控制较低,抗干扰能力差等缺点。为了适应信息产业的发展,新技术革新以及产业的专业化现代化的发展,本文采用atmel公司的32位arm9嵌入式微控制器arm91rm9200和linux操作系统实现温度控制,具有系统扩展性强、可靠性高、测量和控制精度较高、多任务实时调度、响应速度快、体积小等特点,为用户提供了一种新型的控制方案1。本文的工作主要分为3个部分:一是温度控制系统的硬件设计,二是嵌入式linux操作系统的建立,三是温度控制系统应用程序的设计。2 温度控制系统总体方案设计2.1 系统概述该温度控制系统主要由模拟电路,主控制电路,数据存储模块,输入输出模块,通讯模块等组成。主控制电路由arm及其外围电路组成,是温度控制系统的核心部分,完成整个系统的控制,数据传输与存储和信号的处理等工作处理器对模拟电路采集进来的模拟量进行a/d转换得到实时温度数据,由控制算法对数据进行处理,得到的数字控制量经过d/a转换后通过输出电路对温度进行控制。处理器在数据处理过程中会将历史数据存入nandflash中,并可通过网络介质与其他pc机通讯进行数据的传输。2.2 系统的总体架构2.2.1 硬件系统的设计原则硬件系统设计必须遵循一下原则:(1)稳定性和可靠性:工业现场环境比较恶劣,模拟量参数处理的性能直接影响系统的技术指标,必须从一开始就充分考虑应用现场的各种环境状况,采取抗干扰措施,选择适当的元器件类型和参数,防止串扰和误差积累。设计要充分考虑硬件电路的简化,使用集成度较高的元器件,提高系统抗干扰性能,提高稳定性和可靠性。(2)速度与精度:根据允许误差限值,按一定规则分配各个部件模块锁允许的误差,系统设计过程中根据分配的允许误差选择位数较高的转换芯片,提高转换精度,选定电路结构。(3)功耗以及数据存储:arm9lrm9200自身具有低功耗的特点,vddcore电流为30.4ma,待机模式电流为3.1ma,并具有低速的时钟操作模式和软件功耗优化能力,非常适合于能耗敏感的场合。采用低功耗器件和贴片封装元器件,可有效降低功耗,减小pcb面积,提高电路本身的抗干扰性能。为保证数据的存储空间和安全保证,系统采用了一片32m的nandflash作为数据和程序存储区,保证了大容量数据存储的需要。2.2.2 系统硬件的整体结构根据系统设计的要求,系统的整体框图如图2.1所示:信号处理电路信号输出电路 at91rm9200存储模块通讯模块 图2.1 系统整体框图系统主要分为以下四个模块:(1)cpu核心模块:主要由cpu以及外围电路组成,是系统的主控制电路。cpu选用atme公司的基于删920tarm thumb处理器at9litm9200,对数据进行处理,存储,通讯等功能。(2)模拟电路:主要包括信号处理电路和信号输出电路。其中信号处理电路主要完成模拟输入信号的放大和滤波,得到满足模数转换电路输入范围的数值。信号输出电路将算法处理后的数字量转换成相应的模拟信号输出,实现对被控对象的控制。(3)存储模块:主要由norflash、sdram、nandflash三部分组成。其中,norflash用来存储系统启动程序和系统内核;sdram是操作系统和应用程序的运行空间;nandflash主要存储采集的数据以及应用程序。(4)通讯模块:主要由串行口电路,jtag电路,以太网接口电路三部分组成,串行口电路和jtag电路用来下载和调试程序,以太网接口电路用来和其他pc机或设备进行通讯,实现数据的交换。122.2.3 系统软件的整体结构arm嵌入式软件的开发流程一般是:设计目标硬件板,建立嵌入式linux开发环境,编写、调试boot-loader,编写、调试linux内核,编写、调试应用程序,调试arm板。从软件开发的角度来看,一个嵌入式linux系统可以分为以下4个层次:(1)引导和加载linux内核程序,主要是编制boot.loader程序。boot-loader相当于pc的bios,在硬件板一加电后就开始运行,主要完成硬件初始化,同时设置linux启动时所需要的参数,然后跳到linux内核启动代码的第一个字节开始引导linux。它要用串行电缆把pc与硬件开发板连接起来,在pc端编译程序,生成bin文件,然后烧写到flash中。(2)linux内核。主要工作是为特定的嵌入式硬件系统板定制内核以及内核的启动参数。为实现linux内核的移植,需要把编译生成的boot-loader、kernelimage(内核)、root filesystem(根文件系统)烧写到flash中。在编译内核的时候,可以根据需要选择网络协议,例如tftp、ftp、dhjp等。(3)和linux内核配合使用的根文件系统,包括建立根文件系统和建立于flash设备上的文件系统。(4)用户应用程序。主要是针对采集的数据类型,进行相应的数据处理,以完成温度控制和数据通讯的目的。本章从总体上对该系统的组成以及各部分的功能做了简单的介绍,部分的具体功能和步骤将在后面的几章作详细的阐述。3 温度控制系统的硬件设计本章主要是温度控制系统各模块的硬件设计,主要包括模拟电路设计,存储模块设计,通讯电路设计,输入输出模块设计。本设计采用了atmel公司的arm核芯片at91rm9200,首先对该芯片的功能做一些必要的介绍。3.1 at91rm9200芯片介绍atmel公司的at9lrm9200是完全围绕arm920t arm thumb处理器构建的系统。它有丰富的系统与应用外设以及标准的接口,提供了一种低功耗、低成本、高性能的微控制器解决方案。3.1.1 arm920t处理器概述 arm920t高速缓存处理器是 arm9 thumb系列中高性能的32位单片系统处理器。它提供完善的高性能cpu子系统:arm9tdmi risc整数cpu16-k字节指令与16-k字节数据缓存指令与数据存储器管理单元(mmus)写缓冲器高级微处理器总线架构(amba)总线接口 oetm(内置追踪宏单元)接口3.1.2 arm920t系统结构分析arm920t中的arm9tdmi内核可执行32位删及16位thumb指令集。arm9tdmi处理器是哈佛结构,包括取指、译码、执行、存储和回写5级流水线。arm920t处理器包括两个协处理器:cpl4,控制软件对调试信道的访问:cpl5,系统控制处理器,提供16个额外寄存器用来配置和控制缓存、mmu、系统保护、时钟模式及其他系统选项。arm920t系统结构如图3.1所示:图3.1 arm920t 系统结构图at91rm9200包括一个高速片上sram工作区及一个低等待时间的外部总线接口(ebi),以成应用所要求的片外存储器和内部存储器映射的无缝连接。ebi有同步dram(sdram)、burstflash及静态存储器的控制器,并设计了专用电路以方便smartmedia、compaetflash及nandflash连接。高级中断控制器(aic)通过多向量、中断源优先级划分和缩短终端处理器传输时间来提高arm920t处理器的中断处理性能。外设数据控制器(pdc)向所有的串行外设提供dma通道,使其与片内或片外存储器传输数据时不用经过处理器,以减少传输连续数据流时处理器的开销。包含双指针的pdc控制器极大的简化了at91rm9200的缓冲器连接。并行i/o(pio)控制器与i/o复用外设输入/输出口线的配合,最大程度地适应器件的配置。每条口线上包含有一个输入变化中断、开漏能力和可编程上拉电阻。电源管理控制器(pmc)通过软件控制处理器以及各种外设来使系统的功耗保持最低。它用一个增强的时钟发生器提供包括慢时钟(32khz)在内的选定时钟信号,以随时优化功耗和性能。at91rm9200集成了许多标准接口,包括usb2.0全速主机和设备端口及在网络层广泛使用的10/100base-t以太网媒体访问控制器(mac)。此外,它还提供了一系列符合工业标准的外设,可在频、电信、flash卡、红外及智能卡中使用。为完善性能,at91rm9200集成了包括jtag-ice、专门uart调试通(dbgu)及嵌入的实时追踪的一系列的调试功能,这些功能使得开发所有的应用特别是受实时性限制的应用成为可能。3.1.3 arm920t的存储器格式arm920t支持字节(8位)、半字(16位)、字(32位)三种数据类型,其中字需要4字节对齐,半字需要2字节对齐。arm920t体系结构将存储器看作是从零地址开始的字节的线性组合。从o字节到3字节放置第一个存储的字数据,从4字节到7字节放置第二个存储的字数据,依次排列。作为32位的微处理器,arm920t体系结构所支持的最大寻址空间为4gb(2字节)。arm920t体系结构可以用两种方法存储字数据,大端格式和小端格式。大端格式中字数据的高字节存储在低地址中,而低字节存放在高地址中;小端格式中低地址存放的是字数据的低字节,高地址存放的是高字节。3.2 外围电路设计3.2. 1 at91rm9200相关接口和控制器at91rm9200的第一级译码由存储控制器执行,即由具有附加功能的高级系统总线执行。译码将4g的地址空间分为16个256mb的区域。区域l8对应ebi,和外部片选ncs0ncs7相对应。区域0为内部存储器地址,第二级译码提供1m字节的内部存储空间。区域15为外设地址,并且提供了对高级外设总线(apb)的访问其他区域未使用,使用它们进行访问时,需要向发出访问请求的主机发出异常中断。外部存储器映射空间结构如图3.2所示:图3.2外部存储器映射空间结构图外部总线接口(ebi)设计用以确保多个外设和基于arm器件的内置控制存储器间的正确数据传输。静态存储器、sdram及burst flash控制器均可作为ebi上的外部存储控制器。这些外部存储控制器可以处理多种类型的外部存储器以及外部设备,如sram、prom、eprom、eeprom、flash、sdram及burst f1ash。ebi通过集成电路支持compactflash与smartmedia协议,从而大大降低了对外部组件的需求。此外,ebi可处理多达8个外设的数据传输,每个外设分配8个在内置存储控制器中定义的地址空间。数据通过16位或32位数据总线进行传输,地址总线高达26位,8个芯片选择口(ncs7:0)用来片选不同的外设,多个控制引脚可以在不同外部存储控制器间复用。片选的分配如下:.ncs0上为burst flash控制器或静态存储控制器.ncsl上为sdram控制器或静态存储控制器.ncs3上为静态存储控制器,可选支持smartmedia.ncs4.ncs6上为静态存储控制器,可选支持compactflash.ncs7上为静态存储控制器在本设计中,选用ncs0作为nor flash的片选信号,ncsl作为sdram的片选信号,ncs3作为nandflash的片选信号,ncs6作为ad控制器的片选信号。静态存储控制器(smc)产生信号来控制外部静态存储器或外设的访问。smc可编程地址可达512m字节。它有8个片选及一个26位地址总线。16位数据总线配置与8位或16位外部器件连接。独立的读写控制信号允许存储器与外设直接连接。smc支持不同的允许单时钟周期存储器访问的访问协议,同时也提供了外部等待请求能力。 静态存储控制器方框图如图3.3所示:图3.3 静态存储控制器3.2.2 模拟电路设计(1)信号处理电路设计ads7842是一个高效的4通道12位精度的模数转换芯片,它包含一个带有采样保持的12位的逐次逼近寄存器(successiveapproximation registcr,sap),具有并行的三态输出驱动器。ads7842在2mw的功率消耗下达到200khz的采样频率,参考电压范围可以从100mv到vcc,相应的lsb范围从24uv到1.22mv。ads7842最低可以在2.7v的电压下工作。低功耗,高速率以及自身的多路复用器使得ads7842成为体积小重量轻的需要多路数据转换和测量的嵌入式系统的理想选择。并且ads7842可以在.4085的温度范围内正常工作,适合工业现场的恶劣环境。ncs2,ncs4ncs7这些片选系统没有使用,可以任意选择一路作为译码器的使能信号。本设计选择的是ncs6,其地址空间是0x700000000x7fffffff,基地址为0x7000000016路模拟通道的地址空间是0x700000400x7000005e,为了选通这些地址,必须通过译码器对这些地址进行译码,以完成不同的芯片操作.工业现场的测温器件主要有热电偶和热电阻传感器,测量出来的信号值一般很小,只有20100mv,需要通过温度变送器转变为标准的0(4)20ma电流信号或者(0)15v的电压信号。这里以常见的420ma电流信号为例,16路标准电压信号连接多路开关dg506,为了稳定输入电压和电流以保护元器件或者预设缺省电位,应在每路输入电压进入多路开关之前外加470的下拉电阻。a3:0连接地址线的ab4:11,多路选通后,通过d端输出。因为ads7842的输入电压范围在-0.3v0.3v+vcc之间,vcc使用5v的直流电压,所以d端的输出值接入ad芯片之前需要经过合理的转换。经过op07的两次倒相后,输入端4-20ma的电流转换为1-5v的电压信号,以便连入ads7842。本设计中选用ads7842的通道l,所以a1:0接地。nadc_cs分别与系统读使能信号nrd和系统写使能信号nwr0相或后作为芯片的读写使能信号,同时nadc_cs作为片选信号输入。转换后的数据存储在db11:0中4。(2)信号输出电路设计dac712是一个高效的16位并行双缓冲d/a转换器,10v的电压输出,并带有+10v的参考电压精确温度补偿。数字接口是一个快速的,60ns的最小写脉冲宽度,当模拟信号输出复位时有清除功能。数据线的db15:0接dac712的数据输入端,ndac_cs0接使能端a0,根据变送器的不同的需要,同样可以通过搭接运算放大电路把输出信号转换成420ma或者1-5v的标准信号。由于ads7842的工作电压是+5v,数字量输出高电平是+3.5v+5v,低电平是0.4v,dac712的工作电压是12v,数字量输入高电平是+2v10.6v,低电平是0v8v,而at91rm9200的工作电压是+3.3v,所以要完成两者的数据通信必须进行电平的转换。本设计选用74lvchl62245芯片完成电平之间的转换。3.2.3 存储模块设计(1)nor flash存储器电路设计flash存储器是一种可在系统(in-system)进行电擦写、掉电后信息不丢失的存储器。它具有低功耗、大容量、擦写速度快、可整片或分扇区在系统编程(烧写)、擦除等特点,在体积、抗震性方面都有很大的优势,并且可由内部嵌入算法完成对芯片的操作,因而在各种嵌入式中得到广泛的应用。作为一种非易失性存储器,flash在系统中通常用于存放程序代码、常量表以及一些在系统掉电后需要保存的用户数据等。常用的flash为8位或16位的数据宽度,编程电压为单3.3v。主要生产厂商为atmel、amd、hyundai等,他们生产的同型器件一般具有相同的电气特性和封装形式,可通用10。at49bv322a的工作电压是2.653.6v,单片容量2mx 16位,采用48脚tsop封装,16位数据宽度,可以8位字节数据宽度工作。flash分成71个扇区,通过对其内部的命令寄存器写入标准的命令序列,可对flash完成编程、整片擦除、按扇区擦除以及其他操作。flash中主要存放程序代码、系统内核、常量表等等,选用一片16位的flash存储器构建flash存储系统已经足够,本设计采用一片2mxl6位的at49bv322a作为flash存储系统,容量为4mb。由于flash的特殊性,系统上电或复位后从此处获取指令并开始执行,因此,应将存有程序代码的flash存储器配置到chipselect0上。即将ncs0连至at49bv322a的/ce端。at91rm9200的ncs0连接/ce端,起始地址为0xl0000000;at91rm9200的nrd接/oe端;nwro接/vie端;地址总线a20:1连接地址端口al9:0,数据总线db15:0连接数据端口dq15:0。(2) sdram电路设计与flash不同,sdram不具有掉电保持数据的特性,但其存取速度大大高于flash存储器,具有读写的属性,因此sdram在系统中主要用于程序的运行空间,数据及堆栈区。当系统启动时,cpu首先从复位地址0x0处读取启动代码,在完成系统的初始化后,程序代码一般调入sdram中运行,以提高系统的运行速度,同时,系统及用户堆栈、运行数据也都放在sdram中。sdram的存储单元可以理解为一个电容,总是倾向于放电,为避免数据丢失,必须定时刷新(充电)。因此要在系统中使用sdram,就要求微处理器具有刷新控制逻辑,或是在系统中另外加入刷新控制逻辑电路。at91rm9200芯片在片内具有独立的sdram刷新控制逻辑,可方便地与sdram接口。本设计采用的是hyundai公司的hy57v281620h,单片容量为4banksx 2mx16位,工作电压3.3v,采用54脚tsop,兼容lttl接口,支持自动刷新(auto-refresh)和自刷新(self-refresh),单片为16位数据宽度,适用于要求内存密度大和高带宽的场合。本设计选用2片16位的hy57v281620h构成32位sdram存储系统,满足嵌入式操作系统以及各种复杂的算法运行要求sdram的控制信号比较多,连接电路也相对复杂。at91rm9200的ncsl分别接两片的/cs端;at91rm9200的sdwe分别接两片的/we端;hy57v281620h的dqml和aqmh是高低字节选择信号,at91rm9200的a0/nbs0接片1的dqml,nwrl肘bsl/cfiow接片1的dqmh,同理,a1/nbs2接片2的dqml,nwr3/nbs3/cfiow接dqmh。ba0和bal是sdram的选择信号,at91rm9200的a16/ba0和a17/bal分别接两片的ba0和bal,sdcke和sdck分别接两片的cke和clk,作为sdram的时钟使能和时钟。地址总线的a13:2接两片的a11:0,数据总线的d15:0接片1的dq15:0,d31:16接片2的dq15:0,组成32位数据11。(3)nandflash存储器电路设计nand结构flash数据存储器是超大容量数据存储的理想选择,是samsung公司推出并着力开发的新一代数据存储器件,电源电压1.73.6v,体积小,功耗低,按页进行读写,按块擦除,通过i/o口分时复用作为命令/地址/数据接口。在本设计中,采用samsung公司的k9f1208uom存储数据,容量为64m8位。该器件由4096个块组成,每个块有32个页,每页由512字节的数据和1字节的备用空间(用来存储纠错码、坏块信息和文件系统的相关的数据)组成。这528字节分成a、b、c三个区。对每一页的寻址需要通过i/o口送出三个地址,第二、三行地址指明寻址到某一页,第一列地址指明寻址到页的指定区中某一字节。对页的分区命令为00h,01h,50h,其中00h选择a区,01h选择b区,50h选择c区。选定区的内部寻址是由第一个列地址完成的,a0a7最大寻址256字节。由于nandflash对数据的读写操作都是以页为单位的,擦除则是以块为单位的,因此一次擦除的最小空间为0x4000(214)字节。对芯片的读写以及擦除命令的写入都是通过置高cle引脚同时向i/o0i/o7写入命令代码字节来完成的,地址的写入则是通过置高ale引脚同时写入地址字节来完成。3.2.4 通讯模块设计1、串行通信模块设计几乎所有的微控制器、pc都提供串行接口,使用电子工业协会(eia)推荐的rs232c标准,这是一种很常用的串行数据传输总线标准。早起它被应用于计算机和终端通过电话线和modem进行远距离的数据传输,随着微型计算机和微控制器的发展,不仅远距离,近距离也采用该通信方式。在近距离通信系统中,不再使用电话线和modem,而直接进行端到端的连接。2、 jtag接口电路设计jtag(jomt testactiongroup,联合测试行动小组)是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试,n1ag技术是是一种嵌入式调试技术,它在芯片内部封装了测试电路tap(testaccess porc,测试访问口),通过专用的jtag测试工具对内部节点进行测试。目前大多数比较复杂的器件都支持jtag协议,如arm,dsp,fpga等。标准的jtag接口是4线:tms,tck,tdi,tdo,分别为模式选择,时钟,数据输入和数据输出。3、以太网控制器接口电路工业生产中以太网的组态是一种非常普遍的形式,通过网络化完成对数据的采集和控制是现在工业生产的方向。at91rm9200内嵌有以太网控制器,使用ieee8023u数据帧格式控制主机与物理层间的数据交换。以太网控制器根据引脚输出配置不同,可使用独立媒体接口(mii)或简化独立媒体接口(rmh)来传输数据。由于at91rm9200未提供物理层接口,故需外接一个物理层芯片,以提供以太网的接入通道。本设计采用davicom公司的dm9161作为以太网的物理层接口。dm9161是一款低功耗高性能的cmos芯片,支持10m和100m以太网传输,它起编码、译码输入和输出数据的作用。4 嵌入式linux操作系统的建立4.1 交叉编译环境的建立1.获取交叉编译工具链登录http:/.uk,或者以ftp的方式登录fi.uk,下载cross-2.95.3.tar.bz2,或者更高的版本。本设计主要是针对linux2.4内核移植,所以cross.2.95.3版本的交叉编译工具链已经足够,如果针对linux2.6的版,需要下载cross-3.0以上的版本。2.建立交叉编译环境(1)建立交叉编译环境目录#mkdir/usr/10cal/arm#cd/usr/local/arm#tarjxvfcross2.95.3.tar.bz2(2)修改环境变量#cd/root#is -a#vi.bash-profile.bash profile的修改部分如下:#.bash_profile#get the aliases and functionsif-f/.bashrc;then./.bashrcfi#user specific environment and startup programsexport target=arm.1inuxexport prjroot=/home/armlinuxexport prefix=$prjroot/toolsexport target_prefix=$prefix/$targetexportpath=$path:$home/bin:$prefix/bin:/usr/local/arm/2.95.3/bin:/sbin:/usr/sbin:/usr/10cal/sbinunset username3.验证与使用用vi编辑器编写一个简单的程序,例如hello.c。#includeimmain()printf(“hello linux!n”);return 0:保存后退出。#arm-linux-gcc hollo.c-o hello#file hellohello:elf 32-bit lsb executable,arm,version l(arm),for gnu/linux 2.0.0,dynamically linked(uses shared libs),not stripped说明生成的hello是可以工作在arm平台上的,也证明了交叉编译工具链是有效并且是可用的18。4.2 boot-loader模块设计4.2.1 boot-loader概述在嵌入式系统中,系统引导程序(boot-loader)的作用与pc上的bios似,通过boot-loader可以完成对arm板上的主要部件如cpu、sdram、flash、串行e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 惠济区消防知识培训课件学校
- 情绪的奥秘课件
- 情感配音基础知识培训班课件
- 清明节移风易俗活动方案
- 幼儿园新生军训活动方案
- 电路实验考试题及答案
- 枣庄中学面试题及答案
- 永赢基金面试题及答案
- 肾畸形护理技巧指南
- 家电公司商标注册管理规章
- DZ∕T0312-2018 非金属矿行业绿色矿山建设规范(正式版)
- 基于学习科学的小初衔接英语教学新路径
- 小学语文项目式教学设计方案
- 外科学 泌尿系统损伤
- 齐鲁名家 谈方论药智慧树知到期末考试答案2024年
- 柠檬酸在提高尿素呼气试验诊断幽门螺杆菌感染准确性中作用护理课件
- 低温余热锅炉综合利用
- 电工技能与实训仿真教学系
- 2020新译林版高中英语全七册单词表(必修一~选择性必修四)
- 离婚协议书电子版下载
- 数据治理咨询项目投标文件技术方案
评论
0/150
提交评论