引言
纵观目前我国国内车载音响产品,大部分仍为卡式机或CD机,需要对高档汽车音响的设计与研发加大力度。本文设计了一种带Radio、IRDA 、MP3、DVD等功能的车载音响,具有很高的市场价值。
系统硬件架构
系统的硬件电路部分主要由按键、红外遥控、MOTOR控制、收音机、MP3、DVD以及LCD显示模块等构成,模块部分都由MCU通过相应的通讯协议进行控制。鉴于MCU在处理速度、外设功能以及价格等方面的考虑,32位ARM处理器在片内资源、性价比方面都明显优于8位MCU。这里选用ARM7TDMI处理器S3C44B0作为主控芯片。该芯片与外设的连接如图1所示。
图1 MCU与各种外设连接图
这里,按键模块利用44B0芯片内部的AD转换模拟,用AD模拟按键数量理论上可达210个,完全可以达到本系统的设计要求。红外遥控模块采用收发一体的红外遥控头,接收基于NEC编码的红外码。红外接收芯片的输出脚与44B0的一个中断引脚相连,并在32位数据的红外接收码每次接收中断发生时,通过比较计时器计时间隔,判定是1还是0,从而得到发送的用户编码,控制相应的系统功能。马达控
制模块用两颗H桥芯片CMD6208控制两颗直流马达,分别用于实现托盘的水平进出仓和垂直翻转动作。CMD6208芯片具有四种输出模式,可实现马达的正转、反转、刹车、闲置操作。DVD光驱采用DVC3500系列超薄吸入式光驱,有效地缓解了高档车载音响体积与功能之间的矛盾。利用44B0的一个GPIO引脚,通过向DVD发送模拟NEC协议的红外码,达到控制DVD功能的目的。
收音机模块设计
汽车内部恶劣环境产生各种电磁辐射与脉冲干扰,加上外界电磁波对汽车收音机作用,普通的收音电路难以可靠地避开干扰信号,这就要求车载收音电路必须进行一定的防电磁干扰,比如加金属外壳进行电磁屏蔽以及在电源等处加滤波电路等。本设计采用了成都旭光的TAF-3LMF收音头,它采用全金属外壳,有效地防止了电磁干扰。该模块内部主要为一颗基于TDA7540B芯片和一颗IIC接口的EEPROM 24C02芯片。TDA7540是AM/FM调频电路芯片,其内部集混频器、中频放大器、用于AM/FM的解调器、立体声解码器等于一体,并采用BICMOS技术,允许执行多个调谐功能,使得其外部只需用少量元件即可。EEPROM则用来存储TDA7540芯片各寄存器的值以及用户设定的各个参数值。此模块能接收频率范围为FM 87.5MHz~108MHz、MW 522kHz ~1620kHz的信号,其引脚及与44B0的连接如图2。
图2 收音机电路
其中SDA、SCL接44B0的IIC引脚,ADJCH、AM、SSTOP则与44B0的三个GPIO端口连接。44B0通过内部IIC接口与其进行数据传输,完成数据的读出与写入。
搜台前,必须先对TDA7540寄存器进行初始化,FM搜索电台的初始化为:TunerReg[14] = 0x25;TunerReg[5] = 0x1B;TunerReg[6] = 0xAF;TunerReg[18] = 0xB4;TunerReg[19] = 0xCF;TunerReg[30] &=0x7F;TunerReg[31] &= 0x7F;搜台流程如图3所示。
图3 搜台流程图[page]
MP3设计
MP3部分包括主控MCU AT89C51SND1和音频DAC CS4330。该部分设计采用了AT89C51SND1芯片,其内带MP3硬解码。44B0与AT89C51SND1通过UART通讯控制MP3的播放、暂停等操作,两者之间的串口可直接相连。AT89C51SND1的SCLK、DSEL、DCLK、DOUT脚则分别与CS4330相应的引脚相连,进行输出控制。与SD卡的连接利用芯片内部自带的SPI接口,将SD卡设置成为SPI传输模式,进行MP3文件的读取与写入。USB接口则主要用来下载固件或调试程序用。
AT89C51SND1内部带ISP下载功能,在下载固件时,打开ATMEL公司的FLIP软件,在“Device”菜单下选择AT89C51SND1器件,在“Settings”菜单下的“communication”选择使用USB方式或RS232方式进行固件下载。
结语
本系统基本功能已实现,在样机测试阶段,通过对硬件、软件进行测试,表明此方案有着很好的可行性。
参考文献:
1.SAMSUNG.S3C44B0 DATASHEET.
2.ATMEL .AT89C51SND1 DATASHEET.
3.ST .TDA7540B DATASHEET.TAF-3LMF模块说明 成都旭光公司
4.ST . Driving An Analog Keyboard with the ST7 ADC
5.赵云,郭莉莉.S3C44B0X的最小嵌入式系统构架.电脑编程技巧与维护.2007.1
关键字:车载音响 ARM 多媒体
引用地址:
基于ARM的车载音响设计与研究
推荐阅读最新更新时间:2024-03-16 12:38
ARM:性能和功耗权其二者取其重
最新的消息显示,ARM移动战略主管James Bruce近日在接受记者采访时表示,ARM对于自己的产品的发布有一个清晰的目标和规划,ARM每一代产品的性能都要比上一代提高1倍左右,ARM明年将推出的A15芯片相比目前的A9芯片在速度上就要快1倍。 不过由于增加了核心的数量以及运行频率是否会让智能手机产品的续航能力变得很差呢?JamesBruce认为实际上厂商都会在这方面相当的关注,用户方面也很纠结于这个问题,尽管性能的提升和电池续航问题是一个矛盾体,但是实际上随着技术的不断进步这并不是一个大的问题,用户在享受更高性能的同时必然会牺牲一部分的续航能力,而在技术成熟之后电池的续航能力又可以提升,这是一个周期性的关系,性能和续航是
[嵌入式]
多媒体编解码芯片的选择策略
本文对音视频产品的芯片选择作了分析,从芯片的指令集,主频,cache,DMA等方面进行衡量,给大家在选择软解码芯片时提供一些帮助。 现在有许多电子产品需要有多媒体编解码芯片的支持,例如:机顶盒,高端手机,PMP。在设计这些产品时,选择好一款DSP芯片,成为了产品成败的一个关键。如何选择芯片?这是一个非常复杂的问题,涉及到方方面面。我把我对这个问题认识在此总结一下。 先从了解芯片的处理能力说起。假如我们要让我们的产品做到MPEG-4 D1实时解码,不考虑价格,功耗,接口等其他因素,只谈处理能力。我们以Philips 的Trimedia 1300和ADI的Blackfin533为例。人们谈起芯片的处理能力时,总是首先想
[嵌入式]
ARM-Linux s3c2440 之UART分析(五)
从上面四篇介绍文章中,已经清楚了串口设备与串口驱动实现的各层次关系流程。是一种从上而下的关系,从第二篇的层次流程图中可以看出。之前说过串口设备是一种platform device,下面看看串口作为platform device的实现细节。 串口的硬件平台实现smdk2440_map_io()初始化入口: static void __init smdk2440_map_io(void) { s3c24xx_init_io(smdk2440_iodesc,ARRAY_SIZE(smdk2440_iodesc)); s3c24xx_init_clocks(12000000); s3c24xx_
[单片机]
ARM微处理器的指令集概述(二)——ARM应用系统开发详解笔记
一 跳转指令 跳转指令用于实现程序流程的跳转,在 ARM 程序中有两种方法可以实现程序流程的跳转: — 使用专门的跳转指令。 — 直接向程序计数器 PC 写入跳转地址值。 ARM 指令集中的跳转指令可以完成从当前指令向前或向后的 32MB 的地址空间的跳转,包括以下 4 条指令: — B 跳转指令 — BL 带返回的跳转指令 — BLX 带返回和状态切换的跳转指令 — BX 带状态切换的跳转指令 B B{条件} 目标地址 B指令是最简单的跳转指令。注意存储在跳转指令中的实际值是 相对当前PC值的一个偏移量,而
[单片机]
基于DSP的安全无线多媒体数字终端的设计
1 系统概述 本设计利用DSP开发板的强大运算能力,实现了多种需要进行大量运算的信息安全算法。实现了开机用户认证、 语音保密通信 、文字信息加密传输、 信息隐藏 传输 、 跳频通信 、信息安全存储备份、定时锁机和终端销毁,七项安全功能。整个设计基于 ICETEK-VC5509-A 开发板,系统的硬件部分还外加了无线射频模块nRF24L01 、8×8键盘和128×64蓝屏液晶。芯片ZLG7289B 用于键盘扫描管理,液晶的驱动采用MEGA16 单片机,整个系统不但实现了高质量的保密语音通信,还具有良好的人机交互功能。 系统利用上电到输入密码时间的不确定性,随机生成用户私钥,通过Diffie-Hellman 密钥
[嵌入式]
ARM地址空间
摘编: 在嵌入式系统中,内核映像与根文件系统映像存储在 ROM 或 Flash 等固态存储设备中,并且可以直接运行。但这样做是运行速度太慢,所以要把他们加载到ram中.实现主要有以下过程以嵌入式linux为例) ******************************************* 1.检测内存映射. 内存映射就是指在整个 4GB(CPU) 物理地址空间中有哪些地址范围被分配用来寻址系统的 RAM 单元。比如,在 Samsung S3C44B0X CPU 中,从 0x0c00,0000 到0x1000,0000 之间的 64M 地址空间被用作系统的 RAM 地址空间。虽然 CPU 通常预留出一大段足够的地址空
[单片机]
交叉编译ARM版 Qt (qt-everywhere-opensource-src-4.8.4)
因实际项目需求,需将Qt编译成LINUX-ARM版,以下为整个操作过程,使用Qt编写的程序已在实际开发板上运行,在此贴出,但愿能为需要的朋友提供上帮助。 准备工作: Linux内核版本: Linux 2.6.35-22-generic #33-Ubuntu 交叉编译工具: arm-none-linux-gnueabi 4.4.1 Qt安装包: qt-everywhere-opensource-src-4.7.3.tar.gz 安装 一.安装交叉编译工具 1.本机使用的交叉编译工具是:arm-none-linux-gnueabi 2.添加交叉编译工具的路径至相应环境变量中: export
[单片机]
ARM年度技术论坛11/30新竹烟波饭店热闹登场!
报名人数创下历年新高 ???????????????? 丰富课程内容及崭新技术展示,保证让您满载而归 “ ARM? Connected? Community? Technical Symposium - 2006 ARM 年度技术论 坛”即将于 11 月 30 日假新竹烟波饭店,正式揭开序幕!今年 ARM 以“ Solution through????? Partnership ”为主轴,强调合作伙伴社群对嵌入式系统设计的重要 性,同时针对嵌入式设计的各个环节提供 19 堂专题讲座。在坚强的讲师阵容与丰富 的专题讲座号召下,短短两周内即吸引超过 700 多人报名,突破历年研讨会的报名 人数
[焦点新闻]