挑战杯 创新.docx

上传人:b****1 文档编号:14630008 上传时间:2023-06-25 格式:DOCX 页数:20 大小:640.66KB
下载 相关 举报
挑战杯 创新.docx_第1页
第1页 / 共20页
挑战杯 创新.docx_第2页
第2页 / 共20页
挑战杯 创新.docx_第3页
第3页 / 共20页
挑战杯 创新.docx_第4页
第4页 / 共20页
挑战杯 创新.docx_第5页
第5页 / 共20页
挑战杯 创新.docx_第6页
第6页 / 共20页
挑战杯 创新.docx_第7页
第7页 / 共20页
挑战杯 创新.docx_第8页
第8页 / 共20页
挑战杯 创新.docx_第9页
第9页 / 共20页
挑战杯 创新.docx_第10页
第10页 / 共20页
挑战杯 创新.docx_第11页
第11页 / 共20页
挑战杯 创新.docx_第12页
第12页 / 共20页
挑战杯 创新.docx_第13页
第13页 / 共20页
挑战杯 创新.docx_第14页
第14页 / 共20页
挑战杯 创新.docx_第15页
第15页 / 共20页
挑战杯 创新.docx_第16页
第16页 / 共20页
挑战杯 创新.docx_第17页
第17页 / 共20页
挑战杯 创新.docx_第18页
第18页 / 共20页
挑战杯 创新.docx_第19页
第19页 / 共20页
挑战杯 创新.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

挑战杯 创新.docx

《挑战杯 创新.docx》由会员分享,可在线阅读,更多相关《挑战杯 创新.docx(20页珍藏版)》请在冰点文库上搜索。

挑战杯 创新.docx

挑战杯创新

光电池驱动MP3

摘要:

我很幸运考上了大学并且选择了自己喜欢的专业,于是我就很努力学习自己的专业知识!

在大一的时候,我就开始对物理中的光电池产生了浓厚的兴趣,大二时候学了模拟电路中PN结的特殊的结构和神奇的功能,最重要的是在大三学习了单片机以及编程原理等等课程。

于是我就有了自己的想法,在前人的基础上,本着改善资源、能源与环境的问题,我特地改善了MP3的供能(光电池)问题。

这个技术也可以应用于MP4\MP5以及笔记本电脑等等电子产品。

我相信光电池与各种电子产品结合将会是将来市场的潮流!

关键词和亮点:

光能光电池电能声音

光能内能

 

正文:

随着社会的进步和生活质量的提高,电子产品在生活中的需求量越来越大,节能与环保成为时代的主题。

因而下面介绍的这款光电池驱动MP3音乐播放器,就是为很好的解决这一时代问题而设计的,该技术也可适用于高端电子产品,比如笔记本电脑等等。

他不仅给生活带来了方便,同时也解决了节能环保的目的!

在此,我声明,该产品是在结合前人创作的基础上再加上我的创新的电子产品!

下面来介绍该光电池驱动MP3音乐播放器的系统结构:

KeyOLED

SDMUCVS1003

CLP(2148)

USB光电池

图1、光电池MP3播放器的系统结构

整个系统包括主控MCU(LPC2148)、解码器、DAC(VS1003)、SD卡、按键、OLED和光电池等几部分,结构框图如图1所示。

PC通过USB接口实现对SD卡的管理和对MP3歌曲、文档等数据信息的存储。

系统启动后,由MCU控制将存储于Flash中歌曲的码流信息送入到VS1003芯片中,通过VS1003芯片解码以及其内含的高质量的立体声DAC和耳机驱动电路,实现MP3歌曲的播放功能。

在按键的控制下,通过OLED中菜单选项的选择,实现对歌曲播放模式以及歌曲选择等功能;在播放的同时,OLED上显示的信息除滚动的歌曲名称信息外,还包括系统供电电池的电量及歌曲播放模式等。

硬件设计:

1、光电池:

光电效应

光电效应是指因光照而引起物体电学特性改变现象。

电特性变化是指光照射时物体发射电子、或导电率发生变化、或产生光电动势等[1]。

光电效应大致可归纳为两大类:

(1)外光电效应:

