基于ARM体系的嵌入式系统BSP的程序设计(7篇)
1.基于ARM体系的嵌入式系统BSP的程序设计 篇一
摘要
科技改变生活,科技为人类带来了更舒适更方便的解决方案,智能家居是现代化科技的体现,智能家居也正是在应人们需求下而产生的。
本设计的内容是设计一个基于ARM的智能家居远程监控系统。整个硬件控制系统有以下模块:控制主机STM32F103VET6、无线短信收发模块GPRS(远程监控的主要模块)、用于显示的LCD1602液晶显示屏(显示测量出来的温湿度值)、测量外部环境温湿度的温湿度传感器DHT11,异步电机28BYJ-48(模拟控制窗帘收放用到的控制器)、蜂鸣器(报警用)、LED灯(模拟室内各种灯)、继电器(模拟室内各种电器的控制开关)。
温湿度传感器测量出来的温湿度数值通过LCD1602来显示,当超过设定的阈值将通过GPRS模块发送警报短信到指定的手机上,同时也可以由手机发送特定短信到GPRS上控制LED灯的亮灭、控制28BJY-48步进电机的正反转、读取当前室内的温湿度并发送回手机上,实现远程监控的。关键词 智能家居;远程监控;GPRS;ARM Abstract Technology has changed life, science and technology has brought to mankind more comfortable and more convenient solution, smart home is a manifestation of modern technology, smart home is also in demand should be generated by people.The content of this thesis is to design a remote monitoring system of smart home based on ARM.The entire hardware control system has the following modules: the host controller STM32F103VET6, wireless SMS transceiver module GPRS(the main module of the remote monitoring), LCD display(to display the temperature and humidity measured values), temperature and humidity sensor,DHT11, be used to measure the external environment temperature and humidity, asynchronous motor 28BYJ-48(analog controller curtain used), a buzzer(alarm), LED light(simulated indoor lamps), a relay(control switch simulation of indoor each kind of electric appliance).The temperature and humidity value measured by the temperature and humidity sensor and displayed by LCD1602, when more than a set threshold an alarm SMS will be sent by GPRS module to the designated mobile phone, but also can be caused by the mobile phone to send a specific message to the GPRS to control LED light, 28BJY-48 stepper motor reversible, read the current indoor temperature and humidity and sent back to the mobile phone.Keywords smart home;remote monitoring;GPRS;ARM II
目 录
摘要.......................................................................................................................I Abstract...............................................................................................................II 第1章 绪论........................................................................................................1 1.1 课题背景..................................................................................................1 1.2国外的发展动态.......................................................................................1 1.3 国内的发展动态......................................................................................2 1.4 本文各章主要安排..................................................................................2 第2章 各个硬件模块的说明............................................................................3 2.1 主控模块..................................................................................................3 2.1.1 STM32的系统架构............................................................................3 2.1.2 STM32F103VET6的内部资源..........................................................4 2.2短信收发模块GPRS................................................................................7 2.3温湿度测量模块.......................................................................................8 2.3.1 DHT11的引脚说明............................................................................8 2.3.2 DHT11的工作原理............................................................................9 2.4 温湿度液晶显示模块LCD1602............................................................11 2.4.1 LCD1602的管脚说明......................................................................12 2.4.2 LCD1602的特性..............................................................................12 2.4.3 LCD1602的基本指令......................................................................12 2.5 收放窗帘模块步进电机28BJY-48.......................................................14 2.5.1 步进电机的工作原理......................................................................14 2.5.2 步进电机的引脚接线......................................................................14 2.6 本章小结................................................................................................15 第3章 硬件系统的设计..................................................................................16 3.1 直流稳压电源的设计............................................................................16 3.2 STM32最小系统的设计........................................................................17 3.2.1电源的供电方案...............................................................................17 3.2.2 晶振电路..........................................................................................17 3.2.3 复位电路..........................................................................................18 III 3.2.4 串口驱动电路...................................................................................18 3.3 步进电机、继电器驱动电路设计.........................................................19 3.4 本章小结.................................................................................................20
第4章 软件程序的设计...................................................................................21 4.1 主函数及TIM2中断服务函数设计......................................................21 4.1.1 主函数及TIM2中断服务函数程序代码........................................21 4.1.2 主函数及TIM2中断服务函数程序流程图....................................23 4.2 GPRS来信中断处理函数设计...............................................................24 来信中断处理函数程序代码.................................................24 4.2.2 GPRS来信中断处理流程图.............................................................26 4.3 GPRS的AT指令....................................................................................27 4.3.1 本设计中用到的AT指令................................................................27 4.3.2 PDU编码...........................................................................................27 4.3.3 AT指令的使用程序设计..................................................................29 4.4本章小结..................................................................................................31 结论.....................................................................................................................32 参考文献.............................................................................................................33 致谢.....................................................................................................................35 附录一 整个硬件系统电路图...........................................................................36 附录二 开题报告说明.......................................................................................37 附录三 文献综述...............................................................................................38 附录四 中期报告...............................................................................................39 附录五 外文文献及其翻译...............................................................................40 附录六 完整的程序代码...................................................................................41 4.2.1 GPRS IV 第1章 绪论 第1章 绪论 1.1 课题背景
随着科技的提高,经济的发展,人们的物质生活水平的提高,对家居环境的要求也越来越高,作为家居智能化的核心部分——智能家居控制系统也越发显得重要。智能家居控制器可以为系统提供智能控制方案,使住户的控制更便捷,更高效,更能为家庭的日常活动节约不必要的能耗[1]。而且在现在这个注重绿色环保的世界里,智能的为住户控制好空气的湿度、温度等,检查分析空气成分,让住户安心入住。家居智能化控制的开发和建设是未来国家、经济发展的必然趋势。在科学技术日新月异的今天,智能家居产品也在不断发展寻求突破,用智能的方式缓和、解决社会矛盾,这是本课题的目的及意义所在。1.2国外的发展动态
1984年,世界上第一座智能建筑在美国的康涅迪格州建成,这座意义不一般的智能建筑是对一座旧式大楼在一定程度上的改造而完成的。它只是采用计算机系统对大楼的照明、空调、电梯等设备进行监控,并提供情报资料、语音通信、电子邮件等方面的信息服务。2000年,新加坡大约有5000户家庭采用了这种家庭智能家居化系统,而与此同时,美国采用这种智能家居化系统的用户已高达4万户。目前,在国外的家庭智能化系统技术己经越来越成熟,预计今后,越来越多的新房将会安装具有一定的“智能家居化”功能的系统。于此同时,由于科学技术的发展日益标准化,这些新型智能家居系统将会比世界首富比尔.盖茨耗资六千万美元的高端智能家居别墅便宜得多。
在家居智能化系统研发方面,美国及一些西方国家一直处于领先地位。近年来,以摩托罗拉公司及美国微软公司等为首的一些国外知名企业,先后加入到智能家居系统的研发中。比如:摩托罗拉公司开发出来的“居所之门”、微软公司开发出来的“梦幻之家”、IBM公司开发出来的“家庭主任”等都以日趋成稳的技术霸占家居市场。此外,亚洲国家日本、韩国、新加坡等国 的领头大企业也纷纷致力于家居智能化的研发,对家居市场更是跃跃欲试。1.3 国内的发展动态
1990年后,我国的智能家居化住宅小区日益兴起。我国的智能家居化住宅建筑最早起于广州、深圳和上海等沿海发达城市,并慢慢地向内陆发展。在1997年香港回归时,上海的中皇广场在建设部“97跨世纪住宅小区案竞赛活动”中被建设部科技委员会评为全国首家“智能住宅示范工程”,从此揭开了我国智能家居住宅小区发展的序幕。1999年,建设部住宅产业化办公室、建设部勘察设计司联合组织实施了全国住宅小区智能化技术示范工程,这也标志着我国的智能家居进入了一个新阶段。随着信息化技术日益普,国家经贸委领头成立了家庭信息网络技术委员会,同时信息网络技术体系研究及产品开发已经被列为了国家技术创新的重点专项计划。根据建设部的要求,截止今年,大中城市中50%的住宅要实现智能化[2]。
我国的智能家居建设相对于国外起步比较晚,尚未形成一定的国家标准。国内各大硬、软件企业机构正在积极的研发更为符合市场的智能家居化产品,以解决我国当前智能化设备使用复杂、产品价格昂贵及实用性差等缺点,而技术创新能力也逐渐向国际先进水平靠拢,这样智能家居的未来值得我们期待[3-4]。1.4 本文各章主要安排
本文第二章主要介绍了智能家居控制系统中用到的各个硬件模块,有主控模块STM32F103VET6、GPRS短信收发模块GTM900-B、温湿度测量传感器DHT11、液晶显示屏LCD1602、步进电机28BYJ-48。
第三章主要介绍了硬件系统的设计,重点描述各个功能模块电路图的设计及其功能。
第四章主要介绍了控制系统软件程序的设计,主要有主函数及TIM2中断处理函数的程序设计,GPRS来信中断处理函数的设计以及GPRS的AT指令的PDU编码过程。其中给出了主要程序代码及其程序流程图。第2章 各个硬件模块的说明 第2章 各个硬件模块的说明 2.1 主控模块
本设计整个系统的主控芯片选择的具有ARM内核Cortex-M3的STM32F103VET6。该芯片属于增强型的32位高性能微控制器,具有100引脚和高达512K字节的闪存存储器。2.1.1 STM32的系统架构
STM32VET6的系统架构包含4个驱动单元:Cortex-M3内核Dcode总线、系统总线、通用DMA1和通用DMA2;4个被动单元:内部闪存存储器Flash、内部数据存储器SRAM、FSMC和AHB到APB的桥。这些单元都是通过一个多级的AHB总线构架相互连接的,如图2-1所示。
ICode: 该总线将闪存指令接口与ARM的Cortex-M3内核的指令总线相连接。指令预取在此总线上完成。
DCode: 该总线将闪存存储器的数据接口和Cortex-M3内核的数据总线相连接(常量加载和调试访问)。
系统总线: 此总线连接Cortex-M3内核的系统总线到总线矩阵,总线矩阵协调着DMA与内核之间的访问。
DMA总线: 此总线将DMA的AHB主控接口与总线矩阵相联,总线矩阵协调着CPU的DCode和DMA到 内部闪存存储器Flash、内部数据存储器SRAM和外设的访问。
总线矩阵: 该矩阵协调DMA主控总线与内核系统总线间的访问与仲裁,仲裁采用轮换算法。总线矩阵包含4个驱动部件和4个被动部件。AHB外设通过总线矩阵与系统总线相连,允许DMA访问。
AHB/APB桥(APB): 两个AHB/APB桥在AHB和2个APB总线间提供同步连接。APB1操作速度限于36MHz,APB2操作于全速(最高72MHz)。有关连接到每个桥的不同外设的地址映射。在每一次复位以后,所有除SRAM和FLITF以外的外设都被关闭,在使用一个外设之前,必须设置寄存器RCC_AHBENR来打开该外设的时钟 3
图2-1 STM32系统架构
2.1.2 STM32F103VET6的内部资源
STM32F103VET6的引脚图如图2-2所示。
(1)内核:ARM的32位Cortex-M3微处理器;最高达72MHZ频率,Cortex-M3内部的数据路径是32位的,寄存器是32位的,存储器接口也是32位的。Cortex-M3采用了哈佛结构,拥有独立的Dcode总线和Icode总线,可以让数据访问和取指并行不悖,这样数据访问就不再占用Icode总线,从而提升了工作性能。为实现这个特性,Cortex-M3内部含有好几条总线接口,每条都为自己的应用场合而优化过,并且它们可以并行工作。第2章 各个硬件模块的说明 图2-2 STM32F103VET6引脚图
(2)存储器:512KB的闪存程序存储器;64K字节的静态数据存储器 5
SRAM,它可以以字节、半字(16位)或全字(32位)访问。(3)时钟和电源管理:
(a)三种不同的时钟源可被用来驱动系统时钟(SYSCLK):1)HSI振荡器时钟;2)HSE振荡器时钟;3)PLL时钟。
(b)STM32的工作电压(VDD)为2.0~3.6V,通过内置的电压调节器提供所需的1.8V电源;
(c)独立的A/D转换器供电和参考电压;
(d)一个完整的上电复位(POR)和掉电复位(PDR)电路;(e)可有3种不同工作模式的电压调节器;(f)可编程电压监测器(PVD)。
(4)通用和复用功能I/O(GPIO和AFIO):5组多功能双向5V兼容的通用I/O端口;可使用复用功能重新映射到其他一些引脚上。
(5)DMA控制器:支持定时器、ADC、SPI、IIC和USART等外设。(6)嵌套向量中断控制器:
(a)有68个可屏蔽中断通道(不包含16个Cortex™-M3的中断线);(b)16个可编程的优先等级(使用了4位中断优先级);(c)低延迟的异常和中断处理;(d)电源管理控制;
(e)系统控制寄存器的实现。
(7)模拟/数字转换(ADC):12位的ADC是一种逐次逼近型模拟数字转换器,它有多达18个通道,可测量16个外部和2个内部信号源。
(8)定时器:2个高级控制定时器(TIM1、TIM8);(a)4个通用定时器(TIM2、TIM3、TIM4、TIM5);(b)2个基本定时器(TIM6、TIM7);
(c)一个实时时钟、两个看门狗定时器和一个系统滴答定时器(Systick)。
(9)通用异步收发器(USART):全双工的,异步通信RZ标准格式;发送和接收共用的可编程波特率,最高达4.5Mbits/s;智能卡模拟功能。6
2.基于ARM体系的嵌入式系统BSP的程序设计 篇二
可信计算是近年来信息安全领域中的被广泛关注的一个概念,现在人们提出的可信计算一般的基本思路是:首先,在计算机系统中建立唯一的物理安全信任根部件,之后可以根据该信任根建立一条认证和信任链,进行逐级认证,逐级信任,从而可以把信任关系推广到整个计算机系统[1]。TCG(Trusted Computing Group)是制定可信计算平台标准的工业组织,其前身是1999年由Compaq、HP、IBM、Intel和Microsoft牵头组织的TCPA(Trusted Computing Platform Alliance),组织的目标是推动在计算和通信系统中使用基于硬件安全模块支持下的可信计算平台,以提高整体的安全性;目前拥有成员190家,大部分是全球各大洲的计算机主力厂商。TCG制定了TPM(Trusted Platform Moude)的标准,现在的大多数安全芯片都是基于此规范制造的,而且因为其硬件安全防护的优越性,正逐渐成为计算机系统的标准配置。
1 可信计算原理
可信计算平台是在计算系统中实现可信计算的核心部分,对整个系统的安全可信提供支撑服务。可信计算密码支撑平台是可信计算平台的重要组成部分,提供数字签名、消息加密、身份认证、内部资源的授权访问、直接匿名访问机制、信任链的建立和完整性测量、证书和密钥管理等服务,为平台的身份可信性、完整性和数据保密性提供密码支持[2]。可信计算平台的主要部分可以分为两个部分——可信计算模块TCM和可信软件栈(Trusted Software Stack,TSS),其功能架构如图1所示。
其中,TCM的通常实现为可信计算平台中的硬件部分,为可信计算平台提供密码运算功能,一般拥有受硬件保护的存储空间,TCM一般位于计算机系统的最底层,在加电的时候与整个计算机系统一起启动。TSS是可信计算平台内部的安全服务组件,为整个可信计算平台外部提供访问TPM的API软件接口。
2 系统设计
当前嵌入式系统上可信计算的相关研究成果主要有以下这些:
(1)ARM公司的Trust Zone技术:属于系统范围的安全方法,针对高性能计算平台上的大量应用,包括安全支付、数字版权管理(DRM)和基于Web的服务。Trust Zone技术与CortexTM-A处理器紧密集成,并通过AMBAR AXITM总线和特定Trust Zone系统IP块在系统中进行扩展。
(2)TMP(trusted mobile platform):可信计算组织TCG于2007年6月正式确定了可信移动平台TMP(trusted mobile platform)的规范,主要目的是为适应移动设备特点,在移动平台(手机、PDA等设备)上构建可信计算架构,为高端的移动设备提供安全保证[3]。
2.1 ARM Trust Zone技术
Trust Zone技术的主要目标是支持用户构建可编程环境,以保护信息的机密性和完整性遭受到特定攻击。如图2所示,ARM采用了以下方式确保系统安全:使用硬件的方法隔离So C硬件和软件资源,使它们分别独立位于两个不同的区域(用于安全子系统的安全区域以及用于存储其他所有内容的普通区域)中。在支持Trust Zone的AMBA3 AXITM总线中,处理器的硬件逻辑可使普通区域的资源无法访问任何位于安全区域资源,借此在这两个区域之间建立一个强大的安全边界。将敏感资源放入安全区域以及在安全处理器内核中运行核心软件,可大大减少整个系统中潜在的攻击,甚至包括那些难以察觉和防护的攻击(例如通过在硬件中隔离安全敏感的外设———手机键盘或触摸屏,避免输入的密码泄露)。
另外,在一些ARM处理器内核中Trust Zone硬件架构已实现了额外的扩展,单个物理处理器内核能够以时间片的方式安全有效地同时从普通区域和安全区域执行代码。这样,便无需使用专用安全处理器内核,从而节省了芯片面积和功耗,并且允许高性能安全软件与普通区域操作环境一起运行。
使用此安全架构,在普通区域和安全区域进行切换时,ARM使用了监视模式的方法。物理处理器中任何从普通区域进入监视模式的机制都会被控制,并且这些机制始终被视为监视模式软件的中断或异常。对要监视的内容可由安全监视调用SMC指令进行触发,或由硬件异常机制直接触发。也可对IRQ、FIQ、外部数据中断和外部预取中止异常进行配置,以便当特定条件满足时,处理器自动切换到监视模式。
2.2 TPM可信平台模块
可信平台中有一个用于密码运算的可信平台模块TPM(trusted platformmodule),它是整个系统的可信根,是信任链的源头,也是整个可信机制的核心。TPM实际上是一个含有密码运算部件和存储部件的小型片上系统,具备专用的运算处理器、随机数产生器、独立的内存空间、永久性存储空间和独立的总线输入输出系统[4]。使用符合标准规定的密码算法,对外提供非对称密钥生成运算、非对称算法加解密运算、杂凑函数运算、数字签名运算和随机数产生运算[5]。TCG规范中定义的TPM组成结构如图3所示。可信嵌入式系统引入了TPM,由TPM芯片控制完成嵌入式可信计算的核心算法,再由安全软件调用TPM计算出的结果来判断相应的系统可信度,控制嵌入式系统从一开始的上电启动到运行的全过程。
2.3 基于Trust Zone及TPM的可信嵌入式系统设计
Trust Zone技术集成于ARM芯片内,具成低、面积小、可编程等优点,但由于其普通区域和安全区域是否可以安全切换取决于其上运行的操作系统安全性,所以无法满足高强可信环境;而基于TPM构建的可信计算机系统,从一开机上电就可以对所有的资源进行信任检测,从而保证了整个系统的安全,但其安全可信的程度很大程度上决定于TPM芯片的强壮度和可靠性。两种技术的特点可以在构建可信系统时同时采用,使用时可以相互补益,从而建立一个强大的安全可信计算机系统。设计的可信嵌入式系统结构如图4所示。
如图4所示,设计的可信嵌入式系统采用了支持Trust Zone技术的ARM芯片作为CPU,并挂接了FPGA,作为控制除RAM和显示设备外其他外围设备的控制器。这样做的优点是:(1)系统可以根据具体的需求,进行灵活的功能扩展,对未来系统的改动带来便利。(2)可以在FPGA构建处理模块,针对复杂的运算设计固定的电路,加速数据的处理,同时可以减轻CPU的处理压力,提升系统性能。(3)针对外设对CPU提供统一的设备接口,屏蔽各种外设的物理差异,更方便地进行编程。(4)增大处理带宽,FPGA可以缓存各个设备的数据,为CPU计算处理提供物理支持并可以动态调节。
TPM模块与Boot ROM连接至FPGA,当系统加电时随Bott ROM同时开始工作,并对启动的第一段程序进行哈希校验,对比TPM的哈希值与得到的值,如果一致则信任;否则引起异常。接着,会验证第二阶段的引导程序,直至到操作系统安全启动。当操作系统启动后,运行的应用程序的安全由Trust Zone和TPM共同确保;当应用程序刚刚从存储中取出时,TPM即要对其进行信任校验,通过则交由Trust Zone进行处理,进入普通区域运行,如果需要切换到安全区域则需要进行安全检查通过后才能顺利运行。
3 结语
随着云计算、物联网等信息技术的兴起,嵌入式系统必将更加广泛地应用于消费电子、网络通信、政府办公、工业控制、军队国防等领域。针对信息敏感的应用,设计可以安全可信运行的嵌入式系统已经是当前嵌入式系统发展迫切需求解决的问题。就当前的嵌入式系统结构,设计了一种高可信、可扩展、应用灵活的可信嵌入式系统,为可信嵌入式系统的构建提供一种思路。
参考文献
[1]Joe Grand.Practical Secure Hardware Design for Embedded Sy-stems[C]Proceedings of Embedded System Conference.2004:124-126.
[2]沈昌祥,张焕国,冯登国,等.信息安全综述[J].中国科学E辑:信息科学,2007,37(2):129-150.
[3]林小茶,李光.基于嵌入式技术的信任根研究[J].计算机工程与应用,2007,43(16):165-168.
[4]TPM_Main_part1_Design_Principles_Specification_Version_1.2[EB/OL].https://www.trustedcomputinggroup.org/Specs/TPM/,2008.
3.基于ARM体系的嵌入式系统BSP的程序设计 篇三
前置机通信板使用ARM 微处理器,通过两路以太网口利用安全通信协议实现与联锁机的通信,通过两路CAN 总线实现与电子执行单元的通信,提供8 个LED 灯位来实时显示各种工作状态,利用上电初始化时读取背板地址来动态设置两通道的IP 地址,并能够以主备方式工作。系统的设计与实现
2.1 VxWorks 系统的主要性能特点
VxWorks 系统所需要的存储空间最小要8KB(ROM),具有极好的可伸缩性;支持中断驱动的优先级抢占式调度和时间片轮转调度,并具有确定的、快速的上下文切换能力;支持信号灯、消息队列、管道、信号和套接字等进程间通信和互斥手段;支持诸如Ring、buffer、linklist 等共享内存技术;确定的微秒级的中断响应时间;支持使用于多种物理介质的TCP/IP 协议簇和几乎所有常用的基于TCP/IP 的应用层协议;快速灵活的I/O 系统;支持多种文件系统。
2.2 BSP 开发流程
BSP 的开发需要一个与目标板硬件环境相近的参考BSP 和相关代码模板,从而本文中的目标板是在公司已有的联锁机三取二主板的BSP 基础上,进行的二次开发。开发环境的建立,主要是以目标板BSP 文件为模版在Tornado 安装的target config 目录下创建用户BSP 目录bspname,把Tornado target config 下文件和BSP模版文件拷贝到该目录下。根据目标板的不同功能对配置文件、寄存器和引脚、内存地址映射、makefile 文件和相关驱动程序等进行配置和修改。根据具体需要在命令行环境下利用Makefile 创建各种镜像,也可以在Tornado 集成环境下Build 菜单中选择Build Boot Rom来创建各种类型的Boot Rom 镜像。镜像和驱动程序调试
初级阶段,主要指bootrom 的调试。bootrom 的开发是VxWorks BSP 开发的起点,目标机没有提供任何服务,使用ADS 中的AXD 工具,通过JTAG 口将编译好的bootrom 文件加载到目标机中。在串口初始化后可以使用串口向电脑打印相关信息,观察bootrom 的运行状态。高级阶段,主要是指最小系统调试完毕后。这时串口驱动完成,在程序中调试相关函数可以轻松实现控制台串口的信息答应,并且串口可以作为开发主机与目标机之间的WDB 通道通信,WDB 连接上后就可以使用Tornado开发环境中提供的工具进行调试。
3.1 调试环境
开发主机操作系统为Windows XP,BSP 应用编程基于VxWorks 嵌入式实时操作系统,并在Tornado 集成开发环境下开发调试。开发主机与目标板之间通过ARMmulti-ICE 仿真器连接,开发主机利用该仿真器调试用于目标板的bootrom_uncmp 镜像和VxWorks 镜像。为了更好的调试,需要查看目标板BSP 的运行过程等信息,然而本目标板不具备VGA 接口,只能通过其自带的串口来输出调试信息。目标板通过自带的串口接9 针串口线与工控机(本设计中的开发主机只带有1 个串口)的COM1 相连,在工控机上利用超级终端来输出打印信息。在串口调试成功后,开始调试网口,目标板利用网口来启动VxWorks,这时目标板需要从开发主机上的TFTP来下载VxWorks。目标板镜像bootrom_uncmp 和VxWorks调试成功后,便可去掉开发主机与目标板之间的ARMmulti-ICE 仿真器,接上J-link 烧写工具,开发主机利用该工具把bootrom_uncmp.bin 烧写到目标板的ROM中。
3.2 target server 的配置以及J-link 烧写工具为了能够实现正常连接,需要对target server 作相应的配置。并用J-link 把bootrom_cmp.bin 镜像烧到ROM 中。
3.3 超级终端
由于目标板硬件上没有VGA 接口,为了便于调试BSP 镜像和相关硬件驱动程序,用USART 下的Debug 口来输出调试信息。
3.4 其它调试
通过网络设备来启动VxWorks 系统时,需要通过TFTP 来下载bootrom_cmp 镜像和VxWorks镜像。在DebugMode 下,用串口、网口、TrueFFS 均能成功启动VxWorks后,便可改动启动模式为内部启动,即在BOOT Mode 下编译BSP,并重新生成boot image 镜像和VxWorks 镜像。
3.5 驱动程序的调试
Debug Mode 和Boot Mode 都能正常启动后,说明镜像是正确的。这时需要调试CAN 控制器SJA1000 的发送、接收功能,LED 灯光的设置和显示,动态电路的切换,背板地址的读取,网络地址的自动判定,模式开关的读取。结论
在本次设计,本人参阅了大量的文献资料,了解了VxWorks 实时嵌入式操作系统中板卡支持包BSP 的概念和作用,熟悉了ARM CPU 结构,掌握了基于ARM平台的VxWorks 操作系统BSP 开发的技术难点和重点,完成了VxWorks 操作系统在ARM9 芯片AT91RM9200 上的BSP 设计与调试,实现了CAN 控制器SJA1000 的驱动、0~9档的模式开关选择、LED 状态灯的读取和控制、主备切换的动态电路以及板卡背板地址和网络地址的读取。
参考文献
4.基于ARM体系的嵌入式系统BSP的程序设计 篇四
1 嵌入式系统的基本概念
根据IEEE(电气和电子工程师协会)的定义,嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”(devices us ed to control,monitor,or assist the op eration of equipment,machinery or plan ts)。从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。目前国内一个普遍被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
2 系统总体设计
本实验旨在设计出一个最小应用系统,需要选用合适的ARM芯片,并有有电源电路,复位电路,数码显示电路,晶振,外扩存储器等硬件设备。采用time 0作为定时器,每隔一分钟产生一次中断,在中断服务程序中,依次对ADO输入信号进行一次采样,数据存入到片内RAM中,并显示到CED上,同时完成相应的VIC初始化程序,定时中断服务程序,中断向量表设置,堆栈初始化。
3 系统的硬件设计
ARM芯片可选用PHILIPS公司的LPC2103,该芯片基于32位ARM7TDMI-S CPU,具有丰富的存储资源和较全面的扩展端口合适用于本实验。
CPU连接图如下:
如图1所示。
电源电路如下:
如图2所示。
复位电路如下:
如图3所示。
晶振电路如下:
如图4所示。
显示电路如下:
如图5所示。
由于所选芯片内部存储空间足够用于本次实验,所以没有设计外部扩展存储器电路。
4 系统程序开发
本实验已研究至此,选取了最合适的A RM芯片型号来设计出应用程序并完成了相应的VIC初始化程序,经实践可知该实验的步骤条理清晰明确,程序设计方面也能正常运转,实现系统总体设计要求。
5 结语
信息时代,数字时代使得嵌入式产品获得了巨大的发展契机,为嵌入式市场展现了美好的前景,同时也对嵌入式生产厂商提出了新的挑战,从中我们可以看出未来嵌入式系统的几大发展趋势:(l)Java虚拟机与嵌入式Java将成为开发嵌入式系统的有力工具;(2)“无处不在的智能”(Ambie nt Intelligence,Am1);(3)操作系统越来越便于移植;(4)网络互联成为必然趋势;(5)向E SOC发展;(6)提供友好的多媒体人机界面.
随着计算机技术、微电子技术和网络技术的不断发展,人类社会正逐步进入后P C时代,嵌入式系统在不断解决现有问题的同时,也在向更深的方向发展,而且以其越来越先进的技术和越来越广阔的应用领域,必将成为后PC时代的擎天柱。加之互联网技术在世界范围的扩展和中国通信事业的高速发展,相信嵌入式系统在我国将有美好的发展前景。
摘要:本文介绍了嵌入式的基本概念,设计出基于ARM芯片的小型应用系统,以及相应的VIC初始化程序,最后以此来展望嵌入式系统的未来。
5.基于ARM体系的嵌入式系统BSP的程序设计 篇五
服装CAD专用绘图仪是主要的专业计算机图形输出设备之一,国内需求量大,其实质上属于XY型直角坐标绘图仪。相对于目前国内外其它服装绘图仪产品,项目在研制过程中将改进目标定位于机械结构简单、控制精确高速,因此选择采用ARM嵌入式控制系统,其中嵌入式控制软件基于μC/OS-II实时操作系统来实现。
服装绘图仪的设计主要是设计机械结构及嵌入式控制系统,即机电一体化系统。本文将分别从机械部分、电路部分及软件部分顺序介绍,重点是介绍服装绘图仪的嵌入式控制系统及其在配套机械部件模型上的测试。
2 服装绘图仪结构设计
2.1 机械结构及工作原理
服装绘图仪的机械结构主要是绘图台、持笔横梁、X轴传动杠、Y轴传动杠、X轴及Y轴步进电动机、绘图笔及其伺服电机、主控制板及电机驱动板等。
服装绘图仪主控板接收来自上位机的绘图指令,输出相应的PWM信号控制电机驱动板驱动X轴Y轴步进电机连动,同时控制笔头伺服电机使绘图笔起笔或落笔。X轴Y轴步进电机连动驱动X轴传动杠、Y轴传动杠连动。X轴传动杠带动持笔横梁,Y轴传动杠带动位于持笔横梁上的绘图笔。落笔后,两轴连动就可以在绘图纸上画出各种图形。
在X轴Y轴传动杠上均安装有微动开关,横梁运动至绘图区域边界时,微动开关就会自动停止横梁的运动。此外,motor encodes与linear encoder测量X轴Y轴位置信息并反馈给主控板。
2.2 笔头机构设计
笔头机构必须是一个相当稳定的部件,并且要容易更换绘图笔及持笔器,能替换刻刀或油墨喷头。笔头机构部件由PWM控制伺服电机驱动。
伺服电机受电机驱动板控制,在Z轴方向移动绘图笔,实现抬笔落笔,同时控制PWM波形,笔尖行程同时改变,这样不仅有一定的笔压力而且压力可调,可以提高笔迹在绘图纸上的清晰度及精确性。
3 控制系统设计
控制系统设计主要包括主控制板(嵌入式控制系统)、电机驱动电路及系统软件设计。
3.1 嵌入式系统
控制系统主控制电路中,使用ARM7微控制器LPC2210,系统时钟达到60MHz。采用2M NOR FLASH存放BootLoader程序,μC/OS-II操作系统存放在16M NAND FLASH中,8M PSRAM存放大数据量的绘图文件,LPC2210直接控制行程限位电路、Motor Encoders及Linear Encoders。主控制电路通过光电隔离电路与电机驱动模块相连,并从Motor Encoders与Linear Encoders获得电机位置的反馈信息,以更精确地控制电机位置。系统中LCD显示器显示工作方式及状态等信息。控制系统通过RS232C接口与上位机相连。嵌入式控制系统硬件结构如图1所示。
3.2 电机驱动电路
服装绘图仪的走纸与走字驱动均采用四相步进电机,用四相八拍激励方式,电机步进相序由FPGA输出不同频率的PWM信号来实现。X轴Y轴步进电机由达林顿管ULN2003A进行功率放大驱动,在应用中可算出各相在某一时刻的电流值,把各细分点的电流参数记录下来,电机运行时以查表的方式取出数据,进行细分控制,使电流矢量旋转时每次的变化角均匀且大小或幅值保持不变,这样驱动步进电机可以平滑运行,提高绘图笔绘图的精确性。给纸电机、卷纸电机及笔起落电机都由H-Bridge电路驱动,由板载FPGA输出PWM信号控制,不同的PWM信号分别控制加速/减速、正转/反转、停止/起动。电机驱动电路如图2所示。
3.3 系统软件设计
系统软件设计主要是控制系统软件及“绘图-运动”转换软件。控制系统软件部分采用基于实时内核的操作系统μC/OS-II,并编写多任务应用软件实现具体绘图控制,如图3所示。
u C/OS-II初始化是通过调用OSInit()实现的。OSInit()初始化uC/OS-II的所有变量和数据结构,建立空闲任务OS_TaskIdle()。uC/OS-II的启动是通过调用OSStart()实现的,完成分配任务栈;建立任务函数体;函数体中包含的变量、功能函数等的初始化;描述启动任务。传递任务地址、堆栈地址及优先级;在main()中完成启动流程和任务运行前的LPC2210芯片硬件初始化事件控制块和用于实现任务间通信的事件控制块的初始化。该控制系统多任务部分具体为:可预测模糊PID计算与调节任务;位置采样任务;步进电机PWM控制中断任务;伺服电机控制任务;键盘处理及液晶显示任务;串口通信处理任务;控制错误及报警处理等。
“绘图-运动”转换软件部分的功能是,输入AutoCAD或CorelDraw绘图工具产生的HP-GL语言的绘图文件。HP-GL命令以分号间隔,程序对绘图文件扫描,遇到分号即调用Analyse Command函数,扫描结束时调用Close函数关闭扫描任务。Analyse Command函数清除获取文本中的非HP-GL有效字符,然后将HP-GL命令Command XX送至Interpolate函数。Interpolate函数计算X轴Y轴电机的工作点,并调用圆滚线算法画线,如果命令中Z轴状态改变,暂停X轴Y轴电机,然后驱动伺服电机抬笔或落笔。绘图完毕后,调用Close函数将绘图点停放至起始点。
4 测试及结论
笔者对服装绘图仪的ARM嵌入式系统控制电路设计作了测试,改变X轴Y轴电机协动速率,可以绘制不同斜率的曲线,协动速率越高,曲线斜率越大,协动速率为零,则是绘制直线。
用CorelDraw软件绘制一个任意曲线图形,然后输出至服装绘图仪,效果如图4所示。多出的一段斜线是测试时一开始就将画笔落至纸上,为了说明画笔从起始点起动开始绘图,结束后又停放在了起始点上。
服装绘图仪的设计开发涉及机械结构设计、硬件电路设计、系统软件及模块设计,内容繁多且控制复杂。因此,采用基于ARM的嵌入式系统,不仅方便内嵌实时操作系统,进行多任务管理,更简化了系统硬件设计,提高了开发效率。由于开发时间短,机械结构部分还不能进行大幅面绘图,同时绘图时存在回差,下一步我们将会在测试机的基础上提高其可用性。
参考文献
[1]Barinov Y A.A Simple Analog Input Unit fora Computer[J].Instruments and ExperimentalTechniques,2003(46):636-638.
[2]赵成,荆立帅.基于ARM的模糊自整定PID温度控制系统[J].电脑知识与技术,2007(18):1681,1720.
[3]宋凤娟,王春生,刘树明.基于单片机的X-Y绘图仪控制系统设计[J].单片机开发与应用,2007(23):108-109.
6.基于ARM体系的嵌入式系统BSP的程序设计 篇六
水质监测数据是环境保护决策的重要依据。目前, 在实际工作中, 大量采用的水质监测手段仍然是传统的实验室手工分析方法, 这种水质监测存在着很多问题, 如水质监测点少、现场监测能力低, 不能及时掌握水污染事故和水质突变情况;同时水质监测信息处理实时性差, 不能满足新时期水资源管理保护的要求。
随着环境保护事业的不断发展, 对环境监测的要求越来越高, 传统的监测方法和手段已经不能满足当今社会的需求。针对上面问题, 经过分析国内外水质监测方法, 自主设计一套水质监测系统, 可以对水域进行连续在线监测、自动采样、自动分析, 并自动将数据上传到监控中心。
本文以32位ARM7微处理器为核心, 设计了一种集水质信号监测、以太网通信和自动报警为一体的嵌入式应用系统, 并以此为基础构建了基于以太网的分布式嵌入式监控系统, 用于对分散的水质监测点进行远程监控、统一管理。
1、监测系统
1.1 监测系统的总体设计
水质监控系统是整个系统由中心机房和各远程监测端组成, 远端监测端的核心设备是远端监测仪, 各远端监测仪与监测中心计算机通过以太网接口组成VLAN (也可通Internet相连) , 终端之间的数据通过TCP/IP协议进行通讯。
本系统中, 监视仪获取其他几项水质信息, 最终通过internet网络将采集的水质信息发送到监控中心服务器, 用户只要在监控机房登陆上位机软件即可查询相关水质信息。本系统的设计对提高水质环境的监控力度、预防水质恶化有重要的意义。
1.2 监测系统的功能
远程水质监控终端的主要功能是测量总氮的浓度, 并通过RS232总线接口将其他仪器采集的数据通过处理器处理后打包发送到上位机服务器, 并可以接收上位机发送的指令, 进行相关操作。
1.2.1 监视仪
远程监控终端是水质远程监控系统的核心部分, 负责测量检测总氮的浓度信息;并通过采集点或者RS232总线采集有关其他水质仪器工作信息的数据, 并把这些数据通过GPRS网络按照通信协议, 传送到监控中心。监控终端实时检测水质的情况, 如果发现总氮浓度等水质参数出现异常, 立即向监控中心报警。
1.2.2 监控中心
监控中心由监控计算机和监控软件组成。监控中心平台是对数据库进行监视和控制的操作平台, 具有很方便的进行数据库信息的查询等操作功能。
监控计算机是具有固定IP地址的主机, 可接入Intemet网络。监控中心接收远程监控终端上传的总氮、总磷、COD等数据, 进行相应数据转换、处理后, 在监控系统的上位机软件上实时显示出来;对于远程监控终端检测到的报警信息, 将给予报警提示。这样, 监控中心就可以实时直观地掌握水质的动态信息。监控中心配备的大型数据库, 可同时对水质相关的数据进行记录和存储, 以便进行数据查询。除接收远程监控终端的上传数据外, 监控中心还应具有下发调度命令和远程配置参数等功能。
2、监测仪的硬件设计
本监测仪以基于Linux的嵌入式系统为核心, 通过键盘进行人机对话, 数据可通过LCD屏实现现场显示。重要数据以文件形式保存在Flash存储器中, 数据和报警信息还可通过串口向上位机传输, 也可通过GPRS向Inernet发布信息。用户可通过显示界面查看水质的各种参数, 实现远程监控、远程维护。其结构如图1-1所示。
2.1 MAX232电平转换电路
其中MAX232是TTL/RS232电平转换芯片, 其TTL电平端是这样构成的:12脚和11脚接MCU的数据收发口RXD和TXD端。与TTL对应的RS232电平端是13、14脚, 他们按照COM9的引脚定义接到插座U9 (DB9/M针式封装) 。该插座通过自制电缆接到无线数据传输模块的COM插座。图3中的4个1uF电容是用于MAX232内部的两个电荷泵电路, 分别将+5V转换成±10V。
2.2 A/D转换及接口电路
A/D转换芯片TLC2543和微处理器之间的数据传送最快和最有效的方法是用串行外设接口 (SPI) , 但这要求微处理器带有SPI接口能力。对不带SPI或相同接口能力的微处理器, 需用软件合成SPI操作来和TLC2543接口。图4为TLC2543和S3C44B0X的接口电路。TLC2543的I/O CLOCK、DATA INPUT和CS端由单片机的双向I/O口的P1.0、P1.1和P1.3提供。TLC2543转换结果的输出 (DATA OUT) 数据由P1.2接收。
2.3 液晶显示接口电路
液晶显示芯片RT12864-M提供了两种显示数据传输的接口方式, 即串口与并口方式。在并行传输方式下, LCM模块提供了DB0-DB7 8位数据线, 以及模块的电源线, +5V电源, 灰度调节, 背光输入电压LED_A、LED_K, 以及控制线W/R、RS、E。本系统的液晶显示模块工作在串行方式下, 可以节省单片机与液晶显示模块的硬件引脚资源, 通信时只要把RT12864-M的4、5和6脚接单片机, 15脚接地即可完成接口连接, 如图5所示。在串行接口方式下, 图中ARM的P22作为液晶显示模块的片选信号, P2.1作为串行数据接口, P2.0作为串行传输的同步时钟信号。
3 结语
本文分析了水质监测系统的特点和功能, 介绍了监测系统的系统结构并分析了各个功能模块的功能, 最后提出了通信的方式和优点, 为数字变电站的通信控制器的发展提供了参考。
摘要:本文以32位ARM7微处理器为核心, 设计了一种集水质信号监测、以太网通信和自动报警为一体的嵌入式应用系统, 并以此为基础构建了基于以太网的分布式嵌入式监控系统, 用于对分散的水质监测点进行远程监控、统一管理。
关键词:水质监测数据,ARM7,以太网,分布式嵌入式监控系统
参考文献
[1]宋凯、严丽平、谢昕等.基于GPRS的嵌入式Internet接入平台设计[J].微计算机信息.2006.22:8-2
[2]王培源、王广龙、李戍.基于ARM7的多路信号实时监控系统设计[J].微计算机信息.2007.23:4-2
[3]俞露.基于ARM的嵌入式系统硬件设计 (D) .浙江:浙江大学.2003
[4]马少平、骆志刚、孙雷、赵翔、何万双.基于ARM的GPRS远程终端设计与实现[J].微计算机信息.2006.22:5-2
7.基于ARM体系的嵌入式系统BSP的程序设计 篇七
关键词:机械设计,卷板机,数控系统,嵌入式,ARM
0 引言
卷板机是金属加工行业广泛使用的加工装备。卷板机数控系统可满足方便、高效、高精的生产要求。目前广泛应用于卷板机上的数控系统是基于工业控制计算机和PLC开发的,技术已经十分成熟。随着电子行业技术的进步,嵌入式处理器凭借自身优势得到越来越多的应用。相对于传统的基于PLC开发的数控系统,嵌入式系统体积小,功耗低,成本低,同时能够运行嵌入式操作系统,多任务处理能力强,运算速度快。从近年的发展趋势看,工业控制系统的嵌入式化将是工业控制系统发展的一个重要方向。
本文详细介绍一套采用ARM926EJ核的S3C2416处理器和Altera公司MAX II系列CPLD EPM570T144C5为控制核心的数控系统设计方案。该系统具有完备的用户接口和控制接口、运行Linux操作系统、拥有基于Qt设计的友好触控界面,可适用于常用的三辊或四辊卷板机控制。此系统具有一定的通用性,也可搭配合适的数控软件应用于其他工业控制场合。
1 数控系统硬件结构
该数控系统硬件设计主要分为ARM最小系统和CPLD互联以及基于CPLD扩展各种I/O接口两大部分。该数控系统具有64MB DDRII运行内存,256MB SLC NAND Flash存储器用于存储系统软件和数据,ARM处理器运行主频为400MHz。ARM处理器是系统的控制核心,完成数据计算、系统控制、人机交互、通讯等任务。因ARM芯片I/O端口数量有限,而控制卷板机需要较多的I/O端口,采用CPLD扩展各类控制接口。ARM通过16位数据总线、8位地址总线、控制总线(片选、读、写信号等)以并行总线方式与CPLD实现互联。
该数控系统电源电压为5V,由于数控系统需要有不同的电压确保各类器件正常工作,在系统电源模块中分别采用LM2596、AD0515、AD587等专用电源器件实现系统所需的5V、3.3V、±15V、±10V等各种不同电压。CPLD运行时钟由50MHz的晶振提供。
卷板机数控系统需要对卷板机的工作辊、倒头装置等进行控制,根据卷板机液压系统原理,对各种液压控制元件进行控制,同时还需要对现场的各种传感器、编码器、开关量信号等进行采集以用于工作辊运动控制和监测设备运行状态,系统采用2片CPLD芯片扩展了24/44路开关量输入/输出接口、16/8路模拟量输入/输出接口以及6路增量式旋转编码器信号输入接口以满足控制需求,此外系统还具有触摸屏LCD、USB、UART、以太网络等接口。系统硬件部分设计成主控制电路板和各个接口电路板相分离的形式,便于构成不同配置的系统。
数控系统硬件接口整体结构如图1所示。
数控系统的各种硬件接口功能如下:
开关量输出接口用于控制液压电磁阀等控制元件,开关量输入接口用于采集现场的各种开关量输入值。采用PC817光电耦合器实现开关信号的光电隔离,在数字量输出时采用ULN2803提高输出功率。
增量式编码器接口采集旋转式编码器信号,用于卷板机工作辊位移、角位移等的测量,需要将A+、A-、B+、B-、Z+、Z-差分信号转为A、B、Z单端信号,通过光电隔离以及信号整形来获得良好的信号波形,再将信号电压转换为CPLD引脚容许电压即可送入CPLD。
图1 基于ARM的卷板机数控系统硬件结构
AD转换电路用来测量卷板机液压系统的工作压力以及部分位移信号,采用12位的AD转换器AD1674和多路模拟开关AD7506实现。
对于一些控制精度要求高的卷板机,液压缸的运动控制采用了电液比例阀,需要模拟量输出接口来用于控制电液比例方向阀和比例压力阀,采用12位4通道DA转换器DAC7724芯片实现。
LCD触摸屏接口用于外接8寸触摸屏、USB接口可以用于外接键鼠、UART接口用于与上位机进行通讯、以太网接口不仅可用于系统更新时的NFS挂载,同时也可用于实现控制系统网络化,ARM JTAG接口用于ARM程序调试,CPLD的JTAG接口用于CPLD程序的下载。
2 数控系统软件
数控系统软件实现人机交互、控制算法、分配和控制系统硬件资源、发出控制信号和设备状态监测等任务。卷板机数控系统软件分为应用控制层、操作系统层和硬件层三部分。该数控系统运行Linux操作系统,其中操作系统层包括操作系统API、操作系统内核、设备驱动程序三部分。应用层软件通过操作系统API与系统层进行信息交互,系统层则通过设备驱动程序驱动CPLD与其他外设,使信号通过硬件接口与被控设备产生交互以实现控制。系统软件结构以及三者之间的关系如图2所示。
2.1 应用层软件
数控系统的应用控制软件主要包括人机交互模块、控制模块、数据采集模块和故障诊断模块,其中人机交互模块包括工艺参数计算、系统参数设置等功能模块。
图2 卷板机数控系统软件层次结构
2.1.1 人机交互模块
人机交互模块基于Qt开发,以水平下调式三辊卷板机人机交互模块为例,其主要包括工艺参数计算、工艺参数选择、系统参数设置、动作状态输入、辅助可视化、故障提示等主要功能模块。
工艺参数计算模块依据输入板材尺寸和工件参数,按工艺计算算法计算获得对应的加工工艺参数,并将此工件参数和工艺参数分别保存到数据库中的工件参数表和工艺参数表中。
加工工艺参数选择是从数据库中调出保存的工件参数所对应的工艺参数进行加工,同时加工工艺参数将在主界面工序列表中显示,可对列表中的工艺参数进行编辑修改并保存。
系统参数设置提供一些加工常用的参数值或极限值,可用于加工或限定部分输入参数值大小以保证卷板机的加工精度,保存在数据库的系统参数表中,可以根据具体情况进行参数的修改。
动作状态输入是对卷板机进行一系列手动调节。辅助可视化将直观地显示出上辊左、右主缸压力和液压电磁阀状态,由Open GL设计的模拟工作辊可模拟加工时工作辊状态及位置变化。故障显示是对设备运行的故障作出提示。三辊卷板机数控系统界面如图3所示。
2.1.2 控制模块
控制模块实现卷板机加工的自动控制,使卷板机按照设定的加工参数对卷板机工作辊进行运动控制,完成一定规格工件的加工。控制程序通过中断方式实现,由CPLD提供中断信号。
对于多数采用液压传动系统的卷板机,由液压马达驱动工作辊做回转运动、液压缸实现工作辊的移动或工作辊的倾斜,可能还有翻倒缸控制倒头的复位和翻倒、平衡缸控制工作辊的平衡等。在卷板机液压系统中,工作辊、倒头装置等被控对象都有对应的液压电磁阀等被控元件,通过对这些电磁阀动作进行一定的组合可以使被控对象执行相应的动作。卷板机加工时,控制程序使用工件的加工工艺参数来设定每道加工工序中各个工作辊的位置值等相关参数,并结合采集的位置反馈值,工作辊动作控制子程序将按照一定的控制算法产生控制信号控制液压系统中的液压电磁阀等控制元件使工作辊执行相应的动作或到达指定位置。卷板机某工作辊的运动控制流程如图4所示。
图3 基于Qt设计的三辊卷板机人机交互界面
图4 工作辊位置控制流程
当卷板机的所有工作辊完成了系统设定的所有加工工序,加工过程结束。如果卷板机有倒头装置,则控制倒头液压缸带动倒头下降,取出制品。
需要注意的是对于一个工作辊由多个液压缸带动的情况,工作辊时移动需要对液压缸的运动进行同步。采用“主从模式”来进行同步,即设定其中一个液压缸的运动为主运动,其输出为理想输出,其余液压缸的运动为从运动,从运动受到控制来跟踪主运动的理想输出来实现液压缸的同步运动。
2.1.3 数据采集模块
数据采集模块用于采集各种反馈量和状态值便于了解卷板机的工作状态。采集各种开关量、压力传感器、位移传感器、编码器的反馈值等用于监测设备工作状态和工作辊的运动控制。
2.1.4 故障诊断模块
故障诊断程序主要用于发现设备故障并可在数控系统界面的错误提示窗口上做出故障提示便于故障查找和排除,实时了解卷板机的运行状态。
2.2 系统层程序
本数控系统运行Linux操作系统,系统层需要有CPLD设备的驱动程序才能使CPLD正常工作。CPLD设备驱动的基本原理是将CPLD作为Linux操作系统的一个字符型设备文件,通过Linux系统提供的设备文件统一函数接口进行各种操作,如设备的初始化和释放、设备的读和写、设备的打开和关闭等。需要注意的是,用户空间对CPLD设备的访问通过内存映射机制实现,即将CPLD芯片看作是连接在ARM处理器芯片存储Bank上的一段物理地址来寻址,然后将此段物理地址空间映射到虚拟地址空间,通过操作系统API可对此I/O内存资源进行访问。
本系统中,CPLD挂载在ARM的n RCS5对应的存储空间上,其物理起始地址为0x28000000,通过ioremap()函数调用可将对应大小的一段物理地址映射到内核虚拟地址空间。通过ioread()、iowrite()类函数对内核虚拟地址空间进行读写访问,使用copy_to_user()从内核虚拟地址空间中读数据到用户空间,而写操作则使用copy_from_user()实现相反的功能。
2.3 硬件层程序
硬件层程序需要编写CPLD程序,在该数控系统中,CPLD程序主要完成对系统的输入输出信息进行预处理以及为外围芯片如AD/DA转换器等芯片提供运行时序和进行相关控制。CPLD程序主要包括ARM与CPLD通信程序、开关量I/O信号处理程序、AD、DA芯片时序控制程序、旋转编码器信号处理程序、中断信号发送程序几个部分,采用VerilogHDL语言可方便地实现各种功能。
ARM与CPLD的通信程序实现ARM对CPLD内部寄存器的访问,原理是将CPLD作为ARM的外部存储器挂载在ARM的存储器Bank上,通过内存映射,按照ARM读写总线的时序要求来编写Verilog HDL程序,按地址访问CPLD内部定义的寄存器。实现正常的读、写操作需要设置好ARM处理器控制寄存器对应的位宽、总线速率等。
开关量信号处理程序负责读取开关量输入信号以及发出开关量输出信号。输入信号由硬件接口获取,经调理电路后寄存到CPLD内部定义的寄存器中,供ARM读取;开关量输出信号则由ARM将要输出的信号发送到CPLD相应的寄存器,并由CPLD对应的引脚输出,信号经过调理电路,最终通过数字量输出接口输出。
A/D转换时序程序是根据芯片手册提供的时序要求编写出其转换状态变化的有限状态机程序,CPLD产生时序信号并提供给A/D转换器芯片。转换后的数据寄存到CPLD的寄存器中由ARM读取。由于16路模拟量需分时送入A/D转换器,需要编写多路模拟开关的通道选择程序,设计思路是CPLD程序接收ARM发送开始通道和结束通道的地址,然后程序可以实现分时选通这两个通道之间的通道,或者选通任意单个通道。
D/A转换的数据则由ARM通过CPLD寄存器间接发送到D/A转换器进行转换。由于系统的数据总线为16位,D/A转换器为12位,CPLD程序接收ARM发送的包含D/A转换器通道地址和转换数据的数据帧并发送到D/A转换器的各个通道的数据寄存器,然后CPLD程序接收ARM发送转换信号即可实现各个通道的模拟量输出。
增量式旋转编码器信号处理程序将CPLD读取到的编码器A、B两相信号进行四倍频、依据相位进行辨向、对编码器信号进行计数操作后得到编码器的计数值,寄存在CPLD寄存器中供ARM读取。每一路编码器对应一个计数寄存器,同时还定义一个6位的清零寄存器,通过对相应的位赋1来清零相应编码器的计数寄存器。
中断信号发送程序每隔一定时间发送一个中断信号给ARM,是控制程序运行的中断源程序,系统中设置每2ms发送一个中断信号。
CPLD程序使信号在硬件接口上正常输入与输出,实现数控系统对设备的控制。
3 结论
基于ARM的嵌入式卷板机数控系统接口丰富,结构简单,可以根据控制需要配置不同的接口模块,具有一定的通用性和较好的灵活性,用户界面友好,结构紧凑、功耗低,可用于目前普遍使用的卷板机数控系统的替换和改造。
参考文献
[1]方四喜.埃斯顿嵌入式数控系统在三辊卷板机上的解决方案[J].锻压装备与制造技术,2012,47(4):51-53.
[2]邢伟荣,原加强,郭永平.水平下调式结构在大型三辊卷板机上的应用[J].锻压装备与制造技术,2006,41(5):20-22.
[3]刘源,朱善安.基于ARM9和CPLD的嵌入式工业控制系统[J].机电工程,2007,24(1):39-41.
[4]吴彦宏,陈相宁.S3C2410在Linux下的FPGA驱动[J].科学技术与工程,2008,8(17):5034-5038.
[5]闫莎莎,朱世强,刘华山,等.基于CPLD的光电编码器测量系统[J].机电工程,2009,26(1):77-79.
[6]窦高强,车小霞.数控弧线下调式30×2500四辊卷板机液压系统的优化[J].锻压装备与制造技术,2014,49(5):39-40.
[7]李森.四辊卷板机数控系统的设计与研究[D].南京:南京航空航天大学,2012.
【基于ARM体系的嵌入式系统BSP的程序设计】推荐阅读:
基于TOPCARES-CDIO培养模式的 游戏艺术设计专业实验教学体系的构建与实践06-12
基于大数据的学生发展性评价体系建设07-19
基于系统的设计与实现09-12
基于三菱PLC的双面铣床控制系统程序设计08-17
基于ASP的学生信息管理系统的设计与实现07-15
基于C/S模式的油藏地质方案设计系统研制07-17
基于51单片机恒压供水系统设计06-27
基于信息传播系统的人员疏散模型探讨09-10