GEC210 LED 裸机编程 原理介绍

发布者:达文西happy最新更新时间:2022-07-28 来源: csdn关键字:LED  裸机编程 手机看文章 扫描二维码
随时随地手机看文章

开发环境: ADS1.2  或者 arm-linux-gcc4.4.1


开发板  : GEC210(s5pv210 soc)


原理部分:


Led的控制是单片机控制中最简单的部分,所以我们从这个开始入门。


对cpu而言,led的控制只有亮和灭,而cpu只需要输出相应的高低电平即可控制led的亮和灭。


(注意我标识的几个关键字)


第一个步骤:看原理图


看原理图基本要弄清两个问题


a)   设备工作原理(可能需要查看相关理论知识及芯片文档)


b)   设备与cpu的连接关系

图1 led原理图(210kfb-core-v11.pdf第11页)


图2 led与cpu的连接关系(210kfb-core-v11.pdf 第4页)


通过查看210kfb-core-v11.pdf文件相关led的部分,可以看到图1,图2的部分,我们截取了主要的相关部分


我们将两个图合并说明如下:

图3 led原理图


再看看这个图的原理,led的阳极通过限流电阻后,统一连接到电源3.3v的正极,为发光二极管提供电源,led的阴极连接到s5pv210的相关io引脚上。


此时,我们应该可以想到,s5pv210对应引脚的变化是不是就会引起led的亮和灭呢?


从原理图上我们可以看出对应引脚输出高电平,led就会熄灭,对应引脚输出低电平,led就会点亮。


(这个原理可能有些电路原理,可以参考百度中相关led的介绍。)


那么问题又来了:


怎么输出高电平,怎么输出低电平呢?


所以这个点我们还要关注led对应的cpu引脚


4个led分别对应GPJ2的0-3#引脚,每个引脚控制一个led。


怎么控制这个引脚输出的电平呢?


所以此时应该出现


第二个步骤:查看SOC(s5pv210)的文档(S5PV210_UM_REV1.1.pdf)


这个文档内容比较多(而且还是全英文的,大多数人的硬伤啊,有莫有?),好吧,我们暂时只关心GPIO的部分。


在文档的92页,文档的标题介绍了GPIO的概念(如果用过51单片机的话,就是类似P0,P1这样的io端口)


GENERALPURPOSE INPUT/ OUTPUT(通用目的的输入输出引脚)


1、S5PV210 includes 237 multi-functional input/ outputport pins and 142 memory port pins.(S5PV210包含了237个多功能输入输出引脚和142个存储引脚,这些都可以是通用的输入输出引脚)


2、There are 34 general port groups and 2 memory portgroups


   (上述这些引脚中,分了34个通用引脚组和2个存储端口组)


所以GPJ2看来是34个通用引脚组中的某一组了,哈哈


在92页的文档中果然就可以看到这些组了。


再往下看,就还有引脚的类型(普通引脚,快速引脚,DRAM引脚)

这个暂时可以不用关心,这是一些电气属性,基本属于硬件工程师考虑的范畴。


再往下,可以看到io引脚的驱动强度配置(驱动强度其实就是这个引脚能输出或输入电流的大小,因为电压和电流在一起就可以产生功率,在电压一定的情况下,改变电流大小就可以改变输出或输入功率)

对于led这一节来说,这个也不是我们需要考虑的问题,在图3中,我们看到计算的电流也就2.6mA,那么在这个表中最小的电流都超过了这个值,所以我们不需要关心这个驱动强度的配置。


好,这个文档关于GPIO总体介绍的部分我们可以暂时不看了,直接跳到相应的寄存器部分(177页)。


对于所有的组,基本都有6个相应的控制寄存器名为CON,DAT,PUD,DRV,CONPDN,PUDPDN寄存器。(There are six control registers, namely, GPJ2CON, GPJ2DAT, GPJ2PUD,GPJ2DRV, GPJ2CONPDN and


GPJ2PUDPDN in thePort Group GPJ2 Control Registers. )

因为GPJ2PUD是设置上拉下拉电阻的, GPJ2DRV设置驱动强度的, GPJ2CONPDN设置休眠睡眠模式的配置 and GPJ2PUDPDN设置休眠睡眠模式的上拉下拉电阻的,暂时我们做最简单处理,就不关心这几个寄存器的配置了。


好接下来事情就好办了,只有两个寄存器需要我们认真关心,小开心一下吧。但是我们要认真理解一下这两个寄存器哦,第一次接触总有点疏忽,没关系,多看两遍了。。。


