0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于S3C2410X处理器和单片机实现多磁控管电源控制的设计方案

电子设计 来源:微计算机信息 作者:向东;汪建华;秦道 2021-03-09 11:58 次阅读

作者:向东;汪建华;秦道东;王传新

1、电路硬件整体设计

设计主要包括3个模块:1,人机交换模块(S3C2410芯片扩展电路)、2,功率输出模块(ATmega16L芯片扩展电路)、3,磁控管工作电路。人机交换模块主要用来接收使用者的命令数据,再传递给功率输出模块输出给定功率。同时接收功率输出模块电路中功率反馈回来的信息,使得使用者能对相应信息做出处理。整体框架如图1—1所示:

基于S3C2410X处理器和单片机实现多磁控管电源控制的设计方案

1.1基于S3C2410X处理器控制电路设计

控制系统中采用韩国三星半道体公司的S3C2410X处理器作为主控制芯片。SBC2410X是一款基于ARM920T内核的16/32位RISC嵌入式微处理器,高性价格比,低功耗。应用该芯片作为主控制芯片,并扩展64M SDRAM、64M Nand Flash、1M的Nor Flash、标准串口、用户按建、液晶屏接口、JTAG模块、以太网接口(如图1—2所示)。

o4YBAGBG8uiALGJMAABxnpH6J9c813.png

1.2 基于ATmega16L单片机功率输出电路设计

从芯片采用AVR系列单片机ATmega16L。ATmega16具有丰富的片内资源,其中包括:16k字节的在线编程,应用编程Flash程序处理器,512字节EPROM,1K字节SRAM,32个通用工作寄存器,32个通用I/O口,3个定时/数据器,20个中断源,2个可编程串口USART,15种通过软件选择的节电模式。

主从芯片模块之间通过各自串口进行数据的交互。具体上说,主电路模块发送数据给从芯片模块,从芯片根据输入数据产生相应波形,以得到对应的输出功率。同时从芯片应用采集电路模块,采集实际功率反馈到主芯片,由主芯片将数据交给用户管理,必要时候会发出警告信息,达到保护电路的作用。

2、驱动程序的编写和Linux内核的裁剪

设计采用Linux操作系统作为操作平台。从Linux系统发展的过程来看,Linux从最开始就是一个开放的系统,并且遵循着源代码开放的原则,它是一个稳定的网络操作系统,作为嵌入式系统有如下优势。

(1) Linux的源码开放性允许任何人可以修改它的源代码。这样可以降低开发的成本,另一方面可以提高开发成本。(2) Linux支持X86、ARM、MIPS、SH等多种体系结构,并且已经移植到多种硬件平台。(3)Linux有独特的内核模块机制,它可以根据用户需要,实时的将某模块插入到内核或者从内核中移走。(4)linux系统内核精简、高效和稳定,能够充分发挥硬件功能,因此比其他操作系统运行更高效率。(5)Linux是首先支持TCP/IP协议栈的操作系统,它的内核在网络方面非常的完。

因为嵌入式开发的目标环境针对特定的操作系统,因此采用宿主机/目标机的方式,在PC机上装Linux操作系统,建立交叉编译环境arm-gcc。然后为设计系统硬件编写特定驱动程序,主要包括显示模块和串口通讯模块的驱动功能。

2.1液晶显示模块完成人机友好界面的数据驱动,对图形具有显示能力,设计中采用模块化的方法设计驱动程序。液晶显示驱动程序设计的内容如下:

(1)首先对驱动程序管理的硬件进行必要的初试化。(2)初始化设备相关的参数。(3)在内核中注册设备。其中涉及到重要的结构体为:static struct fb_ops s3c2410fb_ops;(4)其他的初始化工作。int __init s3c2410fb_init(void);int __init s3c2410fb_setup(char *options)。

2.2串口通讯完成主控芯片发送数据和命令给从芯片,使从芯片完成端口的波形输出,通过输出的波形控制大功率设备的功率。同时大功率设备通过测量电路反馈实际功率给从芯片,从芯片通过串口发送数据给主控芯片显示正确的功率数据,方便用户查看。串口驱动的设计内容:

(1)初始化串口相关的硬件设备。涉及到重要的结构体为:

static struct tty_driver normal, callout;

static struct tty_struct *s3c2410_table[UART_NR];

static struct termios *s3c2410_termios[UART_NR];

static struct *s3c2410_termios_locked[UART_NR]。

(2)注册中断服务程序。接受中断服务程序:

