1、淮阴工学院毕业设计说明书(论文) 第 I 页 共 II 页 目 录 1 绪论 . 1 1. 1 控制器的种类和特点 . 1 1. 2 嵌入式系统简介 . 2 1. 3 ARM 简介 . 4 2 系统需求分析与可行性研究 . 4 2. 1 系统需求分析 . 4 2. 2 系统可行性研究 . 5 3 嵌入式开发平台介绍 . 6 3. 1 硬件开发平台介绍 . 6 3. 2 软件开发平台介绍 . 8 3. 3 软件结构与开发流程 . 13 4 软件设计与实现 . 14 4. 1 SOCKET编程 . 14 4. 2 LCD 显示编程 . 23 4. 3 图形用户界面设计 . 25 4. 4 程序的运
2、行与调试 . 27 结论 . 29 致谢 . 30 参考文献 . 31 淮阴工学院毕业设计说明书(论文) 第 1 页 共 31 页 1 绪论 随着现代科学技术的迅速发展,自动化控制技术呈现日新月异的变化。现代日常生活和工业生产中,自动化控制技术 给 人们 的 日常生活 和 工作带来了便利,为工业生产提供了重要的保障。其中控制自动化主要包含 3 个层次,从下往上依次是基础自动化、过程自动化和管理自动化,其核心是基础自动化和过程自动化,而基础自动化和过程自动化的核心是各式各样的控制器和与之配套的软件系统。 1. 1 控制器 的 种类和特点 运动控制器:早期的运动控制器一般采用运算放大器等分立元件,
3、以模拟电路硬接线方式构成。这种控制方式具有以下优点:对 输入信号进行实时处理,没有附加延时,响应速度快;控制器的精度较高且具有较大的带宽。但是,模拟控制系统与数字控制系统相比,也有明显的缺点:老化和环境温度的变化对构成系统的元器件的参数影响很大;构成模拟系统需要的元器件较多 。 可编程逻辑控制器:可编程逻辑控制器 (PLC)是以微处理器为基础,在硬件接线逻辑控制技术和计算机技术的基础上发展起来的。它是将计算机技术与自动控制技术综合为一体的工业控制产品,由中央处理单元 (CPU)、存储器、输入输出单元 (I O)、电源、编程器等组成,是专为在工业环境下应用而设计的一 种工业控制计算机。 DDC(
4、直接数字控制)控制器的内部也是由微处理器、工作存储器、程序存储器、时钟模拟量输入输出和数字量输入输出等部分组成,和 PLC 有些类似。 通用计算机和工控机,利用高级语言编制相关的控制软件,配合与计算机进行信号交换的通信接口板,构成 了 一个控制系统。 基于专用控制芯片的控制器是将实现控制所需的各种逻辑功能做在一块专用集成电路内,并提供一些专用的控制指令,同时具有一些特定用途必须的辅助功能,使用户的软件设计工作减少到最小程度。 例如 伺服电机。 可编程逻辑器件:由于现场可编程门阵列 (FPGA)和复杂可编程逻辑器件(CPLD)具有用户可编程的特性,使得用户可以利用系统开发软件或 VHDL 等开发
5、语言,通过软件编程实现控制算法,并将这些算法下载到相应的可编程逻辑器件中,从而最终以硬件的方式实现控制。 淮阴工学院毕业设计说明书(论文) 第 2 页 共 31 页 近几年来,随着 ARM 技术的不断成熟,使用 ARM 处理器作为核心的控制器不断涌现,其原因主要是 ARM 的 特有优势: ARM 嵌入式 CPU 大多工作在为特定用户群设计的系统中,通常具有低功耗、体积小、集成度高等特点,能够把通用 CPU 中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大 增强。 ARM 片上资源丰富,集成了多种控制器,便于通讯和外围扩展。 支持 Thumb( 16 位)
6、/ARM( 32 位)双指令集,很好的兼容 8 位 /16 位器件。 处理速度快,寻址空间可达 4G,便于移植操作系统,由此可以实现系统资源调度、进程管理、进程通信等诸多功能。 操作系统的引入带来了通讯协议支持,也为复杂应用程序的开发带来了便利。 可靠性高,尤其对于工业级 ARM 芯片,可适应高过载、高冲击及其他恶劣环境。 价格低,一般几到几十元。 ARM 嵌入式工业控制系统的硬件和软件都经过高效率地设计,量体裁衣、去除 冗余,在同样的硅片面积上实现更高的性能,在具体应用中更具竞争力,产品生命周期长。 第三方工具和支持较多,为系统开发带来了便利。当然, ARM 也有自身的限制,比 如 ARM
7、在 速度和数据处理能力方面不及 DSP。但由于上述诸多优点,基于 ARM 的控制器还是如雨后春笋般涌现出来,并且随着对控制性能要求的提高,基于高性能 ARM 处理器的控制器也逐渐多了起来,应用前景十分光明。 1. 2 嵌入式系统 简介 嵌入式系统( Embedded System)是以应用为中心,以计算机技术为基础,软硬件可裁减的,能满足应用系统对功能、 可靠性、成本、体积、功耗等指标的严格要求的专用计算机系统。它可以实现对设备的控制、监视或管理等功能。嵌入式系统的概念是相对于通用计算机系统而提出的。 在对可靠性和成本控制要求较高的场合,传统 PC 和工控机都有其不足之处,而嵌入式系统正好满足
8、了这些要求,成为了这些场合的不二之选。从本质上来说,嵌入式系统是微型计算机系淮阴工学院毕业设计说明书(论文) 第 3 页 共 31 页 统,由于它们要用在具体的场合与环境,并且有一定的专用性(软硬件的裁减和定制),所以称之为“嵌入式”系统。 通用计算机系统是对执行非嵌入式应用的计算机系统的统称。它包括硬件和软件两部分。硬件包括处理器 /微处理器、存储器及外设器件和 I/0 端口、图形控制器等。软件部分包括操作系统软件和应用程序。应用程序控制着系统的运行,而操作系统控制着应用程序编程与硬件的交互作用。有时设计人员把这两种软件组合在一起。这种系统具有软件代码小,高度智能化,响应速度快等特点,特别适
9、合于要求实时的和多任务的体系。 嵌入式系统也是一种软硬件混合系统,整个系统是由硬件和软件两大部分组成。前者是整个系统的物理基础,它提供软件运行平台和通信接口,后者 是 实际控制系统的运行。硬件部分又包括嵌入式处理器、外围设备和外围电路三个部分;软件部分分为嵌 入式操作系统和应用软件两个层次,如下 表 所示 : 表 1-1 嵌入式系统软件结构 应用软件 嵌入式操作系统 处理器 外围设备 外围电路 嵌入式系统的核心是嵌入式微处理器。一般具备以下 4 个特点: 1)对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核心的执行时间减少到最低限度。 2)具有功能
10、很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。 3)可扩展的处理器结 构,迅速地 扩 展 出 满足应 用 的最高性能的嵌入式微处理器。 4)嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,如需要功耗只有 mW 甚至 W级。 淮阴工学院毕业设计说明书(论文) 第 4 页 共 31 页 按照目前的情况,根据嵌入式系统采用的处理器,一般分为三大类:基于微处理器 ( CPU) 的嵌入式系统,基于微控制器 ( MCU) 的嵌入式系统,基于
11、数字信号处理器 ( DSP) 的嵌入式系统。 1. 3 ARM 简介 ARM( Advanced RISC Machines) ,既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称 ,还可以认为是一种技术的名字。 ARM 公司主要出售芯片设计技术的授权。目前,采用 ARM 技术知识产权核的微处理器,即我们通常所说的 ARM 微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场。目前,全世界有几十家大的半导体公司都使用 ARM 公司的授权,因此既使得 ARM 技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场被消费者所
12、接受,更具有竞争力。 近几年 ARM 技术迅猛发展, ARM7 系列 、 ARM9 系列、 ARM9E系列、ARM10E系列、 SecurCore 系列、 Xscale 系列、 StrongARM 系列的微控制陆续问世。计算速度越来越高,有些系列主频可达 700MHz, 其存储能力也大大增加 ,并且集多种外围设备于一身,是真正的片上系统( SOC: System On Chip),从而大大简化了外围电路的扩展,降低了硬件成本,提高了系统的可靠性。 本课题使用的控制器正式基于 ARM9 的高性能控制器,它具备了较高的主频和 4G 的地址空间寻址范围,便于配备操作系统。同时,由于将在控制器上运行复
13、杂程序,并且要使用网络通讯功能,操作系统所提供的诸多系统功能以及内嵌的通讯协议将为 我们带来便利。 2 系统需求分析与可行性研究 2. 1 系统 需求分析 本课题是基于 ARM9 的 通用控制器主控模块设计 。 随着控制技术和计算机科学的快速发展,控制器呈现出了通用性和开放性的发展趋势。传统的控制器存在着灵活性差、开发周期长、功能单一 、 成本较高 和 难以普及等缺点,针对目前流行的 ARM 处理器和控制器 PC 化的发展趋势,本 课题 提出并设计了 一组通用灵活的控制 器软件, 该控制器软件运行于控制器 的 底层,可以避免 普通 控制器控淮阴工学院毕业设计说明书(论文) 第 5 页 共 31
14、 页 制运算 所 带来通 信 实时性问题,控制更加直接和快速。同时 还为 控制器纳入 了 一个 C/S 结构体系。 针 对现有的硬件平台和软件资源,该控制程序应当具备具体如下功能: 在实时性要求不高的场合,使程序具有统一的循环周期 。 作为客户端能够和 服务器端进行通 信 ,运行状态和用户配置参数 有一定反馈 ,并能接受 服务器 发出的配置命令。 另外,所编写的主控模块能够连接上外围接口的相关驱动,实现一个简单的LCD 显示功能。最后要 有较方便的图形用户界面, 实现简单的数据交换。 随着 本课题中 控制器软硬件平台的完善,控制程序可以继续 实现更多的功能模块。可以进一步完善 控制程序的实时性
15、特征,改善人机交互环境 ,可以添加更复杂的控制算法,实现更强大的功能。 通过以上功能分析,明确了控制器程序应具备的功能,下面将 对控制器的实现进行系统的分析。 2. 2 系统 可行性研究 本 控制器 选用基于 ARM920T内核的 S3C2410 微处理器,采用 Linux操作系统, 作为控制器系统的核心。拥有较完备的软硬件开发平台, 具体的开发平台将在下面的章节中做详细的介绍。 用到的硬件资源: JXARM9-2410 教学系统 的实验箱环境下拥有丰富的硬件资源,具有多个实现功能的硬件模块并提供了丰富的外围接口。 所以,我在控制器主控模块的设计中不需要硬件方面的设计,只需要对硬件资源进行了解
16、, 对硬件 环境 中 所用的 部分 进行归纳总结和分析。 软件资源方面采用 Redhat9.0 版本的 Linux 操作系统, 针对 Linux 内核和提供和 ARM 平台移植相关的机制 ,本设计将对操作系统 进行了一定的 改进 , 将 详细的研究内核的移植、配置、编译等 重要 环节,从而完成了 linux 系统的建立,进而完成整个 ARMLinux嵌入式平台的搭建。 其中 软件程序开发平台分为程序编辑平台和程序编译平台。程序编辑工作是在 Linux 下 的 vi 编辑器 中 进行 的 。程序用 C 语言编写,存储为标准的 C 文件或头文件。编辑好的程序经过编译、链接等生成可执行的代码。程序
17、的编译工作在Linux 环境下 gcc 编译器下进行了,因为编译工具只能在 Linux 下运行, 所以,必须熟练掌握 并熟练 运用 Linux 下的操作命令。因为 Redhat9.0 版本的 Linux 操淮阴工学院毕业设计说明书(论文) 第 6 页 共 31 页 作系统的用户界面采用 MiniGUI, 熟悉 Linux 用户界面的操作 也是十分重要的。 本 课题中 ,是在 PC 机的平台上生成能在 ARM9 控制器平台上运行的可执行代码。这样做的原因是 ARM9 控制器上的资源毕竟很有限,无法安装使用相应的编译工具,只能借助 PC 机来完成。 最后进行可行性调试,从而完成整个功能设计 。 3
18、 嵌 入式开发平台介绍 控制器功 能的发挥离不开控制软件和它所依附的硬件,复杂控制功能的实 现主要是靠软件,而高性能的硬件又是软件得以充分“施展 ” 的基础。下面 将介绍控制软件所依托的软硬件环境。 3. 1 硬件 开发 平台 介绍 3. 1. 1 微处理器 S3C2410 S3C2410 是 SAMSUNG 公司基于 ARM920T 处理器内核开发的一款 16/32位嵌入式处理器,运行频率高达 200 多 MHz, 内含一个 ARM920T 内核和如 丰富的片内外围 、 MMU 和高速缓存等 片上资源,可以广泛用于 PDA、 internet 设备和手持式设备。 其主要性能简述如下: S3C
19、2410X 芯片集成了大量的功能单元,列举如下: (1)内核采用 1.8 V 供电,存储单元采用 3.3 V 独立供电,外部 IO 采用 3.3 V独立供电, 16 KB数据 Cache, 16 KB 指令 Cache, MMU。 (2) 内置外部存储器控制器。 (3) LCD 控制器,一个 LCD 专用 DMA。 (4) 4 路带外部请求线的 DMA。 (5) 3 个通用异步串行端口, 2 通道 SPI。 (6) 一个多主 IIC 总线,一个 IIS 总线控制器。 (7) SD 主接口版本 1.0 和多媒体卡协议版本 2.11 兼容。 (8) 2 个 USB Host 接口 ,一个 USB
20、Device(VER1.1)接口。 (9) 4 个 PWM 定时器和一个内部定时器。 (10) 看门狗定时器。 (11) 117 个通用 I/O。 淮阴工学院毕业设计说明书(论文) 第 7 页 共 31 页 (12) 24 个外部中断。 (13) 电源控制模式:标准、慢速、休眠、掉电。 (14) 8 通道 10 位 ADC 和触摸屏接口。 (15) 带日历功能的实时时钟。 (16) 芯片内置 PLL。 (17) 16/32 位 RISC 体系结构,使用 ARM920T CPU 核的强大指令集。 (18) ARM 带 MMU 的先进体系结构,支持 Windows CE、 EPOC32、 Linu
21、x。 (19) 指令缓存 (Cache)、数据缓存、写缓冲和物理地址 TAG RAM,减小了对主存储器带宽和性能的影响。 (20) ARM920T CPU 核支持 ARM 调试体系结构。 (21) 内部先进的位控制器总线 (AMBA2.0、 AHB/APB)。 整体的功能模块结构如下图 所示 : 图 3.1 ARM920T 内核 和 S3C2410 功能模块结构 淮阴工学院毕业设计说明书(论文) 第 8 页 共 31 页 3. 1. 2 JXARM9-2410 教学实验系统 本设计就是在 JXARM9-2410 的软硬件环境下进行的。 JXARM9-2410 教学系统是一套软硬件集成的 、基于
22、 ARM 的完整的教学实验系统,该系统包含了丰富的硬件资源、完善而优越的调试手段和详尽的教学试验教程。 JXARM9-2410目标处理器采用 SAMSUNG公司 的 S3C2410X微 处理器 ,开发平台采用 ADT IDE集成开发环境,它有使用方便、接口丰富、扩充性好和实验丰富等特点。 JXARM9-2410 教学系统采用统一的豪华实验箱包装,除 ADT1000 仿真器外,所有配件均放置于实验箱之内,所包含配件 有 : JXARM9-2410-3 主板一块 9( 内置简易 JTAG 仿真器); ADT1000 仿真器一套(为可选配置); 320 X 240 256色彩色 LCD 显示器一块(
23、带触摸屏) ; 4 X 4 键盘一套 ; USB 连接电缆一条 ; PC并口延长电缆一条; RS-232 串口通讯线一条;直连网线一根;软件光盘一张;实验指导书一本; GPRS 天线一根 ; GPS 天线一根 。 JXARM9-2410 嵌入式教学实验平台如图所示: 图 3.2 JXARM9-2410 嵌入式教学 试验平台 3. 2 软件 开发 平台 介绍 3. 2. 1 嵌入式操作系统 虽然嵌入式控制器的应用程序完全可以在裸机上运行而脱离操作系统,但为淮阴工学院毕业设计说明书(论文) 第 9 页 共 31 页 了使系统具有任务管理、定时器管理、存储器管理、资源管理、事件管理、系统管理、消息管
24、理、队列管理和中断处理的能力,提供多任务处理,更好的分配系统资源的功能,需要针对自己的硬件平台和实际应用选择适当的嵌入式操作系统( Embedded Operating System)。目前常见的 EOS 产品包括有: Vxwork、WindowsCE、 C/OS- 等等,他们各具特点,也各自有一些不足之处 。 随着 EOS 的发展, Linux越来越多地引起了人们的重视。将 Linux用于嵌入式系统有着众多的优势,具体体现在以下方面: 1 Linux 的源代码是开放的,任何人都可以获取并修改,用之开发自己的产品,甚至可以从别人开发的基础上二次开发。 Linux可以随意地配置,不需要任何的许可
25、证,源代码可以免费得到。这使得采用 Linux作为操作系统不会遇到任何关于版权的纠纷。这些都会节省大量的开发费用。 2 Linux是可以定制的,可以根据需要将内核裁减到很小。 3 Linux 和多数 Unix 系统兼容,应用程序的开发和移植相当容易。 Linux是一个和 Unix 相似、以内核为基础的、具有完全的内存访问控制,支持大量硬件 (包括 X86, Alpha、 ARM 和 Motorola 等现有的大部分芯片 )等特性的一种通用操作系统。 4 Linux具有良好的可移植性,人们已成功使 Linux运行于数百种硬件平台之上。 Linux采用一个统一的框架对硬件进行管理,从一个硬件平台到
26、另一个硬件平台的改动与上层应用无关。 5 Linux本身内置网络支持,提供了强大的网络功能 。 虽然 Linux并非专门为实时性应用而设计,但在一些对实时性要求不是特别高的场合, Linux不失为 一个明智的选择。本系统主要考虑到 Linux的网络功能、可靠性、稳定性、源代码公开等优点,并且采用的 ARM 芯片 AT91RM9200 的MMU(内存管理单元)支持 Linux操作系统,所以倾向选择 Linux操作系统。 3. 2. 2 嵌入式操作系统 的 移植 在 PC 机的 Linux 环境下完成的 嵌入式系统存储空间往往很有限 , 需要把Linux系统根据实际应用需求进行裁剪。对 L inux 进行裁减需要对 L inux系统有一定的 了解 , 如启动过程、文件系统、目录结构、系统工具文件等 14。 1 Linux内核移植 : 在主机的 RedHat Linux操作系统下安装 Linux发行包以及交叉编译器