物质受到光照后向外发射电子的现象。

这种效应多发生于金属和金属氧化物。

(2)内光电效应:

当光照在物体上,使物体的电导率发生变化,或产生光生电动势的现象。

这种效应多发生于半导体内。

内光电效应又可以分为光电导效应和光生伏特

效应。

光电导效应是指在光线作用下,电子吸收光子能量从键合状态过度到自由状态,而引起材料电导率的变化。

光生伏特效应是指在光作用下能使物体产生一定方向电动势的现象。

图2、PN结因光照产生电动势

1.2光电传感器

利用物质的光生伏特效应把光信号转换成电信号的器件称为光电传感器件。

基于该效应的器件有光电池和光敏二极管、三极管。

2光伏电池的原理

光电池是在光线照射下,直接将光量转变为电动势的光学元件,它的工作原理是光生伏特效应,简称光伏效应。

在有光线作用时PN结就相当于一个电压源[2]。

2.1光生伏特效应

光照使不均匀半导体或均匀半导体中光电子和空穴在空间分开而产生电位差的现象称为光生伏特效应,是把光能变为电能的一种效应。

当光照射在PN结时,如果光子能量大于半导体带隙能量(Eo>Eg),可激发出电子——空穴对,在PN结内电场作用下空穴移向P区,电子移向N区,从而形成从N型区到P型区的电流。

使P区和N区之间产生电压,这个电压就是光生伏特效应产生的光生电动势(图2所示)。

当PN结两端通过负载构成闭合回路时,就会有电流沿着由经外电路的方向流动。

基于这种效应的器件有光电池。

图3、光电池结构

光生伏特效应的两点小结:

①PN结产生光生伏特的条件是:

Hv≥Eg;

②光生伏特的大小与照射光的强度成正比。

Hv——光子的能量;

Eg——材料的带隙能量。

2.2物理原理

2.2.1电池材料

(1)N型半导体,多子是电子,少子是空穴。

当利用磷原子掺杂时,因为硅里面有很多自由电子,得到N型硅。

与纯硅相比,N型掺杂硅是一种性能好得多的导体。

(2)P型半导体,多子是空穴,少子是电

子。

当利用硼原子掺杂时,因为硅里面有很

多自由空穴,这样得到P型硅。

P型硅导电性

能比纯硅好。

当P型和N型半导体结合在一起时,在两种半导体的交界面区域里会形成一个特殊的薄层,界面的P型一侧带负电,N型一侧带正电。

这是由于P型半导体多空穴,N型半导体多自由电子,出现了浓度差。

N区的电子会扩散到P区,P区的空穴会扩散到N区,一旦扩散就形成了一个由N指向P的“内电场”,从而阻止扩散进行。

达到平衡后,就形成了这样一个特殊的薄层形成电势差,这就是PN结。

2.2.2光电池光伏效应

当有光照射时,光线足以透过N型半导体入射到PN结。

对于能量大于材料禁带能量的光子,每个携带足够能量的光子通常会正好释放一个电子,从而产生一个自由的空穴。

如果这发生在离电场足够近的位置,或者自由电子和自由空穴正好在它的影响范围之内,则电场会将电子送到N侧,将空穴送到P侧。

这会导致电中性进一步被破坏,如果我们提供一个外部电流通路,则电子会经过该通路,流向它们的原始侧(P侧),在那里与电场发送的空穴合并,并在流动的过程中做功。

2.3光伏电池的发电原理

光电池实质是一个大面积PN结,结构如图3所示,上电极为栅状受光电极,栅状光电传感器——光电池电极下涂有抗反射膜,用以增加透光,减小反射,下电极是一层衬底铝。

当光线照射太阳电池表面时,一部分光子被硅材料吸收;光子的能量传递给了硅原子,使电子发生了跃迁,成为自由电子在P-N结两侧集聚形成了电位差,当外部接通电路时,在该电压的作用下,将会有电流流过外部电路产生一定的输出功率。

这个过程的的实质是:

光子能量转换成电能的过程。

图3所示。

R(MP3音乐播放器)

图4、光电池发电原理

3光伏电池材料

