0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于SEP4020微处理器的动作控制MP3的设计

jf_pJlTbmA9 来源:网络 作者:网络 2023-11-03 18:05 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

引言

动作识别是一个很热门的话题。苹果公司继推出具有轰动效应的多点触控技术后又筹备申请自己的动作识别专利。动作的识别简单的说就是利用加速度传感器,检测在空间上的速度变化,通过算法,提取动作。动作识别在很多方面都有应用,比如Wii、手机感应游戏、四桨飞行器等,但是目前很少甚至没有将其用在MP3控制上的。当今的电子产品的一大潮流就是用动作控制。试想一下一个没有任何触摸、机械按键的MP3,只要你前后左右的晃动就能进行所有最基本的控制操作,既灵动又时尚,这应当是一种全新的操作体验。本文将探讨如何设计这种通过动作来进行正常控制的MP3。

1硬件平台

1.1SEP4020嵌入式处理器

本文所述驱动程序基于SEP4020嵌入式微处理器。SEP4020是由东南大学国家专用集成电路系统工程技术研究中心设计的一款处理器,采用0.18μm标准CMOS的工艺设计,内嵌ASIXCORE(32位RISC内核,兼容ARM720T,带8kB指令数据Cache和全功能MMU)。SEP4020芯片中集成各种功能,包括:

8/16位SRAM/NORFALSH接口,16位SDRAM接口
硬件NANDFLASH控制器,支持NANDFLASH自启动,支持软件/硬件ECC校验
10M/100M自适应以太网MAC,支持RMII接口
64kByte高速片上SRAM
USBl.1Device,全速12Mb/s
支持I2S音频接口
支持MMC/SD卡
LCD控制器,支持640×480×16位TFT彩屏和STN黑白、灰度屏
RTC,支持日历功能/WatchDog,支持后备电源
10通道TIMER,支持捕获、外部时钟驱动和MATCHOUT
4通道PWM,支持高速GPIO
4通道UART,均支持红外
2通道SSI,支持SPI和Microwire协议
2通道SmartCard接口,兼容IS07816协议
支持最多97个GPIO,14个外部中断
支持链表DMA传输和外部DMA传输
片上DPLL,支持多种功耗模式:IDLE、SLOW、NORMALSLEEP

1.2MC9S08QG8

本文中的动作捕捉判断部分由MC9S08QG8来控制完成。MC9S08QG8是Freescale公司的一款单片机,它的性能如下:

8通道、10位模数转换器
3个通讯接口:SCI、SPI、IIC
4k或8k可重编程FLASH存储器
内置在线仿真器(ICE)

1.3MMA7620

动作控制MP3中动作的感应是由MMA7620完成的。MMA7620是Freescale公司的一款三向加速度传感器,它的性能如下:

3轴加速度感应和输出,可同时测量三个坐标轴(x、y、z)的值并由三个通道输出
4种灵敏度可供选择
有休眠模式

2动作控制MP3的设计

2.1动作捕捉

一个动作从开始到结束一定会有加速度的产生,所以可以通过检测伴随着动作产生的加速度的大小和方向来判断动作。要测量加速度的大小就需要一个加速度传感器,将所得到的加速度以模拟量的形式表示,然后将传感器所得到的模拟量通过一个AD转换模块转换成数字信号以方便后续计算。但是查找资料发现,如果单方面的使用一个AD变换器将从加速度传感器中得到的电压信号转换成为数字信号并要求达到期望的精度将导致成本的大幅度提高,然而现有很多的单片机中已经集成了AD转换模块,并且整个单片机的价格要低于单买单个三通道AD转换芯片。更为可观的是还可以利用单片机本身的处理功能对AD转换所得到的数字信号进行处理,预判动作。而且单片机中集成了很多的通信协议,简单而健壮。综合以上考虑,如果选用单片机代替AD转换模块就可以减轻核心板的负担和整个项目的开发难度。

