(控制理论与控制工程专业论文)电脑横机控制器的软件设计.pdf_第1页
(控制理论与控制工程专业论文)电脑横机控制器的软件设计.pdf_第2页
(控制理论与控制工程专业论文)电脑横机控制器的软件设计.pdf_第3页
(控制理论与控制工程专业论文)电脑横机控制器的软件设计.pdf_第4页
(控制理论与控制工程专业论文)电脑横机控制器的软件设计.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

(控制理论与控制工程专业论文)电脑横机控制器的软件设计.pdf.pdf 免费下载

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

文档简介

浙江大学硕士学位论文 8 7 6 7 7 5 墨 电脑横机控制器的软件设计 摘要 电脑横机是纺织机械中机电一体化、自动化程度较高的一种产品,主要用于 针织服装和工艺品的编织制造,主要用户为羊毛绒衫( 裤) 及手套生产厂家,尤其 是高档产品羊绒制品的生产厂家。随着电脑针织的普及,具有高性价比和高集 成度的电脑横机越来越受到人们的青睐,此类产品的市场需求也越来越大。 本论文详细分析了电脑横机的结构与原理,深入了解了横机编织工艺,并在 已有的硬件平台( 基于s 3 c 2 4 1 0a r m 和e p l k 5 0f p g a ) 基础上,提出了一种 可行的横机编织控制软件方案,并完成相应的软件设计,实现了完善的织机控制 功能,具有良好的图形用户界面。 横机编织控制软件的开发均在“n u x 环境下进行,采用1 0 口模拟总线的方 式进行通讯,主要由三部分组成:g p l 0 驱动程序、横机编织控制程序和q t 应用 程序。g p l 0 驱动程序的主要功能是实现s 3 c 2 4 l o 与e p l k 5 0 之间的通讯,它包 括“o 读写、中断申请和中断服务程序,这是整个横机编织控制软件的基础所在。 而横机编织控制程序则是整个软件的主体,它完成了从读入花型数据到编织出花 型图案这整个过程。q t 应用程序则为横机编织控制软件提供了一个美观友好的 图形用户界面,它包括主界面、读取花型数据文件界面和参数设置界面等。 与同类产品相比,基于此设计的横机控制系统技术含量高、可移植性强,并 且在现场调试中性能良好,具有较强的实用价值。 关键词:电脑横机、g p i o 驱动、编织控制、图形用户界面 浙江大学硕士学位论文 电脑横机控制器的软件设计 a b s t r a c t c o m p u t e r i z e dn a tk n i t t e ri sak i n do fh i g h l ya u t o m a t e dn a t k n i tm a c h j n e r y ,u s e d m a i n l yi nf a b r i c a t i o no fc l o t h e sa f l dc r a f sb yt e x t 订ej n d u s t r y ,a n di t sm a j o fu s e ri s k n i t t e ds w e a t e rp r o d u c e r ,e s p e c i a l l yc a s h r n e r ew a r ep r o d u c e lw i t ht h ep o p u l a r i z a t i o n o fc o m p u t e r i z e dk n m i n g ,t l l o s ec o m p u t e r i z e dn a tk n i t t e r sw i t 王lh i 曲c o s t p e r f o m l a n c e a n dh i 曲i m e 日a t i o na r eb e c o m i n gm o r ea 1 1 dm o r ep o p u l 弧a i l dt 1 1 a tk i n do fp r o d u c t s a r ei ng r e a td e m a n d b a s e do nt h ea 1 1 a l y s i so ft h es t m c t u r ea i l dt h e o r yo ft h es y s t e m ,t h i sp a p e r p m p o s e s ad o a b l es o r w a r ed e s i g no nt h ee x i s t e dh a r d w a r ep l a t f o 瑚( b a s e do n s 3 c 2 4 1 0 乌r ma n de p l k 5 0f p g a ) ,a n df i 血s h e st h es o r w a r ec o d i n g t h i ss y s t e m w a sp r o v i d e d 谢t 1 1p e d b c tk n i t t e rc o n t r o lm n c t i o na n dg o o dg r a p h i c su s e ri n t e r f a c e t h ed e v e l o 口m e n to fk n m e rc o n t r o ls o f t 、a r ei sb a s e do nl i n u xe n v i m n m e m ,i t c o m m l l i l i c a t e sb yg p i o sa n d h a st h r e ec o m p o s e m e t :g p i od r i v e r k n i n e rc o n t r 0 1 p r o g r 锄a n dq ta p p l i c a t i o n t h em a i n 矗m c t i o no fg p l o “v e ri sp m v i d i n g 也e c o 瑚m u l l i c a t i o ns e r v i c eb e t w e e ns 3 c 2 4 1 0a n de p l k 5 0 ,i tc o n t a i n si oa c c e s s , i n t e m l p ta p p l i c a t i o na 1 1 di n t e 阳u p ts e r v i c ep m g r 帅,w m c hi st h ef o u n d a t i o no ft h e s y s t e m 鼬i t t e rc o n t r o lp r o g r 哪i st h em a i nb o d yo ft h es y s t e m ,i tc o m p l e t e sm e w h o l ep r o c e s sf 如mi n p mm ek n i n e rf i l et oo u t p u tn o r i a t e dp a t t e m q ta p p l i c a t i o n p r o v i d e sab e a u t i 如la i l df t i e n d l yg u i ,i tc o n t a i n sm a i ni n t e 如c e ,p a r 啪e t 盯s e n i n g i n t e r f h c ea n ds oo n c o m p a r e dt om ec o n g e n e rp m d u c t s ,t l l i ss y s t e mi sm o r ca d v a i l c e da i l de a s i l y t r a n s p l a r m e d ,i ta l s op e 响珊sw e l li nf i e l dd e b u ga n d h a sr e l a t i v e l yh i 曲u t i l i 够 k e y w o r d s :c o m p u t e r i z e df l a tk n i t t e r 、g p i od r i v e r 、k n i tc o n t r o l 、g u i i i 浙江大学硕士学位论文电脑横机控制器的软件设计 第一章绪论 1 1 研究背景与国内外现状 1 1 1 引言 纺织机械包括纺纱机械、织造机械、针织机械等几个大类,电脑横机是一 种由电脑控制、自动化程度很高的纬编针织机械,主要用于针织服装和工艺品的 编织制造,主要用户为羊毛绒衫( 裤1 及手套生产厂家,尤其是高档产品一羊绒制 品的生产厂家。电脑横机除了可以用于传统的棉、毛针织外,还可用于山羊绒、 天然丝、麻、兔毛以及晴纶、锦纶等人造纤维和混纺面料的针织【l 】1 1 1 l 。 近年来,在各种纺织机械展览会上,电脑横机不断以崭新的面貌出现,其创 意革新和技术细节的改变,与其他针织机械相比尤甚,特别是伴随着计算机技术 的迅猛发展,横机的电子计算机化已成为一个重要趋势。当今的新型全成型电脑 横机能够编织出整件针织服装,由于采用计算机设计和编程,可以从纱线直接制 成成衣( 裤) 等成品,而且花色、款式变化多、式样的适应性强。更为重要的是, 电脑横机的生产效率非常高,是一般手动横机的4 5 倍,编织速度快、生产周期 短,能够进行多品种、小批量的生产,能够满足快速应对市场变化需要,而这一 点正是当前快速多变的服装市场对于服装生产企业的要求。 但目前市场上的横机控制器大多数使用单片机作为主处理器或者以工控机 为基础开发而来的,前者集成度不高,稳定性也不好,而后者成本较高。为此, 笔者提出了一种新型的基于a r m 的嵌入式横机控制器,解决了上述问题。 1 1 2 电脑横机的发展过程 横机是一种平型纬编针织机,直以来它是羊毛、羊绒、衫织物生产的主要 机种。横机的发展史可以追溯到1 9 世纪中叶,到了2 0 世纪初,机械式控制的技 术得到了肯定。第一台电子控制的横机,如德国s t o l l 公司的a w 和d s t r 机 型,是在1 9 7 5 年意大利米兰的i t m a 国际纺织机械展览会中首先展出。四年后, s t o l l 公司展出了第一台电脑横机( c n c a 一3 ) 和世界上第一个花型准备 浙江大学硕士学位论文 电脑横机控制器的软件设计 v d u ( v i s u a ld i s p l a yu n i t ) 。电子技术在横机上的应用开始于2 0 世纪7 0 年代初。 经过2 0 多年的研制和发展,不仅原来复杂的机械结构大为简化,而且花型设计 范围不受限制,t 艺制作时间大大缩短。现在,各个横机生产厂家在电脑横机上 不断创新,导致了针织工业的快速发展【2 】。 近2 0 年来,从国内进口横机看,初期有国外s t o l l 公司的c n c a 系列和 c m s 系列,德国环球公司的m c 系列,日本岛精机公司的s e c 、s e s 系列,瑞 士牡比德公司的j e t 型机器等。到了2 0 世纪9 0 年代,有s t o l l 公司的c m s 系列,t c 系列,岛精机公司的s e s l 2 x f f 紧凑型带起头梳的机器。1 9 9 8 年的北 京第六届中国国际纺织机械展览会中,岛精机公司展出了四个针板的s e s l 2 2 i h 型机,s t o l l 公司也展出了具有“织可穿”技术的c m s 3 4 0 ( k n i ta n dw e a r ) 机。1 9 9 9 年也推出了四个针板的t c 4 型机。而在国内,福建红旗机器厂开发了 c k l 3 2 e 9 和c k l 3 2 e 1 2 两种电脑横机。上海纺织科学研究院与上海航窄发动机厂 在2 0 世纪8 0 年代末曾研制过电脑横机。 回顾电脑横机发展的历史,可以清楚地发现它是沿着以下的路线一步步向 前发展的,即以提花一 半成形- 全成形一 序贯编织 整体编织。机头行程可调和沉 降片技术的结合,大大提高了横机的成形编织能力,大大缩短了衣片编织时间。 毫无疑问,电脑横机是一种投资较大的织机。显然,能够进行全成形编织和具有 整体编织技术是评价电脑横机水平高低的一个重要方面。i t m f 最近公布了2 0 0 0 年以来的横机的销售量。2 0 0 1 年电脑横机的销售量总计9 0 8 7 台其中4 9 销往亚 洲,3 7 销往西欧( 包括土耳其) 。香港、意大利、中国、土耳其和巴西是电脑横机 的最大购买区域。 1 1 3 国内外现状与发展趋势 传统的横机是一种双针床纬编针织机,从本世纪7 0 年代起电子技术在横机 上逐渐获得了广泛的应用,电子选针技术、电子程序控制和花型准备系统日益完 善,在新一代电脑横机上从产品设计到编织,从送纱张力、换纱、花型变化、组 织变化、线圈长度到牵拉张力,从起口、收放针、到分离横列都实现了电脑自动 化控制。电脑横机产品也由传统的服用领域丌始向产业用品方面拓展。可以说, 横 浙江人学硕士学位论文电脑横机控制器的软件设计 除了服用要求的高品质、多花色款式外,正在向产业化方面发展。当前正在发展 的次成形技术,发明了一些按缝制工艺方法不能达到的、结合了针织工艺方法 的技术细节,因而此种产品的生产首先节约了纱线原料并且无需缝制操作。如利 用新型电脑横机生产i 维织物,使用全成形技术无需裁剪和缝纫就可得到各种管 状、锥形、球形等结构的织物,不仅降低了成奉,而且能更好地满足技术要求, 这创新使得整体一次成形产品具有了一种”集合”的特征【3 】【钔。 然而,电脑横机是日前中国纺织服装机械中最为落后的机群。目前国内可以 生产编织机和手动横机的企业有几十家,但是国内企业对于电脑横机基本上还处 于研制、消化、吸收阶段。由于电脑横机对编织软件、电控硬件开发及配套、重 要零部件的制造加工工艺有着严格的要求,需要很高的技术水平以及巨大的资金 投入,目前国内企业还都只能生产个别功能简单的电动针织横机,在品种、质量、 电脑控制、机电体化方面与国际水平差距很人,根本无法满足国内针织产品生 产的需求,国内使用的相关设备基本上完全依赖进口。国内针织服装行业的快速 发展急需大量的电脑横机,但是进口电脑横机价格比较高,约为8 一l o 万美元一台, 国内大部分的毛针织企业难以承受,市场急需技术水平和质量与进口产品相当而 价格相对便宜很多的国产电脑横机。 为了尽快适应我国毛针织行业对于电脑自动横机的需求,缩短在电脑自动横 机上与国外的差距,国内有一批企业向电脑自动横机发起了冲击。福建红旗股份 有限公司、常熟市盛星针纵机械有限公司、北京北方天鸟智能科技有限公司和江 苏宏源纺机股份有限公司等采用了不同方式方法,开发了不同型式的电脑自动横 机。但是目前市场上国产横机控制器大多数使用单片机作为主处理器或者以工控 机为基础开发而来的,前者集成度不高,稳定性也不好,而后者成本较高。 电脑横机是纺织机械中机电一体化、自动化程度较高的一种产品,国产产品 与国际先进水平的差距较大。随着我国电脑自动横机丌发取得一定进展,将会逐 步缩小这方面的差距。我们必须抓住这一机遇,在学习国外先进技术的基础上, 投入更多的人力、物力去研发基于嵌入式处理器的电脑横机控制器,以填补电脑 横机国产化的空白。 浙江大学硕士学位论文 电脑横机控制器的软件设计 1 2 课题的研究内容与关键技术 1 2 1 课题的研究内容 新一代的电脑横机主要由传动机构、给纱机构、牵拉机构、密度调节机构、 针床横移机构、检测自停装置、整机控制系统等部分组成,其中整机控制系统是 核心部分,即所要设计的横机控制器。它根据编织要求输入的信号和来自横机的 同步信号,及时发出各个控制指令,以实现编织所需的各个特定动作。 本课题的任务是详细分析电脑横机的结构与原理,深入了解横机编织工艺, 并在已有的硬件平台( 基于s 3 c 2 4 l oa r m 和e p l k 5 0f p g a ) 上,提出拟订一 种可行的横机编织控制软件方案,完成相应的软件设计,以实现完善的织机控制 功能,能够根据花型准备系统的花型文件进行针织,并具有良好的图形用户界面。 论文的组织结构如图1 1 所示。 电脑横机控制器的软件设计 第二:章系统软件总体设计 第三章在l i n u x 下的g p i o 驱动设计 第四章横机编织控制程序设计 第五章基于o 征的横机软件界面设计 图1 1 论文的组织结构 本论文主要由四部分组成。绪论部分主要介绍了课题研究背景、研究内容、 关键技术、研究意义和应用前景。第二章在需求分析和硬件平台的基础上,提出 了软件总体设计方案,并分析了系统软件结构。第三章至第五章则详细介绍了系 统软件各组成部分的设计和实现,主要由三部分组成:g p i o 驱动程序、横机编 织控制程序和q t 应用程序。第六章是课题的总结和展望,对课题的研究成果和 经验进行了总结,同时也提出了一些使系统更完善、以便日后技术和产品升级的 6 浙江大学硕士学位论文 电脯横机控制器的软件设计 了有四个针板的t c t 4 型机。近年来出现的。些新功能的机器,其设备朝着高机 号和全成形方向发展,功能更强大,更齐全,操作更简单,生产效率更高,工作 性能更可靠。有代表性的如:德国斯托尔公司的c m s 系列,同本岛精公司的s w g 系列等。这些进口电脑横机价格昂贵,维修困难。 电脑横机技术的改进和提高,丰富了针织产品的花样品种,加快了针织产品 的更新换代,给设计师和商家提供了一片广阔的天地。但是,国内对电脑横机的 研究和丌发才刚刚起步,要想不受制于人,振兴民族:【= 业,就需要在学习国外先 进技术的基础上,投入更多的人力,努力去填补电脑横机国产化的空白,研发有 自主知识产权的电脑横机控制器势在必行。 浙江作为一个纺织大省,2 0 0 3 年的时候用在进口高档织机上的外汇达到2 亿美元,因此发展国产中高档织机是全面提升我省织造水平的根本之路,是我省 织机制造业的当务之急。目前国内的纺织业对低档织机的需求已经处于饱和状 态,迫切需要发展中高档织机。 l 。3 2 课题的应用前景 中国是纺织大国,浙江是纺织大省,纺织业是我国在世界上竞争力比较强的 行业之一,在浙江省的经济发展中更是占用重要的位置。而纺织业的发展与纺织 机的发展息息相关。据海关统计,2 0 0 5 年l 至8 月,我国纺织机械进出口总额为2 9 1 0 亿美元,其中,纺织机械进口用汇为2 3 4 6 亿美元,这些进口主要集中在中高档 产品。由于国产织机的档次普遍较低,生产出来的产品也以低端为主,产品的附 加值很低,导致中国纺织业在国际竞争中逐渐丧失优势,目前国内市场对低档织 机的需求已相对饱和,而对高档织机则需求旺盛,每年都要进口大量的高档织机 来填补国内空白。所以我们必须抓紧研制更加先进的纺织机械,生产出更高附加 值的产品,提升产品的价值与竞争力。因而高档电脑横机是我们努力的一个重要 方向,在我国有着无比广阔的市场前景,希望通过我们不懈的努力,加快技术创 新、引进技术、消化吸收、自主开发,不断缩短与国际先进发达国家织机的差距, 使我国屹立于世界纺织强国之林。 浙江大学硕士学位论文 电脑横机控制器的软件设计 制即可。主传动电机采用伺服电机控制,其驱动器采用三菱通用m r e 系列,有 位置和速度两种控制模式,其编码器采用1 0 0 0 0 脉冲转分辨率的增量位置编码 器1 2 2 】,可进行高精度的定位。 出于两个工艺执行子系统中都有上百路的输入输出信号,f p g a 苍 x 浙江大学硕l 学位论文 电脑横机控制器的软件设计 2 ) m a k em e n u c o n f i g ( 基于文本选单的配置界面,字符终端下推荐使用) ; 3 ) m a k ex c o l l f i g ( 基于图形窗口模式的配置界面,x 谢n d o w 下推荐使用) ; 4 ) m a k eo l d c o 曲g ( 如果只想在原来内核配置的基础上修改一些小地方,会 省去不少麻烦) 。 这三个命令中,m a k e x c o n 缸的界面最为友好,如果你f 叮以使用x 埘n d o w , 那么就推荐你使用这个命令。如果你不能使用x w i n d o w ,那么就使用m a k e m e n u c o n 风好了。选择相应的配置时,有三种选择,它们分别代表的含义如下: y 一将该功能编译进内核,n 一不将该功能编译进内核,m 一将该功能编译成可以在 需要时动态插入到内核中的模块。 选择编译选项的原则是将与内核其它部分关系较远且计i 经常使用的部分功 能代码编译成为可加载模块,有利于减小内核的长度,减小内核消耗的内存,简 化该功能相应的环境改变时对内核的影响;不需要的功能就不要选;与内核关心 紧密而且经常使用的部分功能代码直接编译到内核中。由于i i n u x 内核配置选项 众多且繁琐,下面就介绍几个与本课题相关的选项。 为了支持驱动可模块加载,在l o a d a b l em o d u l es u p p o n 选项下选择e n a b l e l o a d a b l em o d u l es u p p o r t 和k e m e lm o d u l el o a d e r 。 为了支持基于s 3 c 2 4 1 0 的目标平台,在s y s t e mt y p e 选项下选择 s 3 c 2 4 1 0 - b a s e da r m s y s t e mt y p e 。 为了支持网口( 调试时用于下载可执行文件) ,在n e t w o r k j n g o p t i o n s 选项下 选择t c p i pn e t w o r k j n g 和i p :m u h i c a s t i n g ,在n e 押o r kd e v i c es u p p o n 选项下选择 n e t 、v o r kd e v i c es u p p o n ,并在n e t 、o r kd e v i c es u p p o n e t l l e m e t ( 1 0o r l o o m b i t ) 选 项下选择e t h e m e t ( 1 0o r1 0 0 m b i t ) 。 为了支持液晶显示,在i n p u tc o r es u p p o r t 选项下将h 州z o n t a ls c r c e nr e s o l u t i o n 和v e t i c a ls c r e e nr e s o l u t i o n 分别设置为6 4 0 和4 8 0 ( 因为目标平台的液晶显示器 为6 4 0 4 8 0 ) ,在c o n s o l ed r i v e r s f r 锄e b u f f e rs u p p o r t 选项下选择s u p p o nf o r 矗a m e b u f k rd e v i c e s 、s 3 c 2 4l0l c d s u p p o n 年口16 b p pp a c k e dp i x e l ss u p p o r t 。 为了支持虚拟终端( 调试用) ,在c h a r a c t e rd e v i c e 选项下选择v i n u a lt e m i n a l 和s u p p o nf o rc o n s o l eo nv i n u a lt e r n l i n a l 。 为了支持u 盘( 用于存储花型数据文件) 、u s b 鼠标和u s b 键盘,在i n d u t 浙江大学硕士学位论文 电脑横机控制器的软件设计 c o r es u p p o n 选项下选择i n p u tc o r es u p p o r t 、k e y b o a r ds u p p o n 、m o u s es u p p o r t ,在 u s bs u p p o r t 选顼下选择s u p p o nf o ru s b 、p r e h m i n a d ru s bd e v i c ef i l e s y s t e m 、 s 3 c 2 4 loo h c l c o m p a t i b l eh o s ti n t e r f a c es u p p o n 、u s bh i d b pk e y b o a r ds u p p o n 平口u s bh i d b pm o u s es u p p o r t 。 基于以卜配置的l i n u x 内核基本满足了本课题要求。在繁杂的配置工作完成 以后,运行m a l 【ed 印,m a k ec l e a i l ,m a k ez i m a g e 编译命令则可生成新的内核映 像文件,拷贝到目标板上运行即可。 2 5 横机控制软件框架 本课题的主体就是设计横机控制软件,主要包括三个部分:g p i o 驱动程序、 横机编织控制程序和q t 应用程序。如图2 4 所示。 横机控制软件 g p l o 驱动程序l;横机编织控制程序1lq t 应用程序 i o 读写l i 中断申请| | 中断服务程序电磁铁控制l | 电机控制| | 工艺控制l i 主界面| | 读取文件i 参数设置 图2 4 横机控制软件框架 g p i o 驱动程序的主要功能是实现s 3 c 2 4 1 0 与e p l k 5 0 之间的通讯,它包括 i o 读写、中断申请和中断服务程序,这是整个横机控制软件的基础所在。而横 机编织控制程序则是横机控制软件的主体,它完成了从读入花型数据到编织出花 型图案这整个过程。q t 应用程序则为横机控制软件提供了一个美观友好的图形 用户界面,它包括主界面、读取花型数据文件界面和参数设置界面等。综上所述, 基于此框架的横机控制软件条理清晰、思路明确,其各组成部分将在接下来的章 节具体介绍。 浙江大学硕士学位沦文电脑横机控制器的软件设计 第三章在l i n u x 下的g p i o 驱动设计 3 1l i n u x 设备驱动程序概述 在l i n u x 操作系统中,驱动程序是操作系统内核与硬件设备的直接接口,驱 动程序屏蔽了硬件的细节f 】6 1 。一般l i n u x 设备驱动程序可以分为3 个主要组成部 分: 1 )自动配置和初始化予程序,负责检测所要驱动的硬件设备是否存在和 能否正常工作。如果设备正常则对这个设备及其相关的设备驱动程序需要的软件 状念进行初始化。这部分驱动程序仅在初始化时被调用一次。 2 ) 服务于l ,o 请求的子程序,又称为驱动程序的上半部。调用这部分程序 是由于系统调用的结果。这部分程序在执行时,系统仍认为是与进行调用的进程 属于同一个进程,只是由用户态变成了内核态,具有进行此系统调用的用户程序 的运行环境,因而可以在其中调用s l e e p ( ) 等与进程运行环境有关的函数。 3 ) 中断服务程序,又称为驱动程序的下半部。在l i n l l ) ( 系统中并不是直接 从中断向量表调用设备驱动程序的中断服务子程序,而是由l i n u x 系统来接收硬 件中断,再由系统调用中断服务子程序。中断可以在任何一个进程运行时产生, 因而在中断服务程序被调用时,不能依赖于任何进程的状态,也就不能调用任何 与进程运行环境有关的函数。因为设备驱动程序一般支持同一类型的若干设备, 所以一般在系统调用中断服务子程序时,都带有一个或多个参数,以唯一标志请 求服务的设备。 设备驱动程序可以直接编译进内核,也可以以模块方式加载。如果编译到内 核中,在内核启动时就可以自动支持相应部分的功能,这样的优点是方便、速度 快,机器一启动,你就可以使用这部分功能了;缺点是会使内核变得庞大起来, 不管你是否需要这部分功能,它都会存在,因此经常使用的部分直接编译到内核 中。如果编译成模块,就会生成对应的o 文件,在使用的时候可以动态加载,优 点是不会使内核过分庞大,缺点是你得自己来调用这些模块。总之,驱动程序是 内核的一部分,它完成以下功能: 1 ) 对设备初始化和释放; 1 6 浙江大学硕士学位论文 电脑横机控制器的软件设计 2 ) 对设备进行管理,包括实时参数设置以及提供对设备的操作接口; 3 1 读取应用程序传送给设备文件的数据并回送应用程序请求的数据; 4 1 检测是处理设备出现的错误。 应用程序通过l i n u x 的系统调用与内核通信。出于l i n u x 中将设备当作文件处 理,所以对设备进行操作的调用和对文件操作的操作类似,主要包括o p e n ( ) 、 r e a d ( ) 、w r i t e ( ) 、i o c t l ( ) 、c l o s e ( ) 等。应用程序发出系统调用命令后,会从用户态 转到内核态,通过内核将o p e n ( ) 这样的系统调用转换成对物理设备的操作。 在l i n u x 中通过分层实现对物理设备的调用,并使得内核的结构清晰,提高 了模块化的独立性。 3 2 设备驱动程序开发流程 进行嵌入式l i n u x 系统的丌发,很大的工作量是为各种设备编写驱动程序。 在a r m 平台上开发嵌入式l i n u x 的设备驱动程序与在其他平台上开发是一样的。 总的来说,实现一个嵌入式l i n u x 设备驱动的大致流程如下: 1 ) 查看原理图,理解设备的工作原理; 2 ) 定义主设备号: 3 ) 在驱动程序中实现驱动的初始化。如果驱动程序采用模块的方式,则要 实现模块初始化: 4 ) 设计所要实现的文件操作,定义f i l eo p e r a t i o n s 结构; 5 ) 实现中断服务( 中断并不是每个设备驱动所必须的) ; 6 ) 编译该驱动程序到内核中,或者用i n s m o d 命令加载; 7 ) 测试该设备。 3 3g p i o 驱动硬件原理 本系统采用g p l o 口模拟总线的方案,实现s 3 c 2 4 l o 与两片e p l k 5 0 之间的通 讯。首先得选择可用资源,在详细研究s 3 c 2 4 1 0 的硬件结构后,最后选定了1 7 个 i o 口作为通讯接口,具体配置如表3 。1 。 浙江大学硕士学位论文电脑横机控制器的软件设计 表3 1g p l 0 功能配置 功能 g p l 0 状态 d 【7 0 】g p b 【9 6 】与g p f 【3 一o 】 输入输出 a 【4 ,0 】g p b 【4 0 】 输出 m n t l l o 】 g p g o 、g p f 7 中断 c s 【1 o 】 g p g 8 、g p g l o输出 由上表知,其定义了8 根数据线、5 根地址线、两根中断线和两根片选线,其 中,g p f 【3 o 】对应d ( 3 o 】,g p b 【9 6 】对应d 【7 4 j ,g p g o 对应n i n t o 】,g p f 7 对应 n i n t 【1 ,g p g 8 对应c s 【o ,g p g l o 对应c s 【1 】。两片e p l k 5 0 共用8 根数据线、5 根地 址线,各用一根中断线和片选线。 3 4g p i o 驱动实现 3 4 1 头文件和宏定义 以下是驱动程序所包含的头文件。 岸i n c i u d e 撑j n cj u d e 群i n c l u d e 撑i n c l u d e 栉i n c l u d e 拌i n c i u d e 牟i n c l u d e 拌i n c l u d e 拌i n c i u d e 拌i n c l u d e 这些头文件分为两部分,一部分是l j n u x 内部定义的头文件,包括了l i n u x 进程、模块、延时、中断等,为我们提供了所需的内核服务和接口。另一部分是 基于目标平台的头文件,包括目标平台的硬件管理、中断管理等,为我们提供了 详尽的访问硬件的接口。 另外,为了增加程序可读性,系统提供了一些宏定义: 浙江大学硕上学位论文电脑横机控制器的软件设计 撑d e f i n eg p l od e v n a m e ”g p j o ” 拌d e f i n eg p i ol o c k ( u )d o w n ( & u - 】o c k ) ; # d e f i n eg p l ou n l o c k ( u ) u p ( u - l o c k ) ; 撑d e f i n eg p bc t lb a s ei od 2 v ( o x 5 6 0 0 0 0 1o ) pg e tt h ev i r t u a la d d r e s sm a pt og p b + 抖d e f i n es 3 c 2 4 1og p b c o nr g p bc t lb a s e + o x o ) 撑d e f i n es 3 c 2 4 1og p b d a t( g p bc t lb a s e + o x 4 ) 抖d e f i n es 3 c 2 4 log p b u pf g p bc t lb a s e + o x 8 ) 抖d e f i n eg p fc t lb a s ei od 2 v ( o x 5 6 0 0 0 0 5 0 ) + g e tt h ev r t u a la d d r e s sm a pt og p f + 抖d e f i n es 3 c 2 41og p f c o n( g p fc t lb a s e + 0 x 0 1 拌d e f i n es 3 c 2 4log p f d a tf g p fc t lb a s e + 0 x 4 1 拌d e f i n es 3 c 2 4 1og p f u p( g p fc t lb a s e + 0 x 8 1 拌d e f i n eg p gc t lb a s ei op 2 v ( 0 x 5 6 0 0 0 0 6 0 ) + g e tt h ev i r t u a la d d r e s sm a pt og p g + 拌d e f i n es 3 c 2 4 l og p g c o nr g p gc t lb a s e + o x 0 1 撑d e f i n es 3 c 2 41og p g d a t f g p gc t lb a s e + o x 4 ) # d e f i n es 3 c 2 4 log p g u p f g p gc t lb a s e + 0 x 8 1 第4 l 行定义了设备名为“g p i o ”,第4 3 、4 4 行分别定义了g p i o 锁定和解锁 的宏。第4 6 行定义了g p b 口的基准地址,宏定义i o 2 v 可以在头文件s 3 c 2 4 1 0 h 中找到。第4 8 、4 9 、5 0 行分别定义了g p b 口的控制寄存器、数据寄存器和上拉 配置寄存器地址。第5 2 5 6 、第5 8 6 2 行则分别定义了g p f 和g p g 口的相应 地址。 3 4 2 几个重要的数据结构 定义了两个结构体来描述中断信息和g p i o 资源。 s 9 s t a t i cs t r u c ti n ti n f of 0i n tl r q n o ; 1c h a r + n a m e : 7 2 u n s l g n e di n tg p l o p o r t ; 7 3i n tk e y n o ; 7 4 i m - i n r o _ t a b f 2 】= + 中断所使用的c p u 资源+ , 5 1 r q e i n t 8 ,”i n t l ”,o p l o g o ,1 ) , ,蓐 i r q e i n t 7 ,”i n t 2 ”,g p l o f 7 ,2 ) , 7 ; 7 霉 s t r u c tu n i t 9 s t r u c ts e m a p h o r el o c k ; 蜜0u 3 2 + g p bc o n :+ g p b c o nr e 2 i s t e r + 辞lu 3 2 + g p bd a t ;g p b d a tr e 2 i s t e r + 窑2 u 3 2 + g p bu p :+ g p b u pr e g is t e r + 8 3u 3 2 + g p fc o n :+ g p f c o nr e g i s t e r + 棼4 u 3 2 + g p fd a t : ,+ g p f d a tr e 窟i s t e r 器su 3 2 + g p fu p :+ g p f u pr e 巨i s t e f 9 蛆蛇蜘“帖锚卵蚰”靳n距弘驰碍毋n旺 浙江大学硕士学位论文 电脑横机控制器的软件设计 每s u 3 2 + g p gc o n :+ g p g c o nr e 2 i s t e r + 嚣7 u 3 2 + g p gd a t : + g p g d a tr e 譬i s t e r + 晕8 u 3 2 + g p gu p :+ g p g u pr e g i s t e r + , 霉9 u 3 2f : 导o ; 霉1 s t a t i cs t r u c tu n i tg p i ou n i i = 9 乏 g p bc o n = ( u 3 2 + ) s 3 c 2 4log p b c o n 9 0g p bd a t = ( u 3 2 + ) s 3 c 2 4 10g p b d a t 鲁哇 g p bu p = f u 3 2 + 1 s 3 c 2 41og p b u p 3 sg p fc o n = ( u 3 2 + ) s 3 c 2 4log p f c o n 9 痞 g p fd a t = ( u 3 2 + ) s 3 c 2 410g p f d a t , 9 7 g p fu p = ( u 3 2 + ) s 3 c 2 4 log p f u p 9 盘g p gc o n = ( u 3 2 ) s 3 c 2 4 10g p g c o n , 窜9 g p gd a t = ( u 3 2 + ) s 3 c 2 4 10g p g d a t , 王o og p gu p = ( u 3 2 + ) s 3 c 2 4 l og p g u p 1 0 1 f= o x 0 0 0 0 0 0 0 0 i n i t i a lg p i ov a l e 1 0 2 : i n l i n f o 结构体定义了4 个变量分别描述中断号、中断名,中断引脚和键值 并初始化了两根中断线,相关信息存储在结构体数组i mi n f ot a b 2 1 巾。u n i t 结 构体描述了所用到的3 组i o 口里的9 个寄存器,并定义了一个信号灯变量和一 个用以存储当前数据的整型变量f 。f 的具体定义如下:b i t 【7 0 】存储d 7 0 1 , b i t 【1 2 8 】存储a 【4 一o 】,b i t 1 4 。1 3 】存储c s 【1 o 】 b i t 1 6 1 5 】存储n i n t 【1 0 ,b i t 【2 9 2 0 】 存储当前针数,b i t 3 0 】存储机头运行方向,b i t 【3 l 】存储中断标志位。 从第9 l 行起,将u n i t 结构体实例化,这里用到了前面提到过的宏定义,对 g p i o 口的访问就是通过读写g p i o u n i t 中的变量实现的。 3 4 3f i l e _ o p e r a t i o n s 结构与功能函数实现 在系统内部,i 0 设备的存取通过一组固定的入口点来进行,这组入口点是 由每个设备的设备驱动程序提供的。具体到l i n u x 系统,设备驱动程序所提供的 这组入口点由一个文件操作结构n l e _ o p e r a t i o n s 来向系统进行说明, f i l e _ 0 p e r a t i o n s 结构定义于l i n u “f s - h 文件中。 3 1 6 3 1 7 3 i 8 3 1 9 3 2 0 s t a i i cs t r u c tf i l e o p er a t j o n sg p i o o p s = 3 0 i 3 2 2) o w n e r : r e a d : w r l t e : o p e n : r e l e a s e t h i sm o d u l e g p j o r e a d , g p l o w r l t e , g p l o o p e n , g p i o r e l e a s e f 在g p i 叩p s 中,指定了驱动程序的读写入口点印i o r c a d 和g p i 0 一w r i t e ,而 2 0 浙江大学硕士学位论文 电脑横机控制器的软件设计 这是本驱蠹姜翼藩譬囊薹一篱艺叫蛩稀;拍卿鹈蚋氧;义如下啡羹蕊酾 貉瀚臻滓l h 妒潦荔魏骖窄i 存储瑟磁压n 【裂易纠鐾鍪帑鱼蔷 基- 鞘滞澍强b 餐j 墨漱蚺积馥,姥姥磊;* 艇蝗蠹矬辣强坩净老溺引拦拿; i i j :| ? i i j 蠹l _ l ? 嚣# :i 1 t j 二:! ! i ;羹l 目? 毒;? :i h 日二;g ;! i i l o 】,b i t 【2 9 2 0 】存储当前针数,b i t 【3 0 】存储机头运行方向,b i t ( 3 1 】存储 中断标志位。当读传感信号时b i t 【2 9 2 5 】存储传感信号地址。 对设备的操作最终都是通过调用g p i o 驱动完成的,读设备文件通过r e a d f f d - & r v a l ,4 ) 实现,一次读取4 个字节,存储在r v a l 中,写设备文件通过w d t e ( f d ,r v a l , 4 ) 实现,一次写入r v a l 中的4 个字节。下面就按其功能的不同来介绍。 4 2 2 写数据线 写数据线函数也分为两种,种是不需要保持上次数据状态的,比如选针器 控制的写数据,每次只有一位数据有效,其它位为零;另一一种则需要保持上次数 据状态,如纱嘴及机头电磁铁控制的写数据,只写入相关位的数据,其它位保持 上次数据状态不变。对于第一种写数据线函数,流程如图4 3 。 读设备文件 + i 数据警择清 + 写入数据 + l 写命令标忐位 + 写设备文件 网4 3 写数据线流程一 在不需要保持上次数据状态的情况下,程序先打开g p l o 设备文件,通过系 统调用r e a d ( )

温馨提示

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

评论

0/150

提交评论