随着社会的进步,人们对自身形象愈加重视,化妆成为女性一门必修课。如何选择合适的化妆品对于不少女性来说是一项难题。近几年针对该问题提出了多种虚拟试妆解决方案。包括通过浏览器进行本地与远程服务器交互方案及使用Visual C++开发上位机软件[1]等。
以Altera公司的SoPC技术和Linux操作系统为基础,设计了一款嵌入式虚拟试妆系统。该系统在SD卡中存储信息,通过摄像头采集用户面部图像,用户可通过触摸屏浏览、选择商品对影像进行上妆,并查看试妆效果,最终达到选购化妆品的目的。系统具有体积小巧、方便易用等特点,适合于各种商场的化妆品柜台。
1 系统总体结构设计
系统以D插件电感器E2-70为核心板,外接PS2键盘录入信息,通过扩展口分别接入LTM触摸屏和D5M 500万像素摄像头。为使用Linux操作系统,构建了基于带MMU的Nios II处理器的SoPC。通过SDRAM运行内核和RAM文件系统,使用SSRAM作为显示缓存,将硬件编程代码烧入EPCS,而将压缩的内核、文件系统与引导代码一起烧入Flash。系统采用Altera大学计划IP中的PS2 Controller和Video IPs分别管理PS2接口和触摸屏的显示部分,自行编写硬件模块实现触摸屏的配置、摄像头采集和SSRAM多路复用。此外,系统还使用SPI模式管理SD/MMC卡以及第三方IP管理网络物理芯片。系统结构框图如图1所示。
2 系统硬件设计
2.1 运行Linux的最小系统搭建
Linux操作系统对SoPC系统的构建有特殊要求,包括带MMU处理器设置、全功能定时器启用、通信终端设定等。表1总结了基于Linux系统所需要添加的SoPC组件以及关键设置[2]。
2.2 影像采集和存储方案设计
图2所示为本系统使用的影像采集和存储方案。在SoPC系统外,通过Cam_CFG_CAP模块配置和采集摄像头数据,经由SSRAM_WRITE模块合成指定格式数据并生成SSRAM写时序送入SSRAM_2PORT进行仲裁;SSRAM_2PORT既接收SSRAM_WRITE的数据写入SSRAM的指定区域,又允许SSRAM Controller访问SSRAM获取相应数据。
(1)SSRAM_WRITE
该模块分别提取Cam_CFG_CAP传入RGB分量的高5、6、5 bit数据,拼接成16 bit数据,读入两个像素合成32 bit,同时生成对应的21 bit SSRAM地址,将其传功率电感器递给SSRAM_2PORT。
(2)SSRAM_2PORT
该模块对来自SoPC系统的SSRAM控制器和SSRAM_WRIT差模电感器E的读写请求做出仲裁。在CPU读请求有效期间,SSRAM_2PORT模块读取SSRAM中的数据发送给Avalon总线;超出读差模电感请求有效期则接收SSRAM_WRITE模块图像数据写入SSRAM。在该模块中添加两个DCFIFO分别作为实时图像数据及其对应地址的缓冲空间,实现不同时钟域的数据同步。
3 系统软件设计
3.1 开发包修改及内核配置
系统采用NiosWiki社区发布的nios2-linux-20090929.tar内核开发包作为软件开发基础。SoPC系统构建好后,通过“sopc-create-header-files --single custom_fpga.h”生成自定义硬件对应的C语言头文件,将该文件拷贝到“nios-linux/linux-2.6/arch/nios/include/asm/”路径中。开发包通过custom_fpga.h和nios.h两个文件中的宏定义管理SoPC组件与Linux内核驱动代码对设备的映射,同时通过config.c文件内置了大量设备的驱动支持,由内核配置生成的config.h文件和nios.h以及custom_fpga.h共同控制。图3所示为这三个文件之间的关系。
默认的内核开发包并不能直接使用,需针对本系统进行移植修改,主要内容如下:
(1)custom_fpga.h中滤波电感的串口宏定义和config.c中使用的宏定义不同,将config.c中关于串口0的宏定义UART0_*改为UART_0_*。
(2)/dev/mmcblk* 系列设备的主设备号与注册时不一致,导致挂载操作失败,解决办法是将"nios2-linuxuClinux-dist/vendor/Altera/nios2/device-table.txt"中关于mmcblk*的主设备号修改为179。
图4所示为本系统进行的内核配置。
Keil的调试命令、在线汇编与断点设置等调试方法上一讲中我们学习了如何建立工程、汇编、连接工程,并获得目标代码,但是做到这一步仅仅代表你的源程序没有语法错误,至于源程序中存在着的其它错误,必须通过调试才能发现并解决,事实上,除了极简单的程序以外,绝
高效、低纹波DCS-Control™,实现无缝PWM/节TI 推出了采用DCS-Control 技术的同步降压转换器,它是一款可无缝转换至节能模式的直接控制调节拓扑。这种拓扑融合了电压模式、电流模式以及迟滞控制拓扑的众多优点,并同时实现顺滑转入节能模式。本
印刷行业借势物联网——浅谈条码印刷给长三角(常物联网(英文名:Internet Of Things,简称IOT)是“传感网”在国际上的通称。物联网的概念是在1999年提出的,它是指把射频识别装置、红外感应器、全球定位系统、激光扫