微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 一种音频信号发生器的设计

一种音频信号发生器的设计

时间:11-25 来源:互联网 点击:

  1 引言

  目前,单片机系统以价格低廉、开发环境完备、开发工具齐全、应用资料众多、功能强大且程序易于移植等优点而得到广泛应用。同时,随着信息化进程、计算机科学与技术以及信号处理理论与方法的迅速发展,需要的数据量越来越大,对数据存储也提出了更高要求。MMC/SD卡以其价格、体积、读取速度等特点成为现今大多数便携式嵌入式设备的首选。

  2 系统结构及原理

  基于8051F330的音频信号发生器的系统结构如图1所示,它主要由8051F330单片机、MMC/SD卡存储器、RS232串行通信接口、上位机、液晶显示、键盘以及信号调理电路等部分组成。将写入MMC/SD卡中的音频数据存储在上位机,单片机通过RS232串行通信接口写入MMC/SD卡,以中断方式读取键盘接口命令,并根据命令控制选择相应的音频信号数据,再由信号调理电路输出不同频率和强度的音频信号,系统通过液晶显示模块显示信号频率、信号强度及信号类型。该系统突出的特点是上位机采用Lab Windows/CVI软件,通过RS232串行通信接口与单片机通讯;以文本格式存储在上位机的音频信息则通过RS232串行通信接口下载到MMC/SD卡。

  系统控制核心选用美国Cygnal公司的8051F330单片机,C8051F330微控制器采用独特的CIP-8051架构,对指令运行实行流水作业,大大提高了指令的运行速度;采用多功能存储卡-MMC/SD卡作为存储介质。MMC/SD卡内置控制电路,可应用于手机、数码相机、MP3等多种数字设备,反复记录30万次,具有较高的性价比;液晶显示屏采用OCM12864点阵液晶显示模块,由单片机时序控制,具有8位数据线、6条控制线和电源线。

  3 硬件设计

  3.1 MMC/SD卡接口电路

  MMC/SD卡在音频信号发生器系统中是以数字量形式存储音频信息。MMC/SD卡有两种工作模式,即MMC/SD模式和SPI模式。从实际应用角度出发,SPI模式设计简单,操作方便,但数据传输速率不如MMC/SD模式,本系统采用SPI模式。MMC/SD卡工作在SPI模式下,其各个引脚功能的定义,如表1所示。CS是MMC/SD卡的片选线,在SPI模式下,CS必须保持低电平有效;DI不但传输数据,还发送命令,传输方向是由单片机到MMC/SD卡;同样DO除了发送数据外还传送应答信号,传输方向是由MMC/SD卡到单片机;SCLK是操作MMC/SD卡的时钟线。将C8051F330的相应交叉开关配置为SPI模式,与MMC/SD卡对应的引脚连接。针对SPI总线线路上增加了上拉电阻。原文位置


  3.2 上位机和单片机通信

  上位机采用Lab Windows/CVI软件通过串口向单片机发送音频信息。单片机将接收到的信息数据写入MMC/SD卡。Lab Windows/CVI软件的音频信息是由WinHex软件将原始文件转换成16进制的数字量,该软件可对多种语音信号进行转换。上位机与单片机的通信是通过RS232串口通讯器件完成的。当上位机与音频信号发生器相距较远.不能直接用RS232器件将其连接时,可将RS232转换为CAN,通过CAN总线实现串口设备的网络互联。RS232标准电平采用负逻辑,规定+3 V~+15 V的任意电平为逻辑“0”电平,-3 V~-15 V的任意电平为逻辑“1”电平。而CAN信号则使用差分电压传输,2条信号线称为“CAN_H”和“CAN_L”,静态时均为2.5 V,此时状态表示为逻辑“1”,也可称为“隐性”;CAN_H比CAN_L高时表示逻辑“0”,称为“显性”。显性时,通常为:CAN_H=3.5 V,CAN_L=1.5 V。

  RS232串口的帧格式:1位起始位,8位数据位,1位可编程的第9位(此位为发送和接收的地址/数据位),1位停止位。而CAN的数据帧格式:帧信息+ID+数据(分为标准帧和扩展帧两种格式)。

  3.3 信号调理电路

  存储在MMC/SD卡中的数据是音频信号发生器的源代码。单片机将这些数据从MMC/SD卡中读出,经过单片机内部数模转换,以模拟量的形式从P01输出。该模拟信号经信号调理电路可外接耳机或音响播放十几种音律。信号调理电路如图3所示。由P01输出的信号经LM324放大后,由多个LM324并联实现信号跟随和功率驱动。图中只画出了2个跟随器,实际应用中根据需要可以并联10多个信号跟随器。

  4 软件设计

  4.1 系统初始化

  系统初始化可完成C8051F330的I/O口、晶体振荡器、SPI总线和C8051F330片上串口的初始化设置。用C语言编写的程序代码如下:

  

  4.2 MMC/SD卡初始化

  MMC/SD卡上电后默认为MMC/SD模式,要使MMC/SD卡工作在SPI模式下,在MMC/SD卡初始化时,当片选线(CS)被拉低时发送复位命令CMD0,如收到应答信号01H,表示已将卡置为闲置状态;如收到应答信号不是01H,则表示出错。然后向MMC/SD卡发送命令CMD1,收到正确的应答信号00H之后,才会使MMC/SD卡进入SPI模式。  


  MMC/SD卡协议是一种问答式协议。首先单片机发送CMD。接着由MMC/SD卡发送回应RES。MMC/SD卡的命令长度都是6字节,命令总是以左边的起始位开始,右边的结束位结束。其具体的命令格式如表2所示,MMC/SD卡的应答格式分为4种,分别是R1、R1b、R2和R3应答。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top