1、控制寄存器------配置引脚功能的寄存器(32bits)

该寄存器有32位,每4位控制一个引脚的功能,所以该寄存器可以配置8个引脚的功能,每4个位的含义与具体描述相匹配


如果配置某个引脚为输出模式,即对应的4个位写为0001(二进制形式),等效于16进制的0x1。其他功能以此类推。


2、数据寄存器(注意该寄存器的描述部分)

1)让引脚配置成输入的时候,我们读取数据寄存器,可以得到引脚的输入状态值(0或1)


2)当一个引脚配置成输出的时候,可以通过该寄存器控制引脚的输出状态(0或1)


3)当引脚配置成功能引脚,读该寄存器的时候,读到的值是不确定的。


该寄存器只有8位,每一个位对应一个引脚。与CON寄存器的32位不同。


输出模式的时候,这个寄存器的某一位决定对应引脚的状态


输入模式的时候,这个寄存器的某一位反应(记录)了引脚的状态。


cpu的运算只能计算二进制的数值,而引脚是电平信号,二进制1就表示引脚的高电平,二进制0就表示引脚的低电平


好现在基本流程走完


我们通过上述已经知道


1)   led需要高低电平点亮或熄灭


2)   从原理图看出,led是高电平熄灭,低电平点亮


3)   对应的引脚找到,GPJ2组的0-3#引脚,一共4个引脚,每个引脚控制一个led


4)   GPJ2组的引脚我们需要配置为输出模式,修改GPJ2CON寄存器的值,比如配置第0#引脚,就设置GPJ2CON的低4位为0x1。


5)   改变GPJ2DAT寄存器的值,就可以改变GPJ2引脚的输出电平,比如让GPJ2DAT的最低位为0,GPJ2的0#引脚就会输出低电平,否则输出高电平。


怎么对这两个寄存器赋值?


汇编方式举例,配置GPJ2的0#引脚为输出模式


ldr r0,=0xe0200280     ;(0xe0200280是GPJ2CON的地址)


mov r1,#1


str r1,[r0]   


C语言方式呢?


思考:


知道一个地址(常数),如果向该地址下写数据。


1)0xe0200280 = 0x1;


2)GPJ2CON = 1;


*(unsigned int*)0xe0200280 = 1;


需使用指针间接访问哦。


好了原理就讲到这了。


写程序吧。

关键字:LED  裸机编程 引用地址:GEC210 LED 裸机编程 原理介绍

上一篇:GEC210 LED裸机开发 c语言实现 ADS方式
下一篇:gec210 i2c程序io模拟方式实现

推荐阅读最新更新时间:2024-11-04 13:12

针对移动电话闪光灯的LED驱动方案
高效的相机闪光灯LED驱动 高分辨率相机在最低光照环境下,要求有高亮度的闪光来完成照相。客户要求提供一种闪光灯解决方案作为手机的标准功能。安装闪光灯的移动电话已经成为一种有吸引力的卖点。这种特性需要高光通量,从而给高效 LED 驱动器系统设计带来了挑战。 系统设计 移动电话中闪光灯 LED 的高正向电压和电流以及给定的电池电压,让升压转换器成为最佳的解决方案。驱动大电流时,基于电感的升压转换器呈现出令人满意的效率。LED必须为电流驱动,因为正向电压不仅仅随温度而变化,而且也有其自身的差异。正向电压的这种变化源自于其生产过程,其变化范围为±20%,请参见图 1。 图1、闪光灯LED VF/IF图 将闪光灯 LED
[电源管理]
针对移动电话闪光灯的<font color='red'>LED</font>驱动方案
LED损坏原因及电路保护方法
白光 LED 属于电压敏感型的器件,在实际工作中是以20mA的电流为上限,但往往会由于在使用中的各种原因而造成电流增大,如果不采取保护措施,这种增大的电流超过一定的时间和幅度后LED就会损坏。   造成LED损坏的原因主要有:   ①供电电压的突然升高。   ②线路中某个组件或印制线条或其他导线的短路而形成LED供电通路的局部短路,使这个地方的电压增高。   ③某个LED因为自身的质量原因损坏因而形成短路,它原有的电压降就转嫁到其他LED上。   ④灯具内的温度过高,使LED的特性变坏。   ⑤灯具内部进了水,水是导电的。   ⑥在装配的时候没有做好防静电的工作,使LED的内部已经被静电所伤害。尽管施加的是正常电压和电流值,也是极
[电源管理]
msp430F149测电压显示在12864上外接一个led
注释接口那边不准确,自己判断吧 单片机源程序如下: /********************************************************* 程序功能:MCU的片内ADC对P6.0端口的电压进行转换 将模拟电压值显示在1602液晶上。 ---------------------------------------------------------- 测试说明:调节电位器W1的旋钮观察液晶显示数字变化。 *********************************************************/ #include msp430F149.h #include c
[单片机]
LED驱动电源介绍
LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。而LED驱动电源的输出则大多数为可随LED正向压降值变化而改变电压的恒定电流源。 特点 根据电网的用电规则和LED驱动电源的特性要求,在选择和设计LED驱动电源时要考虑到以下几点: 1.高可靠性 特别像LED路灯的驱动电源,装在高空,维修不方便,维修的花费也大。 2.高效率 LED是节能产品,驱动电源的效率要高。对于电源安装 在灯具内的结构,尤为重要。因为LED的发光效率随着LED温度的升高而下降,所以LED的散热非常重要。电源的效率高
[电源管理]
LED铝散热器的替代技术出现,GE照明拟采用
  出于成本考虑,今天的LED照明商业应用(如LED路灯)基本上都采用了铝散热器,它是LED照明系统的主要重量来源。今天,上海HELF(合复新材料科技有限公司)研制出了一种可替代LED照明用铝散热器的高导热复合高分子材料 Therpoxy,由它构成的LED散热器重量可比铝散热器轻1/3以上,成本降低35%以上,而且整体散热性能和纯压铸铝相当。   Therpoxy 目前已经通过 UL和SGS 材料性能认证,它的其它主要特性还包括:1)表面电绝缘,耐击穿电压达4000V;2)超高的长期使用温度(RTI) 超过130度;3)加工周期短,供货速度快,低温加工成型;4)可根据客户需要定制;5) 潜在的多部件整合一体化设计   HELF