static void s3c2410uart_rx_interrupt(int irq, 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操作系统,进入ViVi原代码目录,执行“make menuconfig”命令开始配置内核。配置完毕以后再执行“make”命令便宜ViVi。将ViVi的映像文件通过JTAG烧写到设计好的硬件电路板中。

进入Linux内核文件中执行“make menuconfig”命令开始配置Linux内核文件,选上要使用的驱动选项并根据电路板实际芯片模块配置内核,最后使用“make”命令编译内核文件。如果编译出问题需要修改内核文件。编译成功以后通过串口将生成的映像文件下载到电路板中。之后ViVi 就可以启动下载好的内核文件。内核的设计及其调试流程图2—1。

o4YBAGBG8vaAH8t2AACZ5e3180Y496.png

3、基于QT的主芯片控制系统程序设计和从芯片程序设计

图形用户界面GUI是迄今为止计算机系统中最为成熟的人机交互技术。不同于桌面系统,嵌入式GUI所具备的特点:

*体积小;*运行时耗用的系统资源小;*上层接口与硬件无关,高度移植;*高度可靠性;

在开发中,考虑到问题主要集中在图形用户界面对硬件的要求,设计中提供给用户的最终界面是简单的实用性。

设计中采用挪威TrollTech公司提供的嵌入式开发平台QT/Embedded,做为本设计的软件开发平台。该平台以C++语言作为开发语言,其核心被称作信号与槽的机制。设计中,主芯片主要完成把数据显示在液晶模块上,让用户直观的控制设备的运行状况。同时还要把用户设定的功率发送给从芯片,使从芯片输出功率的波形。利用QT自带类QLCDNumber可以完成此工作,其中继承了显示相关的许多功能。图形控件布局采用类QWidget,时间的计算显示采用类QTimer。通讯模块中采用Linux内核函数cfsetispeed()进行波特率的设定,利用串口重要数据结构体struct termios Opt对串口的校验位,停止位进行相应的设定,达到发送和接收数据的目的。图3—1显示主芯片程序设计流程。

从芯片采用中断方式接收主芯片发送过来的数据,并对接收过来的数据进行处理后,在端口引脚输出波形,波形经过输出电路产生适合大小的功率。同时从芯片不断的接收采集模块采集的电流数据,并对数据进行处理,再通过串口发送给主芯片,显示在主芯片的液晶模块上,提供给用户监控,并可以对危险信号进行处理。

o4YBAGBG8v2ADh57AACUoNAy3D4869.png

4、控制系统的软硬联调

将编写好的主芯片程序应用交叉编译器进行编译,产生二进制代码,应用网络下载到主电路板中。同时把程序所关联的库文件和联结文件通过网络下载到主电路板Linux内核的对应位置并进行相应链接。

编写好的从芯片程序用编译器编译生成二进制代码,并烧入芯片的Flash中,以使得代码固化在芯片中。

为了检查设计电路测量和输出的准确性,需要验证给定功率、实际功率、显示的反馈功率之间的大小关系。最后实验显示:给定功率=计算实际功率=显示的反馈功率,证明设计的基于Linux控制系统能准确的运行,设计达到了性能要求。

5、结语

设计后的控制系统具有友好的图形操作界面,操作简便、直观。设计采用主、从二芯片的方案达到远程控制的优点,又保障了操作人员操作的安全性。

基于嵌入式Linux操作系统的控制系统设计运行稳定,实时性高。软件设计中加入对危险信号的处理达到保护设备的目的,运行安全、可靠性增强、实时性高,将有利于用户及科研机构的使用。

本文作者创新点:

1,采用嵌入式系统的方法设计电源控制系统,具有实时性和稳定性的特性。

2,国内对于多磁控管的设计方案较少,本论文提供了一种多磁控管电源控制的设计方案。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电源
    +关注

    关注

    184

    文章

    17573

    浏览量

    249460
  • 处理器
    +关注

    关注

    68

    文章

    19159

    浏览量

    229097
  • 单片机
    +关注

    关注

    6032

    文章

    44513

    浏览量

    632895
收藏 人收藏

    评论

    相关推荐

    S3C2410x的开发板原理图和PCB文件

    S3C2410x的开发板原理图和PCB文件
    发表于 12-26 00:32

    sec s3c2410x b/d 的驱动

    有没有哪位大神有sec s3c2410x b/d 的驱动,w7 32位下的,有的话麻烦发我邮箱1085793021@qq.com,菜鸟十分感谢~~
    发表于 11-01 19:41

    S3C2410处理器

    S3C2410处理器通过GPD端口连接LED1-4四个灯,试着画出其电路连接图,并变成实现其逐一点亮功能。
    发表于 11-23 21:50

    s3c2410处理器指令的意思是什么?

    呵呵,s3c2410...在vivi中的s3c2410.h文件中设置时钟时 有这么一段mrc p15,0,r1,c1,c0,0orr r1,r1,#0xc0000000;mcr p15
    发表于 02-25 12:34

    ARM9 S3C2410X参数测量系统怎么实现

    嵌入式系统由于性价比高开发周期短等优点目前得到了迅猛发展,各类基于 ARM 处理器的应用开发更是如火如荼。这里介绍基于 ARM9 嵌入式芯片 S3C2410 构建的测量监控系统,该系统设计方案先进,集成度较高,在实践中得到了广泛
    发表于 08-14 07:30

    S3C2410X处理器电子资料

    概述:S3C2410X是三星半导体生产的一款微处理器。它是一款用于手持设备设计的低功耗、高集成度的基于ARM920T核的微处理器,为了降低系统总成本和减少外围器件,这款芯片还集成了以下部件:16KB指令Cache、...
    发表于 04-21 07:26

    S3C2410X中文数据手册

    S3C2410X 中的LCD 控制器由传送逻辑构成,这种逻辑是把位于系统内存显示缓冲区中LCD视频数据传到外部的LCD 驱动。LCD 控制器支持单色,使用基于时间的抖动算法和帧频
    发表于 05-21 08:35 196次下载

    FFT-s3c2410说明书

    CHAPTER 1 系统概述.2 1 S3C2410X 处理器介绍 .2 2 FFT-S3C2410X 的产品技术参数 .3 3 FFT-
    发表于 05-28 18:14 36次下载
    FFT-<b class='flag-5'>s3c2410</b>说明书

    S3C2410处理器特性

    S3C2410处理器是Samsung公司基于ARM公司的ARM920T处理器核,采用0.18um制造工艺的32位微控制器
    发表于 10-10 11:52 5538次阅读

    s3c2410芯片手册s3c2410中文手册32位RISC微处

    S3C2410X处理器是使用ARM920T核、采用0.18um 工艺CMOS标准宏单元和存储编译开发的。 它的低功耗精简和出色的全静态设计特别适用于对成本和功耗敏感的应用。这个手册描述了SAMSUNG公司的
    发表于 09-06 10:17 180次下载

    S3C2410X处理器与SPI接口在触摸屏驱动程序中的应用

    本文介绍了基于三星 S3C2410X处理器,采用 SPI 接口与 ADS7843 触摸屏控制器芯片完成触摸屏模块的设计。具体包括在嵌入式 Linux 操作系统中的软件驱动开发,采用内核定时
    发表于 11-30 14:04 10次下载
    <b class='flag-5'>S3C2410X</b>微<b class='flag-5'>处理器</b>与SPI接口在触摸屏驱动程序中的应用

    基于Linux操作系统和S3C2410处理器实现GPS实时导航系统的设计

    这里提出一种实用的设计方案,通过对系统的各方面配置,实现GPS实时导航功能。系统主控器件采用韩国Samsung公司生产的ARM核32位RISC微处理器S3C2410,并在由其组成的开发
    发表于 03-09 10:47 1064次阅读
    基于Linux操作系统和<b class='flag-5'>S3C2410</b>微<b class='flag-5'>处理器</b><b class='flag-5'>实现</b>GPS实时导航系统的设计

    基于ARM-3S的物流监控系统的设计方案

    设计方案; 通过构建物流监控系统的整体架构与分析3S 通信网络的实现方案实现了物流信息的智能化管理; 文章在Lin ux 和ARM
    发表于 07-08 14:18 16次下载
    基于ARM-<b class='flag-5'>3S</b>的物流监控系统的<b class='flag-5'>设计方案</b>

    基于S3C2410处理器和Linux实现嵌入式网关的设计

    介绍了一种基于ARM9的嵌入式以太网的设计方案。基于ARM内核微处理器S3C2410的功能特点及其外扩组成部分,分析了以太网控制器芯片RTL8019AS的性能以及与
    的头像 发表于 06-22 14:28 2589次阅读
    基于<b class='flag-5'>S3C2410</b>微<b class='flag-5'>处理器</b>和Linux<b class='flag-5'>实现</b>嵌入式网关的设计

    变频磁控管和普通磁控管怎么区分

    的基本工作原理。磁控管是一种通过磁场控制电子束的电子器件。这种器件通过一个磁场来控制电子束的聚焦、导向和偏转,从而实现对电子束的精确操控。 普通磁控
    的头像 发表于 03-12 16:53 2077次阅读