方案总体设计框图
1、申请过程与方案灵感的来源
也许和工作性质有关,从事LED控制器及驱动的开发,需要学习使用很多单片机、DSP平台,低端的51、MSP430,cortex-M0,到高端的S3C2440、Cortex-M3/Cortex-M4,C2000,TMS320F2821, 但目前最多使用MSP430,见过珠三角地区各种数码产品的雨后春笋般的出现,特别是几位朋友拉在一起,再认识几位老板,就可以将自己的研发成果转化为精美的产品。虽然外界对于这类产品的口碑不怎么样,但是看看诺基亚、三星的低端市场完全丧失,也不能一棍子全部打死。也许,珠三角地区的制造产业转型升级就在于这种蓬勃发展的山寨运动中进行吧。
一直以来对高性能的平台有敬仰和觊觎之心。期间还对树莓派Raspberry PI感兴趣,曾动心想买一套学习。
从9月13日了解到有该活动,心情一阵激动,这是一个绝好的活动,也是一个能让我提高自己开阔视野的机会。同时结合自己学过的一些软硬件,有一定的信心,方案可行性也能高一点,算是尽力争取吧。
为了做好这个方案,本人尽最大的精力,在较短的时间内了解beaglebone,也利用业余时间学习了beaglebone的软硬件配置和开发流程,虽然没有板子,但是通过跨平台的工具,也能了解一些皮毛,也感谢beagblebone的一些设计的很优秀的跨平台工具如node.js、Cloud9 IDE、python等;
2、个人目前开展的学习过程与成果
9月13日:
学习用户手册,粗略了解板载资源和芯片参数及性能。
9月14日:
1、粗略学习node.js的开发和Cloud9 IDE,根据youtube上的教程做了几个例子。
2、自己摸索着做了一个网页显示模拟量和数字量的node.js程序
9月15日:
1、学习beaglebone的python底层控制,
2、规划miniGUI的移植和LED控制协议DMX的方案。
9月16日:
1、完善miniGUI的移植和LED控制协议DMX的方案,提交开发板申请。
2、在angstrom网站上build生成一个基于beagleboard的简单系统的镜像文件,
3、LED的DMX控制
RGB-LED的RGB三根电源线的PWM控制实现LED的红绿蓝三色的亮度调节,从而实现色彩及亮度的调节,见图4、5.此类LED再加上一个DMX512协议的控制器,即构成一个LED-Dimmer,多个LED-Dimmer挂载DMX总线上,通过时序控制,则达到一帧一帧的效果,DMX512可实现最高25帧每秒,作为动画展现出唯美的灯光效果。
LED-Player采用所见即所得的灯光效果设计,并通过PC外接的USB-to-DMX,即DMX512控制器,实现灯光效果的控制。见图6
4、miniGUI介绍
MiniGUI 是一个自由软件项目。其目标是提供一个快速、稳定、跨操作系统的图形用户界面(GUI)支持系统,尤其是基于 Linux/uClinux、eCos 以及其他传统 RTOS(如 VxWorks、ThreadX、uC/OS-II、Nucleus 等)的实时嵌入式操作系统。
minigui借助硬件平台驱动提供的X11(linux)、wvfb(windows)、QVFB(Qt)等framebuffer,自身提供类似于窗口管理器的功能。
由于本人接触minigui较多,也有一些积累。因此申请本项目预备将minigui移植到beaglebone上。并结合本人工作开展现场可用的DMX512及可视化LED控制器的设计。
关于MiniGUI在beagblebone移植的有关信息,以下是网络搜索有关的工作:
Google一下“MiniGUI beaglebone”,已有同仁开展相同的工作,不过似乎进展不到位。 这位老兄编译的是基于QVFB的minigui,要在beaglebone上安装Qte,可能没有启动qvfb。而且官方已有QTE的支持,因此miniGUI采用QVFB是是可行的方案。
beaglebone的LCD3 CAP方案,可以使用DUMMY引擎或者commonlcd作为底层帧缓冲驱动( LCD3 Cape revision A1 is supported by Angstrom release 06-18-12 or later. ),此部分framebuffer驱动miniGUI将耗费一定的工作量。
[
本帖最后由 mars4zhu 于 2012-9-17 11:51 编辑 ]