APP下载

基于S5PV210的LED灯控制研究

2015-08-08丁鹏辉潘立武

电脑知识与技术 2015年15期
关键词:嵌入式

丁鹏辉 潘立武

摘要:很多高校都开设了嵌入式专业的相关课程,很多学生反应嵌入式裸机开发入门非常困难。基于我校学生学习的实际情况,该文研究了S5PV210芯片板上LED灯的控制方法,通过熟悉LED电路图和LED与对应的 GPIO 引脚连接关系后,采用汇编语言和C语言实现了LED灯的明灭控制,可为嵌入式开发学习提供入门参考。

关键词: 嵌入式; S5PV210;GPIO

中图分类号:TP338 文献标识码:A 文章编号:1009-3044(2015)15-0195-03

Abstract: Now, many colleges and universities have opened the relevant courses of embedded system, but there are many difficult for many students when they begin to learn NoOS embedded development. Based on the actual situation of the students in our college, this paper studies the control of LED on S5PV210 chip board. After understanding the LED circuit diagram and the connection relationship between LED and GPIO pin, we realized the control of LED by employing assembly language and C language t. This can provide introductory reference for learning embedded system development for many college students.

Key words: embedded system; S5PV210; GPIO

随着电子科技技术的飞速发展,人们对各种便携式智能电子设备的需求量剧增。目前,像智能手机、平板电脑、导航仪等嵌入式电子产品的功能越来越强大。很多便携智能电子产品拥有触摸屏、LCD或键盘等输入\输出设备,如同普通的个人电脑一样可以网上冲浪、收发邮件、编辑各种文档、浏览图片、玩游戏、播放视频和音乐等功能[1-2]。在工业控制领域系统级芯片(Chip on a System: SOC)可以有效降低电子设备产品的开发成本、缩短开发周期,使得一个嵌入式系统可以完成更多的控制功能[3],能增强产品的竞争力。本文以深圳雷迈特公司开发的嵌入式试验平台为基础,通过GPIO(General Purpose Input Output:通用输入/输出)编程,实现了对核心板上LED灯的明灭控制,可以辅助嵌入式编程开发的调试,也为学习嵌入式开发的人员提供一个入门参考。

1 系统硬件

1.1 S5PV210处理器

韩国Samsung公司研发的S5PV210是一种适用于智能手机和平板电脑等嵌入式智能设备的嵌入式处理器[4]。雷迈特嵌入式试验平台核心板处理器采用S5PV210,使用ARM CortexTM-A8内核和ARM V7指令集。作为一个高性能的处理器,S5pv210运行主频为1GHZ,内置PowerVR SGX540高性能图形引擎,支持流畅的2D/3D图形加速,拥有每秒运算2亿条指令集的高性能运算能力[4-6]。整个Cortex-A8核心板拥多个在板资源,如有四个用户LED灯、一个板载声卡、网卡等。总之,S5pv210具有低功耗、高性能等优点,并且具有完整的通用系统外部设备[5]。

1.2 GPIO

众所周知,I/O(输入/输出)接口电路是连接主机和外部设备的部件,可以实现主机和外设的数据传输,也简称接口电路[7]。GPIO( General-Purpose IO ports) 是通用输入/输出端口,可以对 I/O 进行读写操作 GPIO 操作是所有硬件操作的基础[8]。可以通过设置GPIO对应的寄存器相应位的址完成某个引脚的用途,如用于输入、 输出或其他功能。S5PV210处理器拥有237个GPIO,可以实现多种系统功能[4]。S5PV210 的 GPIO 端口寄存器主要有控制寄存器、数据寄存器和上拉寄存器等,其中控制寄存器用于设置 GPIO 引脚的功能(如输入/输出/其他功能)、数据寄存器拥有设置引脚数据的读写、 上拉寄存器完成是否使用内部上拉电阻的设置[4,5,8-12]。

2 LED控制的实现

2.1 LED电路原理

S5PV210核心板上有四个用户LED灯,用户可以通过编程来对其进行控制。由于不同的开发板的电路是有差异的,控制LED灯的对应GPIO端口也可能不同。因此,要控制本试验箱的Cortex-A8核心板上的四个LED灯,首先需要了解LED灯的电路图,找到控制LED灯对应的GPIO端口。然后,按照使用手册中的说明对GPIO端口进行设置,最终实现对LED灯的控制。Cortex-A8核心板上面带有四个LED灯,其电路图如图1所示,LED与对应的 GPIO 引脚连接关系如图2所示[4]。

由以上两个电路图可知, 四个LED灯(LED1~LED4)分别对应的 GPIO端口为 GPJ2_0 ~ GPJ2_3,通过对GPJ2_0~3引脚的高低电平来控制三极管的导通性实现LED灯的控制。图1说明输出低电平可以使LED灯亮,高电平使其灭。因此,控制LED明灭的步骤是:1)设置GPJ2对应的控制寄存器GPJ2CON,将GPJ2_0~3四个引脚设置为输出功能,可实现LED灯的控制;2)设置GPJ2对应的,使引脚输出低电平点亮LED灯,反之,数据寄存器GPJ2DAT相应位设置为1则使对应引脚输出高电平熄灭对应LED灯。

2.2 GPIO设置代码

查阅使用说明手册(文献4)可知,GPJ2CON和GPJ2DAT对应的地址分别为0xE0200280和0xE0200284,根据3.1节所给步骤,可以使用下面的C 语言代码实现GPIO的设置,并实现对LED灯的明灭控制。

3 结束语

通过编写裸机启动汇编程序,启动S5PV210,在汇编程序中调用本文给出的LED_blink函数。编译通过后使用MiniTools工具将生成的裸机程序烧写到开发板上,或者拷贝到SD中运行后可以看到如图3所示的运行效果,在图3中四个LED灯在不断闪烁。

本文以三星公司的S5PV210处理器为实验对象,通过查阅LED电路原理图和GPIO配置信息,使用C语言和汇编语言编写了LED控制裸机程序,并烧写到开发板上运行,实现了LED灯控制的裸机编程,可为以后的裸机开发提供一种通过LED灯调试的途径。

参考文献:

[1] 窦寅丰. 基于旋光色散原理的波长鉴别技术研究[D]. 哈尔滨: 黑龙江大学, 2010.

[2] 张诗墨. 针对大学生生活形态的消费类电子产品设计研究[D]. 北京: 北京服装学院, 2015.

[3] 李乃翠. 基于Android与Wi-Fi的实时视频监控系统的研究[D]. 济南: 山东大学, 2014.

[4] Samsung Electronics. S5PV210 RISC Microprocessor Users Manual, Revision 1.10[Z]. Republic of Korea: Samsung, 2010.

[5] 陈建明, 张亚军, 沈媛雪. 基于Cortex-A8处理器与Android平台的温度检测系统设计[J]. 华北水利水电大学学报: 自然科学版, 2014(5): 69-71.

[6] 梁芳芳. 基于S5PV210的网络温湿度记录仪实现[J]. 电子世界, 2014(7): 123-124.

[7] 吴志抄, 谭业双, 李召瑞, 等. 基于可编程器件的通信检测系统接口设计[J]. 电子技术应用, 2014(10): 72-75.

[8] 李文钊. 基于Android平台的GPIO操控方法[J]. 数字技术与应用, 2013(11): 151-152.

[9] 王莉莉. 基于S5PV210数码相框的设计与实现[J]. 山西电子技术, 2015(1): 32- 33+ 57.

[10] 单桂峰. 基于三星S5PV210处理器的智能家居控制系统设计[J]. 电子世界, 2014(12): 133-134.

[11] 张光南. 基于S5PV210的智能家居系统设计[J]. 电子设计工程, 2014(8): 172-174.

[12] 熊琼, 师卫, 腾生强. 基于ARM cortexTM-A8与Android的智能家居系统[J]. 电视技术, 2014(9): 85-88, 159.

猜你喜欢

嵌入式
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
TS系列红外传感器在嵌入式控制系统中的应用
基于嵌入式Linux内核的自恢复设计
嵌入式系统通信技术的应用
嵌入式PLC的设计与研究
搭建基于Qt的嵌入式开发平台
基于嵌入式系统Windows CE的应用程序开发
嵌入式单片机在电机控制系统中的应用探讨
嵌入式软PLC在电镀生产流程控制系统中的应用
Altera加入嵌入式视觉联盟