基于嵌入式Linux多磁控管电源控制系统设计_第1页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

1、基于嵌入式linux多磁控管电源控制系统设计1、硬件整体设计设计主要包括3个模块:1,人机交换模块(芯片扩展电路)、2,功率输出模块(atmega16l芯片扩展电路)、3,磁控管工作电路。人机交换模块主要用来接收用法者的指令数据,再传递给功率输出模块输出给定功率。同时接收功率输出模块电路中功率反馈回归的信息,使得用法者能对相应信息做出处理。整体框架11所示:1.1基于s3c2410x处理器的控制电路设计控制系统中采纳韩国三星半道体公司的s3c2410x处理器作为主控制芯片。sbc2410x是一款基于920t内核的16/32位risc微处理器,高性价格比,低功耗。应用该芯片作为主控制芯片,并扩展

2、64m sdram、64m nand flash、1m的nor flash、标准串口、用户按建、液晶屏接口、jtag模块、以太网接口(12所示)。图12、s3c2410外围扩展1.2 基于atmega16l功率输出电路设计从芯片采纳系列单片机atmega16l。atmega16具有丰盛的片内资源,其中包括:16k字节的在线编程,应用编程flash程序处理器,512字节eprom,1k字节sram,32个通用工作寄存器,32个通用i/o口,3个定时/数据器,20个中断源,2个可编程串口usart,15种通过软件挑选的节电模式。主从芯片模块之间通过各自串口举行数据的交互。详细上说,主电路模块发送数

3、据给从芯片模块,从芯片按照输入数据产生相应波形,以得到对应的输出功率。同时从芯片应用采集电路模块,采集实际功率反馈到主芯片,由主芯片将数据交给用户管理,须要时候会发出警告信息,达到庇护电路的作用。2、驱动程序的编写和内核的裁剪设计采纳linux操作系统作为操作平台。从linux系统进展的过程来看,linux从最开头就是一个开放的系统,并且遵循着源代码开放的原则,它是一个稳定的网络操作系统,作为嵌入式系统有如下优势。(1) linux的源码开放性允许任何人可以修改它的源代码。这样可以降低开发的成本,另一方面可以提高开发成本。(2) linux支持x86、arm、sh等多种体系结构,并且已经移植到

4、多种硬件平台。(3)linux有独特的内核模块机制,它可以按照用户需要,实时的将某模块插入到内核或者从内核中移走。(4)linux系统内核精简、高效和稳定,能够充分发挥硬件功能,因此比其他操作系统运行更高效率。(5)linux是首先支持tcp/ip协议栈的操作系统,它的内核在网络方面十分的完。由于嵌入式开发的目标环境针对特定的操作系统,因此采纳宿主机/目标机的方式,在pc机上装linux操作系统,建立交错编译环境arm-gcc。然后为设计系统硬件编写特定驱动程序,主要包括显示模块和串口通讯模块的驱动功能。2.1液晶显示模块完成人机友好界面的数据驱动,对图形具有显示能力,设计中采纳模块化的办法设

5、计驱动程序。液晶显示驱动程序设计的内容如下:(1)首先对驱动程序管理的硬件举行须要的初试化。(2)初始化设备相关的参数。(3)在内核中注册设备。其中涉及到重要的结构体为:static struct fb_ops s3c2410fb_ops;(4)其他的初始化工作。int _init s3c2410fb_init(void);int _init s3c2410fb_setup(char *options)。2.2串口通讯完成主控芯片发送数据和指令给从芯片,使从芯片完成端口的波形输出,通过输出的波形控制大功率设备的功率。同时大功率设备通过测量电路反馈实际功率给从芯片,从芯片通过串口发送数据给主控芯

6、片显示正确的功率数据,便利用户查看。串口驱动的设计内容:(1)初始化串口相关的硬件设备。涉及到重要的结构体为:static struct tty_driver normal, callout;static struct tty_struct *s3c2410_tableuart_nr;static struct termios *s3c2410_termiosuart_nr;static struct *s3c2410_termios_lockeduart_nr。(2)注册中断服务程序。接受中断服务程序:static void s3c2410uart_rx_interrupt(int irq,

7、 void *dev_id,,struct pt_regs *regs);发送中断服务程序:static void s3c2410uart_tx_interrupt(int irq, void *dev_id, ,struct pt_regs *reg);(3)在内核中注册设备。uart_register_driver(&s3c2410_reg)。(4)设备的加载和卸载。module_init(s3c2410uart_init);module_init(s3c2410uart_init)。设计好硬件驱动程序后,为控制主芯片裁剪linux内核以适合控制设备的需要。进入pc机linux操作

8、系统,进入vivi原代码名目,执行“make menuconfig”指令开头配置内核。配置完毕以后再执行“make”指令廉价vivi。将vivi的映像文件通过jtag烧写到设计好的硬件电路板中。进入linux内核文件中执行“make menuconfig”指令开头配置linux内核文件,选上要用法的驱动选项并按照电路板实际芯片模块配置内核,最后用法“make”指令编译内核文件。假如编译出问题需要修改内核文件。编译胜利以后通过串口将生成的映像文件下载到电路板中。之后vivi 就可以启动下载好的内核文件。内核的设计及其调试流程图21。图21、内核调试流程3、基于qt的主芯片控制系统程序设计和从芯片

9、程序设计图形用户界面gui是迄今为止计算机系统中最为成熟的人机交互技术。不同于桌面系统,嵌入式gui所具备的特点:*体积小;*运行时耗用的系统资源小;*上层接口与硬件无关,高度移植;*高度牢靠性;在开发中,考虑到问题主要集中在图形用户界面向硬件的要求,设计中提供应用户的终于界面是容易的有用性。设计中采纳挪威trolltech公司提供的嵌入式开发平台qt/embedded,做为本设计的软件开发平台。该平台以c+语言作为开发语言,其核心被称作信号与槽的机制。设计中,主芯片主要完成把数据显示在液晶模块上,让用户直观的控制设备的运行情况。同时还要把用户设定的功率发送给从芯片,使从芯片输出功率的波形。利

10、用qt自带类qnumber可以完成此工作,其中继承了显示相关的许多功能。图形控件布局采纳类qwidget,时光的计算显示采纳类qtimer。通讯模块中采纳linux内核函数cfsetispeed()举行波特率的设定,利用串口重要数据结构体struct termios opt对串口的校验位,停止位举行相应的设定,达到发送和接收数据的目的。图31显示主芯片程序设计流程。从芯片采纳中断方式接收主芯片发送过来的数据,并对接收过来的数据举行处理后,在端口引脚输出波形,波形经过输出电路产生适合大小的功率。同时从芯片不断的接收采集模块采集的数据,并对数据举行处理,再通过串口发送给主芯片,显示在主芯片的液晶模块上,提供应用户监控,并可以对危急信号举行处理。图31、主芯片程序流程图4、控制系统的软硬联调将编写好的主芯片程序应用交错编译器举行编译,产生二进制代码,应用网络下载到主电路板中。同时把程序所关联的库文件和联结文件通过网络下载到主电路板linux内核的对应位置并举行相应链接。编写好的从芯片程序用编译器编译生成二进制代码,并烧入芯片的flash中,以使得代码固化在芯片中。为了检查设计电路测量和输出的精确性,需要验证给定功率、实际功率、显示的反馈功率之间的大小关系。最后试验显示:给定功率=计算实际功率=显示的反馈功率,证实设计的基于linux控制系统能精确的运行,设计达到了性能

温馨提示

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

评论

0/150

提交评论