基于ARM9内核和嵌入式Linux的网络投影机系统设计
扫描二维码
随时随地手机看文章
摘 要: 对嵌入式系统的基本概念、原理和基于ARM的嵌入式Linux应用系统的设计与开发作了介绍;设计开发了一套用于投影机的嵌入式远程监控系统,利用Internet,通过对底层设备驱动编程和上层软件系统的设计开发,客户端可通过浏览器访问嵌入式系统内置的http服务器,将投影机的相关参数直观实时地在Web页面上显示出来,并且可以实现对于投影机现场相关显示参数的设置。
关键词: 投影机; Linux; ARM;CGI
投影机网络化正成为投影机发展过程中的一个重要趋势,通过标配的有线及无线网络接口或选配的网络适配器,用户可以通过计算机更方便地向投影机传送显示控制信号,在投影机上显示输出内容,可通过计算机来监控管理投影机。
1 嵌入式计算机系统的特点
嵌入式计算机系统[1]同通用型计算机系统相比具有以下特点:
(1)嵌入式系统通常面向特定应用。与通用型系统的最大不同是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的功能集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,与网络的耦合也越来越紧密。
(2)嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。
(3)嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力。
(4)嵌入式系统与具体应用有机结合,它的升级换代也是与具体产品同步进行的,因此嵌入式系统产品一旦进入市场,一般具有较长的生命周期。
(5)为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机中,而不是存储于磁盘等载体中。
(6)嵌入式系统本身不具备自举开发能力,设计完成以后用户通常不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进行开发[2]。
2 嵌入式投影机系统的组成
本系统采用目前比较流行的ARM处理器和嵌入式Linux操作系统平台,对投影机进行信息采集,并向局域网中的投影机发出控制命令。在ARM处理器的NAND Flash中,固化了嵌入式Linux操作系统和http服务器,可以将投影机的投影信息及时地传输给用户,同时用户可以方便地通过浏览器修改投影机的投影参数。
首先,用户在浏览器中输入已经联入局域网的投影机嵌入式模块的IP地址,向嵌入式模块的http服务器提出连接请求,输入正确的用户名和密码之后,用户就可以登录系统进行控制。当用户登录系统之后,嵌入式模块首先会通过IPC(进程间通信)的方式和投影机的核心模块通信,投影机设备将当前投影参数读取出来,然后将参数通过IPC(进程间通信)发送给嵌入式模块,嵌入式模块通过TCP/IP协议栈将参数返回给浏览器,用户则通过Web页面直观实时地查看投影机当前的投影信息。用户也可以选择对投影机的投影信息进行修改,如增加投影机投影亮度、对比度、选择Auto Keystone方式等。
系统的整体框架如图1所示。
3 嵌入式投影机应用系统架构详细设计
3.1 硬件平台的选择
基于嵌入式微处理器在嵌入式系统中的核心地位,选择一款恰当的处理器非常重要。目前市场主流的32位微处理器主要有Power PC、68K、MIPS和ARM等。通常在选择微处理器时,需要考虑很多因素,如性能、功耗、价格、配套的开发工具以及市场的供货情况,而ARM在这些方面都具有优势。同时ARM还具有业界领先的RISC体系架构,所以,选择基于ARM核的处理器是最理想的。
本设计采用S3C2410开发板为硬件平台。该平台在尽可能小的电路板面积上集成了64 M SDRAM、64 M Nand Flash、1 M Nor Flash、RJ-45网卡、音频输入与输出、USB Host、USB Slave、标准串口、SD卡插座、,用户按键和一些用户灯等设备接口,并且引出CPU的大部分信号引脚。通过这个平台可以针对S3C2410进行系统级的硬件和软件设计,并且能够很方便地在该平台上进行相关的功能扩展,并进行所需的产品设计。