[电源管理]
照明用LED驱动电源设计详细图解
   LED 的排列方式及LED 光源的规范决定着基本的 驱动 器要求。LED 驱动器的主要功能就是在一定的工作条件范围下限制流过LED 的电流, 而无论输入及输出电压如何变化。最常用的是采用变压器来进行电气隔离。文中论述了LED 照明设计需要考虑的因素。    一、 LED驱动 器通用要求   驱动LED 面临着不少挑战,如正向电压会随着温度、电流的变化而变化,而不同个体、不同批次、不同供应商的LED 正向电压也会有差异;另外,LED 的“色点”也会随着电流及温度的变化而漂移。   另外,应用中通常会使用多颗LED,这就涉及到多颗LED 的排列方式问题。各种排列方式中, 首选驱动串联的单串LED, 因为这种方式不论正
[电源管理]
照明用<font color='red'>LED</font>驱动电源设计详细图解
LED驱动设计的心得
  要普及LED灯具,不但需要大幅度降低成本,更需要解决技术性的问题。如何解决能效和可靠性这些难题,PowerIntegrations市场营销副总裁DougBailey分享了高效高可靠LED驱动设计的心得。   一、不要使用双极型功率器件   DougBailey指出由于双极型功率器件比MOSFET便宜,一般是2美分左右一个,所以一些设计师为了降低LED驱动成本而使用双极型功率器件,这样会严重影响电路的可靠性,因为随着LED驱动电路板温度的提升,双极型器件的有效工作范围会迅速缩小,这样会导致器件在温度上升时故障从而影响LED灯具的可靠性,正确的做法是要选用MOSFET器件,MOSFET器件的使用寿命要远远长于双极型器件。  
[电源管理]
LED驱动器从31级调光增加到93级的方法
  通过31级调光范围,现有LED驱动器能够提供良好的调光能力,从而为LCD显示屏提供平滑的背光增强或减弱效果。然而, 当终端应用涉及到较大的高端显示屏时,这样一个范围就可能不够了。特别是对于避免突兀的光亮度变化而言,有必要保持非常平滑的启动和关断,否则这种变化在LCD显示屏工作于较暗的环境中时就会被感知为脉冲光。为了消除这种视觉压力,需要更多的调光步骤,提供极低的启动序列。本文将阐述一种将现有LED驱动器从31级调光增加到93级的简单方法。    标准操作   通常来讲,发光二极管(LED)电流通过电流镜结构来监测,这种结构能够对流经LED的直流电流进行精确调节。电流不是由外部微控制器(MCU)就是由LED驱动器的内置逻辑来
[电源管理]
将<font color='red'>LED</font>驱动器从31级调光增加到93级的方法
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved