datasheet
超过470,000+ 应用技术资源下载
pdf

基于ARM的电脑绣花机监控系统的设计与实现

  • 1星
  • 日期: 2014-03-05
  • 大小: 2.44MB
  • 所需积分:1分
  • 下载次数:0
  • favicon收藏
  • rep举报
  • 分享
  • free评论
标签: 基于ARM的电脑绣花机监控系统的设计与实现

电脑绣花机是当代最先进的绣花机械,随着人们对刺绣品质量的追求以及刺绣品需求量的增加,高性能的电脑绣花机越来越受到市场的推崇,用户对CAN(现场总线)、远程控制、海量USB存储、彩色LCD显示等技术在新型电脑绣花机中的应用有了新的需求。然而,国内电脑绣花机监控系统平台由于存在技术上的困难或成本上的障碍而使这些功能难以实现。随着电脑的不断发展和电子产品成本的不断降低,采用先进架构和体系的处理器,加上相应的实时操作系统进行任务管理,就能大大提高电脑绣花机监控系统的性能。本文设计了一种电脑绣花机监控系统,在详细分析电脑绣花机工作原理和功能需求的基础上,采用ARM处理器与μC/OS-Ⅱ实时操作系统构建了监控系统平台,实现了实时操作系统任务管理、网络通信、USB设备读写、花样图案预览等功能,具体工作如下: (1)在介绍电脑绣花机的工作原理以及分析电脑绣花机监控系统性能需求的基础上,构建了基于ARM7核的嵌入式处理器与μC/OS-Ⅱ实时操作系统的监控系统平台,并给出了系统的整体设计方案。 (2)根据电脑绣花机监控系统的整体设计方案,设计实现了系统的硬件电路,处理器采用ST公司生产的具有ARM7核的STR710FZ2T6,利用STR710FZ2T6的外部存储器接口的三个BANK,分别设计实现了以太网通信接口、USB设备读写接口以及彩色LCD实现接口等。 (3)在系统的接口电路设计方面,采用以太网控制芯片CS8900A使其通过ISA总线与系统处理器相连,构建了以太网通信接口,负责远程传输数据(花样文件)控制信息等;利用LJSB主从控制器SL811HS,在处理器STR710FZ2rr6的控制下设计实现了对海量USB设备读写的USB接口,负责读写在U盘上的花样文件以及其它的数据信息;利用5.6英寸的彩色液晶屏及其控制板QD-13设计实现了监控系统的LCD显示接口,系统处理器通过控制QD-13向LCD写入要显示的图案以及文字数据;组建了一个基于CAN通信的安全检测模块,主要包括电源检测以及断线检测等。监控系统的CAN节点利用系统处理器自带的CAN模块结合TI的CAN收发器sn65hvd230实现,电源检测节点、断线检测节点以及运动控制系统交互的CAN节点的控制器采用Microchip公司的带有CAN模块的18系列单片机PIC18F4680,CAN收发器采用该公司的MCP2551芯片。 (4)设计实现了基于μC/OS-Ⅱ操作系统的软件,包括两个部分,一是功能接口的驱动程序,另一个是操作系统中的应用程序软件。驱动程序负责控制相应功能接口的运行,操作系统中的应用程序软件实现具体的功能应用,例如TCP/IP协议栈以及USB协议的实现等。 (5)整合了系统各个功能模块,并做出监控系统的PCB板,利用ADS开发环境进行系统的整体调试,给出了系统的运行效果,实验表明监控系统工作稳定,性能良好。 最后,文章分析了电脑绣花机的监控系统需要改进的地方,并对电脑绣花机监控系统未来发展趋势作出了展望。

浙江工业大学 硕士学位论文 基于ARM的电脑绣花机监控系统的设计与实现 姓名:张伟业 申请学位级别:硕士 专业:系统工程 指导教师:陈国定 20071101 浙江工业大学硕士学位论文 基于ARM的电脑绣花机监控系统的设计与实现 摘要 电脑绣花机是当代最先进的绣花机械,随着人们对刺绣品质量的追求 以及刺绣品需求量的增加,高性能的电脑绣花机越来越受到市场的推崇, 用户对CAN(现场总线)、远程控制、海量USB存储、彩色LCD显示等技 术在新型电脑绣花机中的应用有了新的需求。然而,国内电脑绣花机监 控系统平台由于存在技术上的困难或成本上的障碍而使这些功能难以实 现嘲。随着电脑的不断发展和电子产品成本的不断降低,采用先进架构和 体系的处理器,加上相应的实时操作系统进行任务管理,就能大大提高 电脑绣花机监控系统的性能。本文设计了一种电脑绣花机监控系统,在 详细分析电脑绣花机工作原理和功能需求的基础上,采用ARM处理器与 pC/OS.Ⅱ实时操作系统构建了监控系统平台,实现了实时操作系统任务 管理、网络通信、uSB设备读写、花样图案预览等功能,具体工作如下: (1)在介绍电脑绣花机的工作原理以及分析电脑绣花机监控系统性能 需求的基础上,构建了基于ARM7核的嵌入式处理器与pC/OS.II实时操 作系统的监控系统平台,并给出了系统的整体设计方案。 (2)根据电脑绣花机监控系统的整体设计方案,设计实现了系统的硬 件电路,处理器采用sT公司生产的具有ARM7核的STR710FZ2T6,利用 STR710FZ2T6的外部存储器接口的三个BANK,分别设计实现了以太网 浙江工业大学硕士学位论文 通信接口、USB设备读写接口以及彩色LCD实现接口等。 (3)在系统的接口电路设计方面,采用以太网控制芯片CS8900A使其 通过ISA总线与系统处理器相连,构建了以太网通信接口,负责远程传输 数据(花样文件)控制信息等;利用USB主从控制器SLSl lfIS,在处理器 STR710FZ2T6的控制下设计实现了对海量USB设备读写的USB接口,负 责读写在U盘上的花样文件以及其它的数据信息;利用5.6英寸的彩色液 晶屏及其控制板QD-13设计实现了监控系统的LCD显示接口,系统处理器 通过控制QD.13向LCD写入要显示的图案以及文字数据; 组建了一个基 于CAN通信的安全检测模块,主要包括电源检测以及断线检测等。监控 系统的CAN节点利用系统处理器自带的CAN模块结合11的CAN收发器 sn65hvd230实现,电源检测节点、断线检测节点以及运动控制系统交互 的CAN节点的控制器采用Microehip公司的带有CAN模块的18系列单片 老ILPICl8F4680,CAN收发器采用该公司的MCP2551芯片。 (4)设计实现了基于BC/OS-II操作系统的软件,包括两个部分,一是 功能接口的驱动程序,另一个是操作系统中的应用程序软件。驱动程序 负责控制相应功能接口的运行,操作系统中的应用程序软件实现具体的 功能应用,例如TCP/IP协议栈以及uSB协议的实现等。 (5)整合了系统各个功能模块,并做出监控系统的PCB板,利用ADS 开发环境进行系统的整体调试,给出了系统的运行效果,实验表明监控 系统工作稳定,性能良好。 最后,文章分析了电脑绣花机的监控系统需要改进的地方,并对电脑 Ⅱ 浙江工业大学硕士学位论文 绣花机监控系统未来发展趋势作出了展望。 关键词:电脑绣花机,实时操作系统,以太网,USB,现场总线 nl 浙江工业大学硕士学位论文 DESIGNE AND REALIZATION oF CoM呼UTER EM嘬RoIDERY ML地HINE MoNIToRING SYSTEM BASED oN ARM Nowadays,computer embroidery machine is the most advanced embroidery machine-ry.Along with people’s pursuit of the quality and the increase in demand for embroidery products,high-pcrform撇embroidery is needed more and more.Some technology,such舔CAN,remote conUⅪl,USB mass storage,color LCD display,m-e the肿皿an∞of greatly used to improve the computer embroidery machine.As the development of computer technology and wAuced costs On electronic products,system performance can be consumedly improved by usmg advanced architecture processor and p獬a real-time operating system for task management.In this computer embroidery machine monitoring system was designed,011 base of the detailed ana[ysis of embroidery machine working principle and the function demand,the monitoring system was built using ARM processor and the real-time operation system p.C/OS-IL including operation w矗te/谳 system task management,network communications,USB equipment embroidery's pattern preview,and other functions,specific work as follows: (1)Computer embroidery machine monitoring system platform is built on base of analysis of embroidery machine working principle and the fllncdoll demand.The system gi吼 overall design is (2)The system’s hardwaze circuits are designed and realized according to system core,is删as overall design.STR710FZ2T6,based on ARM7 system processor.Using IV 浙江工业大学硕士学位论文 three banks of processor's EMI.Some interfaces a托designed and realiT矗as following: Ethemet communication interface,USB read/write interface etc. (3)The system's interfaces Cifgtlit¥include Ethemet communication interface,USB read/write interface,LCD display interface,and the security detection modules are built based 011 CAN conmmlInication etc,The Ethemet communication interface is designed based OB Ethemet controller CS8900A,it is ued to transform data or command remotely. The USB read/write interface is designed based On USB host controller SLSI IHS,it is used tO read or write the embroidery data and other data infoemation in the USB disk.The LCD display interface is聆alized by using a 5.6 inch color LCD and its controller QD-13. it is used to display the picture Or words that should be displayed into LCD.The secufit-j detection modules锄built based On CAN conmmunication,including power and Break line fault detection etc.The secudty detection modules node is designed by the MCU PICl8F4680 havmg CAN module,their Iralkqcciver is MCP2551 chip. (4)The software ofthe monitoring system is designed and realized based On opei嘶on ful枷Oll system ttC/OS-Ⅱ,includmg the interface drivers and the application program in the operation system.The drivers勰used to make interface run,and the application program are used to realized the specific application such鹄TCP/IP and USB protocol etc. Finally,the improvement ofthe monitoring system has been discussed;moreoveT,the future outlook ofsystem’fl development trend is givien also. KEY WORDS:computer embroidery machine,real time operation system,Ethemet, USB,CAN V 浙江工业大学学位论文原创性声明 本人郑重声明:所提交的学位论文是本人在导师的指导下,独立进行研究工作所 取得的研究成果。除文中已经加以标注引用的内容外,本论文不包含其他个人或集体 已经发表或撰写过的研究成果,也不含为获得浙江工业大学或其它教育机构的学位证 书而使用过的材料。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方 式标明。本人承担本声明的法律责任。 作者签名 醐:寸M溯 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并 向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授 权浙江工业大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以 采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 本学位论文属于 l、保密口,在 年解密后适用本授权书。 2、不保密可/ 作者签名: 导师签名: (请在以上相应方框内打“4”) 雩日期 卜确矽日 日期 f二月"日 浙江工业大学硕士学位论文 第一章绪论 1.1引言 进入二十一世纪以来,我国的国民经济得到了飞速的发展。同样,在人们所说的 “衣食住行”中占首位的服装产业取得了蓬勃的发展。我国已经成为了一个立足本国 面向世界的服装产业大国。现在,以计算机为主体的现代信息控制技术已经渗透到纺 织服装的各个领域,高科技纺织品在整个纺织品市场中的比例不断增长。资料显示, 最近五年,发达国家高科技纺织品的市场份额增长了一倍多。在欧渊纺织品市场上, 高科技纺织品的市场占有率己达40%以上。全球纺织工业现在普遍采用电子、电脑程 序控制,从市场信息到产品的花型设计,颜色、织物结构的设计,到纺纱、织布、染 整等生产领域和管理领域都能找到电子计算机的身影。利用CAD/C腊生产辅助手 段,可以实现小批量、多品种的市场需求,增强产品竞争能力,达到经济效益的最大 化。在这样的时代背景之下,作为服装产业的附属产业之一的刺绣业也兴旺发达起来。 刺绣这一传统中的手工艺术在信息社会中得到了质的飞跃,电脑绣花机就是传统的刺 绣与电子、机械相结合的产物。电脑绣花机最早于70年代在国外兴起,它能使传统的 手工绣花得到高速度、高效率的实现,并且还能实现手工绣花无法达到的“多层次、 多功能、同一性和完美性”的要求,是一种体现多种高新科技的机电产品。目前世界 上著名的电脑绣花机品牌有日本田岛公司、百灵达(BARUDAN)公司、兄弟 (BROTHER)公司,德国蔡斯克(zS站公司、百福(PFAFF)公司,韩国的日星(swF) 公司等【1¨. 电脑绣花机的机械结构设计和电控管理系统的设计是相互依赖,协调发展的。目 前,国内在江浙一带,电脑绣花机产品己形成规模效应,各项配套设备已经形成标准 生产,其成本几乎已达到最低。电脑绣花机在机械方面的改进不但要提高成本而且要 做到各原配件生产厂商和电控器生产厂商以及电脑绣花机装配厂商之间的充分沟通, 这就需要消耗较多的成本和时间,很难在短时期内就能见成效。然而,对于以太网通 信、大容量闪存、LCD屏幕显示等技术在新型电脑绣花机中的应用,国内电脑绣花机 监控系统平台由于存在技术上的困难或成本上的障碍而使这些功能难以实现。随着电 脑技术的不断成熟和电子产品成本的不断降低,如果采用更先进架构和体系的处理器 浙江工业大学硕士学位论文 以及相应的外围硬件资源,加上合适的实时操作系统进行系统管理,能够较好的实现 上述新技术在电脑绣花机中的应用,因而能大大提高电控管理系统的性能,同时并不 显著提高硬件成本,这符合市场对产品高性价比的需求。鉴于此,本文提出了电脑绣 花机监控系统的研究和设计,旨在提高电脑绣花机电控系统的整体性能,促进国内电 脑绣花机制造业的发展。 1.2电脑绣花机的发展与研究现状 电脑绣花机是当代最先进的电脑绣花机械,它能使传统的手工绣花得到高速度、 高效率的实现,并且还能实现手工绣花无法达到的多功能、多层次、统一性和完美性 的要求。它是一种体现多种高新科技的机电一体化产品。目前绣花机的平绣速度普遍 已经达到80plooorpm。日本田岛公司推出的TFGN型平绣系列绣花机,最高的平绣速 度已经达到llOOrpm,运转时的噪音明显下降;毛巾绣的绣花速度最高可达600rpme。 在电脑控制下,绣花机不仅能够自动进行图案绣花缝纫,还可通过增添一些功能性装 置,使其功能更加完善。该公司的绣花机还配置了自动检测上下断线的装置,很好地 保证绣品质量;配置自动底线检测装置,当底线的余量不足时,绣花机可自动报警: 配置自动更换底线装置;配置自动剪线装置,在绣花缝纫完成后,绣花机可自动剪断 底面线;配置自动加油装置、自动整匹绣装置等,这些装置扩大了绣花机的自动化程 度,操作方便,绣花质量更好。目前国际上著名的绣花机公司如日本的田岛和百灵达, 都推出了各种各样的绷架,依据用户的需求可以进行多种自由的组合。完成各种对象 的刺绣,不仅节省了成本而且扩大了可刺绣范围。此外,百灵达公司还推出了连续式 绷架,可以不停机连续刺绣,大大提高了生产效率。绣花机的电脑控制系统。国外大 部分产品都采用了实时显示系统,在缝纫过程中,可以十分清晰地显示个缝纫状态以 及机器的故障部位,方便了操作和维修。不少公司还采用能够提供花样程序自动编辑 的电脑系统,为花样程序的自动编辑提供了方便。 在我国,自从国内生产出第一台电脑绣花机,价格低廉一直是国产电脑绣花机与 进口机竞争的最大优势。然而.随着近几年我国生产电脑绣花机的企业增多,特别是 一些家庭作坊式的企业出现,他们为了能在市场竞争中赢得一席之地,不计成本,大 幅降低产品价格。以1台20头6针的绣花机(带剪线)为例,在上世纪90年代中期,国产 机还能维持在进口机价格的40%左右,一般一台机器的价格在30万元左右,然而1998 2 浙江工业大学硕士学位论文 年以后,特别是近二三年,同样一台机器的价格降至10万元左右。诸多企业在近几年 的价格大战中,饱尝苦果,利润己是大幅缩水。另外,国产电脑绣花机用短短的十几 年时间实现了从无到有、从l台N3万台的突破,数量上的剧增以及高额的利润创造了 缝制设备行业发展的一个神话。毫无疑问,国产电脑绣花机的高速发展给行业带来了 巨大的喜悦。然而,国内各电脑绣花机生产厂家在享受这个神话带来的喜悦时,对未 来市场的竞争却是忧心忡忡,与进口电脑绣花机在产品质量上仍然存在较大的差距 圆。 目前,多纺织机械控制器的主CPU进行了升级换代,由原来的单片机换成性能更 高的处理器,电脑绣花机在机械方面的改进的潜力已经很有限了。然而,随着电脑技 术的飞速发展和电子产品成本的不断降低,用户对以太网通信、USB存储、LCD屏幕 显示等技术在新型电脑绣花机中的应用有着越来越高的需求,现在,国内外对电脑绣 花机控部分的研究正在不断进步,本文提出的电脑绣花机监控系统属于绣花机的电控 部分,研究的目的在于提高电脑绣花机的整体性能,满足市场对电脑绣花机的性能需 求,促进国内电脑绣花机制造业的发展。 1.3电脑绣花机工作原理简介 电脑绣花机的工作原理有点近似于数控机床,不过这里是先设计好绣花的图案, 打版师根据刺绣的花样图案在Pc机上的通过打版软件打成花样文件,然后将花样文件 存贮于软盘或其他介质,电脑绣花机工作时,主控制器就会通过读取存贮于某种介质 上的花样数据,并通过一定的规律进行解码来控制各电机进行配合运动,从而绣出各 种花样,如图1.1。其中主轴电机通过传动轮带动针杆,针杆带着线上下运动,而x,Y 轴步进电机带动绣框在x,Y轴方向运动,刺绣品随绣框运动,从而刺绣出图案。刺绣 时主轴电机转速在700r/rain左右,主轴角度在某两个角度之间时,即当针头离开布料 到插入布料之问的时隙,x,Y轴步进电机才允许运动。当需要换色时,换色电机转动, 通过传动机构带动针杆箱移动,将穿有其它颜色线的针换上,继续刺绣。当刺绣完毕 时,剪线电机带动剪刀将线剪断。下面介绍各部分组成及工作原理。 电脑绣花机的机械方面可以分为机架部分、刺绣部分、换色部分、移框部分、勾、 剪、扣线部分等,其中以刺绣部分和移框的部分最为重要,这两部分各自独立又相互 协调,共同完成刺绣过程。电脑绣花机在工作时,针杆带着针和线进行上下运动的刺 3 浙江工业大学硕士学位论文 绣动作,绣框则在平面X,Y方向作往复运动,而被刺绣品的图案是绣框沿着x,Y方向 运动而得到的。刺绣部分由主轴电机、变速装置、光电编码器、上传动轴,下传动轴、 旋梭、针杆传动机构、挑线机构等组成,通过针杆和旋梭的相互配合动作完成刺绣过 程。刺绣时,主电机通过齿形同步带将动力传给变速部分,进而分别传给上轴和下轴: 上下轴的速度被同时按比例降低。上轴和下轴之间则通过链轮(也有的机器是齿形同 步带)进行同步传动,以确保转速的一致性。下轴通过梭座上的一对锥齿轮以2:1的变 比将转速提高到上轴转速的两倍,带动旋梭以高速进行旋转,同时通过锥齿轮也将旋 转方向变换ygOo,使之从X方向旋转改变为Y方向旋转。高强度材料制造的锥齿轮可 以保证机器长时间的连续高速运转,经过降噪工序的合理处理,其运转噪音得以大幅 下降(经测定,最高转速为700rpm时,正常刺绣运转嗓音约在82db以下)在绣过程中, 旋梭旋转时,梭尖勾住上线,使上线在梭壳上滑过并与下线形成一个线套,而上轴则 通过偏心凸轮和曲柄连杆机构带动滑块沿针杆轴进行上下滑动,从而带动针杆在一定 运动范围内以一定速度进行上下运动完成刺绣动作。上轴在旋转的同时还带动相应的 挑线臂凸轮及扇型齿轮,使得扇型齿轮在一定角度(大约200左右)内完成半转往复运 动,带动挑线杆作上下运动(由于刺绣的需要,挑线杆的上下运动速度有所不同,向 下运动时速度慢,向上运动时速度快:挑线杆的整个运程约为55~65咖),适时收紧和 放松绣线,配合针杆完成整个刺绣工作,使针杆和挑线杆之间始终保持着一定的相位 关系,从而有效地保证了刺绣的顺利完成。刺绣图形的完成不仅取决于刺绣动作,还 依赖于绣框的准确移动。这一部分主要由步进电机、导轨副、绣框等组成。刺绣时绣 框在X,Y两个方向位移,其运动轨迹受电脑控制。电脑控制部分依照所要刺绣的图形 (该图形已通过磁盘等输入电脑)分别向X,Y:Y向步迸电机的驱动器发出脉冲控制信 号,步进电机按一定的步距运动,再通过齿形同步带的传动,由导轮带动绣框沿x, 丫方向移动。刺绣过程中不仅绣框频繁地正反向移动,丽且步距要求十分严格,位移 允许误差极小(一般小于0.1mm),而靠步进电机的良好特性满足刺绣要求。导轨副 则由导轨和导轮组成,在x,Y方向上各有一副导轨和四个导轮,在齿型带的拖动下导 轮带动绣框沿导轨在x。Y方向依序往复移动。这样,步进电机和导轮的准确移动共同 确保了绣框的准确位移。进而保证了刺绣图形的精确完美嘲。绣花机的绣花形式,按 线迹可分为平缝绣、链缝绣、毛巾绣;按绣品可分为平绣、筒绣、成衣绣等,特种绣 也越来越多。如日本的田岛、北京的天鸟、青岛的鹰轮、临海的珠光、杭州的经纬等 企业,分别推出了各不相同的绣花机、在一般绣花机上,只要增加一些装置,就可以 4 浙江工业大学硕士学位论文 进行绳绣、珠片绣、雕孔绣、扁金线绣、卷带绣、卷绣、挖孔绣、羽状针迹绣、扁形 带与粗线立绣、扁形带与粗线反绣等,为了增加绣花式样,日本田岛公司和北京天鸟 公司都推出了激光切割装置,可以对绣花材料进行雕刻、表面切割、完全切割和雕孔 切割,使绣花产品具有了新的特色。 本文的设计工作主要在绣花机的监控系统上,因而对于电脑绣花机的运动控制系 统工作原理不再进行详细阐述,下图展示了电脑绣花机的工作流程。 图1.I电脑绣花机工作流程图 1.4电脑绣花机监控系统接口技术 现在诸如以太网、USB、彩色LCD等技术在电脑绣花机中的应用越来越广泛, 这些新的技术能够大大提高电脑绣花机的性能,是当前电脑绣花机技术研究的热点。 本文设计的电脑绣花机监控系统充分利用了上述各种技术,设计实现了以太网远程通 信、花样文件在USB海量存储设备上的读写、基于CAN网络的安全检测模块等,下 面对监控系统接口的相关技术进行简单介绍。 1.4.1以太网简介 以太网(Ethemet)最初是Xerox公司在1976年推出的一种局域网,以曾经在历史 上表示传播电磁波的以太(Ether)来命名,最早应用于微型计算机系统的商业网络终端 【嘲。随后1980年9月,DEC,Intel,Xerox三个公司共同制定了以太网物理层和数 据链路层的规范,称为DIX规范。后来以太网的发展走向开放和标准化。1983年, 浙江工业大学硕士学位论文 美国电气与电子工程师协会IEEE在DIX规范基础上进行了修改并发布了IEEES02.3 标准,1983年国际标准化组织出版了tEEE802.3标准,是对DIX Ethemet2.0版本的 修改提高,随后1985年发布的IS08802.3标准和它是相同的。以太网采用星型或总 线拓扑结构,传输速率为10M,100M,1000M甚至更高,传输介质为无屏蔽(或屏蔽) 双绞线,光纤,同轴电缆。但以太鼹区别于其他网络的最重要特点是,以太髓的介质 访问控制层(MAC,Media Access Conff01)协议采用CSMA/CD介质访问控制方法, 即冲突检测载波监听多点访N(CarderSenseMultipleAccesswithCollisionDetection)。 据统计,以太网已经在全球的局域网市场上占据了90%的份额。 随着以太网技术的发展,如何把以太网应用到工业领域己经成为工业控制和实 时通信研究的热点。首先,阻碍以太网作为工控网的问题已解决。以太网采用由 IEEE¥02.3定义的数据传输协议C鼢他,cD(带有冲突检测的载波侦听多路访问协议), 该协议虽然简单,但它由碰撞而引起的信息传输时间的随机性是一切争论和反对以太 网的根源。但随着以太网速度的提高,从最初的10Mbit/s发展到100Mbit/s,目前已 有超过1000Mbit/s的产品了,足够的带宽足以承受很大的负荷,以上问题就得到了大 大的淡化。当网络负荷不超过带宽的37%时,网络冲突率很低。加之可用交换机,使 接入网络的节点各自独占一条线路来彻底解决以上问题。采用高速背板交换或微处理 器交换,响应时间是确定的。另外,以太网的网络传输线已从昂贵且难以安装的同轴 电缆变化到廉价的非屏蔽双绞线,它的抗干扰能力可与4~20mA模拟传输线路相当, 如果需要更强的抗干扰能力可以采用屏蔽双绞线或光纤通信。解决了实时性、稳性定 和抗干扰性,以太网的优越性便凸现‘瑚,具体如下: (1)基于TCP/IP的以太网是一种标准的开放式网络,不同厂商的设备很容易互 联。 (2)以太网能便捷地访问远程系统。 (3)易于与Intemet连接,能够在任何城市、地方通过Imcmet对企业进行监控。 (4)能降低成本。包括技术人员的培训费用、维护费用及系统的硬件费用。 (5)以太网能实现办公自动化网络与工业控制网络的无缝连接。 (6)以太网受到了广泛的技术支持.几乎所有的编程语言都支持以太网的应用开 6 浙江工业大学硕士学位论文 发,今后还会出现更好的以太网开发技术。硬件开发商以太网系统的设计提供了 广泛的硬件产品选择,人们对以太网的设计、应用有较为丰富的经验。 (7)易于升级和移植。对于所有以太网技术,其帧结构和帧长度是不须作网络调 整,这就提供了一个非常好的升级途径。星型集线器的应用和基于10/100 Base-T 的网卡及交换技术,使升级更容易。 现在,以太网正在被广泛地应用于工业控制领域。据ARC咨询公司称,以太网在 工业领域的潜力越来越明显,以至于各种工业现场总线的合作组织正在竞相重新修订 他们的基本通信协议,以便使其可以在以太网和Internet协议上运行。FF总线的HSE (High Speed Ethernet),Profibus的ProfiNet,ControlNet[虱际(ControlNet International) 和开放设备网制造协会(Open DeviceNet Vendor Association)的Ethemet/IP,MODBUS 用户集团的MODBUSfrCP等等现在都建构在以太网上的Internct协议之上。在国内, 以中国科学院沈阳自动化研究所和浙江中控技术股份有限公司致力于开发工业以太 网标准OePA,Ethernet for Plant Automation),并取得了较大的进展,现在Ⅸ'A标准的 工业以太网芯片已经研制成功。 1.4.2 USB总线简介 USB(Univcrsal Serial Bus)是一种通用串行总线。它是为了实现整个计算机系统中 总线的一致性,flaCompaq,Intel,Lucent,Microsoft,Hewlvtt-Packard,NEC以及Pllilips 七家公司共同开发的一种新的、快速的、双向的、同步传输的井可以热插拔的数据传 输总线,简称USB总线。USB总线的发展至今经历了3个主要的阶段:USBI.1,USB2.0 和USBOTG。从1998年79的Windows98开始,基于USBI.1的外围设备开始陆续出现, USB成为最受欢迎的接口。但USBI.1的传输速度只有12Mb/s,对于进行大量的数据 传输显得力不从心。USB2.0是版本更新的一大跃进,它加入了许多高速传输的特性 支持,传输速度达到480Mb/s,为USBI.1的40倍。USB OTG是为了弥补usB2.0的不 足,对USB总线的协议进行了补充,使得USB总线可以进行点对点的数据传输,面不 像以前那样一定要求主机的参与,使得设备与设备之间可以进行通信.USB总线具有 以下优点: (1)用户使用方便,设备自动识别,自动安装驱动程序和配置,支持动态接入和 动态配置。 7 浙江工业大学硕士学位论文 (2)应用范围广,传输速率从几Kb/s至几百Mb/s,总线支持同步和异步传输方式。 (3)具有同步带宽,保证带宽,音频传输失真小。 (4)灵活,支持不同速率的设备. (5)稳定,协议中包含错误检测,支持熟插拔,易于与PC接口,支持即插即用。 (6)成本低廉。 f7)易于升级。 由于USB具有以上优点,使得其在接口方面的使用极其方便。USB可以连接多个 不同的设备。一个USB接口理论上可以连接127个usB设备。速度快也是USB技术的 突出特点之一,USB接口的最高传输速度可达480Mb/s。所有这些突出的优点使得USB 技术得到广泛的应用、发展和普及【63l。 1.4.4现场总线CAN简介 CAN(ConU'oller Area Network)总线是德[]Bosch公司为解决现代汽车工业中众多 的控制与测试仪器之间的数据交换而开发的一种串行数据通信总线。CAN已成为国际 标准化组织ISO的11898和11519标准,得到国际上许多大公司的支持。CAN具有低成 本、易开发、实时性好以及抗噪声性能好等优点,传输速率最高为IMbps,最大传输 距离为10km(Skbps),同时由于CAN废除了传统的站地址编码,使网络上的节点理论 上为无穷大。现在它逐步发展成为用于工业部门控制和通信的现场总线。 CAN总线的MAC协议采用CSMA和位仲裁协议(CSMA/BA)。当CAN网络中存 在数据传输时,网络中的所有节点都能够帧听到网络中的数据,除了发送此数据的节 点以外,其它的网络节点都不会发送数据,这一点与以太网是相同的。当网络节点没 有帧听到网络中存在数据传输时,它就会认为此时网络空闲:如果此时节点中有数据 等待发送时它就向cAN总线发送此数据。在发送数据的同时,节点也帧听,并且对 比网络中的数据是否与其发送的数据一致.如果数据是一致的,那么节点将继续向网 络发送数据:而当发现数据不一致时节点就将停止数据发送;在以后的时间内,它将 继续帧听网络的状况,直至到下一次网络空闲的情况下重新发送节点中的等待数据。 当网络中存在多个节点同时向网络发送数时,产生冲突(Collision)。CAN总线解决 冲突的方法是使用优先级,这个优先级由数据链路的数据帧格式中定义了帧标识 矗 浙江工业大学硕士学位论文 identifier字段决定。在冲突发生时,最高优先级的消息将被发送而不受中断,低优 先级信息的发送将终止,并推退出发送,而当网络空闲时,被中断的低优先级的消息 可尝试重发嗣。 1.5本文的主要工作 1.5.1基本思路 电脑绣花机在机械方面的改进不但要提高成本而且要做到各原配件生产厂商和电 控器生产厂商以及电脑绣花机装配厂商之间的充分沟通,这就需要消耗较多的成本和 时阃,很难在短时期内就能见成效。鉴于此,本文的工作重点放在电脑绣花机监控系 统上,根据电脑绣花机工作原理,构建一个基于ARM架构的嵌入式监控系统,采用 基于ARM核的处理器STR710FZ2T6,并向其移植嵌入式实时操作系统ttC/OS.II刑用 实时操作系统对监控系统的各项功能进行管理;利用STR710FZ2T6的外部存储器接口 和以太网控制芯片CS8900A-CQ3进行连接,采用TCP/IP协议栈LwIP构建基于以太网 的网络接口,建立基于TCP的网络连接,使监控系统能够和远程主机进行数据和命令 信息的交互;利用USB技术。通过STR710FZ2T6的外部存储器按13和USBHOST控制 器SLgllHS进行连接,按照USBl.1协议,建立一个USB接口,用于读取存放大容量的 花样文件以及各种数据;组建一个基于cAN网络通信的安全检测模块,采用树型连接 的方式,包括电源检测节点,断线检测等节点,监控系统处理器的节点daSTR710FZ2T6 以及CAN收发器sn65hvd230构成,检测节点控制器采用Microchip公司的带有CAN 接口的18系列单片机PICIgF4680,CAN收发器使用MCP2551;系统利用STR710FZ2T6 的EMI和一个彩色LCD控制器连接,构成彩色LcD显示模块,把花样文件的图案效果 和现场织机的状态通过LCD模块显示出来。此外监控系统还提供若干个按键,用于启 动处理器读取USB设备中花样文件信息传送给运动控制器的命令.以及启动彩色LCD 显示模块显示花样文件的图案用以花样的预览。 1.5.2论文结构 本文主要内容包括监控系统的硬件设计与实现以及系统软件的设计,下图为本论 文的组织结构图: 9 浙江工业大学硕士学位论文 图1.2文章组织结构图 下面介绍本文主要各章节研究内容安捧: 第一章简要介绍了电脑绣花机的发展和研究现状以及电脑绣花机的工作原理,阐 述了电脑绣花机监控系统设计相关技术原理,并对文章内容进行了总括. 第二章首先介绍了电脑绣花机监控系统的整体结构,然后进行了性能需求分析, 阐述了以太网,USB,CAN,彩色LCD等技术在监控系统中的具体应用,给出了监 控系统的总体控制方案,包括采用的处理器,实时操作系统,以及各种接口的控制器 等。 第三章介绍本文研究工作重要内容之——电脑绣花机硬件平台的设计与实现。系 统的CPU为ST公司生产的STR710FZ2T6,该芯片具有256K的片内FLASH,其外 部存储器接口具有4个可以扩展成16M的BANK,片上还集成了一个符合CAN协议 2.0A和2.0B的CAN模块,利用在现场组建了一个小型树型的CAN网络:监控系统 的以太网接口,USB接口,彩色LCD接口都是通过STR710FZ2T6的EMI进行连接 的。其中以太网的控制器采用Cirrus Logic公司生产的10kl以太网控制芯片 CS8900A-CQ3,与STR710FZ2T6是以16位数据方式进行连接的;USB控制器采用的 是SL81IHS,它是CYPRESS公司生产的可支持全速数据传输的USB HOsT/sLAVE 控制芯片,与STR710FZ2T6的EMI是以8位数据方式进行连接的;彩色LCD的显 示屏是256色的模拟屏,LCD控制器接口以8位数据方式和测loFz2T6的EMI 连接。 第四章针对电脑绣花机监控系统硬件平台的设计,给出了监控系统的软件设计方 10 浙江工业大学硕士学位论文 案,电脑绣花机监控系统有若干个功能模块,特别是电源检测和绣花机断线检测任务 需要高度的实时性,还有各个模块之f目需要互相通信,互相交换数据,这些如果按照 传统的软件编程方法将很难实现,因而本文采用具有占先式内核的嵌入式实时操作系 统IIC/OS.II来管理监控系统的各项功能,在把IIC/OS.II移植到STR710FZ2T6之后, 监控系统的各项功能都以弘C/OS.II的任务形式来实现,功能任务之闻通过pC/OS.II 的消息邮箱机制来实现。 第五章针对电脑绣花机监控系统的各项功能的设计和实现做了简短的总结,介绍 了以太网、USB、CAN、彩色LCD等技术在电脑绣花机监控系统中的应用情况,并 且对电脑绣花机监控系统需要进一步解决的问题以及电脑绣花机技术未来发展的趋 势都进行了展望。 浙江工业大学硕士学位论文 第二章电脑绣花机监控系统总体设计 电脑绣花机监控系统主要负责绣花机的事务管理,为绣花机提供花样文件数据, 同时对绣花机的工作状态进行监控,确保其能够稳定可靠地运行,并能够提供友好的 人机界面。本章首先分析阐述了电脑绣花机监控系统的整体架构,然后进行相应的性 能需求分析,最后绘出系统的总体设计方案。 2.1系统整体架构 如前所述,随着电脑技术的不断发展和电子产品成本的不断降低,采用先进架构 和体系的处理器,加上相应的实时操作系统进行任务管理,就能大大提高电脑绣花机 监控系统的性能:高性能的电脑绣花机越来越受到市场的推崇,用户对CAN(现场总 线)、远程控制、海量USB存储、彩色LCD显示等技术在新型电脑绣花机中的应用有 了新的需求。鉴于此,本文的电脑绣花机监控系统整体架构的设计主要包括三个方面, 一是监控系统处理器以及相应嵌入式实时操作系统的设计,然后是系统功能模块接口 包括以太网、USB接口等,最后是基于操作系统的应用软件的设计,下面将对这三方 面进行详细阐述。图2.1是系统整体架构。 l i黼系掣软件H接口掣骄I I J鼾志I 耀罨H系志i 口l 图2.1系统整体架构图 2.1.1系统处理器及操作系统 电脑绣花机监控系统采用基于ARM的嵌入式处理器,ARM微处理器采用32位 RISC架构,有如下特点:体积小、低功耗、低成本、高性能。ARM锾处理器的应用领 浙江工业大学硕士学位论文 域较广,到目前为止,ARM微处理器及技术的应用几乎已经深入到各个领域如工业 控制、消费类电子产品、通信系统、网络系统、无线系统等各个领域。系统采用ARM 的处理器能够较好的组织协调各个功能模块的运行,使整个监控系统的性能得到很大 的提升。 电脑绣花机监控系统在其处理器的控制下需要完成网络通信,USB存储,LCD显 示等各项功能,这些功能需要一个操作系统来进行管理,由于监控系统需要对绣花机 的运行状态以及电源等进行实时监控,操作系统需要具有良好的实时性以及快速处理 能力,综合考虑,监控系统需要结合删处理器移植一种嵌入式实时操作系统。 2.1.2系统功能模块接口 电脑绣花机监控系统的网络通信、USB设备读写等功能需要在处理器的控制下, 设计相应的功能接口,具体介绍如下。 (1)基于以太网的网络通信模块,它负责和远程PC或者设备迸行远程通信,为远 程用户连接到监控系统提供通道,可以向远程用户传送绣花机的运行状态以及各种数 据,同时能够接收来自用户的花样文件。 (2)USB存储设备读写模块,USB存储设备读写模块按照USBl.1协议对USB的存 储设备进行全速读写操作, USB模块主要用来存放大量的花样文件以及其他的数据 信息。 (3)基于CAN通信的安全检测模块,基于CAN通信的安全检测模块主要包括电源 检测、断线检测等CAN节点。系统处理器负责接收电源检测节点以及断线检测检点节 点传来的数据,在操作系统的任务里进行实时地处理。电源检测CAN节点负责对电脑 绣花机的电源进行监控,一旦电源出现故障则立刻通知监控系统,监控系统会对电脑 绣花机的运动控制器发出停机或者切断电源指令。断线检测节点则负责对绣花机的运 动过程进行监控,一旦在绣花的过程中出现断线等异常状况,则监控系统也会立刻通 知运动控制器进行停机并开始故障报警。 (4)按键处理模块,按键处理模块用于向处理器发送命令来配合USB设备和彩色 LCD显示模块的工作,处理器使用外部中断引脚来接受按键的操作。当usB设备例如 U盘插入到USB接口上时,系统会自动对U盘进行识别,首先是设备枚举,然后检测 13 浙江工业大学硕士学位论文 是否有读取花样文件的命令,如果有则读取花样文件送到运动控制器。此时LCD模块 也等待显示命令,如果控制显示花样的文件的按键按下,则利用U盘里的图案数据按 照R3G382的格式把图案显示出来,以供预览。监控还预留了一个串口通信接口,可 以在现场遥逝RS232连接到监控系统。 监控系统的功能模块框图如下: 图2-2电脑绣花机监控系统功能模块框图 2.1.3系统应用软件 如前所述,电脑绣花机监控系统是基于A跚处理器以及操作系统设计的,系统的 功能模块接口利用相应的控制器在系统处理器以及操作系统的控制和管理下实现,因 此系统的软件结构包括两个部分: (1)系统功能模块驱动程序 驱动程序负责对相应的功能外设进行控制,使其能够按照要求进行工作,主要包 括对外设的初始化、外设工作模式的设定以及控制外设的启动、运行等。驱动程序属 于应用软件的底层部分。 (2)基于操作系统任务程序软件 在设计实现功能外设驱动程序的基础上,需要建立相应的应用程序接口才能够实 现具体的应用,例如以太网通信的实现。首先需要设计实现以太网控制器的驱动程序 设计,然后建立相应的应用程序接口来实现TCP/IP协议栈才能完成整个网络通信过 程。本文的应用程序接口是基于操作系统编写的,因而都是以操作系统的任务形式体 现的,这在论文的软件设计章节中会有详细介绍. 14 浙江工业大学硕士学位论文 2.2系统性能需求分析 电脑绣花机的主体目标是实现高速、高效及高质量的自动刺绣工艺,除了要求机 械部分以及运动控制器需要精良的性能之外,还必须保证监控系统也应该具有优良的 事务管理性能,结合电脑绣花机的工作原理以及前节所述监控系统的整体设计架构, 下面分析给出了系统的性能需求. 2.2.1系统处理器 电脑绣花机监控系统的处理器负责控制协调系统各个功能模块的工作,根据前节 所述系统整体结构以及所要实现的功能,系统处理器应该选用一个面向嵌入式系统 的、能够控制多种功能外设同时处理速度能够达到相应控制要求的一种控制器。 监控系统处理器需要控制不同的外设,例如以太网控制器、USB控制器等,在软 件设计方面传统的编程方法很难实现,在监控系统中系统的功能必须进行合理调度, 综上所述,处理器需要移植一个操作系统,因此系统处理器需要有足够的资源可以移 植操作系统。 2.2.2功能模块接口需求分析 如前节所述,电脑绣花机监控系统整体构架需要具有各个功能模块,本节主要对 这些模块进行相应的性能需求分析,为系统总体设计方案的设计提供依据,具体内容 如下。 (1)网络通信模块需要确保网络连接的稳定性和可靠性,要求命令和数据能够准 确无误地被传送,并且能够满足一定的传送速率。同时网络连接应该确保客户端的安 全性,保证只有合法的用户才能够连接到监控系统上。 (2)USB读写接口模块负责读写USB存储设备上的数据,一般的USB存储设备都是 符合USB标准协议的U盘,因此,系统的USB接口能够具有的良好的兼容性,能够读 取符合USB标准协议的的u盘数据,在存储或者读取文件时能够使用文件系统格式, 例如FATl6等。 (3)在电脑绣花机的工作现场,为了确保绣花工作的正常进行,需要对绣花机的 电源供给以及绣花的状态等进行监控。对电源供应的检测以及绣花机的断线检测等需 15 浙江工业大学硕士学位论文 要确保检测的精确性因而无法使用监控系统的处理器STR710FZ2T6进行检测,需要使 用专门设备来处理,为了监控系统能够快速实时地得到检测设备的结果,在电脑绣花 机工作现场需要组建一个小型的网络,来实现监控系统和检测模块之间的通信,安全 检测模块使用带有CAN控制器的PICl8F4680单片机以及相应的传感器来实现。 (4)一个嵌入式监控管理系统的显示接口是不可或缺的,电脑绣花机在工作过程 中需要对所绣花的花样文件的图案效果进行预览,还有时间显示等;监控系统读取 USB设备以及对花样文件进行预览的操作还需要提供一个用户的操作接口,因此监控 系统需要一个彩色的LCD显示屏以及相应的按键供用户进行操作。 2.2.3软件设计分析 在软件设计方面,监控系统要完成对系统各个功能模块进行控制不仅需要编写相 应模块控制器的驱动程序,还要编写上层的应用软件来实现具体功能,这样整个系统 的编程会是一个非常大的软件体系,因此使用一种操作系统进行程序软件的管理是必 须的。电脑绣花机的监控系统是一种嵌入式系统,具有嵌入式系统的共同的特点一资 源有限并且要求实时控制性能良好,因此操作系统需要使用一个面向嵌入式的实时操 作系统。这样系统的软件设计就分为两个部分,一为驱动程序的设计,另一个为在操 作系统中的应用程序的设计. 2.3电脑绣花机监控系统总体方案设计 上一节介绍了电脑绣花机监控系统整体构架,并对其进行了相应的性能分析,在 此基础上,本节给出了系统的总体设计方案,具体如下所述。 2.3.1基于^舢的嵌入式处理器架构 A刚微处理器采用32位RISC架构,有如下特点:体积小、低功耗、低成本、高性 能;支持Thumb(16位)/J蛾M(32位)双指令集。大量使用寄存器,指令执行速度更快。 ARM微处理器目前包括:越潮7系列、ARM9系列、ARMge系列、ARMl0E系列、 SecIllrCore系列、Intel的Xscal,和Intel的StrongARM等几个系列的处理器产品以及其它 厂商基于ARM体系结构的处理器【51。这些处理器最高主频达到了800h佃s,功耗数量 级为MW/MI-IZ。对于支持同样ARM系列的处理器,其软件是兼容的。A蹦微处理器 的应用领域较广,到目前为止,ARM微处理器及技术的应用几乎己经深入到各个领 16 浙江工业大学硕士学位论文 域如工业控制、消费类电子产品、通信系统、网络系统、无线系统等各个领域。 由ST(意法半导体)生产的基于ARM7TDMI核的STR710是一款性能优良的徽处 理器,它具有A/D转换,RTC,通用串行通信,EMI,USB控制器等丰富的外设,存 储器可进行大容量扩展,主频可达50MHZ,STR710FZ2T6的EMI有4个BANK,每个 BANK能够扩展多达16M的外部ISA接口,像以太网。USB接口等。该处理器能够方 便地移植一些嵌入式操作系统,例如pC/OS.II等。以STR710FZ2T6为处理器,在扩 展以太网、USB等外部接口之后,利用嵌入式操作系统肛C/OS.II进行各个功能模块的 管理,从而构建一个基于ARM处理器的监控系统构架。 2.3.2基于ttC/OS.II的系统软件设计 选择什么样的操作系统,以及如何在该操作系统下进行系统的软件设计将是本小 节介绍的内容。 (1)嵌入式实时操作系统的选择. 嵌入式实时操作系统在目前的嵌入式应用中用得越来越广泛,尤其在功能复杂、 系统庞大的应用中显得愈来愈重要。嵌入式操作系统的选择非常重要,通常在选择嵌 入式操作系统时,应该遵循以下几个原则:第一,市场进入时间;第二,可移植性; 第三,可利用资源;第四。系统定制能力;第五,成本。综合以上5个原则,结合控 制芯片STRTIOFZ2T6的特性和资源,我选用TI_tC/OS.II。肛C/OS—II是源码公开的实 时操作系统,是一个自由操作系统,为了提高系统改实时能力,ttC/OS.Ⅱ可以将一 个复杂的应用划分为多个相互独立的任务,并根据任务的重要性来分配优先级。任务 的调度完全tlC/OS.II的实时内核完成,主要包括任务的状态监控、选择最高优先 级的任务、执行任务和撤销任务等,}lC/OS.Ⅱ内核还负责CPU时间分配,CPU时间 总是优先分配给中断事件,其次是任务队列中当前优先级最高的任务,不同任务间的 通信可以通过肛C/OS.II提供的信号量、邮箱、信息队列等机制完成,其绝大部分代 码是用C语言编写的,可移植性强。 (2)系统软件设计方法。 在选择了嵌入式实时操作系统ttC/OS.Ⅱ之后,系统软件设计任务包括三个方面: 第一,操作系统在系统处理器上的移植;第二,系统功能模块底层驱动程序的设计实 浙江工业大学硕士学位论文 现;第三,操作系统中应用程序的设计。操作系统中应用程序的设计就是在操作系统 中建立相应的任务,结合底层驱动程序负责实现相应外设的功能。具体的设计实现将 在第四章进行详细的阐述。 2.3.3系统功能模块设计方案 如前所述,监控系统功能模块包括网络通信、USB设备读写、安全检测,彩色LcD, 下面介绍各个模块接口的设计方案。 (1)网络通信接口设计 嵌入式控制系统要接入到网络必须有一个适合嵌入式系统的网络接口。目前用于 接入网络的网卡芯片有很多,现在应用比较广泛的有RTLS019AS,CS8900A等,还有 针对单片机控制芯片接入网络的新型网络控制器ENC28J60,网络控制芯片的任务是 负责数据在底层进行打包以及接收和发送。本论文中选用的是CS8900A-CQ3,它是 Crystal公司生产的10Mbps太网控制器,3.3v供电,多种工作模式,具有ISA以及 DMA等接口,可以方便的应用到嵌入式系统中.由于其优良的性能、低廉的价格, 使其在市场上10Mbps卡中占有相当的比例。 以太网使用TCP/IP协议进行设备之间的远程互连。在嵌入式控制系统中。系统的 资源非常宝贵,需要一种针对嵌入式网络控制系统的网络协议栈,LwIP就是其中之 一。LwIP是瑞士计算机科学院(SwedishInstituteofComputerScience)的AdamDunkels 等开发的一套用于嵌入式系统的开放源代码TCP/IP协议栈。LwIP的含义是Light Weight(轻型)口协议,它可以移植到操作系统上,也可以在无操作系统的情况下独立 运行。LwIP的TCP/IP协议实现的重点是在保持TCP协议主要功能的基础上减少对 RAM的占用,一般它只需要几十K的丸蝴40K左右的ROM就可以运行,这使Lw口 协议栈适合在低端嵌入式系统中使用。在电脑绣花机监控系统中使用LwIP需要结合 以太网控制器的驱动程序对“椰进行移植。移植LwIP实际上把其移植到处理器所使 用的操作系统上,本系统中就是把它移植到pC/OS.II中。 (2)USB设备读写接口设计 电脑绣花机的运动控制系统根据监控系统的提供的花样文件进行工作,存放花样 文件只靠系统的处理器S1rIUlOFz2T6自带的存储器或者EMI扩展的FLASH存储器都 18 浙江工业大学硕士学位论文 是远远不够的,本系统通过利用USB HOST控制器SL811HS设计了海量USB存储设备 接口,设置STR710FZ2T6的BAⅫo为8位数据方式,连接到SL811HS上;再编写针对 SL¥11HS的固件设备驱动程序后,处理器就可以读写UsB设备,从而实现大量花样文 件的存取,也可以把现场的各种信息存储在USB的存储器中,以便检验。考虑到与PC 机的兼容性,监控系统在海量USB设备上读写文件的时候是以Ⅳ口16的文件系统格式 进行的。读写USB设备的SCSl指令使用UFI命令格式,包括查询,读,写等命令。 (3)彩色LCD显示接口设计 为了使监控系统能够直观的反映电脑绣花机的工作状态,通过SⅡ盯lOFZ2T6的 EMI中的BANKI设计了彩色LCD显示接口,综合考虑系统的显示要求以及成本,LCD 采用了5.6英寸的256色模拟屏,象素格式为R3G382,试验证明该显示屏能够良好的 显示出花样文件的效果图案,同时显示接口还负责显示电源和绣花机的工作状态,以 及系统时间等。由于花样文件是PC机上用专门的软件制作出来的2进制或者3进制的 文件,LCD显示模块无法通过花样文件进行显示图案,所以在PC机上根据图案制作 的花样文件的时候还需要利用像Image2Led软件把图案转换成二进制的数据的BIN文 件的方式和花样文件同名存储在USB设备中,这样在刺绣的时候。LCD显示屏就能够 根据其二进制的数据把图案显示出来,供用户预览。 (4)基于CAN通信的安全检测模块设计 利用CAN总线在现场组建一个小型的CAN网络,可以有效的对电脑绣花机的运 动控制系统进行监控,包括对电源工作状态的检测等。STR710FZ2T6内部集成了cAN 模块,包括cAN内核、Message RAM、Message Handler、控制寄存器以及模块接口, 支持CAN协议2.0A和2.oB,位速率最高可达lMbps。CAN内核与物理层的连接需要额 外的硬件收发器,考虑到系统工作在3.3V电压,采用的1rI公司专为3.3V系统提供的 CAN收发器m65hvd230。CAN网络中的电源检测节点、断线检测节点以及监控系统与 运动控制的交互节点利用Mi锄cllip生产的带有CAN模块的PIcl8F4680以及cAN收 发器2551来实现,它们实时地把采集到的信息传送给监控系统,如果电源或者织机出 现故障监控系统立刻通知运动系统停机或者切断电源。 19 浙江工业大学硕士学位论文 2.4本章小结 电脑绣花机监控系统主要负责花样文件的传输、网络通信、安全检测以及LCD 显示等任务,本文基于ARM7核处理器STR710FZ2T6+嵌入式实时操作系统pC/OS-Ⅱ 的监控系统平台设计实现了用户对以太网、USB、LcD等技术在电脑绣花机中应用 的需求,在现场组建了一个小型CAN网络,设计了电源检测、断线检测节点,电脑 绣花机监控系统是一个典型的嵌入式系统,嵌入式系统的特点是控制对象明确,但是 资源有限。因此需要合理的利用资源,本系统的设计中充分利用了处理器的资源,设 计了各种必要的功能模块接口。性能优良。 浙江工业大学硕士学位论文 第三章电脑绣花机监控系统硬件电路设计与实现 前一章介绍了电脑绣花机监控系统的总体设计方案。本章根据设计方案给出了系 统具体实现方法,包括系统的处理器、各个模块的控制器以及两者的硬件电路连接等。 3.1基于ARM的系统处理器 在系统的总体设计方案中给出了监控系统选用的处理器一具有ARM核的 STR710FZ2T6,本节在对其进行简单的介绍之后,给出了其扩展功能接口的设计方法。 3.1.1系统处理器SⅡH10Fz2T6简介 ST(意法半导体)的32位微控制器STR7系列.融合了16位和32位产品的优势。 该系列产品集成了符合行业标准的ARMTTDMI 32位RISC内核,以高性能,低功耗、 密集的编码,全面的外设组合,和在STR710、STR730和STR750系列中最新集成的 ST0.18微米嵌入式快闪存储器技术为特色。STR7系列阵容强大,包括宽敞型封装或 优化型低管脚数封装。32位ARM微控制器小型的、高度集成的微控制器在降低总系 统成本的同时还扩展了应用能力。带有USB和CAN功能的基于ARM的32位Flash 微控制器s11UlO系列是第一代STR7超级集成的MCU,整合了带有嵌入式Flash的 行业标准的ARM71’D ̄Ⅱ@RISC微处理器和功能强大的外设功能(包括USB和 CAN)。S1rIUlOFz2T6带有256KB Flash/64KB RAM、USB,CAN和外部存储器接 口。包含16KB额外”数据’'Flash,可用于EEPROM仿真和数据存储,具有针对无可 比拟的功率优化的功率和时钟管理特性。STR7(ARM)-32位微控制器产品家族适合嵌 入式控制应用,如工业控制、工厂自动化、销售终端设备、医疗和测试设备,以及电 信和消费电子应用纠川。STR710FZ2T6具体的特性如下: (1)存储器 ·高达272K字节(256+16K)FLASH程序存储器(可重复擦写lO万次,数据保持 20年) ·高达64K字节RAM ·外部存储器接D(Extemal Memoq Interface,EIvn),支持高达4个SRAM,Flash, ROM 2I 浙江工业大学硕士学位论文 ·多种启动方式 (2)时钟,复位及供电管理 ·应用及I,o接口电压为3.3V ·嵌入式的1.SV内核电压控制器 ·0到16MHz外部主晶振 ·32Ⅺ{z外部后备晶振 ·为CPU时钟提供内部PLL ·从flash执行时,CPU操作频率可高达50姗z ·为时钟日历功能提供实时时钟 ·4种省电模式:SLOW,WAIT,STOP及STANDBY模式 (3)内置中断控制器 ·多向量的快速中断处理 ·32个中断向量,16个IRQ优先级 ·2个可屏蔽FIQ中断源 (4)5个定时器 ·16位看门狗定时器(watchdog timer) ·4个16位定时器,每个均有以下功能:2个输入捕获,2个数出比较,PWM 和脉冲计数模式 (5)高达48个FO端口 ·30/32/48个多功能双向I/O口线 ·14个有中断功能的端口 (6)10个通信接口 ·2个12C接IZl(1个与SPI复用) ·4个UART异步传输接口 ·UARTI上的Smart Card IS07816.3接口 ·2个BSPI同步传输接口】 ·CAN接口(2.0A、2.0B) ·USB v2.0全速(12Mbit/s)设备,支持断点续传(Suspend and Resume) ·}Ⅱ)LC同步通信接口 (7)4通道12位A/D转换器 浙江工业大学硕士学位论文 ·转换时间: 4通道:高达500Hz(2ms) 单通道:高达lkHz(1ms) ·转换范围:0到2.5V (8)开发工具支持 ·含有debug模式触发请求的JTAG 3.1.2处理器与功能外设连接设计 系统处理STR710FZ2T6通过EMI与外部功能设备进行连接,从而实现对外设的 控制。STR710FZ2T6的非复用的16位数据/24位地址总线支持4个16M字节的EMI (外部存储器)。每个存储器的等待周期可独立编程并允许使用不同的存储器类型 (Flash、EPROM、ROM、SRAM等)存储程序或数据。EMI中有4个BANK,通过 相应的片选信号(CSn0~CSn3)线进行选择.下表为S11订10Fz2T6的EMI总线接 口信号线描述: 表30l STR710FZ2T6 EMI总线接口信号线 名称 引脚类型 描述 A[23:o】 输出/输入 外部接口地址总线 D[15:o】 输出 外部接口数据总线 RDn 输出 外部存储器读信号,低电平有效 WE儿O 输出 外部写信号,为0时使能低8位数据写操作 WEILI 输出 外部写信号,为0时使能高8位数据写操作 CSn.0 输出 BANK0的低电平片选信号 CSn.1 输出 BANKI的低电平片选信号 CSn.2 输出 BANK2的低电平片选信号 CSn.3 输出 BANK3的低电平片选信号 通过EMI可以连接具有ISA总线的外部功能设备,利用STR710FZ2T6作为CPU 来控制外部设备,通过相应的固件驱动程序,从而实现扩展STR710FZ2T6功能模块 接口。系统的以太网以及USB接口等都是通过EMI来扩展实现的,具体的设计工作 如下面几个小节所述。 浙江工业大学硕士学位论文 3.2以太网通信模块接口设计 3.2.1以太网控制器CS8900A-CQ3 CS8900A是CIRRUS LOGIC公司生产的低功耗、性能优越的16位以太网控制器。 该芯片的突出特点是使用灵活,其物理层接口、数据传输模式和工作模式等都能根据 需要而动态调整,通过内部寄存器的设置来适应不同的应用环境。CS8900A芯片带有 后缀-CQ3表示供电电压是3.3v。另外还有z后缀表示的无铅产品。CSS900Agg部结构 框图如图3.2所示。它内部主要的功能模块是802.3介质访问控制块(MAC)。802.3介质 访问控制块支持全双工操作,完全依照IEEE 802.3以太网标准(ISO/1EC 8802.3,1993), 它负责处理有关以太网数据帧的发送和接收,包括:冲突检测、帧头的产生和检测、 CRC校验码的生成和验证。通过对发送控制寄存器(TxCMD)的初始化配置,MAC能 自动完成帧的冲突后重传。如果帧的数据部分少于46个字节,它能生成填充字段使数 据帧达到802.3所要求的最短长度. 下面是CS8900A的特点: (1)符合IEEE 802.3以太网标准,并带有ISA总线接口; C2)片内4K字节RAM; (3)适用于∞操作模式,存储器操作模式和DMA操作模式: 24 浙江工业大学硕士学位论文 (4)带有传送、接收低通滤波的10Base2T连接端口; (5)支持10Base2,10Base5和10Base2F的AUI接口; @自动生成报头,自动进行CRC检验,冲突后自动重发; (7)最大电流消耗为55mA(5V电源); (8)全双工操作; (9)支持外部EEPROM。 另外,要实现CS8900A与STR710之间的数据通讯,在电路设计时可根据具体情 况灵活选择合适的数据传输模式。CS8900A支持的传输模式有FO模式和Memory模 式,另外还有DMA模式。其中,I,o模式是访问cS8900A存储区的缺省模式,比较简单 易用,所以在本系统中我们选用FO模式。 3.2.2 CS8900A与S11UloFz:叮6的硬件连接 CS8900A与STR710FZ2T6的硬件连接框图如图3.2所示,STR710F7_2T6通过 /SBHE、/IOW和/IOR-等控制信号实现对CS8900A的工作方式控制和读写操作。需要说 明的是:当CS8900A在硬件复位或软件复位的时候,它将默认成为8位工作模式。因 此,要使CS8900AT_作于16位模式,系统必须在访问之前提供给总线高位使能管脚 (/SBHE)一个由高到低、再由低到高变化的电平信号,一般这个过程不使用硬件的方 式实现,可以在软件里面分别使用一次读和写的操作即可完成。这在网络驱动程序中 予以实现。 浙江工业大学硕士学位论文 D帖D1) au队嗣)15 显 WR Cs2 帕R RD 【oW P互7 时呻 A1—^q SAo^SA3 ’k.二 岛珏m -I卜[ ¥A4--S矗7 SAlO~SAl9 . J.一 濉弧删 平厂一 SA8~SA9 ME、;fW STR71僵Z2W 图3-2 CS8900A与STR710F7_,2T6的硬件连接框图 CS8900A与STR710FZ2T6之间的数据传输采用的是默认的I/O模式,因此,读写 管脚/MEMW和瓜伍MR被置高,以关闭Memory方式。在I/O模式下,CS8900A的默认 偏移地址为0x0300,为保证上述的缺省偏移地址(0x0300)须将SA8和SA9置高外,其 余不用的地址线都接低电平。CS8900A相对于偏移地址(0x0300)提供了8个地址映射, 分别为0000h,蚴,0004h,0006h,0008h,000Ah,000Ch,000Eh,其详细功能 说明见表3-2。由表中描述可以看出,STR710FZ2T6用4根地址线就可以实现对所有寄 存器的访问。地址线的连接如图3.2所示,CS8900A的管脚SAO---SA3对应接到 S.nuloFz2T6的地址线A1 l~A14上即可. 表3-2 CS8900A!/O模式下的地址映射 偏移地址 OOOOh O002h O004h 0006h 0008h 000Ah 000Ch 000Eh 端口类型 读/写 读/写 只写 只写 只读 读/写 读/写 读,写 端口描述 接收/传输数据(P0lm) 接收/传输数据(PORTl) TxCMD(传输命令端口) TxLength(传输长度) 中断状态序列 PackctPagc指针 PacketPage数据(PORTO) PacketPage数据(PORTl) CS8900A不能把数据直接发送到网络上,需要通过一个带厄流线圈的隔离变压器 浙江工业大学硕士学位论文 将CPU要发送的数据发送到网络上:接收数据时,由网络传来的数据也经过隔离变压 器。加隔离变压器的作用主要是将外部线路与CS8900A隔开,防止干扰和烧坏元器件, 实现带电的插拔功能。CS8900A工作在3.3V电压时,隔离变压器TXD+和TXD.的 CS8900A端与网络RJ45端之间的变压比为1:2.5,对应的RXD+和Iu口D.的变压比为l:l, 据此,系统使用广东汉仁公司生产的集成网络变压器的RJ45来实现CS8900A数据到网 络之间的传输,该器件型号为HR901175A,其自带的隔离变压器的变压比满足 CS8900A的要求。图3.3为CS8900A与网络的连接示意图。 瑙=辅 巡懈=:.j 融l…po口!习 n 图3-3 CS8900A与网络的连接示意图 3.3 USB设备读写接口设计 电脑绣花机根据花样文件来进行工作,监控系统需要将花样文件传输给电脑绣花 机的运动控制系统,为了能够存储大量的花样文件以便提高绣花机的工作效率,给监 控系统设计TUSB设备读写接口,从而监控系统能够在USB设备上存取花样文件, USB设备使用海量存储器也就是我们常说的u盘,本系统的USB接口能够成功读取的 USB海量存储器的容量可以达到1G,足够存取较多的花样文件,此外,监控系统还 可以把电脑绣花机的工作状态等信息数据存储在U盘中。监控系统使用STR710FZ2T6 的EMI的BANK3控制USB主控制器SLSllHS来实现USB设备硬件平台的设计。 USB通讯具有高速度、低成本、低功耗、即插即用和使用维护方便等优点,自从 1996年2月USBI.0版本发布后短短的几年内,使用USB接口的设备正在以惊人的速 度发展,基于USB接口的U盘以其优异的性价比和大容量的特性常用作移动数据存储 器·U盘作为花型文件的传输介质克服了软磁盘和Ic卡的缺点,U盘系统运行稳定, 浙江工业大学硕士学位论文 接口通用,容量大,本系统利用usB通信技术,采用cypr髓s公司生产的uSB主/从控 制器SLSIIHS,设计实现了读写u盘的USB设备接口,本小节在介绍SL¥111-1S的基础 上给出了其与ARM处理器的硬件接口设计。 3.3.1 USB控制器SLSIIHS SLSIIHS可以工作在主控和从动两种模式下,本系统使之工作在主控模式下。 SLSIIHS作为USB主控制器主要是完成底层物理接口设计,是USB系统架构的必要 部分,是USB数据包进出的必经通道。SL811HS由Cypress公司生产,Cypress公司 是最早从事USB芯片开发的公司之一,其EZ-USB系列芯片在业界有非常好的口碑。 SLSIIHS是当今第一个支持USB主从机的接口芯片,性能稳定,资料全面。SLSIIHS 是自动兼容USB全速或者低速的嵌入式USB主从机的接口芯片,它支持微处理器、 微控制器或者DSP的USB接口设计,同时也可以直接连到ISA、PCMICA等其它总 线,芯片使用标准的USBI.1协议。SLSIIHS通过内部集成的全,{氐速传输引擎产生 USB串行接口功能,在全速时带宽为12Mbps,低速时为1.5Mbps。芯片支持8位并 行数据端口或者I/O口的设计,同时也支持DMA,自动中断检测连接口,可以非常 容易地在单片机、ARM等微控制器或者其它控制芯片上完成设计。总的来说具有如 下特性嘲: (1)可在软件控制下,单一地实现主机或者从机功能,具有28脚PLCC以及48 脚TQFP封装。 (2)低速1.5Mbps,高速12Mbps,主从模式下都一样. (3)自动检测连接设备是否为高速或者低速。 (4)支持8位双向并口传输,或者I/O口,DMA传输。 (5)片上集成SIE和USB传输器。 (6)片上集成了一个USB根集线器。 ∽256字节内部SRANL支持乒乓传输。 (8)工作频率在12M或者48M,3.3铰供电'最高5伏耐压接口。 (9)支持总线挂起、唤醒和掉电模式。 浙江工业大学硕士学位论文 (10)自动产生SOF和循环冗余校验,自动地址增长模式,保存读写周期。 SLSllHS内部电路结构见图3.4所示: 3.3.2 USB接口硬件设计 图3-4 SL81IHS内部电路图 监控系统的USB设备接口使用USB主,从控制器SLSllHS与处理的BANK3连 接来实现,SLSlIHS为28引脚的PLCC封装,工作在主机模式下。SLSIIHS的外部 晶振有12MHz和48MIIz两种,当使用外部12MHz晶振时,需要使用SLSIIHS内部 的PLL使其倍频到48MHz,此时需要把第七个管脚CM接到VDD从而使能SL811HS 的PLL,如果使用外部48MHz的晶振则应该把管脚CM接地。为保证SL811HS能够 稳定正常的工作,系统使用48MI-Iz的有缘晶振,此时应该把管脚CM接地,并把第 十四个晶振管脚x2悬空,这样可以保证SLSIlHS能够产生精确的lms的SOF包, 并能稳定的工作。SL¥11HS没有专门的地址线,只有一个数据13 D0~D7,通过控制 第一个管脚AO来决定D0-D7传送的是数据还是地址,当AO为低电平D0,--D7上的 数据为地址,当AO为高电平则D0~D7总线上为数据。因此把STR710FZ2T6的EMI 的BANK3设置为8位数据方式,地址线A1接到SLSllHS的A0上,在STR710FZ2T6 的EMI上把SLSI 1HS的地址和数据传输操作分成两个地址进行,由于STR710FZ2T6 的EMI是16位宽,从而地址0x66000000处是对SLSllHS进行地址值的传送,地址 0x66000002处是对SLSIlHS进行数据值的传送。此外为使SL811HS工作在主机模式 下,需要将第27管脚M/S接地,第二管脚nDACK在主机模式需要接到VDD.图 3-5为SL811HS硬件连接框图: 浙江工业大学硕士学位论文 翻3-5 SLSllHS硬件连接框图 存储有花样文件的u盘在插入到监控系统USB设备接口总线的插座上时,系统会 自动识别U盘型号,对U盘进行枚举、分配设备端点等,然后就可以对U盘上的文件 进行读取,并可以把相应的数据写到U盘上。 3.4基于0AN通信的安全检测模块设计 在电脑绣花机的现场,监控系统不仅需要和运动控制系统进行交互,还需要检测 电源工作状态,以及织断线检测等。利用CAN总线在现场组建一个小型的CAN网 络,可以有效地对电脑绣花机的运动控制系统进行监控,包括对电源工作状态的检测 等。STR710FZ2T6内部集成了CAN模块,包括CAN内核、Message RAM、Message Handler、控制寄存器以及模块接口,支持CAN协议2.0A和2.0B,位速率最高可达 IMbps。CAN内核与物理层的连接需要额外的硬件收发器,考虑到系统工作在3.3V 电压,采用的11公司专为3.3V系统提供的CAN收发器sn65hvd230。CAN网络中的 电源检测节点、断线检测节点以及监控系统与运动控制的交互节点利用Micorochip 生产的带有CAN模块的PICISF4680以及CAN收发器2551来实现,它们实时地把 采集到的信息传送给监控系统,如果电源或者织机出现故障监控系统立刻通知运动系 统停机或者切断电源。CAN总线相关原理在绪论里已经有介绍,本节主要介绍各个 模块节点的设计和实现。 3.4.1电脑绣花机断线检测模块设计 电脑绣花机的自动剪线、断线检测等辅助功能从一定程度上反映了电脑绣花机的 自动化水平,也逐渐成为电脑绣花机的关键部位。现在断线检测板、针位译码板等在 浙江工业大学硕士学位论文 市场上就有现成出售,这些都做成了标准部件,这些作为标准部件不但增强了个电脑 绣花机厂商的兼容性,而且降低了系统的成本,因此我们只需要在监控系统中设计好 和这些标准部件的接口,在市场上买到这些标准部件,就可以实现这些功能,从而加 快了设计进程。为此,在断线检钡8模块中,监控系统使用市场上的断线检测板以及针 位译码板,对电脑绣花机的每个针位都进行检测,一旦断线或者底线用完断线检测板 就会发出信号到译码板,断线检测控制器根据译码板的电信号判断是哪个针位出现了 故障,从而进行相应的报警。断线检测控制器采用Microchip公司生产的带有CAN模 块的18系列单片jb'I,PICl8F4680,主要负责实时监控译码板检测的到信号,一旦有断线 或者电源故障则会立即通知监控系统进行相应的处理。PIClsF4680自带的增强型 CAN模块负责负责和监控系统的控制器STR710FZ.2T6进行实时高速地通信,并且实 时地把绣花机的绣针的运作状态通过CAN网络传递给STR710FZ2T6。为了能够检测 到全部的针位情况,把PICl8F4680的端I:lC和端I:ID设定为I/OI:1来接收译码板的信 号,从而确定是哪些针位出现了故障。 PICISF4680作为断线检测的控制器其利用CAN收发器MCP255l来实现接入到 CAN网络中,从能够和CAN网络中的监控系统处理器进行交互。图3.6为电脑绣花机 断线检测模块系统连接框图. 图3.6断线检测模块框图 3.4.2电脑绣花机电源检测模块设计 电源检测模块的设计的思路跟断线检测模块基本类似,检测控制器还是选用 3l 浙江工业大学硕士学位论文 Microchip公司的PICl8F4690单片机,负责采集电源数据,并通过CAN网络传送到监 控系统的处理器中,由于电脑绣花机的电源是强电,需要经过电压以及电流互感器进 行电压和电流信号的转换然后送给PICl8F4680进行检测,PICISF4680有11个10位数 模转换通道,转换时间最低可达12us,能够对电源的变化进行实时的监控,保证绣花 机能够在电源正常供应的情况下工作. 3.5彩色LOD显示模块设计 一个性能优良的监控系统必然需要一个友好的人机接口,通过LCD显示屏,微 处理器可以较为直观地把绣花机的工作状态显示出来,并能够显示网络的状态,以及 现场的绣花机与监控系统的通讯状态,如果出现工作障碍或者通讯障碍监控系统处理 器立即在LCD显示屏上显示具体报警信息。监控系统采用5.6英寸彩色液晶屏做为 显示接口。该液晶屏为真彩LCD,分辨率为320*234,采用控制板卡一QD.13来控制 液晶屏的显示,能实现256色。QD.13提供与处理器的接口包括电源线,8位数据线, 读写控制信号,以及片选和地址线。所有接口信号(兼容3.3V和5V逻辑电平的, 可以与5V系统或3.3v系统直接相连接,不需要任何电平转换电路F2]。监控系统使 用STR710FZ2T6的EMI中BANKI来作为总线控制器.表3.3详细说明了LCD控制 板QD-13引脚线功能。其中RD、WR、CS、A0、AI、DATA肛DATAI连接至 STR710FZ2T6的EMI中的BANKI上,BANKI的数据宽度为s位,并在时序上等待 15的周期,与QD.13进行同步。图3-7为LCD显示接口的连接示意图. 控制总线. S玎盯10F 地址总线. 彩色 数耥一 三玎.6 QD-13 LaD 图3.7 LCD显示接口框图 引脚 l 2 3 4 5 6 7 S 9 10 11 12 13 14 15 16 浙江工业大学硕士学位论文 表3-3 LCD控制板QD-13引脚线功能 符号 GND GND VCC RD WR CS A0 A1 DArA0 D觚A1 DAIA2 DAn心 DAIlA4 DAI:A5 DJ蜩’A6 DJ蛆.A7 功能 接地 接地 +5V 读操作信号,低电平有效。 写操作信号,低电平有效。 片选信号,低电平有效。 地址 地址 数据总线 数据总线 数据总线 数据总线 数据总线 数据总线 数据总线 数据总线 3.6本章小结 本章详细介绍了电脑绣花机监控系统硬件平台的设计,构建了基于A州的处理 去架构,通过处理器的外部处理器接口扩展了监控系统的必要的功能模块。利用以太 网控制器CS8900A设计实现了以太网通信接口,构建了lOM以太网TCP腰网络连接; USB设备读写接口采用的是Cypress公司的USB主/从控制器SL81IHS,它和监控系统 处理器S11UloFZ2T6的EMI以8位数据宽度进行连接,可以实现USBl.1协议的慢速和 全速通信,能够对通用的USB存储设备(u盘)进行读写操作;为了电脑绣花机能够 正常稳定地工作,设计了基于CAN通信的安全检测模块,主要包括绣花机断线检测节 点以及电源监控节点;LCD显示模块使用了请达光电有限公司的QD-13液晶控制板配 合5.6英寸的彩屏来实现,其中QD.13与监控系统处理器之间也是通过8位数据总线进 行连接的。另外监控系统留有一个串口通信接口,可以在现场和PC机进行串口通信。 电脑绣花机监控系统硬件平台在具有ARM核的处理器STR710FZ2T6控制下能够稳定 33 浙江工业大学硕士学位论文 可靠运行,为电脑绣花机的正常工作提供保障。下图为已经做成PCB板的监控系统平 台。 图3-8电脑绣花机监控系统平台 浙江工业大学硕士学位论文 第四章电脑绣花机监控系统软件设计 电脑绣花机监控系统软件设计主要是嵌入式实时操作系统在监控系统处理 STR710FZ2T6上的移植以及在ttC/OS.Ⅱ下各个模块的固件驱动程序以及应用程序的 开发。监控系统以太网以及USB等模块的驱动程序都是作为操作系统ttC/OS一11一个 任务并有各自的任务优先级,各自完成特定的功能,任务之间的通信利用ttC/OS-II 的消息邮箱机制实现。系统软件的设计是在ARM开发软件ADSl.2开发环境下进行 的,通过仿真器以及处理器JTAG接口,可以进行在线调试,调试成功后的程序贝q可 以下载到处理的片内FU螺H中独立运行. 4.1 ARM软件开发环境简介 系统软件软件开发环境使用的是ADSl.2,ADS是ARM公司的集成开发环境软 件,功能非常强大,其前身是SDT,SDT是ARM公司几年前的开发环境软件,目前 SD下早已经不再升级。ADS包括了四个模块分别是:SⅡ小II,AToR;C编译器:实 时调试器;应用函数库。ADS的编译器调试器较SDT都有了非常大的改观,ADSI.2 提供完整的WINDOWS界面开发环境。c编译器效率极高,支持C以及c++,使工 程师可以很方便的使用c语言进行开发。提供软件模拟仿真功能,使没有Emulators 的学习者也能够熟悉ARM的指令系统。配合仿真器使用,ADSl.2提供强大的实时 调试跟踪功能,片内运行情况尽在掌握. ADS全称为ARM Developer Suite,ADS由命令行开发工具,ARM时实库,GUI 开发环境(Code Warrior和AXD),实用程序和支持软件组成。有了这些部件,用户就 可以为ARM系列的RISC处理器编写和调试自己的开发应用程序。下面就详细介绍 一下ADS的各个组成部分。 (1)命令行开发工具:这些工具完成将源代码编译。链接成可执行代码的功能。ADS 提供下面的命令行开发工具:anD.o。、armcpp、tee、tcpp、armasm、armlink、anmd 等. (2)CodeWardor集成开发环境:CodeWarrior for ARM是一套完整的集成开发工 浙江工业大学硕士学位论文 具。在整个开发周期中,开发人员无需离开CodeWarrior开发环境,因此节省了在操 作工具上花的时间,使得开发人员有更多的精力投入到代码编写上来,CodeWatrior 集成开发环境(IDE)为管理和开发项目提供了简单多样化的图形用户界面。用户可以 使用ADS的CodeWarrior IDE为ARM和Thumb处理器开发用C,c.H,或ARM汇 编语言的程序代码。 (3)ADS调试器:调试器本身是一个软件,用户通过这个软件使用debug agent可 以对包含有调试信息的,正在运行的可执行代码进行比如变量的查看,断点的控制等 调试操作。 (4)实用程序:ADS提供以下的实用工具来配合前面介绍的命令行开发工具的使 用:fromELF,这是ARM映像文件转换工具;arlllar,ARM库函数生成器将一系列 ELF格式的目标文件以库函数的形式集合在一起,用户可以把一个库传递给一个链接 器以代替几个ELF文件;Flash downloader,用于把二进制映像文件下载到A脚开发 板上的Flash存储器的工具。 (5)支持的软件:ADS为用户提供下面的软件,使用户可以在软件仿真的环境下 或者在基于ARM的硬件环境调试用户应用程序。ARMulator:这是一个ARM指令 集仿真器,集成在ARM的调试器A)∞中,它提供对ARM处理器的指令集的仿真, 为ARM和Thumb提供精确的模拟。用户可以在硬件尚未做好的情况下,开发程序 代码。 4.2 laC/OS—II的移植 如前所述电脑绣花机的软件设计是基于实时操作系统p.C/OS.II的,各个功能模 块的驱动程序都是IxC/OS.1I的任务,因此对监控系统进行软件开发的首要任务是把 ltC/OS-II移植到监控系统的处理上。rtC/OS.II的代码被分成3个部分:与处理无关 的代码;与应用相关的代码:与处理器相关的代码。移植时只要考虑与处理器相关的 代码。与处理器相关的代码由3个文件组成:OS_CPU.H文件;OS_CPU_C.C文件; OS—CPU—A.S文件。在移植IaC/OS-II之前,需要针对处理器编写相应的启动代码, STR710FZ2T6的启动代码包括初始化代码以及有关向量表的代码,这在下面将有详 细介绍。 浙江工业大学硕士学位论文 4.2.1¨C/OS.H简介 |lCIOS-II是一个完整的、可移植、可固化、可裁剪的抢占式实时多任务内核。 ttC/OS-II是用ANSI的C语言编写的,包括一小部分汇编语言代码,使之可供不同架 构的微处理器使用。至今,从8位到64位,ttC/OS-ll已在超过40种不同架构的微处 理器上运行.¨C/OS-II有如下特点:源码公开、可移植性(portable)、可固化 (ROMable)、可裁剪(scalable)、可剥夺性(preemptive)、独立任务栈、多种系统 服务(消息邮箱、时间管理函数等)、多层中断嵌套、优良的稳定性与可靠性等。下 面介绍使用ItC/OS.Ⅱ的关键点: (1)任务 在p.C/OS-II中,一个任务通常是一个无限的循环,它一定不会返回任何的数据, 所以返回类型应该定义为void。每个任务有一个TCB(任务控制块),TCB里包含有 任务的所有信息。¨C/OS.II通过TCB感知任务的存在。 (2)任务状态 ttC/OS.II中每个任务有5种状态,任意时刻每个任务处于且仅能处于某一种状态: 睡眠态、就绪态、运行态、等待态、中断服务态。睡眠态:指的是任务驻留在程序空 间(ROM或RAM)中,还没有交给I.tC/OS-H管理,ttC/OS-II还不知道任务的存在。 通过调用OSTaskCreate0或OSTaskCreateExt0把任务交给ttC/OS管理。就绪态:任务 经OSTaskCreate0或OSTaskCreamEx《)建立后,就进入就绪态。可以通过调用 OSTaskDelO把任务返回到睡眠态(任务本身或其它任务调用该函数)。运行态:处于 就绪态的任务当所有优先级比它高的任务都转为等待态时,就进入运行态。任何时刻 有且仅有一个任务处于该状态。当所有用户任务都进入等待态时,系统任务一空闲 任务OSTasHdle进入运行态。等待态: 任务通过调用 OSTtmeDlyO,OSTnneDIyHMSM0,OSPcndO将自己延时一段时间或等待某个事件发 生,进入该状态。中断服务态:正在运行的任务是可以被中断的。响应中断时,正在 执行的任务进入该状态,中断服务子程序控制CPU的使用权。 浙江工业大学硕士学位论文 图4.I任务状态转换图 (3)任务调度 肛C/OS一Ⅱ是基于优先级抢占式调度的,任何时刻只要有高优先级任务进入就绪 态,低优先级任务就将CPU让给高优先级任务。中断服务程序不是I扫ttC/OS.II管理 的,在中断服务程序里是不能进行任务调度的,相当于在响应中断时,调度器是关闭 的,只有等中断返回时通过调用OSExitInt0函数才允许任务调度。 (4)时间管理 ttC/OS—II提供5个功能函数给用户做时间管理用,以一个函数OS豇me而cl【o为 基础。OSTtmeDlyO,OST'macDIyHMSM0。OSTtmeDlyResumeO,OSTtmeGet0。 OSTtmeSet0。其中后面4个函数用户可以根据自己的需要决定是否编译它们,通过 在OS_CFGH中配置相应值。OSTtme’fick0在内核的调用时机是在每次时钟中断服务 函数里,移植时必须设置一个时钟,在中断服务函数里调用OSTtmeTick0。 (5)移植要求 要使I‘C/OS-II正常运行,处理器必须满足以下要求: 浙江工业大学硕士学位论文 ·处理器的c编译器能产生可重入型代码; ·处理器支持中断,并且能产生定时中断(通常为10~1001-Iz); ·用c语言就可以开/关中断: ·处理器能支持一定数量的数据存储硬件堆栈(可能是几千字节); ·处理器有将堆栈指针以及其它CPU寄存器的内容读出、并存储到堆栈或内存 中去的指令。 4.2.2启动代码编写 启动代码是芯片复位后进入c语言主函数前执行的一段代码,主要是为运行C 语言程序提供基本运行环境,如初始化存储系统等,代码包括71x—vect—ucos。s和 71x._inits两个源文件.7Ix—vect—twos.s包括异常向量表及异常处理程序与C程序的 接口;71x__init.S包括堆栈初始化、基本的系统初始化、变量初始化及跳转到C语言 主函数。我们知道异常是由内部或外部源(这里的内部与外部指的是从处理器核角度 看的)产生的以引起处理器处理的一个事件。ARM处理器核支持7种类型的异常。 异常出现后,CPU强制从异常类型对应的固定存储地址开始执行程序。这个固定的 地址称为异常向量。向量从上到下依次为复位,未定义指令异常、软件中断、预取指 中止、预取数据中止、保留的异常、Ⅱ良Q和FIQ,这些异常的处理程序都在异常向量 表源文件中。芯片复位后首先到7Ix—vect—ucos,s文件中开始执行指令,在 71x—vect—ucos,s中首先要完成系统相关的初始化。初始化的程序代码在71x_inits文 件里,主要完成堆栈的初始化、基本的系统初始化以及变量的初始化等。启动代码实 现的最后功能是跳转到C语言主函数,这个功能的最简单实现是: IMPORT main B main 其中main为C语言主函数入口,直接从启动代码跳转到C语言主函数入口,当然C 语言主函数入口可以由用户随便定义。ADS环境还提供了一套系统级的转移机制; IMPORT..——main B main 浙江工业大学硕士学位论文 珊ain是编译器提供的一个函数,负责完成库函数的初始化和变量初始化,—.main 最后自动跳转到mainO函数。这段代码位于文件71x_init.s中. 4.2.3 0S CPU.H文件编写 OS_CPU.H文件中包含与处理器和编译器相关的常量、宏的定义。pC/OS-Ⅱ不直 接使用c语言的short、int、long等数据类型的定义,因为它们与处理器类型和编译器 相关,不利于移植;而使用tyl脚ef或预定义的方式重新定义了数据类型。这样既有利 于移植。又很直观。为了完成数据类型定义的移植,应该参考ADS编译器的特征,以 及历使用的c编译器的文档,从中找到其使用的数据类型的定义,从而使pC/OS-Ⅱ得 到正确的数据类型定义;必须定义I‘C/OS.Il的任务堆栈的数据类型,这是通过为 0S-STK声明恰当的C数据类型来实现的。ARM处理器的堆栈为32位;pC/OS-II使用宏 OS ENTER_CRmCALO和OS_EXIT_CRITICALO实现临界段代码的保护,这两个宏 与处理器和编译器有关,需要根据自己的处理嚣和编译器进行移植。都是使用汇编语 言实现:pC/OS-H需要知道堆栈的增长方向,绝大多数处理器的堆栈是从上往下递减 的,但是也有某些处理器使用的是相反的方向。pC/OS.II被设计成对两种情况都可以 支持,移植时只要配置OS.sTK GROWTH常数以指定堆栈的增长方向就可以了;此 外,在文件中还需要0s-1.ASKjwO函数以及OSIn也xito函数,前者它是pc/oS.Ⅱ从 低优先级任务切换到最高优先级任务时调用的,而且总是在任务级代码中被调用,另 一个函数被用来在ISl0使得更高优先级任务处于就绪状态时,执行任务切换功能,任 务切换将处理器的寄存器保存到将被挂起的任务的堆栈中,并且从堆栈中恢复即将要 运行的更高优先级的任务. 4.2.4 O¥_CPU C.C文件编写 肛C/OS一Ⅱ的移植需要在文件OS_CPU_C.C文件中编写10个简单的C函数: OSTaskStldnit0;OSTaskCrcateHookO;OSTaskDelI-IookO;OSTaskSwHook0: OSTaskldlcHookO;OSTaskSiatI-Iook0;0sTim娟ekI-Iook0;OSlnitHookBe画a0; OSInitHookEndO;OSTCBInitHook0。唯一必要的函数是OSTaskStlduit0,其它9个 函数必须声明,但并不一定要包含任何代码。用户可根据自己的需要进行修改.本小 节主要介绍任务的初始化函数。函数OSTaskCreateO和OSTaskCrcamExt0通过调用 OSTaskStldnit0,初始化任务的栈结构:因此堆栈看起来就像中断刚发生过一样,所 J,O 浙江工业大学硕士学位论文 有寄存器都保存在堆栈中。OSTaskStl(hitO的示意性代码如下所示: OS STK’OSTaskStklnit(void(*taskXvoid’pd),void’IXlata,OS_STK。pros,INTl6U opt){ 模拟带参数(pdata)的函数调用: 模拟ISR向量; 按照预先设计的寄存器值初始化堆栈结构; 返回栈顶指针给调用该函数的函数; ) 4.2.5编写OS_CPU_A.S文件 ItC/OS-II的移植范例要求用户编写4个简单的汇编函数:OSStartmghRdy0: OSCtxSw0=OSIntCtxSw0;OSlicldSR0。当然,因为ADS编译器支持插入行汇编代 码,也可以将所有与处理器相关的代码放在OSCPUC.C文件中,而不必再有单独 的汇编文件。 (1)0SStartHighRdyoi甬数 ttC/OS·Ⅱ启动多任务环境的函数叫做OSStart0,用户在调用OSStaIto函数之前, 必须已经建立了一个或多个任务。Oss锄O最终调用OSStanHighRdyO来使就绪态任 务中优先级最高的任务开始运行,这个函数的示意性代码如下所示: void OSStartHighRdy(void) { 调用用户定义的OSTaskSwHook0; OSRmming=TRUE; 获取将要恢复运行任务的堆栈指针: SP 2 OSTCBHighRdy->OSTCBStkPtr; 从新任务堆栈中恢复处理器的所有寄存器: 4l 执行中断返回指令: 浙江工业大学硕士学位论文 (2)OSCtxSwO函数 都C/OS-II中,任务切换时会调用宏(或是函数)OS_TASK swo,pC/OS-II 建议OSj’AsK_swO通过某种途径最终调用函数osc仅swO。ltC/OS.II提供的 OSCtxSw0示意性代码如下所示: void OSCtxSw(void) { 保存处理器寄存器: 将当前任务的堆栈指针保存到当前任务的任务控制块中: 0sTcBcl廿》OsTcBs衄Ⅺ=堆栈指针; 调用用户定义的OSTaskSwHookO; OSTCBCt盯=OSTCBHighRdy; OSPrioCur=OSPrioHighRdy; 堆栈指针=OSTCBHighRdy->OSTCBStkPtr, 从新任务的任务堆栈中恢复处理器的所有寄存器; 执行中断返回指令; ' (3)OSIntCtxSw0函数 在pC,oS-Ⅱ中,中断退出函数通过调用0sb似hSwO函数,在ISR中执行切换功 能。I【LC/OS—II提供的OSIⅡ“0戗SwO示意性代码如下所示: void OSktCtxSw(void) { 调用用户定义的OSTaskSwHook0; 浙江工业大学硕士学位论文 得到将要重新开始运行的任务的堆栈指针: 堆栈指针=OSTCBHighRdy->OSTCBStkP仃;, 从新任务的任务堆栈中恢复处理器的所有寄存器; 执行中断返回指令; (4)中断服务程序和OS"IickISRO 在pC/OS.II中,中断服务子程序编写的要求如下所示; 中断服务子程序: 保存全部CPU寄存器: 调用OSIntEnterO或OSIntNesting直接加1: if(OSIntNesting—1){ OSTCBCur》0STCB¥tkl冶=SP; } 清除中断源: 重新开中断: 执行用户代码做中断服务: 调用OSIntExitO; 恢复所有CPU寄存器: 执行中断返回指令: 至于时钟节拍中断服务程序的编写,除了在调用的用户处理程序中必须调用函数 OSTimeTickO外,没有其它不同。这里采用处理器片上自带的RTC产生uC,oS.Ⅱ所需 43 浙江工业大学硕士学位论文 的时钟节拍. 4.2.6肛C/OS-II任务例程 在编写好处理器的启动代码并向其移植好gC/OS-II之后,就可以建立相应的任务 了,任务是一个无限的循环函数,不需要返回,操作系统会自动进行任务调度,下面 给出建立一个任务的步骤。 (1)首先需要产生操作系统需要的时钟节拍,频率为128HZ,由R1rC的中断产生,示 例代码如下: RTC PresealerConfig(256);们页分频时钟频率得到128HZ的时钟节拍 RTC FlagClear(RTC OWIR); RTC FIagCle圳RTC AIR); RTC FlagClear(RTC SIR); RTC__FlagClear(RTC GIR); EIC_IRQChaanelConfig(RTC_mQChaanel,ENABLE);,,使能外部中断 EIC_mQChaanelPriorityConfig(gTC_IRQChannel,1);/1设定RTC中断优先级 EIC_IRQConfig(ENABLD; RTC n'Config(RTC_SIT l RTC_GIT,ENABLE); ∥使能R1℃中断,开始计数 (2)在建立任务之前,需要根据任务程序以及所使用的变量大小定义好任务堆栈,保 证任务都有自己足够的堆栈,然后程序首先调用OSInit0初始化pC/OS-II,接着建立 一个任务Taskmain,最后启动uc/0S-Ⅱ。由于这时只有任务Taskmain处于就绪态, 启动内核后任务Taskmain开始执行,因此任务Taskmain需要根据具体应用需要建立 其他的任务.示例代码如下: OSlnit0;,砌始化lIc/OS-ll OSTaskCreate(Taskmain,0,Stackmain+(STKSIZE-1),I);//1童,-'rTaskmaiu OSStartO; l馆动pC/OS-II 浙江工业大学硕士学位论文 然后,如前所述,内核开始从Taskmain开始执行,因此在Taslonain中需要创建其他的 任务代码如下: OSTaskCreateCI'ask.n,0,Stack_taskn+(STKSIZE-1),1);,腱立任务Task__n Task n分别是监控系统的以太网、USB、安全检测等的任务。 4.3以太网接口TCP仰协议的实现 电脑绣花机监控系统以太网控制器采用CS8900A,该芯片在前面章节中有详细的 介绍,它负责网络数据的打包以及转换成相应的电信号发送到传输媒介中。系统使用 LwIP作为TCP/IP协议栈,以太网接111TCPflP协议的实现需要完成两方面的工作,包 括上层的TCP/IP协议栈以及底层的CS8900A驱动程序。本节将对这两部分的内容进行 阐述。 4,3.1 CS8900A驱动程序实现 驱动程序实现的功能是将要发送的数据包按指定格式写入网络控制器芯片的输 入输出缓冲区中,并启动发送命令,芯片会自动把数据包转换成物理帧格式在物理信 道上传输。反之,控制器收到物理信号后将其还原成数据,按指定格式存放在输入输 出缓冲区中,以便主机程序取用。 驱动程序由三部分组成:芯片初始化、接收以太 网数据包、发送以太网数据包,分别由三个函数实现:NIc_Injt0、NIC_RecvPack0、 NIC_SendPack 0· (1)初始化 cS8900A通过ISA总线连接到监控系统处理器的EM]上,工作在I/O模式,因 此在程序的预处理上需要将CS8900A的地址进行初始化,映射相关的端口,工作模 式为YO的CS8900A有6个端口需要和SⅡHlOFz2T6交互,由于连接到EMI的 BA.NK2,因此定义接口的预处理如下: #define EnI Port(n)(+(rut6+)(ox64000000 I(n)“l 1)y/n代表不同的功能端口 有了这些端口就可以对CS8900A进行操作了,初始化的示例代码如下: void NIC_Init(void){u16 t; 浙江工业大学硕士学位论文 倔置EMI端口 GPIO Config(GPl02,OxOOOF,GPIO AF_PP); EMLConfig(2,EMI_ENABLE l EMI WAITSTATE(15)1 EMI_¥IZE_16); t=ETH_Port(1); //软件设置CS8900A使其工作在I/O模式 设置芯片功能,写入MAC地址等; } (2)发送数据程序 对以太网包的收发是实现该系统功能的基础,更高层数据通信协议ARP、IP、 ICMP、TCP、UDP的实现都必须以这个为基础。 在本系统中,以太网的数据包格式采用802.3。它的帧结构如表4.1所示。物理信 道上的收发操作均使用这个帧格式。其中,前导序列、帧起始位、CRC校验由硬件 自动添加/删除,与上层软件无关。发送程序要封装的包的结构如表4.2所示. 表4-1 802.3帧结构 表4-2 CS8900A发送帧结构 以太网数据包最小长度为60字节,不足60字节补0,最大1514字节。将待发送 的数据按发送的帧格式进行封装打包,通过系统处理器和CS8900A的通道送到 CS8900A中的发送缓存区,再启动CS8900A将数据发送网上. (3)接收数据程序 接收来自以太网的数据包也是遵守802.3标准,程序首先设置好芯片接收工作的 相关设置.在芯片准备好接收后,则启动接收。在接收来自以太网的数据后首先对其 长度进行分析以及硬件校验等,如果不是正常的数据包则直接进行丢弃处理,只有正 常的以太网数据包才会送到数据的缓冲区供上层软件使用。下面接收程序函数的示例 代码: 浙江工业大学硕士学位论文 int slat=mc ha'ortO'PRxEv∞t); //查询芯片状态 if((mt&P,.x OK)&&(stat&毋X IA I RX_BROADCAST))) { intlea,i; len ETH RX FramLPort;,威取数据长度 if(Ira<60lIlen>1514) ,,丢弃非正常包 for(i=0;i<len;i+=2) .bllf=H=ETH RX Frame Port;/肥数据送到缓冲区 l-etllnl len: ) return O: 4.3.2以太网协议栈的实现 监控系统使用LwIP作为TCP/IP协议栈,LwIP的TCP/IP协议实现的重点是在 保持TCP协议主要功能的基础上减少对RAM的占用,一般它只需要几十K的RAM 和40K左右的ROM就可以运行,这使LwlP协议栈适合在低端嵌入式系统中使用。 协议栈主要完成网络初始化、接收数据的处理、发送数据的处理等【嘲。 (1)网络初始化 网络初始化主要完成网络界面的建立以及发送和接收网络数据的设置,CS8900A 驱动程序把封装好的数据包按照以太网的帧格式进行打包发送,协议栈的任务只是把 需要的数据封装好然后交给CS8900A的驱动程序进行发送,协议栈在把数据处理好 之后,最终还是需要调用驱动程序的发送和接收函数进行数据的发送。下面的示例代 浙江工业大学硕士学位论文 码代码是负责把以太网网络界面建立起来: void hilt(void){ 初始化LWIP的内部缓冲区、网络界面; IP4._ADDR(&netnmsk,255,255,255,0); //子网掩码 //网关 nctif add(&cthif,&ipaddr,&nehnask,&gw,NULL,cthcm甜f..init,ip_input);//建 立LwIP网络界面 //设为默认网络界面 //启动网络界面 初始化IP模块:J 其中包括了设置发送和接收网络数据,主要是把协议栈的发送和接收功能与驱动程序 中发送和接收数据关联起来,还有网络缓冲区的设置,以及MAC地址等的配置,这部 分的实力代码如下: nctif->output=ethc槐-tif_output;//设置发送数据 nctif->linkoutput=low_level_output;//设置接收数据 cthemctif->ethaddt=(slruct eth_addr+)&(netif->hwaddr[O]); low level init(ncti0;//设置MAC地址等 在low level_output函数中会调用驱动程序的发送函数启动发送。 (2)协议栈接收数据处理 当CS8900A的驱动程序把接收到的数据送到协议栈的缓冲区的时候,协议栈将 对该数据进行分析处理,首先确定是何种数据包比如ARP、TCP或者UDP等,然后 将根据不同数据进行相应的处理,图4-3是协议栈LwIP的处理接收数据的流程图: 45 浙江工业大学硕士学位论文 图4_3 LwIP接收数据处理 (3)协议栈发送数据处理 LwlP在处理接收到的数据之后,把打包好数据放到数据缓冲区内,然后利用 CS8900A驱动程序的发送函数发送网络上。这里的数据处理包括ARP数据包、m数 据包的处理,以太网的ARP和口包有固定的格式,协议栈利用结构体定义各种数据 包的格式,然后根据不同的协议填充成相应的数据包交给驱动程序,TCPflP协议原 理很多文献都有介绍,LwIP就是TCP/IP的一种实现,采用标准的c编写,具体的 实现过程这里不再累述,本系统主要利用LwIP所提供的功能来建立电脑绣花机监控 系统的网络接口。 4.3.3 ARP协议的实现 ARP协议在LwIP网络协议栈中作用是把网络节点的物理地址和坤地址进行关 联,分为请求和应答两种。LwIP的ARP处理驻留在协议栈的进程中,在初始化LwIP 之后,只要建立网络界面,设置好口地址等,用户不需要建立任何连接即可完成ARP 的协议处理。下表为ARP的协议结构: 浙江工业大学硕士学位论文 表4.-3 ARP的协议结构 8 16 硬件类型 硬件地址 协议地址长度 发送端硬件地址 发送端口地址 接收端硬件地址 接收端m地址 32bits 协议类型 操作码 CS8900A的物理地址以及监控系统的IP地址分别在网络初始化的时候进行了设 置,口地址为10.1.41.173,在网络上用PC机进行PING测试可以验证网络接口的 ARP以及ICMP协议处理功能,下图为监控系统的网络接口相应远程主机的PING测 试结果。由图中返回的数据可以看出网络接口的ARP以及ICMP协议工作正常。 图4-4监控系统网络接口PING测试结果 4.3.4 TCP协议的实现 ARP协议工作正常之后,LwIP就可以根据口地址进行和远程主机的连接了。 TCP提供了一种可靠的面向连接的字节流传输层服务,它将用户数据打包构成报文 端,发送数据后启动一个重传定时器,另一端对收到的数据进行确认,对失序的数据 重新排序,丢弃重复的数据;UDP是一个简单的面向数据报的传输协议,不提供可 靠性,它只是把应用程序传给m层的数据发送出去,但是并不保证他们能到达目的 地。TCP的实现机理比较复杂,因此占整个协议栈代码量的比例最高。监控系统建立 了一个TCP的连接,负责处理远程主机的连接请求,该连接的端口使用3500,建立 TCP的示例代码如下: void Tqa_app(void){s-tnlct tcp pcb+vcb; 50 浙江工业大学硕士学位论文 tcp_accept(.pcb,Top_app_acccpt);} 以太网接口程序任务在IxC/OS.II中的建立用如下代码实现: OSTaskCmate(TaskNET,0,StackNet+(NET_STKSIZE-1),3); 其中Task.NET的示例代码如下: void TaskNET(void‘arg){ 两络界面初始化; Tcp_appO= while(i){ 0S而瑚D妖1); /腱立TCP连接 ethbuf_l∞=NIC_RccvPack(cthbuf);//接收来自NIC的数据包 itlethbaf 1%>∞ eIl埘netif jnpl呱&eⅡ1田; //有数据包则交给LwIP处理 下图为使用一个TCP/IP的软件来测试监控系统的TCP连接的情况,可以看出远 程主规是否成功连接到监控系统。 浙江工业大学硕士学位论文 图4-5监控系统TCP连接情况 UDP由于其不能保证系统连接的稳定可靠性,因此,在监控系统没有使用. 4.4 USB接口软件设计 电脑绣花机监控系统的USB接口软件设计主要包括三部分:SLSIIHS底层驱动 程序、USB Mass Storage类协议程序设计、FATl6文件系统软件设计。花样文件存储 在FATl6文件系统的U盘中,这样可以兼容微软的W'mdows揉作系统,使U盘在普 通的PC上也可以实现直接的文件存储. 4.4.1 SL81lHS驱动程序实现 (1)SLSIlHS与STR710FZ2T6的通信程序设计 SL811HS与s11WloFz2T6的硬件连接在前面章节已经有详细介绍了这里不在累 述,STR710FZ2T6通过外部存储器的BANK3和SLSIIHS的数据总线连接。由于 SL811HS外接总线的地址和数据信号线使复用的,通过A0信号来区分地址和数据, 因此可以把地址和数据传输操作分成两个地址进行,相应的地址定义如下: 撬lefmeUSBADDR(*(volatileunsignedch越’)0x66000000)//AI=0,地址操作: 浙江工业大学硕士学位论文 #defineUSBDATA(*(volatileunsignedchar*)0x66000002)//AI=I,数据操作; 对SLSIIHS的内存操作需要先送地址然后在发送数据,而且SLgllHS有自动递增地 址的功能,在连续操作时非常方便。下面为批量读写函数代码: void SL8llBu妇Rcad①YTE addr,t BYTE’s,BYTE c){ USBADDR=addr;, 硼lile(㈣{ ‘s=USBDATA; 酣斗; ) ) void SI.,g|IBufWdte(BYTE ad血BYTE+s,BYTE c){ USBADDR=addr;, while(∽{ USBDATA=’甜斗; } ) C劲USB事务管理程序设计 USB最底层的数据结构是包,这些包按照传输要求的不同,按照设置SETUP事务、 输入烈事务和输出0uT事务的3种方式进行主机和设备之间的传输。而这3种事务的不 同组合,又构成TUSB的4种传输方式,即控制传输、中断传输、批量传输和同步传 输.本系统中只需支持USB的控制传输和批量传输,USB的各种传输类型均由事务组 成,所以要实现这2种传输,就首先要完成相应的事务的程序设计“”。这里主要用到 了int usbXfer0以及int印o)&ro两个函数。在进行USB各种的传输之前需要对uSB控 制器SLSI IHS进行相应的设置,向SL81 1HS的控制寄存器写入相应的配置数据即可完 成设置。在完成基本的事务处理程序后,需要对U盘进行枚举,枚举使用的函数为iⅡt EnumUsbDcv(n),其中n为枚举时给usB设置的地址,枚举的作用是获取U盘的相关信 息并给U盘分配地址等,如图4.6。这样就完成TUSB控制器的驱动程序,驱动程序软 件流程如图4.7。 浙江工业大学硕士学位论文 图4-6 USB接口枚举设备信息 图4-7 USB驱动程序流程图 4.4.2 USB Mass Storage类协议程序设计与实现 设备是U盘,它是UsB的M雒s Swmge类设备。其中Ma嚣Storage类采用单批量 Bu配0叫y的传输协议,而子类采用UFl命令集。因此,以下的Ma船Stmge类的实现 浙江工业大学硕士学位论文 就包括了这两部分内容,首先是BulkesOnly的建立,包括CBw和CSw两个封包的定 义,其次就是支持UFI的特定的请求命令,实现对U盘的Flash进行读写。从软件角度 讲,BulkOnly传输协议的实现就是通过调用BulkoucO和BlIl】dno这两个批量传输函数 来实现的。也就是利用批量传输函数来发送/接收Mass stomge的CBw和cSw以及数 据。而UFI命令则又是在Bull【only协议的基础上拉发送特定的请求命令。以下为CBw 和CSW的定义: lypedef__p∞ked smlc[COMMAND BLo(、X wRAPP球{ DWORD dcB、7岍霉哪峨; DWORD dCB虻履簖 DWORD dCBW DstaX.ferLea; BYTE bCBW Flag; BYTE bCSW_LUN; BYTE bCBW_CDB啪 CBW咖d; CBWCB ⅣUH COMMAND are inclued in比 BYTE Eesvc.“l[4]; // 'CBW,。PCBW; iypcdef._packed tm'uct_COIVlMAND_STATUS..WRAPPER{ DWORD dCSW_Signature; DWORD dCSW_Tag; DWORD dCSW DataR.esidae; BYTE bCSW__Status; }CSW,’PCSW; UFI定义了一系列的命令来实现对磁盘的读/写和控制,包括查询U盘信息、读取U 盘容量以及对U盘以扇区单位的读和写操作,这几个函数如下: 浙江工业大学硕士学位论文 BYTE Inquiry(void); //查询U盘信息 BYTE ReadCapacity(void);价卖取U盘容量 BYTE Read(DWORD dlba,BYTE*pbBuffer))//U盘读操作 BYTE Write(DWORD dlba,BYTE’pbBuffer,BYTE bWaitTime);//U盘写操作 上述函数的详细代码这里不再累述,UFI命令函数的主要任务是准确填写各种 UFI命令的的cBw字段的内容。然后调用BllIl口DIlto和BuIkhO函数就能够实现所需要 的操作。至此,程序就能够对u盘进行数据的读写了。USB接口测试了啄木鸟、爱国 者等品牌的u盘,容量包括16M,32M,64M,128M,256M,512M以及1G。 4.4.3 FATl6文件系统程序设计与实现 文件系统其实就是在磁盘上建立一套机制来管理磁盘上的文件,本系统使用的 FATl6文件系统,下面介绍FATl6文件系统原理以及软件程序的实现。u盘上的数 据按照其不同的特点和作用大致可分为5部分:MBR区、DBR区、FAT区、FDT 区和DATA区。绝对扇区号为:MBR_LBA=0x00000000处是主引导记录MBR,等同 位于硬盘的0磁道0柱面l扇区。在总共512字节的主引导扇区中,MBR定义如下: typedefstruct( uel凹r booteode[4461;//ofs:0.启动代码。“FA 33 Co 8E DO BC…”. PartitionTable PT【4】;//ofs:446.分区表length=4‘16. uint EndingFlag;//off:510.结束标识:0xAA55. }MBR_tag; 分区表项的定义如下: typedefstruct{ uchar BootFhg;//启动标志 CHS StartCHS;//分区开始的柱面、磁头、扇区 uchar SystemlD;,,分区类型 浙江工业大学硕士学位论文 CHS EndCHS;,,分区结束的柱面、磁头、扇区 ulong RelativeSectors;/,分区起始扇区数,指分区相对于记录该分区的分区表的扇 区位置之差(该分区表:LBA=0x0)。 ulong TotalSec:tors;//分区总扇区数 }PartifionTable; 绝对扇区号为:DBR_LBA=MBR.PT[0].RelativeSectors处是DBR,定义如下: typcdefm'uct( ucharbJmpBoot[3];//ofs:0.典型的如:0xEB,0x3E,Ox90。 char bOEMName[8];//ofs:3.典型的如:“MSWIN4.1”。 uintBPB_wBytesPerSec;//off:11.每扇区字节数。 uchar BPB_bSecPerClus;//ofs:13.每簇扇区数。 uint BPB_w姗edSec;//ofs:14.保留扇区数,从DBR到FAT的扇区数。 uchar BPB_bNtunFATs;//ofs:16.FAT的个数. uintBPB_wRootEntry;//ofs:17.根目录项数。 uint BPB_wTotalSec;//ofs:19.分区总扇区数(<32M时用)。 uchar BPB_bMedia;Hofs:21.分区介质标识,优盘一般用0xF8。 uint BPB_wSecPerFAT;//ofs:22.每个FAT占的扇区数。 uint BPB_wSe.PerTrk;//ofs:24.每道扇区数。 uint BPB wHeads;//ors:26.磁头数。 ulong BPB dHiddScc;//ofs:28.隐藏扇区数,从础BR多]DBR的扇区数。 ulong BPB_dBigTotalSec;//ors:32.分区总扇区数(>_32M时用)。 uchar bDrvNum;//ofs:36.软盘使用0)【oo,硬盘使用0x80。 uchar bReservedl;//ofs:37.保留。 钉 浙江工业大学硕士学位论文 uchar bBootSig;//ors:38.扩展引导标记:0x29。 uchar bVolID[4];//ors:39.盘序列号。 char bVolLab[1 1];/lofs:43,"Msdos”· char FileSysType[8];//ofs:54."FATl6”· ueharExecutableCode[448];//ofs:62.引导代码。 uint EndingFlag;//ofs:510.结束标识:0xAA55。 }DBR_tag; 绝对扇区号为:FAT_LBA--DBR_LBA+BPB_wReservedSee处是文件分配表 FAT,是D0s文件组织结构的主要组成部分。绝对扇区号为:FDT_LBA=FAT_LBA +BPB_bNmnFATs’BPB_wSecPerFAT处是文件目录表FDT,DOS文件组织结构的 又一重要组成部分。文件目录分为两类:根目录,予目录。根目录有一个,子目录可 以有多个。子目录下还可以有子目录,从而形成“树状”的文件目录结构。子目录其 实是一种特殊的文件,DOS为目录项分配32字节。目录项定义如下: typedefsmJct{ char FileName[8];//ofs:0.文件名 char ExtName[3];//ors:8.扩展名 uchar attribute;Ilofs:1 1.文件属性。典型值:存档(O】【20)、卷标(OxOS)。 charreserved[10];//ofs:21.保留 uint time;//ofs:22.时间 uint data;//ofs:24.日期 uint StartClus;//ofs:26.开始簇号 ulong FileLength;//ors:28.文件长度 }DIR tag; 数据区绝对扇区号=根目录绝对扇区号+(32X根目录中目录项数)/每扇区节数 58 浙江工业大学硕士学位论文 表达式:DATA LBA=FDT_LBA+32‘(BPB_wRootEntry)/BPB_wBytesPcrSec。在 完成文件系统程序设计之后,USB接口就可以对u盘的文件系统进行格式化或者初始 化的操作,下图为USB接口对上节提到的已经格式化成FATl6文件系统啄木鸟32MU 盘进行查询的信息。 图4-8 USB接口查询到u盘文件内容 4.4.4 USB接口读写花样文件的实现 在完成USB的协议程序以及FATl6文件系统程序设计之后,USB接口就对u盘 进行FATl6文件系统进行格式化,然后在U盘的文件系统上读写花样文件。监控系 统的USB接口主要负责读取U盘上的花样文件的数据以及花样的图案数据,前者提 供给绣花机控制系统进行绣花,后者提供给LCD显示模块进行花样图案的预览。USB 接口把花样图案数据按照顺序读取到操作系统的图案数据缓冲区里面,LCD绘图程 序从该缓冲区读取数据进行绘制花样图案。USB接口程序任务在I‘CIOS-II中的建立 用如下代码实现: OSTaskCreate(TaskUSB,0,StackUsb+(USB STKSIZE—1),2); 其中TaskUSB的示例代码如下: void TaskUSB(void’arg){ whiI《!SLAVE ENUMERATED){ slgl lh_init0; 浙江工业大学硕士学位论文 11s坛蚴; whn《1){ 花样文件处理; /,检测USB设备并进行枚举 ,,查询U盘及其文件系统信息 //读取花样文件交给操作系统 花样图案处理; ,/送花样图案数据到操作系统缓冲区 下面给出监控系统USB接口对具有FAT文件系统的u盘进行文件读取和写入的流程 图。 【u卿殳备枚举】 l I查调U盈t文件系统信息 l l获取文件属性 l l读取文件数据区的数据 l 结束 图4.9 USB接口读取U盘文件流程图 其中获取文件属性的操作包括查询文件目录表得到文件名,文件大小,以及在文 件分配表中位置,这样就可以在数据区准确定位该文件的数据,确保读出的就是该文 件的数据。向U盘文件系统写文件相对来说复杂一点,首先要根据空闲的簇在文件 目录表中写入文件名字,后缀名,文件大小等,再根据空圜簇以及文件的大小在把文 件分配表中相应的位置标记,然后就可以到数据区把该文件的数据写入,程序流程如 浙江工业大学硕士学位论文 图4.10所示。 [硼啵备枚举] I I查询I】{目文件系统信息 l l查调囱稀羹 I I写文件属性 Jr I写文件数据到数据区 I 结束 图4-10 USB接口写文件到U盘流程图 4.5基于C州通信安全检测模块软件设计与实现 基于CAN通信的安全检测模块软件设计主要包括两部分:系统处理器的CAN 通信程序设计以及检测节点的软件设计,其中检测节点的软件设计也包括两部分: A/D转换以及CAN通信程序设计,具体实现过程如下。 4.5.1 STR710FZ2T6的CAN通信程序设计 STR710FZ2T6的CAN通信程序主要包括控制和配置CAN内核、报文的处理以 及访问报文的RAM等。由于设计CAN通信程序的目的是为了监控系统的安全检测 服务,因为不是本文工作重点,具体的程序设计过程这里不做详细说明,下面给出相 应的功能函数以及STR710FZ2T6的CAN通信程序的流程图。 CAN hit(CAN CR INIT,CAN BITRATE_Ih0;倔置CAN内核,设置速率等 CAN InvalidateAllMsgObj0; CAN SetUn dMsgObj(C:AN TX MSGOBJ); CAN_SetUnusedMsgObj(CAN RX MSGOBJ): CAN__SgTxMsgObj(CAN醛MSC沁BJ,CAN STDjD); 61 浙江工业大学硕士学位论文 CAN SetRxMsgObj(CAN RX MSGOBJ, CAN STD tD,0,CAN LAST_sTO m, TRUE); ,,配置报文 CAN_ReceiveMcssage(CAN RX_MSGOBJ,FALSE,&RxCanMsg);//接收报文 CAN_SendMessage(CAN"IX MSGOBJ,&TxCanMsg[0]);,,发送报文 STR710FZ2T6的CAN通信程序接口程序任务在I_lC/OS-Ⅱ中的建立用如下代码实现: OSTaskCreate(TaskCAN,0,StaekCan+(CAN STKSIZE-1),1); 其中TaskCAN的示例代码如下: void T笛kCAN(void‘arg){ 初始化cAN; //所用函数如上所示 whil<1)t CAN Rec商veMessage(CAN RX MSGOBJ,FALSE,&RxCanMsg),臌收报文 报文处理;,/女b理来自检测模块的报文信息 OSTimeDly(1); 填充待发送的报文; CAN_SendMessage(CAN TX MSGOBJ,&TxCanMsg[O]);//发送报文 ) ) 浙江工业大学硕士学位论文 ≤笋 (c斓始化】 .L 蠊毕徽上禽是掣… 图4.-11监控系统CAN程序的流程图 4.5.2断线检测节点软件设计与实现 断线检测节点软件设计主要包括和监控系统CAN通信以及断线检测信号的采集 两方面。 (1)断线检测信号采集 为了保证绣花机能够安全可靠的工作,检测模块控制器必须能实时快速检测到断 线信号,为此控制器PICl8F4680采用中断的方式响应来自断线检测板和译码板的信 号,并把响应断线检测中断设置成高优先级中断处理机制。一旦检测到断线信号的中 断PICl8F4680立刻通过CAN通信通知监控系统处理器。下面为示例代码: 却ragma code InterruptVectorHigh=Ox08 Void InterruptVectorHigh(void) {_asm goto InterruptHandlerHigh//jump to interrupt routine _endasm } 卸ragma code 浙江工业大学硕士学位论文 { 查询中断类型; 清中断标志; 把中断信号送CAN处理程序; ) (2)PICl8F4680的CAN通信程序设计与实现 Microchip公司为18系列带增强型CAN模块的单片机提供了CAN的驱动源码 模板,在该模板上可以非常方便的编写检测模块的CAN通讯,在检测模块软件设计 中CAN通讯是一个无限的循环,实时向监控系统传送绣花机针头工作状态,正常状 况下发送带有正常标识符的报文,如果有中断信号从中断服务程序中来则发送带有异 常标识符的报文。下面为几个CAN程序的重要函数: ECANInitialize(void): ,,初始化CAN内核,工作方式,速率等 ECANReceiveMessage(&id,data,&dataI棚,&flags);,胺收报文 ECANSendMessage(id,data,daaLen,flags): ,,发送报文 4.5.3电源检测节点软件设计与实现 电源检测节点软件设计也是包括两方面的内容,一个是监控系统CAN通信,这 个和上节CAN通信程序设计类似,这里就不再重复阐述。另外一个电源工作状态的 采集,这是利用PICISF4680的高精度A/D转换模块实现,共有两个信号需要采集: 电压和电流,以实现对电源的监控.PICl8F4680有多个A/D采集通道这里使用RA4 和RA5通道,参考电源选用12V,电压和电流互感器把电源的电压和电流转换至0 到12V的范围。AD转换采用高优先级中断方式,在中断服务程序中读取各个通道的 转换结果并与设定值进行比较,如果结果出现异常则设置异常标志,下面为A/D转 换示例代码: 渐江工业大学硕士学位论文 AD_IniEalize(void):砌始化A/D设置转换时钟、使能高优先级A/D中断 ConvertADC(n); ,,启动A/D转换,参数11为转换通道 查询中断类型; 清ADIF中断标志; 读取转换结果; 处理数据并置相应标志; 置位ADGO重新启动A/D; 4.6 L∞显示模块绘图程序设计与实现 LCD显示模块驱动程序设计包括LCD控制器与监控系统通信程序设计以及在此 基础上LCD绘图程序的设计。 4.6.1 LCD控制器与STR710FZ2T6通信程序设计与实现 在第三章中讲述了LCD显示模块的硬件连接,LCD控制器采用QD-13, STR710FZ2T6通过EMl和其进行通信,因此在程序中定义了QD·13的寄存器接口, STR710Fz2T6通过这些接口和LCD显示模块通信,接口定义如下: #define X ADDR’((vu8’)0x62000000) ,,行地址寄存器 #define Y_ADDR‘((vu8+)Ox62000002) ,/列地址寄存器 #define CMD ’((vuS*)0x62000004),,j空制寄存器 #define DATA ‘((vu8*)Ox62000006) ,,数据寄存器 浙江工业大学硕士学位论文 通过这几个接口STR710FZ2T6可以对LCD控制器的各个寄存器进行访问,从而 为绘图程序做好准备。 4.6.2 LCD绘图程序的设计与实现 在完成LCD控制器与STR710FZ2T6通信程序的设计与实现后,就可以编写LCD 的绘图程序了,LCD绘图程序根据花样图案的图像数据在彩色液晶屏上绘制花样的 预览图,LCD模块采用点阵数为320×240的5.6英寸彩屏,绘图程序根据图像每个 像素的位置和颜色把其显示在LCD上.由于花样图案的图像数据量比较大,都是存 储在U盘上,监控系统的USB接口会读取u盘上的数据到监控系统的操作系统的缓 冲区内,等待LCD绘图程序读出,绘图程序不断地读取缓冲区内地数据进行显示直 到一个花样图案绘制完毕。下面是绘图程序的示例代码: void Dis._PicO{ u16ij; constu8’p; C眦00; p=PIC BUFFER; for(j=0;j<234j++){ for(i=0;i<320;i+n {if骐捌x田{ ,,指针指向花样图案数据缓冲区 //写命令。象素数据写入 X_ADDR--i; X ADDR=0; Y ADDR=j; DATAffip[i+320*j]; } else{ X_ADDR=i&0Xff; ‘//X地址范围大于255时高位处理 X_ADDR=i>>8; Y_ADDRfj; DATA=p[i+320*j]; ’ 浙江工业大学硕士学位论文 } } 实践证明,电脑绣花机监控系统【CD显示模块能够非常清晰的显示花样文件的 图案,下图为LCD模块显示的效果图。 4.7本章小结 图4-12 LCD显示的效果图 电脑绣花机监控系统的软件设计主要包括两个方面,一是嵌入式实时操作系统 ¨C/OS.II在处理器STR710FZ2T6上的移植,另外一个是各个功能模块接口程序的设 计和实现。在移植pC/OS-II之前,需要针对处理器编写相应的启动代码,STR710F7-2T6 的启动代码包括初始化代码以及有关向量表的代码。IIC/OS-II与处理器相关的代码由 3个文件组成:os_cpu.H文件、OS—CPU—C.C文件、OS—CPU.—九s文件,因此移植 的工作主要围绕这三个文件进行。以太网、USB等功能接口软件程序的设计包括功 能接口与STR710FZ2T6的通信程序设计和接口驱动程序的设计以及在11C/OS.II中任 务创建等。实现的难点也是关键点在于以太网TCP/IP协议的实现以及USB接口驱动 浙江工业大学硕士学位论文 程序.电脑绣花机监控系统在完成了软件设计和实现之后,各个接口模块在嵌入式实 时操作系统IxC/OS-lI的管理下能够稳定可靠的运行,为电脑绣花机提供可靠的事务管 理功能。 浙江工业大学硕士学位论文 第五章总结与展望 5.1工作总结 本文主要内容包括电脑绣花机监控系统总体方案设计、硬件平台构建以及系统软 件的设计与实现,电脑绣花机监控系统在嵌入式实时操作系统pC/OS-II的管理下能够 稳定可靠的运行。下面介绍所傲的主要工作。 (1)结合电脑绣花机的功能需求设计了一种基于ARM处理器与实时操作系统 ttC/OS-II的电脑绣花机监控系统平台,给出了系统的总体设计方案。 C2)根据系统的总体设计方案,设计实现了系统的功能模块接口i主要包括三个 方面:第一,利用以太网控制器CS8900A结合TCP/IP协议栈LwlP实现了网络通信; 第二,利用USB主控制器SLSllHS实现了USB读写模块接口,能够读写FATl6系 统文件的u盘,从而实现通过U盘来存取花样文件。USB接口支持的U盘的容量达 到IG,可以存储大量的花样文件以及花样图案的数据;第三,利用s1R7loFz2T6 的CAN以及PICl8F4680的CAN模块以及A/D模块并配合断线检测板以及电压电流 互感器等实现了基于CAN的安全检测模块,能够检测到电脑绣花机针头的工作状态 以及电源的供给情况,确保电脑绣花机能够安全稳定的工作;第四,利用LCD控制 板和5.6英寸彩色LCD设计实现了系统的显示接口,能够提供花样图案的预览,以 及各种数据信息的显示等。 (3)设计实现了基于操作系统的应用软件,包括两部分内容:第一,各个功能模 块的底层驱动程序设计与实现;第二,基于操作系统的上层应用程序的设计与实现, 主要是操作系统的任务程序的建立和运行. 5.2展望 实践证明,本文设计的电脑绣花机监控系统能够安全、稳定的工作,但是仍然有 需要改进的地方,下面是对电脑绣花机监控系统相关技术的展望。 (1)为使系统能够更加快速运行可以开发基于ARM9的主频百兆级的处理器。 浙江工业大学硕士学位论文 (2)在条件具备的情况下,可以研究移植性能更加优异操作系统到处理器上,例 如商用比较成功的VxWorks,以及开源的uCLinux等。 (3)LCD显示模块可以使用触摸屏,更加有利于用户的使用和操作。 目前国内外对电脑绣花机的需求量仍然很大,市场并没有饱和,性能优良的电脑 绣花机监控系统是占领市场的最有利的竞争优势。因此电脑绣花机监控系统的研究与 应用具有广阚的发展前景,需要得到了更多的重视。 浙江工业大学硕士学位论文 参考文献 【1】孙敏.网络化、数字化电脑绣花机控制系统田.机电技术,2007,1(1):10-12. 【21杜春雷.ARM体系结构与编程[M].北京:清华大学出版社.2003. 【3】缪学勤.实时以太同技术现状与发展们.自动化博览,2005,(2):21-24. 【4】郭剑锋.基于ARM微处理器的以太网工业智能控制器仞.制造业自动化’2004,26(3):75-78. 【5】张静,实时操作系统pC/OS-II在ARM上移植的研究与实现【J].计算机工程与应 用.2004,1(4)100-102. 网San Jose.SLSI IHS Embedded USB Host/Slave Controller.cypress SemiconduOar CorporatiolL 2007. 【刀Universal sel词Bm Mass Storage Class Bulk-Onl',Transport Specification Revisionl.1。September 3l,1999. 【8】贾智闲.电脑绣花机电控器的设计.大连理工大学硕士研究生论文.2005. 【9】饶运涛,邹继军.现场总线CAN原理与应用技术[M].北京:北京航空航天大学出版社2003. 【101王铁勇,侯明善,吴盘龙.嵌入式操作系细C/OS·Ⅱ的特点及应用们.控制I程2003,10(1):74-75. 【l 1】戈挺克.基于DSP的电脑绣花机控制系统.浙江大学硕士研究生论文,2004. 【12】ST Microelectronics.STR71】【F Reference manual.w3vw.st.com,2006. 【13】沈建华,姜宁.STR71x系列ARM微控制器原理与实践Ⅱ咽.北京:北京航空航天大学出版杜.2006. 【14】杨恒.ARM嵌入式系统设计与实践咖.西安:西安电子科技大学出版社.2005. 【15】刘涛,周春来,赵星寒.ARM开发工具ADS原理与应用[M].北京:北京航空航天大学出版社.2006. 【16J沈鑫剡.交换式以太网原理、技术及实现O旧.北京:人民邮电出版社,1999. 【17】陈磊,冯冬芹,金建祥.以太网在工业应用中的实时特性研究们.浙江大学学报(工学 版)。2004(60):29.3 1. 【181 De№Bodas.CS8900A Ethernet controller technical reference manuaL2001. 【19】佳旭.LwIP协议栈的设计中文手册[M].北京:机械工业出版社.2002. [20】焦海波.uCOS平台下的LwlP移植笔记.www.211C.com.2006. 【2l】徐皑冬,王宏,刑志浩.工业以太网实时通信技术【J】.信息与控制.2005,34(I):60-65. [22】蒋宏江.网络控制系统时延在线测量及其补偿方法研究.浙江工业大学研究生硕士论文.2006. [23】刁红泉,张瑶瑶,颜钢锋.单片机和软盘驱动器接口在电脑绣花机中的应用∞.工程设计学 报.2003.10(6):337·340. inte卿酣 阱】Rajendra Y.,Prashant P.,Ra#aet F。A reservation-based CSMA protocol for manufacturing networks田.IEEE Transactions on Systems,Man,and Cybernetics,1994,24(8). 1247—1258. 【25】黄安成.基于ARM和CPLD的电脑绣花机控制器的设计.浙江大学硕士研究生论文.2006. 【26】郑萍,潘世永,李英.基于Ethemet的全开放工业控制网络们.工业仪表与自动化装置,2001,(3):6-9. 【27】Halevi Y.and Ray A”Integrdied communication and control systems:Part I-AnaJysis[J].J.of 7l 浙江工业大学硕士学位论文 Dynamic Syst.,Measure,Contr.,1988,V01.110。No.4:367.373. [2S】沈鑫剡.交换式以太网原理,技术及实现咖.北京:人民邮电出版杜。1999. 【29]Douglas E Comer著,林瑶,蒋慧,杜蔚轩等译.用TCP/IP进行网际互连:第一卷。原理、协议和体系 结构啪.北京:电子工业出版社,1998. [30】W.Richard Stevens著,范建华,胥光辉等译.TCP/IP详解——卷l:协议口川.北京:机械工业出版 社,2000:107-109。170-173. [31】张飞舟,邓旭明,王豪.嵌入式工业以太网接口开发与应们.计算机I程.,2003,29(16):154-156. 132】唐仕斌,曾文海,戴瑜兴等.嵌入式Intemet以太网接口设计及实现田.低压电器,2003,(2Ml埘. [331 Liou L.w,Ray A。A Stochastic Regulator for Integrated Commtmication And Control systems:Part I-Formulation ofControl Law[J].Journal ofDynamic Systems Measurement,and Control,1991. 【34】黄安成,颜刚锋.基于DSP的电脑绣花机控制系统设计田.江南大学学报,2007,6(1):1-4. [351全成斌.嵌入式系统以太网驱动程序的设计方法忉.小型微型计算机系统,2002,23卿 1029-1032. 【36】胡春哲,寿国础等.嵌入式通信系统软,硬件接口配置方案的研究.计算机工程与应用.2000. 3(9):127-129. 【3刀Forouzan Behrouz.A.TCP/IP Protocol Suite.The McGraw-Hill.2000. 【38】Labrosse J.J.著,邵贝贝译.pC/OS-II——源码公开的实时嵌入式操作系统咖.北京:中国电力 电子出版社.2001:29-66. 【391 Jean Labrosse,Michael Bart.Embedded Systems Programming,2003,14(9):12-15. 【40】刘波,马连JiI,张建明.嵌入式实时操作系统选用的初步分析啊.北方交通大学学 报,2000,2(6):32.36. 【4l】刘劲松,芦康俊,闻思源.嵌入式实时操作系统的现状及发展田,现代计算机,2000. 【42】肖海桥,实时多任务操作系统及其嵌入式微处理器性能比较【J1.电子产品世界,1998. 【43】曹希临.吕志军.电脑绣花机的机械原理浅析[J】.机械管理开发,2001,3(12):4-7. 【44】陈渝,李明,杨哗.源码开放的嵌入式系统软件分析与实践一基于skyEye和ARM开发平台.北京: 北京航空航天大学出版社,2.004. 【45】王保进王志刚.pC/OS·II实时操作系统内存管理的改进[M1.电子技术应用,2002. 【46】彭良清.pC/OS-Ⅱ任务栈处理的一种改进方法田.单片机及嵌入式系统应用,2004. 【47】冉汉政.嵌入式实时操作系统pC/OS·II在控制工程中的应用加.现代电子技 术,2003,23(12):23-25. [4S】Amin-Nejad.S.a visual serVoing system for edge研mming of fabric:embroideries by laser Mechatronics.2003,3(13):33. 【49】Jane W.S.Liu.Real-Time Systems【M】.北京:高等教育出版社,2002. [50】Gary Nutt.罗宇等译.操作系统(第三版)M.jE京:机械工业出版社,2∞5. 【51】William Stallings,魏迎梅等译.操作系统:内核与设计原理(第四版)[M】.北京:电子工业出版 社,2001. 【521 AI曲蜘,S.T铺蜘b乱m,Modem operaling systems(2nd edition).Beijing:Ch.m Machine Press,2002. 【53】魏洪兴.嵌入式系统设计与实例开发实验教材一基于删微处理器与po,0s.I【实时操作系统咖. 72 浙江工业大学硕士学位论文 北京:清华大学出版社,2005. 【541赵延雯,刘朝辉.电脑绣花机针杆挑线机构的分析[J].武汉科技学院学报.2000,3(23):45-46. [55】孙正.USB HOST在嵌入式系统中的应用研究.江苏大学硕士研究生毕业论文,2003. 【56】杨晶晶.嵌入式系统中USB设备驱动程序的设计与实现。电子科技大学硕士研究生毕业论文.2006. 【57】马伟.计算机USB系统原理及其主,从机设计【M】.北京:北京航天航空大学出版杜2004. Specification胁ision [Sg】Universal Serial Bus 1.1.September 23,1998. 【591 Universal Serial Bm Class Defimfions for Communication Devices Version 1.1.Jannary 19,1999. [601许永和.USB外围设备设计与应用[M].北京:中国电力出版社.2002. 【6l】萧世文,宋延清.USB2.0硬件设计(第二敝)口川_E京:清华大学出版杜.2006. 【62】张念淮。江浩.USB总线接口开发指南[M】.国防工业出版社'2002. 【63】陈启美,丁传锁.计算机USB接口技术【M】.南京:南京大学出版社,2003. 【64]吴迪,张军平.张文军.嵌入式计算机中USB主机控制器的研究与设计[J].计算机工 程,2004.12:174-176. 【65】伍娇艳.包装生产线断线检测系统的设计与实现们.河南化工,2004。10.'39. 【66】杨慧田’亮田敏.CAN总线协议分析【J】.中国仪器仪表’2002,14(23):1-4. 【67】刘滨,耿雪贞.CAN与以太网数据交换的研究与分析阴.单片机及嵌入式系,2003。10(12):56-59. 【68】The Indian Textile Journal Group.Universal laser kit for embroidery m∞hiIles'The Indi柚Textile Journal,2004,2(6):63. 【691徐平.嵌入式环境下CAN卡驱动程序的开发【h日.电子技术.2003. Fo】Microcldp Technology Inc.PICl8F4680 datasheet.www.microchip.∞m.2007. f7l】MicrochipTechnologyInc.高速CAN收发器MCP2551蛐heet.www.ndcrechip.com.2005. 【72】清达光电技术有限公司.基于CPLD控制板的点阵图形液晶模块使用手册. http://www.tsingtek.com.2007. 浙江工业大学硕士学位论文 致谢 本文是在导师陈国定教授的悉心指导下完成的。在本论文完成之际,首先感谢陈 国定老师一直以来对我的关怀和帮助。陈老师开阔的学术视野和敏锐的问题意识,以 及丰富的科研经验使我在学术和科研上得到了长足的进步。陈老师严格而细致的督察 和指导以及严谨的治学态度,更是给我树立一个良好的典范. 此外,感谢同一导师的同学顾凤香和盛立涛在嵌入式系统设计方面的帮助;同时, 感谢同学房若民,唐国锋,朱晨亮,李冰等在平时的学术、科研研究及日常生活上的 帮助:还应该感谢李正科和王淑华对本文在文字上的校对工作。 最后要感谢我的家人长久以来对我各方面的支持。 浙江工业大学硕士学位论文 作者读研期间发表的论文及科研经历 发表的论文: [1]张伟业,黄云龙,陈国定.基于ENC28J60以太网通信接口的设计与实现[J].机电工 程,己录用. 基于ARM的电脑绣花机监控系统的设计与实现 作者: 学位授予单位: 张伟业 浙江工业大学 相似文献(2条) 1.期刊论文 房若民.陈国定 基于ARM处理器STR710FZ2T6的电脑绣花机监控系统设计 -电子元器件应用2009,11(3) 给出了采用实时操作系统μ/OS-Ⅱ进行任务管理,同时通过面向嵌入式系统的TCP/IP协议栈的移植.来使电脑绣花机具有远程控制功能的监控系统的 设计方案.该设计方案利用串行通用总线(USB HOST)控制器SL811HS来设计USB接口,可在海量USB设备上存储和读取大量的花样文件以及各种数据.也可以 通过彩色液晶显示接口来预览花样文件并显示绣花机的工作状态. 2.期刊论文 张伟业.黄云龙.陈国定.ZHANG Wei-ye.HUANG Yun-long.CHEN Guo-ding 基于ENC28J60以太网通信接口 的设计与实现 -机电工程2008,25(1) 利用新型器件ENC28J60作为以太网控制器,采用PIC18F4550作为主控制器,通过SPI接口实现了与ENC28J60之间的高速通信;在主控器上移植了 Microchip TCP/IP协议栈,分别建立了基于UDP和TCP的应用程序,实现了以太网的通信接口,给出了ENC28J60与PIC18F4550连接的应用电路,并把该通信接 口应用到电脑绣花机监控系统中,用于接收局域网上的远程主机发来的花样文件并转发给绣花机的控制器. 本文链接:http://d.g.wanfangdata.com.cn/Thesis_Y1226217.aspx 下载时间:2010年5月26日
更多简介内容

评论

下载专区


TI最新应用解决方案

工业电子 汽车电子 个人电子
$(function(){ var appid = $(".select li a").data("channel"); $(".select li a").click(function(){ var appid = $(this).data("channel"); $('.select dt').html($(this).html()); $('#channel').val(appid); }) })