从能量转换的角度来看,光伏效应是能量大于Eg的光子将其一部分能量转变为电能[3]。

因此太阳能电池材料的选取,带隙能量Eg是一个关键参数。

Eg降低时,可利用更多的光子,有利于对太阳光的吸收;Eg增大时,可吸收的太阳光通量减少。

如果Eg过低,那么在增大电流的同时,也会损失一定的电压。

功率是电压和电流的乘积。

材料最优带隙能量必须能平衡这两种效应,综合考虑这两方面的影响,材料最佳Eg值约为1.1-1.7eV。

3.1c-Si(单晶硅)

单晶硅的Eg=1.1eV,单晶硅电池以其转换效率高(24.7%),提炼工艺成熟,并具有很好的稳定性和可靠性,户外连续操作几十年性能也不会退化;单晶硅生产成本居高不下,可见光区的吸收系数低,制约单晶硅在普通领域的推广应用[4]。

2主控芯片

LPC2148是支持实时仿真和嵌入式跟踪的16/32位ARM7TDMI-S微控制器,内嵌512KB高速Flash存储器,因其功能强大,便于系统以后的升级。

本系统中暂时只用到USB、SPI、SSP接口功能和ADC功能,其他功能的使用待扩展而定。

3解码模块

VS1003解码芯片内部集成有VS_DSP处理器、立体声音频DAC和立体声耳机放大驱动器等。

由于解码与控制芯片分离,所以音质好,控制也比较简单。

LPC2148通过其SPI接口对VS1003进行控制,

图5、给出了LPC2148与VS1003的硬件连接图。

图5、LPC2148与VS1003的硬件连接图

 

4显示模块

VGS12864E是128×64行点阵的OLED单色、字符、图形显示模块。

模块内置64×64的显示数据RAM,其中的每位数据对应于OLED屏上一个点的亮、暗状态;其指令系统与液晶显示驱动控制器HD61202兼容。

本系统通过模拟时序的方式用8位I/O口与OLED模块8位数据总线D0~D7相连,再通过3位I/O口与液晶的指令控制或数据操作位RS、读写控制位R/W和使能控制位E相连的方式来控制OLED模块。

图6、SD卡接口电路

5存储模块

采用SD卡作为存储介质的优点是容量大、体积小且防振。

歌曲全部存储在SD卡中,SD卡工作于SPI模式。

通过将LPC2148的SSP设置成SPI功能与SD卡相连接。

同时,芯片的其他两个I/O口分别设置成卡完全插入到卡座中检测引脚和卡是否写保护的检测引脚。

图4为SD卡的接口电路,其中VSS1、VSS2与GND相连接地;DAT1、DAT2接10kΩ下拉电阻;10和12引脚接一个大约100Ω的电阻后与LPC2148的I/O相连,并通过10kΩ电阻上拉;同时,3和8引脚也通过电阻上拉。

软件设计

本系统的软件设计包括三部分:

显示程序、SD卡读写程序和MP3播放程序。

图7为软件总体设计流程。

图7、软件总体设计流程

1显示程序

系统使用的是不含字符和图形驱动的OLED点阵显示屏,所以系统服务程序包括了图形及中、英文字符的显示驱动控制。

图7是显示模块的软件流程。

显示程序入口参数是字符编码,根据编码判断字符的类型,根据不同类型的字符(符号、ASCII码、汉字)设置不同的查表基地址。

然后将字符编码值作为查表偏移地址获得该字符的显示点阵数据存入显示缓冲区,最后调用执行程序完成字符显示刷新。

显示程序还提供了所有ASCII字符和简体中文的查表接口。

2SD卡读写程序

LPC2148内部带有一个完全兼容USB2.0规范的USB设备控制器。

配置芯片内部的相关寄存器,使其仅仅使能芯片内部的逻辑端点0和2,分别支持USB协议中的控制传输和批量传输。

然后初始化USB口相关驱动参数后尝试与PC建立通信联系。

3MP3播放程序

VS1003主要通过串行命令接口(SCI)和串行数据接口(SDI)来接收LPC2148的控制命令和MP3的数据。

通过xCS、xDCS引脚的置高、置低来确认是哪一个接口处于传送状态。