加速度传感器可以选择使用Freescale公司的MMA7620三轴加速度传感器。单片机可以选择使用Freescale公司的MC9S08QG8单片机,它集成的八通道9bitAD转换模块正好和MMA7620的三通道输出相匹配,体积也很小,适用于便携设备。



PTA3:输出;接三向加速度传感器的Sleep引脚用于使传感器处于休眠状态从而降低功耗和锁定,避免运动时的干扰。
PTTB0:输入;作为串口接收脚用于接收从核心板传来的命令。
PTFBl:输出;作为串口发送脚用于向核心板发送由加速度传感器所测的经过单片机处理后所得到的动作信息。
PTB6、PTB7:输出;接加速度传感器的gselect引脚从而控制加速度传感器的灵敏度。

2.2动作判断

利用Freescale公司的FreeMASTER软件,可以很方便地进行程序在线调试,查看程序所有全局变量,具体软件和使用方法请查询Frees-cfle管方网站。以下得到的数据为使用FreeMASTER欺件,以时间和AD转换值为坐标绘图得到。

每次每个方向采样20个数据,由于第一个数据的可靠性比较大,所以采用每组数据的第一个数据作为比较依据。经过多次测试,当x方向的数值小于80时为右转动作,x的方向的数值大于170时为左转动作,y方向的数值小于70时为向上抬的动作,y方向的数值大于160时为向下压的动作。虽然以上数据能表示动作,但人的动作时间相对单片机处理分析速度差别还是太大。为了解决这个问题,使单片机和动作同步,可以把前两次的动作记录下来,根据前两次的动作对当前动作进行过滤:如果连续几个相同的动作,就判断为一次动作,不相同则切换。动作的切换必然带有前后动作的变化,记忆之前的动作就可以判断出有无动作切换。这样的动作识别方法比较简单且容易实现,如果要实现更为精确的识别,则需要对算法进一步优化。图2为右摇时AD转换器所得到的结果。图3为前后左右摆动数据。

在判别动作后,通过串口通信协议,发送双办约定的动作ID,具体见表l

通过串口协议,核心板也可以对传感器和单片机进行一定的控制,包括传感器灵敏度调节,锁定休眠功能,使得后期的测试开发更加的方便。

2.3MP3控制

Linux操作系统作为平台,其良好的系统可定制、可移植性使得其在嵌入式领域占有重要的地位。Linux有很多好的进程通信机制,如内存共享、管道、多线程、信号等,这里选择信号作为控制通信的桥梁。利用Linux内部完整的串口驱动程序可以很轻松地通过在串口的软中断接收程序中发射信号给指定的程序,也就是播放器程序,然后播放器程序接收并判断信号类型,给相应控制全局变量赋与相应的控制值,使得介入控制变得可能。控制使用的是播放器自带的机制,使得更加地稳定可靠。使用Madplay作为MP3播放软件,其默认的控制是通过终端键盘来实现的。在设计时为了达到用动作产生的信号量来控制播放,同时不去大量修改Madplay的程序源码,可以通过截断播放器与键盘的联系,与串口连接上,这样就可以基本不用修改上层的机制就能够控制整个播放器的动作。

具体系统移植和需要的源代码软件包详见www.armfans.net

2.4MP3播放

MC9S08QG8与SEP4020之间通过串口来进行通信。

基本的串口操作原则是先保存串口原始的参数,然后再设置程序所需要的参数,程序结束后恢复现场。串口一般操作如下:

串口操作需要的头文件

串口软中断设置,填充SIGIO结构体,分配相应中断函数:

在操作系统中加入自动播放脚本,使得系统在开机时完成搜索MP3文件,建立播放列表,启动Madplay播放器等操作。脚本代码如下:

动作发生时MC9S08QG8向SEP4020发送一个动作信号,然后SEP4020中的Linux内核就会发送一个SIGIO(串口信号)给各个用户进程。Madplay生程捕捉该信号,并且读取串口上的消息,用以判断动作的形式。在Madplay程序中需要加入两个模块。第一个模块用于读取串口上的消息,具体实现方法是打开并读取串口设备文件/dev/ttySl来获取消息,然后按照设定会从设备上读到4种串口信号,对应4个ASCII字符“L,R,U,D”分别对应四种不同的动作;第二个模块是响应信号的处理函数,一旦Linux内核接收到SIGIO串口信号,Madplay进程就进入软中断读取/dev/ttySl上的串口消息。甫一判断出动作,Madplay就用kill函数向本进程发送相应的信号来控制播放。

