基于S3C2410X PWM步进电机控制设计

合集下载

基于嵌入式Linux的步进电机驱动程序设计

基于嵌入式Linux的步进电机驱动程序设计

摘要:介绍了Linux驱动程序的实现机制,在分析步进电机和驱动程序接口的基础上,给出了一个在嵌入式Linux平台上编写步进电机驱动的实例。

本平台基于Samsung公司的S3C2410X CPU,采用Linux2.4内核作为它的操作系统。

介绍了如何通过对驱动程序的操作实现对步进电机的控制。

在JXARM2410实验平台上的实验结果表明驱动运行正常。

1.引言随着嵌入式技术的飞速发展,基于嵌入式系统的新一代工业控制器也日益增多。

同以往的控制器不同,新的仪器大多以32位嵌入式处理器为核心,并且安装有嵌入式操作系统,从而大幅度提高了处理能力,方便了设计开发。

在各种嵌入式操作系统中,嵌入式Linux是免费的自由软件,其构建的系统成本较低,而且Linux是单内核的操作系统,并可按要求进行任意剪裁,因此越来越多的研究人员开始在用Linux平台来开发自己的产品[1]。

嵌入式开发过程中,经常需要为特定设备开发驱动程序。

这些驱动程序的编写和编译与PC上的Linux驱动开发相比存在明显的差异,需要考虑的因素更多,实现过程更为复杂。

本文以Samsung公司S3C2410X CPU为例,探讨如何为使用嵌入式Linux的工业控制器开发字符设备驱动程序来驱动步进电动机。

2.Linux驱动程序概述在Linux中,几乎所有的内容都是文件,对设备驱动的访问也是以文件操作的方式实现的。

Linux系统支持3种类型的硬件设备:字符设备、块设备和网络设备,这些设备的驱动程序是系统内核的重要组成部分。

对用户程序而言,操作系统隐藏了设备的具体细节,把设备映射为一个设备文件,用户程序可以对设备文件进行open、close、read、write等操作。

这些操作和驱动程序是通过struct file_operations这一数据结构关联起来的,编写设备驱动程序的主要工作就是编写子函数填充file_operations的各个字段[2]。

3.嵌入式Linux步进电机驱动程序开发3.1 嵌入式Linux设备驱动程序的结构嵌入式Linux下的设备总体上可以分为两部分:其一,驱动与内核接口层,它实现驱动模块在Linux内核的注册加载与卸除工作。

S3C2410中的脉宽调制定时器(PWM)

S3C2410中的脉宽调制定时器(PWM)

S3C2410中的脉宽调制定时器(PWM)S3C2410 有5 个16bit 定时器。

定时器0-3 有脉宽调制功能(Pulse Width Modulation,PWM),定时器4 是内部定时器,没有输出引脚。

定时器0 有Dead-zone 发生器,可以保证一对反向信号不会同时改变状态,常用于大电流设备中。

定时器0-1 共用一个8bit prescaler,定时器2-4 共用另外一个。

每个定时器有一个时钟分频器,可以选择5 种分频方法。

每个定时器从各自的时钟分频器获取时钟信号。

prescaler 是可编程的,并依据TCFG0-1 寄存器数值对PCLK 进行分频。

当定时器被使能之后,定时器计数缓冲寄存器(TCNTBn)中初始的数值就被加载到递减计数器中。

定时器比较缓冲寄存器(TCMPBn)中的初始数值被加载到比较寄存器中,以备与递减计数器数值进行比较。

这种双缓冲特点可以让定时器在频率和占空比变化时输出的信号更加稳定。

每个定时器都有一个各自时钟驱动的16bit 递减计数器,当计数器数值为0 时,产生一个定时中断,同时TCNTBn 中的数值被再次载入递减计数器中再次开始计数。

只有关闭定时器才不会重载。

TCMPBn 的数值用于PWM,当递减计数器的数值和比较寄存器数值一样时,定时器改变输出电平,因此,比较寄存器决定了PWM 输出的开启和关闭。

S3C2410 的PWM 定时器采用双buffer 机制,可以不停止当前定时器的情况下设置下一轮定时操作。

定时器值可以写到TCNTBn,而当前定时的计数值可以从TCNTOn 获得,即,从TCNTBn 获得的不是当前数值而是下一次计数的初始值。

自动加载功能被打开后,当TCNTn 数值递减到0 时,芯片自动将TCNTBn 的数值拷贝到TCNTn,从而开始下一次循环,若TCNTBn 数值为0,则不会有递减操作,定时器停止。

第一次启动定时器的过程如下:。

s3c2410中文手册

s3c2410中文手册

s3c2410中文手册简介S3C2410 是一种嵌入式处理器,由韩国三星电子公司设计和制造。

它是一款高度集成的 ARM 架构芯片,广泛应用于各种移动设备中,如智能手机、平板电脑、PDA 等。

本手册将详细介绍 S3C2410 芯片的特性、功能和使用方法,帮助开发人员更好地理解和应用该芯片。

芯片特性S3C2410 芯片具有以下主要特性:1.ARM920T 内核: S3C2410 芯片采用了 ARM920T 内核,它是一种高性能、低功耗的 32 位 RISC 处理器。

ARM920T 内核支持 ARMv4T 指令集,并具有强大的计算和处理能力。

2.高度集成的外设: S3C2410 芯片内集成了许多常用的外围设备,包括 UART、SPI、I2C、PWM 等。

这些外设可满足各种应用需求,简化了系统设计和连接。

3.多种接口: S3C2410 芯片提供了丰富的接口,如LCD 控制器、触摸屏控制器、SDIO 控制器等。

这些接口允许连接各种外部设备,如显示屏、输入设备、存储卡等,实现更丰富的功能。

4.低功耗设计: S3C2410 芯片采用先进的低功耗设计技术,具有很低的静态功耗和动态功耗。

这使得它非常适合于移动设备,延长了电池寿命。

芯片功能GPIOS3C2410 芯片提供了多个 GPIO 管脚,用来实现输入和输出功能。

GPIO 管脚可以通过软件配置为输入模式或输出模式,并可以设置电平状态。

开发人员可以利用GPIO 实现各种功能,如控制 LED 灯、读取按键状态等。

UARTS3C2410 芯片内集成了多个 UART 模块,用于串口通信。

每个 UART 模块都提供了数据传输和接收的功能,并支持多种通信协议,如 RS232、RS485 等。

开发人员可以使用 UART 实现与外部设备的串口通信。

LCD 控制器S3C2410 芯片具有强大的 LCD 控制器,支持多种显示模式和分辨率。

LCD 控制器可以控制显示屏的像素点,实现图形显示和文字显示功能。

基于S3C2410X处理器的嵌入式应用系统设计共109页文档

基于S3C2410X处理器的嵌入式应用系统设计共109页文档
基于S3C2410X处理器的嵌入式应用系统 设计
11、获得的成功越大,就越令人高兴 。野心 是使人 勤奋的 原因, 节制使 人枯萎 。 12、不问收获,只问耕耘。如同种树 ,先有 根茎, 再有枝 叶,尔 后花实 ,好好 劳动, 不要想 太多, 那样只 会使人 胆孝懒 惰,因 为不实 践,甚 至不接 触社会 ,难道 你是野 人。(名 言网) 13、不怕,不悔(虽然只有四个字,但 常看常 新。 14、我在心里默默地为每一个人祝福 。我爱 自己, 我用清 洁与节 制来珍 惜我的 身体, 我用智 慧和知 识充实 我的头 脑。 15、这世上的一切都借希望而完成。 农夫不 会播下 一粒玉 米,如 果他不 曾希望 它长成 种籽; 单身汉 不会娶 妻,如 果他不 曾希望 有小孩 ;商人 或手艺 人不会 工作, 如果他 不曾希 望因此 而有收 益。-- 马钉路 德。
43、重复别人所说的话,只需要教育; 而要挑战别人所说的话,则需要头脑。—— 玛丽·佩蒂博恩·普尔
44、卓越的人一大优点是:在不利与艰 难的遭遇里百折不饶。——贝多芬
45、自己的饭量自己知道。——苏联
41、学问是异常珍贵的东西,从任何源泉ຫໍສະໝຸດ 收都不可耻。——阿卜·日·法拉兹
42、只有在人群中间,才能认识自 己。——德国

S3C2410中文手册第10章 PWM定时器

S3C2410中文手册第10章 PWM定时器

PWM Timer概述S3C2410A有5个16位定时器。

其中定时器0、1、2、3有脉宽调制(PWM)功能。

定时器4有只有一个内部定时器而没有输出管脚。

定时器0有一个死区发生器,用于大电流器件。

定时器0和1共享一个8位预定标器,定时器2、3和4共享另一个8位预定标器。

每一个定时器有一个有5种不同值的时钟分割器(1/2,1/4,1/8,1/16和TCLK)。

其中每一个定时器块从时钟分割器接收时钟信号,而时钟分割器从响应的预定标器接收时钟信号。

8位预定标器是可编程的,它根据TCFG0和TCFG1中的数值分割PCLK。

在定时器计数缓冲寄存器(TCNTBn)中有一个初始值,当定时器使能后,这个值就被装载到递减计数器中。

而在定时器比较缓冲寄存器(TCMPBn)中也有一个初始值,这一值被装载到比较寄存器中,用来与递减计数器值进行比较。

这两个缓冲器使得在频率和占空比发生改变时仍能产生一个稳定的输出。

每一个定时器有一个16位的递减计数器,由定时器时钟驱动。

当计数器的值到0,定时器就会产生一个中断请求来通知CPU定时器的操作已经完成。

当定时器计数器到0时,TCNTn的值自动的加载到递减计数器中以继续下一操作。

但是,当定时器因某种原因停止,如在定时器运行模式中清除定时器使能位(TCONn中)时,TCNTBn中的值将不再加载到计数器中。

TCMPBn中的数据是用来脉宽调制的。

当递减计数器的值与比较寄存器的值相同时,定时器控制逻辑将改变输出电平。

因此,比较寄存器决定一个PWM 输出的接通时间。

特性◆5个16位定时器;◆2个8位预定标器和2个4位分割器;◆可编程的占空比;◆自动再装入模式或一次脉冲模式;◆死区发生器。

图1、16位PWM定时器模块框图预定标器和分割器定时器基本操作图2、定时器运行时序一个定时器(定时器4除外)都包含TCNTBn、TCNTn、TCMPBn和TCMPn 几个寄存器。

(TCNTn和TCMPn是内部寄存器的名称。

S3C2410的PWM定时器中断实验

S3C2410的PWM定时器中断实验

实验6 S3C2410 PWM定时器中断实验一、实验目的掌握S3C2410 PWM定时器的工作原理和定时时间的计算方法,掌握和PWM定时器有关寄存器的使用方法,会用C语言对PWM定时器进行初始化编程,理解PWM定时器中断的触发过程,熟练掌握和中断相关寄存器的使用以及中断服务函数的编程方法。

二、实验内容UP-NETARM2410实验箱上两个LED数码管的控制地址为0x08000110和0x08000112。

借助于PWM定时计数器可实现简单的计数秒表。

由于只有两位数码管,秒表计到99秒后,从0开始重新计数。

同时三个发光二极管每隔一秒闪烁点亮。

三、PWM定时器相关知识S3C2410A具有5个16位的定时器,其中定时器0~3具有PWM波发生功能,即可以输出PWM波,定时器4没有外部输出。

定时器工作频率为PCLK/(预分频值+1)/分频值,在下面的工程中,将使用定时器1,并设置其工作频率为20 kHz,即为:48MHz/(149+1)/16 = 20 kHz所以定时时间为:0x4E20* 20 kHz=1S定时器1的初始化方法如下:首先,设置TCFG0(定时器配置寄存器0,地址为0x51000000)的值为0x95,即定时器1的预分频值为0x95,十进制数为149。

注意:定时器0和1共用同一个预分频值。

然后,设置TCFG1(定时器配置寄存器1,地址为0x51000004)的值为0x30,即定时器1的分频值为16。

其次,设置TCNTB1(定时器1计数寄存器,地址为0x51000018)和TCMPB1(定时器1比较寄存器,地址为0x5100001C)的值为0x4E20和0x4000。

这里没有用到TCMPB1,当TCNTB1减计数到0后,将触发定时器1中断再次,设置TCON(定时器控制寄存器,地址为0x51000008)的值为0xA00,即刷新TCNB1和TCMPB1的值。

最后,设置TCON的值为0x900,启动定时器1。

基于s3c2410的智能风扇控制系统的设计

基于s3c2410的智能风扇控制系统的设计科目名称嵌入式系统开发技术智能风扇控制系统设计专业:计算机科学与技术班级:2021级4班学号:20214589 姓名:孟祥伟2021年 10月 19日1、现状分析(不少于800字)针对所设计内容,查阅目前有哪些解决方案。

分析现有解决方案的特点,总结优缺点,并说明题目设计的必要性及意义。

1.1设计的必要性和意义风扇作为一种老式家电,电风扇具有价格便宜、摆放方便、体积轻巧等特点。

虽然在调节温度方面没有空调高效,但由于大部分家庭消费水平的限制,电风扇作为一个成熟的家电行业的一员,尤其在中小城市,以及乡村将来一段时间内仍然会占有市场的大部分份额。

面临庞大的市场需要的同时,也要提高电风扇的市场竞争力。

使之在技术含量上有所提高,应使风扇不仅功能多样,操作简便,而且更加安全可靠。

为此,在现有市场上多功能电风扇的基础上,提出了一种新型的智能电风扇,该风扇功能更多,添加了很多人性化的设计,如智能温度控制,转速和功率的职能自控,安全保护,智能照明等功能,使电风扇更加人性化,相信其丰富的功能,人性化的设计将会大大提高电风扇的市场竞争力。

1.2当前设计方案的分析目前智能风扇的设计主要基于单片机的自动控制来实现的,单片机作为智能电风扇控制系统的测量和控制核心,采用霍尔集成芯片测量电风扇的转速,通过主从单片机之间的串行通信来完成电风扇转速数据处理及转速控制,采用移相触发方式控制可控硅功率。

用8279扩展键盘及双行LCD显示来实现人机交互,采用红外发射与接受装置来完成遥控功能。

采用单片机虽然实现了转速的自动控制,但再智能程度上还是达不到理想的效果,其功能的可扩充和可扩展性达不到理想要求。

往往只能实现简单的交互和控制,没法体现出真正的智能系统强交互、界面友好、实时控制的优点。

例如上述的设计方案,只能实现简单的风扇转速和功率的控制,在简单程序的控制下可以实现输出自然风和睡眠风等功能,但没办法做到依据当前室内温度的自控制和实时控制。

基于PLC的步进电机控制技术

基于PLC的步进电机控制技术一、本文概述随着工业自动化程度的不断提高,步进电机作为一种重要的执行元件,在各类自动化设备中得到了广泛应用。

步进电机控制技术作为实现精确控制的关键技术之一,对于提高设备的运行效率、稳定性和可靠性具有重要意义。

基于可编程逻辑控制器(PLC)的步进电机控制技术,凭借其灵活的编程能力、强大的数据处理能力和稳定的控制性能,成为当前步进电机控制领域的研究热点。

本文将对基于PLC的步进电机控制技术进行深入研究和分析。

文章将简要介绍步进电机的工作原理及其控制特点,为后续研究提供基础。

文章将重点探讨PLC在步进电机控制中的应用,包括PLC的基本构成、编程语言、控制算法等方面。

在此基础上,文章将详细介绍基于PLC的步进电机控制系统的设计原理和实现方法,包括硬件选型、软件编程、调试与优化等方面。

文章将结合实际案例,分析基于PLC 的步进电机控制技术在实际应用中的优势和不足,并提出相应的改进建议。

通过本文的研究,旨在为从事步进电机控制领域的工程师和技术人员提供有益的参考和借鉴,推动基于PLC的步进电机控制技术的进一步发展和应用。

也为相关领域的学者和研究人员提供了一定的理论支撑和实践指导。

二、步进电机的基本原理步进电机是一种特殊的电机类型,其旋转角度可以精确控制,通常用于需要高精度定位的应用中。

步进电机的基本原理基于电磁学,通过控制电机内部的电磁场来驱动电机的旋转。

步进电机内部通常包含一组或多组电磁线圈,每组线圈对应一个特定的旋转角度,称为步距角。

当电流通过线圈时,会产生一个电磁场,与电机内部的永磁体相互作用,从而产生旋转力矩。

通过按照特定的顺序和时序控制电流通过线圈,可以实现电机的步进式旋转。

在步进电机的控制中,通常使用一个控制器,如PLC(可编程逻辑控制器)来控制电流的通断和时序。

PLC可以通过编程来设定电流的控制方式,包括电流的大小、通电顺序和通电时间等参数,从而实现对步进电机的精确控制。

pwm步进电机课程设计

pwm步进电机课程设计一、课程目标知识目标:1. 学生能理解PWM(脉宽调制)的基本原理,掌握其与步进电机控制的关系;2. 学生能掌握步进电机的工作原理,了解不同类型步进电机的特点;3. 学生能描述步进电机控制系统的组成及其功能。

技能目标:1. 学生能运用所学知识,设计简单的PWM控制程序,实现对步进电机的速度和方向控制;2. 学生能通过实验和调试,分析并解决步进电机控制中的问题,提高实际操作能力;3. 学生能运用图表、数据和文字,展示课程项目的实施过程和成果。

情感态度价值观目标:1. 学生在课程学习中,培养对电子技术和自动控制技术的兴趣,激发创新意识;2. 学生通过团队合作,学会交流、分享和协作,培养团队精神;3. 学生在实践过程中,增强自信心,培养面对问题勇于挑战、积极进取的精神。

课程性质:本课程为高二年级电子技术课程,以实践操作为主,理论联系实际,提高学生的动手能力和创新能力。

学生特点:学生具备一定的电子技术基础,具有较强的求知欲和动手能力,但个别学生可能对编程和调试有恐惧心理。

教学要求:结合学生特点,注重理论与实践相结合,鼓励学生动手实践,培养解决问题的能力。

在教学过程中,关注学生的个体差异,提供有针对性的指导。

通过课程学习,使学生能够独立完成步进电机控制系统的设计与实现。

二、教学内容1. 理论知识:- PWM原理及其在步进电机控制中的应用;- 步进电机的分类、结构、工作原理及特点;- 步进电机控制系统组成及功能。

2. 实践操作:- 设计简单的PWM控制程序;- 连接并调试步进电机及驱动器;- 实现步进电机速度和方向的控制。

3. 教学大纲:- 第一阶段:PWM原理学习,步进电机基本知识了解;- 第二阶段:步进电机控制系统组成及功能学习,实践操作指导;- 第三阶段:分组进行项目实践,设计并调试步进电机控制系统;- 第四阶段:成果展示与评价,总结交流学习经验。

4. 教材章节:- 第六章《电机与电器》中关于步进电机的相关内容;- 第七章《自动控制技术》中关于PWM控制的相关内容。

S3C2410-第十章PWM及定时器

第十章PWM及定时器10.1概述S3c2440A有5个16位的定时器。

定时器0、1、2、3有脉宽调制功能(PWM)。

定时器4有一个没有输出引脚的内部定时器。

定时器0有一个用于大电流设备的死区生成器。

定时器0和1共享一个8位的预分频器(预定标器),定时器2,3,4共享另一个8位预分频器(预定标器)。

每个定时器有一个时钟分频器,其可以生成5种不同的分频信号(1/2,1/4,1/8,1/16和TCLK)。

每个定时器模块从时钟分频器接收其自己的时钟信号,其分频器从相应的8位预分频器(预定标器)接收时钟。

8位的预标定器是可编程的且根据装载的值来分频PCLK,其值存储在TCFG0和TCFG1寄存器中。

当定时器使能,定时器计数缓存寄存器(TCNTBn)得到一个被装载到递减计数器中的初始值。

定时器比较缓存寄存器(TCMPBn)有一个被装载到比较寄存器中用来和递减计数器的值作比较的初始值。

TCNTBn和TCMPBn双缓存特点使得当频率和负荷比发生改变时,定时器生成一个稳定的输出。

每个定时器有一个自己的由定时器时钟驱动的16位递减计数器。

当递减计数器为零时,定时器中断请求生成通知CPU定时器操作已经完成。

当定时器计数器达到0,相应的TCNTBn的值也知道装载到递减计数器中以继续下一个操作。

但是如果定时器停止了,例如在定时器运行模式下通过对TCONn的定时器使能位清零,则TCNTBn的值不会装载到计数器中。

TCMPBn的值用于脉宽调制。

当递减计数器的值和定时器控制逻辑中的比较寄存器的值匹配时,定时器控制逻辑改变输出电平。

因此,比较寄存器决定了PWM输出的开启时间。

10.2特性(1)5个16位定时器(2)两个8位预分频器(预定标器)和2个4位分频器(3)输出波形的可编程任务控制(4)自动重载模式或单脉冲模式(5)死区生成器10.2.1PWM定时器操作10.2.1.1预分频器(预定标器)和分频器一个8位的预分频器(预定标器)和一个4位的分频器得到以下输出频率:4位分频器设置最小分辨率(prescaler=0)最大分辨率(prescaler=255)最大间隔(TCNTBn=65535)1/2(PCLK=50MHz)0.0400us(25.0000MHz)10.2400us(97.6562MHz)0.6710sec 1/4(PCLK=50MHz)0.0800us(12.5000MHz)20.4800us(48.8281KHz) 1.3421sec 1/8(PCLK=50MHz)0.1600us(6.2500MHz)40.9601us(24.4140KHz) 2.6843sec 1/16(PCLK=50MHz)0.3200us(3.1250MHz)81.9188us(12.2070KHz) 5.3686sec10.2.1.2基本定时器操作定时器(除定时器通道5)有TCNTBn、TCNTn、TCMPBn和TCMPn。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《嵌入式系统》课程设计说明书

基于S3C2410X PWM步进电机控制应用开发

系 、 部: 计算机与信息科学系 组 成 员:李传颂 李佳文 潘应成 马永光 指导教师: 秦 辉 职称: 讲师 专 业: 计算机科学与技术 班 级: 计本0803 完成时间: 2011年12月12日 i

摘 要 嵌入式的应用正在不断深入和创新,作为一门我们专业相当重要的专业课程,同时带动着传统控制检测日新月异的更新。此次设计利用实验室中试验箱以S3C2410x作为内核进行调试和创新,其中对S3C2410X的试验箱开发板、S3C2410X的PWM、步进电机工作原理、系统硬件设计、软件设计及其仿真调试过程都做了详细的介绍,使我们组的每个成员不仅对步进电机的原理有了深入的了解,也对嵌入式的设计研发过程以及知识的学习都有了很深刻的体会和提高。本控制系统的设计采用实验室中的试验箱S3C2410x PWM控制,通过S3C2410X的中断系统来实现步进电机的转动以及转动的加速度等功能,另外还增加可设正反转的功能,具有灵活方便、使用范围广又易懂的特点,能够满足实现自身实践动手能力提高的需求。通过此次课程设计,增进对嵌入式强大功能的认识,对提高学习能力有着深远意义。

关键字 嵌入式;S3C2410X;PWM;步进电机 I

目 录 1 开发环境及系统结构...................................................... 1 1.1 开发环境 ......................................................... 1 1.2 S3C2410X处理器介绍............................................... 1 2.2.1 2410体系结构 ............................................ 1 2.2.2 2410实验箱底板规格: ..................................... 2 1.3系统结构.......................................................... 3 2 基于S3C2410X PWM步进电机控制应用开发................................... 4 2.1 PWM介绍.......................................................... 4 2.1.1 PWM定时器概述 ............................................. 4 2.1.2 S3C2410X定时器特性 ........................................ 4 2.1.3 PWM定时器操作示例 ......................................... 5 3.1.4 PWM定时器寄存器 ........................................... 6 2.2 基于S3C2410X PWM步进电机的硬件开发 ............................. 9 2.2.1 系统设计要求与方案确定 ..................................... 9 2.2.2 PWM步进电机驱动电路设计.................................... 9 2.3 基于S3C2410X PWM步进电机的软件开发 ............................ 11 2.3.1程序流程图 ................................................ 11 2.3.2 应用程序设计.............................................. 11 2.3.3 功能测试.................................................. 29 3 总结................................................................... 30 参考文献................................................................. 31 1

1 开发环境及系统结构 1.1 开发环境 硬件:Embest EduKit-III实验平台,Embest ARM标准、增强型仿真器套件,即ARM2410实验箱,PC,步进电机。

软件:Embest IDE for ARM 集成开发环境,windows xp。

1.2 S3C2410X处理器介绍 1.2.1 2410体系结构: S3C2410X处理器是SAMSUNG公司给予ARM公司的ARM920T处器核,采用0.18um制造工艺的32位微处理器,以其低功耗、简介及全静态设计尤其适合于成本及功耗敏感的嵌入式应用。采用ARM新设计的AMBA总线体系结构。 用于支持和嵌入式和一般嵌入式应用的集成系统16/32-Bit RISC体系结构,ARM920T CPU内核增强的ARM体系MMU,可支持WinCE、EPOC 32和Linux操作系统指令Cache和数据,写缓冲器和物理地址TAG ARM减少了主存宽带和延迟对性能的影响,ARM920T CPU核支持ARM调试体系结构内部高级微处理器总线体系(AMBA)。体系结构图如下: 2 图1.1 S3C2410X处理器体系结构方框图

1.2.2 2410实验箱底板规格: ◆ 大电流5V供电,提供更加优质的供电,防止电源断电而引的BUG; ◆ LCD显示 - 板上LCD接口集成4线电阻式触摸屏接口,可以直接连接4线电阻式触摸屏, - 支持黑白、4级灰度、16级灰度、256色、4096色STN液晶屏, 尺寸从3.5寸到12.1寸,屏幕分辨率可以达到1024X768象素 ◆ 1个100M以太网RJ-45接口 ◆1个USB Slave B型接口(支持USB1.1协议) ◆1路立体声音频输出接口,1路音频输入接口 ◆ 板载AD转换测试 ◆ 板载PWM功能测试(控制直流电机调速) ◆ 板载44Pin IDE接口 ◆ 板载实时时钟电池 ◆ 系统复位开关和指示灯 3

◆ 两路DA ◆ 8个数码管 ◆ 8个LED灯 ◆ 1个VGA接口 ◆ 1个直流电机 ◆ 1个步进电机

图1.2 实验系统硬件平台 1.3 系统结构

图1.3 嵌入式系统组成框图 4

2 详细设计 2.1 PWM介绍 2.1.1 PWM定时器概述 S3C2410X有5个16位定时器,其中定时器0、1、2、3具有脉冲宽度调制(PWM)功能,定时器4具有内部定时左右,但是没有输出引脚。定时器0具有死区生成器,可以控制大电流设备。定时器T0、T1共用一个8bit预分频器,定时器T2、T3、T4共用另一个8bit预分频器,每个定时器都有一个时钟分频器,信号分频输出有5种模式。每个定时器模块都从时钟分频器接收它自己的时钟信号,时钟分频器接收的时钟信号来自于8bit预分频器。可编程8bit预分频器根据存储在TCFG0和TCFG1中的数据对PCLK进行分频。 每一个定时器都有一个自己的用定时器时钟驱动的16位减法计数器。当减法计数器减到0时,就会产生一个定时器中断来通知CPU定时器操作下次操作。当定时器减法计数器减到0时,相应的TCNTBN的值被自动重载到减法计数器中继续下次操作。然而,如果定时器停止了,比如在运行时,通过清除TCON中定时器使能位来中止定时器的运行,TCNTBN的值不会被重载到减法计数器中。 2.1.2 S3C2410X定时器特性

(1)5个16位定时器。 (2)2个8bit预分频器和2个4bit分频器。 (3)可编程PWM输出占空比。 (4)自动重载模式,或者单个脉冲输出模式。 (5)具有死区生成器。 (6)自动重载与双缓冲。 S3C2410X具有双缓冲功能,能在不中止当前定时器运行的情况下,重载下次定时器运行参数,所以尽管新的定时器的值被设置好了,但是当前操作仍能成功完成。定时器值可以写入定时器计数缓冲寄存器,当前的计数器的值可以从定时器计数观察寄存器独读出。读出的TCNTBn值并不是当前的计数器值,而是下次重载的计数器值。 当TCNTBn=0时,自动重载操作把TCNTBn的值装入TCNTn,只有当自动重载允许并且TCNTn=0时,才会自动重载。如果TCNTn=0,自动重载禁止,则定时器停止运行。 5

图2.1 双缓冲功能举例

图2.2 死区功能允许波形图

2.1.3 PWM定时器操作示例 定时器操作实例如图2.2所示. 6

图2.3 定时器操作示例

<1> 允许自动重载功能,TCNTBN=(50+110),TCMPBN=110.置位手动更新位,配置倒相位,手动更新位被设置后,TCNTBN和TCMPBN的值被自动装入TCNTN和TCMPN。之后设置TCNTBN和TCMPBN分别为80(40+40)和40. <2> 启动定时器清零手动更新位,取消倒相位功能,允许自动重载,定时器开始启动减法计数。 <3> 当TCNTTN和TCMPN的值相等时,TOUT输出电平由低变高。 <4> 当TCNTN=0时,产生中断,并在下一个时钟到来时把TCNTBN的值装入暂存器中。 <5> 在中断服务子程序中,把TCNTBN和TCMPBN分别装入80(20+60)和60. <6> 当TCNTBN和TCMPN的值相等时,TOUT输出电平由低到高。 <7> 当TCNTN=0时,把TCNTN和TCMPBN的值分别自动装入TCNTN和TCMPBN,并触发中断。 <8> 在中断子服务子程序中,禁止自动重载和中断请求来中止定时器运行。 <9> 当TCNTN和TCMPBN的值相等的时候,TOUT输出电平由低变高。 <10> 尽管TCNTN=0,但是定时器停止运行,也不再发生自动重载操作,因为定时器自动重载功能被禁止。 <11> 不再产生新的中断。 2.1.4 PWM定时器寄存器

1)定时器寄配置存器0(TCFG0,地址:0x51000000) 定时器配置寄存器0如表2.1所示。 表2.1 定时器配置寄存器0(TCFG0) TCFG0 位 描述 初始化状态 保留 [31:24] -- 0x00

相关文档
最新文档