对于VS1003芯片的功能控制,如初始化、软复位、暂停、音量控制、播放时间的读取等,均是通过SCI写入到特定寄存器实现的。

两条SCI指令之间要通过DREQ引脚信号判断上次处理是否完成。

MP3文件的数据流通过SDI传送。

SDI可以工作在两种方式:

nativemode和compatibilitymode,通过寄存器中SMNEWMODE位进行选择。

本系统采用nativemode,compatibilitymode只是为了与以前的芯片兼容。

图7是数据流处理过程。

首先将通过SDI传送过来的MP3数据送解码器解码,然后根据SCIBASS寄存器内容将解码后的数据送入低音、高音增强器,之后送入声音控制单元,再送入音频FIFO。

音频FIFO中的数据在通过采样速率转换成同一速率,再送入DAC。

如果音频FIFO有足够的空间,VS1003会发出一个高电平DREQ数据请求信号,以表示可以接收至少32B的

数据。

如果输入解码器的数据无效或传送的速度不够,VS1003芯片会自动做静音处理。

图8数据流处理流程图可直接升级成AAC播放器

附录(程序清单):

1、读U盘程序:

unsignedcharCH375_Read_Sector(unsignedlongaddr,unsignedchar*pBuf)

{

unsignedchari=0,j=0,k=0;

unsignedcharstatus,len;

unsignedintcounter=0;

for(k=0;k<4;k++)

{

counter=0;

CH375_Write_Cmd(CMD_DISK_READ);//磁盘读取命令

CH375_Write_Dat(addr);

CH375_Write_Dat(addr>>8);

CH375_Write_Dat(addr>>16);

CH375_Write_Dat(addr>>24);//送入32位扇区地址

CH375_Write_Dat

(1);//送入扇区数

for(i=0;i<8;i++)//CH375的数据缓冲区为64字节,所以读取一个扇区要读8次

{

status=CH375_Wait_Int();//等待CH375中断信号,读取状态码

if(status==USB_INT_DISK_READ)//如果状态码是USB_INT_DISK_READ,就开始读取数据,否则发生错误

{

CH375_Write_Cmd(CMD_RD_USB_DATA);//送入读数据的命令

delay(4);

len=CH375_Read_Dat();//先读到的是数据的长度

do//把随后CH375送过来的数据放入pBuf中

{

pBuf[counter++]=CH375_Read_Dat();

}while(--len);

Write_Cmd(CMD_DISK_RD_GO);//送入继续读数据的命令,将下面64个字节放入缓冲区,等待单片机来读

}

else

{

return1;//发生错误,返回状态码

}

}

status=CH375_Wait_Int();//读取8次以后,最后一次送入继续读数据的命令,等待产生中断信号,并读取状态

if(status==USB_INT_SUCCESS)//如果状态码为USB_INT_SUCCESS,说明读取扇区成功,返回0

{

return0;

}

else

if(status==USB_INT_DISK_ERR)

{

delay(1000);

CH375_Write_Cmd(CMD_DISK_R_SENSE);/*获取USB存储器的容量*/

status=CH375_Wait_Int();/*等待中断并获取状态*/

if(status!

=USB_INT_SUCCESS)/*出现错误*/

return1;

}

}

}

2、VS1003驱动程序:

voidSPI_WriteByte(unsignedcharx)

{

dat=x;//将x的值赋给可位寻址的变量dat,以便取出各个位

SPI_SI=dat7;//取出第7个位,写到数据线上

SPI_SCL=0;

SPI_SCL=1;//时钟线产生上升沿,数据被写入

SPI_SI=dat6;

SPI_SCL=0;

SPI_SCL=1;

SPI_SI=dat5;

SPI_SCL=0;

SPI_SCL=1;

SPI_SI=dat4;

SPI_SCL=0;

SPI_SCL=1;

SPI_SI=dat3;

SPI_SCL=0;

SPI_SCL=1;

SPI_SI=dat2;

SPI_SCL=0;

SPI_SCL=1;

SPI_SI=dat1;

SPI_SCL=0;

SPI_SCL=1;

SPI_SI=dat0;

SPI_SCL=0;

SPI_SCL=1;

}