3总结

本文介绍了针对SEP4020处理器等硬件在Linux操作系统下的动作控制MP3的设计流程,为这种控制方式的MP3设计提供了一个范例。以下是一些改进的建议:作为手持式设备,动作控制MP3对于能耗的要求比较高,所以设计时必须考虑多使用一些低功耗的器件替代高功耗的器件。动作控制的MP3在运动中是受限制的,MP3的判断会受到比较大的干扰。所以如果动作采样方法和动作判断算法难以有很大的改进,为方便继续使用应当考虑给MP3加上其他的控制方式,暂时取代动作控制。

审核编辑 黄宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    147

    文章

    18645

    浏览量

    388290
  • MP3
    MP3
    +关注

    关注

    8

    文章

    510

    浏览量

    75866
  • 微处理器
    +关注

    关注

    11

    文章

    2416

    浏览量

    85385
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    应对微处理器电源失稳,有它就够了—CBM809X系列

    稳定状态启动与运行,广泛适配工业控制、便携式设备等对电源敏感的应用领域。作为专注电源监控的专用器件,它以低功耗、高精准度和简化设计为核心优势,成为微处理器系统的“
    的头像 发表于 10-29 13:10 2758次阅读
    应对<b class='flag-5'>微处理器</b>电源失稳,有它就够了—CBM809X系列

    STM32MP2微处理器技术深度解析:面向工业4.0的边缘计算核心

    STMicroelectronics STM32MP2微处理器是第二代MPU,通过64位平台提供高性能。 STMicroelectronics STM32MP2器件专为实现工业环境中的稳健性而定
    的头像 发表于 10-21 11:04 468次阅读
    STM32<b class='flag-5'>MP</b>2<b class='flag-5'>微处理器</b>技术深度解析:面向工业4.0的边缘计算核心

    基于瑞萨RZ/G2L微处理器的Ubuntu系统移植指南

    RZ/G2L微处理器配备Cortex-A55(1.2GHz)CPU、16位DDR3L/DDR4接口、带Arm Mali-G31的3D图形加速引擎以及视频编解码(H.264)。此外,这
    的头像 发表于 10-15 06:53 7901次阅读
    基于瑞萨RZ/G2L<b class='flag-5'>微处理器</b>的Ubuntu系统移植指南

    瑞萨RZ/G2UL微处理器引脚复用分析方法

    RZ/G2UL微处理器配备Cortex-A55(1.0 GHz)CPU、16位DDR3L/DDR4接口以及简单的LCD控制器。此外,这款微处理器还配备有大量接口,如摄像头输入、显示输出
    的头像 发表于 06-19 11:16 1640次阅读
    瑞萨RZ/G2UL<b class='flag-5'>微处理器</b>引脚复用分析方法

    低功耗微处理器复位检测电路D706

    1、概述:      近年来,微处理器在IT业控制领域和智能化产品中得到了广泛的应用。在系统和产品的开发设计过程中。为了提高其抗干扰能力,使用uP监控是首选技术措施之一。监控芯片可为系统提供上电
    的头像 发表于 06-10 14:49 529次阅读
    低功耗<b class='flag-5'>微处理器</b>复位检测电路D706

    芯资讯|广州唯创电子MP3语音芯片IC的音频解码方式解析

    音频解码是语音芯片的核心功能之一,决定了音质表现和应用场景的适配性。广州唯创电子作为国内领先的语音芯片厂商,其MP3语音芯片系列(如WT2003H)以灵活的解码能力和高兼容性著称。本文将从音频格式
    的头像 发表于 05-28 08:48 582次阅读
    芯资讯|广州唯创电子<b class='flag-5'>MP3</b>语音芯片IC的音频解码方式解析

    支持低功耗模式和 PCI Express的通用微处理器RZ/G3S数据手册

    RZ/G3S 微处理器包括 Arm® Cortex®-A55 (1.1 GHz) CPU、16 位 LPDDR4 或 DDR4 接口和低功耗模式。此外,这款微处理器还配备大量接口(如 PCIe
    的头像 发表于 03-13 14:21 823次阅读
    支持低功耗模式和 PCI Express的通用<b class='flag-5'>微处理器</b>RZ/G<b class='flag-5'>3</b>S数据手册

    配备3D图形加速引擎的通用微处理器RZ/G2LC数据手册

    RZ/G2LC 微处理器配备 Cortex®-A55 (1.2 GHz) CPU、16 位 DDR3L/DDR4 接口以及带 Arm Mali-G31的 3D 图形加速引擎。 此外,这款微处理
    的头像 发表于 03-12 17:29 708次阅读
    配备<b class='flag-5'>3</b>D图形加速引擎的通用<b class='flag-5'>微处理器</b>RZ/G2LC数据手册

    配备RISC-V CPU内核和2个千兆以太网接口的通用微处理器RZ/Five数据手册

    RZ/Five 微处理器包括 RISC-V CPU 内核 (AX45MP Single) 1.0 GHz,16 位 DDR3L/DDR4 接口。此外,这款微处理器还配备有大量接口,如
    的头像 发表于 03-11 17:24 743次阅读
    配备RISC-V CPU内核和2个千兆以太网接口的通用<b class='flag-5'>微处理器</b>RZ/Five数据手册

    带片内RAM 3MB RZ/A1L RTOS微处理器数据手册

    RZ/A1L 系列微处理器(MPU)采用了运行频率达 400MHz 的 Arm® Cortex® - A9 内核,并配备 3MB的片上静态随机存取存储(SRAM)。凭借这 3MB 的
    的头像 发表于 03-10 16:14 911次阅读
    带片内RAM <b class='flag-5'>3</b>MB RZ/A1L RTOS<b class='flag-5'>微处理器</b>数据手册

    学习机MP3语音芯片方案:WMV硬解码芯片,N9301-316

    在当今数字化时代,学习机已不再仅仅是静态的物品。随着技术的快速发展和不断探索创新方法,人们将音乐与互动学习相融合,为儿童创造出更加富有创意和学习机产品。其中,九芯电子N9301系列MP3解码芯片
    的头像 发表于 02-07 18:31 816次阅读
    学习机<b class='flag-5'>MP3</b>语音芯片方案:WMV硬解码芯片,N9301-316

    MPU微处理器的工作原理

    在现代电子设备中,微处理器(MPU)扮演着至关重要的角色。从个人电脑到智能手机,再到嵌入式系统,MPU都是实现复杂计算任务的关键。 MPU的基本结构 MPU的核心是中央处理单元(CPU),它由以下
    的头像 发表于 01-07 18:08 2237次阅读

    将基于PC的MP3播放软件移植到ADSP-21262 SHARC处理器

    电子发烧友网站提供《将基于PC的MP3播放软件移植到ADSP-21262 SHARC处理器上.pdf》资料免费下载
    发表于 01-03 14:54 0次下载
    将基于PC的<b class='flag-5'>MP3</b>播放<b class='flag-5'>器</b>软件移植到ADSP-21262 SHARC<b class='flag-5'>处理器</b>上

    内存和微处理器的互联演变

    电子产品自问世以来不断快速迭代。内存和微处理器就是这种趋势的实例。这些产品既保持共存,又处于不断竞争和相互激励的状态,从而不断推陈出新。数十年来,它们的技术发展和成功相辅相成。 在早期的微处理器
    的头像 发表于 12-24 13:45 966次阅读

    英特尔8080微处理器诞生50周年

    作为技术史上最重要的产品之一,8080被认为是第一款真正的通用微处理器
    的头像 发表于 12-23 14:00 1659次阅读