从VS1003中读出一字节

unsignedcharSPI_ReadByte()

{

SPI_SO=1;

SPI_SCL=1;

SPI_SCL=0;

dat7=SPI_SO;

SPI_SCL=1;

SPI_SCL=0;

dat6=SPI_SO;

SPI_SCL=1;

SPI_SCL=0;

dat5=SPI_SO;

SPI_SCL=1;

SPI_SCL=0;

dat4=SPI_SO;

SPI_SCL=1;

SPI_SCL=0;

dat3=SPI_SO;

SPI_SCL=1;

SPI_SCL=0;

dat2=SPI_SO;

SPI_SCL=1;

SPI_SCL=0;

dat1=SPI_SO;

SPI_SCL=1;

SPI_SCL=0;

dat0=SPI_SO;

return(dat);

}

向VS1003的功能寄存器中写入数据

voidVS_Write_Reg(unsignedcharaddr,unsignedcharhdat,unsignedcharldat)

{

VS_DREQ=1;//51单片机IO作输入时先置为1

while(!

VS_DREQ);//VS1003的DREQ为高电平时才接收数据

VS_XCS=0;//打开片选,SCI有效,这样才能对功能寄存器进行读写

SPI_WriteByte(0x02);//写入操作码0x0200000010(功能寄存器写操作)

SPI_WriteByte(addr);//写入寄存器地址

SPI_WriteByte(hdat);//写入高字节

SPI_WriteByte(ldat);//写入低字节

VS_XCS=1;//关闭片选,SCI无效

}

从VS1003的功能寄存器中读取数据

unsignedintVS_Read_Reg(unsignedcharaddr)

{

unsignedinttemp=0;

VS_DREQ=1;

while(!

VS_DREQ);//VS1003的DREQ为高电平时才接收数据

VS_XCS=0;//打开片选,SCI有效

SPI_WriteByte(0x03);//读出操作码0x0300000011(功能寄存器读操作)

SPI_WriteByte(addr);//写入寄存器地址

temp=SPI_ReadByte();//读高字节

temp<<=8;

temp|=SPI_ReadByte();//读取低字节,与高字节拼成一个字

VS_XCS=1;//关闭片选,SCI无效

returntemp;//返回读到的值

}

3、液晶驱动程序:

#defineU8unsignedchar

#defineU16unsignedint

#defineCMD0

#defineDATA1

sbitLCD_CS=P2^5;

sbitLCD_SID=P2^6;

sbitLCD_SCLK=P2^7;

voidLCD_Send_Byte(U8dat)//SPI操作

{

U8i;

for(i=0;i<8;i++)

{

dat<<=1;

LCD_SID=CY;

LCD_SCLK=0;

LCD_SCLK=1;

}

}

voidLCD_Send_CD(bitCD,U8dat)//向液晶发送命令或数据,CD为0时为命令,为1时为数据

{

LCD_CS=1;

LCD_Send_Byte(CD==0?

0xf8:

0xfa);

LCD_Send_Byte(dat&0xf0);

LCD_Send_Byte(dat<<4);

LCD_CS=0;

}

voidLCD_Init()//液晶初始化,上电时执行一次

{

LCD_Send_CD(CMD,0x30);

LCD_Send_CD(CMD,0x02);

LCD_Send_CD(CMD,0x06);

LCD_Send_CD(CMD,0x0c);

}

voidLCD_String(U8add,U8*pt)//向指定位置写入字符串,add为地址,*pt为字符串的起始地址

{

LCD_Send_CD(CMD,add);

while(*pt!

='\0')

LCD_Send_CD(DATA,*pt++);

}

参考文献

[1]黄元庆,万瑾,颜黄苹.现代传感技术[M].机械工业出版社.

[2]陈中儒.光电传感器——光电池[J].科技资讯.2008(06):

6-7.

[3]李海雁,杨锡震.太阳能电池[J].大学物理.2003(9):

36-40.

[5]钟文建.多晶硅太阳能电池的生产工艺技术探讨及应用前景分析[J].陶瓷科学与艺术.2005(5):

36-40.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2