您的位置 首页 资料

根据AT90S2313-4PC的MP3无线遥控主动点播机 (上)

我们已经从唱片及八轨录音时代跨入了CD和MP3时代。把音乐转换成MP3已经变得很流行, 时下如何储存MP3文件是一个有趣的话题。本设计将教你MP3的存储方法,使你能在室内较宽范围内欣赏到MP3音乐。

咱们现已从唱片及八轨录音年代跨入了CD和MP3年代。把音乐转换成MP3现已变得很盛行, 时下怎么贮存MP3文件是一个风趣的论题。本规划将教你MP3的存储办法,使你能在室内较宽规模内赏识到MP3音乐。

  小型MP3播映机正在和CD、磁带随身听抢夺移动运用方面的霸主位置。随著核算机用户对网络拜访的不断推进和上网人数的增多,要是我的核算机能成为MP3 无线遥控主动点播机的服务器那该多好啊。

下面让我渐渐给你介绍我的完结计划吧。该计划能够让你在家中任何有FM|0″>FM收音机(例如一个WALKMAN随身听)的当地赏识MP3音乐。具体便是通过在核算机的音频输出口接上一个小功率FM发射机来完结,别的用一个移动单元用来显现服务器上MP3文件夹的内容,以便你能够自始至终阅读你保藏的音乐。

  为运用方便起见,你能够向上翻滚阅读最多4个包括不同歌曲列表的文件夹。选曲、开端、中止和跳曲用一般的红外线遥控器操控。红外遥控指令通过433MHz无线衔接送到作为MP3服务器的核算机。

  服务器端我规划了两个模块, 433MHz接纳机和FM发射机。接纳机接纳遥控器发过来的指令通过串行端口输入到核算机,後台运转的专用运用程序接纳指令把它们分送到 Windows Media Player, Windows Media Player收到指令後播映点播的曲目,第二个模块FM发射机从核算机声卡输出取得音频信号把它发射出去。

  为了降低成本简化规划,433MHz无线衔接仅以单工办法作业。也便是说,在你选定一个功用後相应指令通过无线衔接发送到MP3核算机服务器上,假如发射机没有把它发送到服务器,你将什么也听不到可再次发指令。为了防止假指令中止操作,规划中运用了专用的编解码芯片,该芯片完结一切必需的功用,确保只要合法的数据包才干传输到MP3服务器。

  为了使遥控单元能显现服务器上的MP3文件夹的内容,运用前有必要先把文件夹的内容下载到遥控单元。这能够通过MP3服务器上的串行端口用相同的运用软件把无线输入的指令送到Windows Media Player完结。遥控单元内的固件可操控多达4个不同的音乐文件夹。

  为了防止频频地更新遥控单元的闪存,主张选定4个安稳的文件夹来进行遥控播映,其它文件夹用来寄存新下载的音乐或许常常改变的保藏。遥控单元有32K×8 闪存,每个文件夹能够保存200个歌名(一共800个歌名)。由于闪存是非易失性存储器,所以即便遥控单元电源关掉,歌名数据也会保存下来,关于用电池供电的遥控单元来说这点很重要。

  遥控单元

  体系的中心是遥控单元,如图1所示。遥控单元主要由Atmel AT90S2313-4PC组成,Atmel AT90S2313-4PC供给15条I/O(运用了其间12条)内置一个硬件UART。由于该单元耗电很小,所以我用4节AA电池通过 LM2936CZ5低压差整流器为其供电。

  图1 MP3遥控器单元

  很明显,假如不能显现整个歌名和演唱者的姓名,歌名显现就没有什么用处了。由于或许会有许多歌曲让你阅读,因而定一起显现4个歌名,选用4×40 LCD面板作为显现屏。与大多数常见LCD比较,该LCD的操控办法不大相同,用2片HD44780 LSI操控器进行操控,其间一片操控LCD上面两行字符,另一片操控下面两行。

  LCD通过B端口的7根以一般4位数据接口办法与微操控器衔接。操控由一根RS和两根ENABLE组成,其间两根ENABLE?每个LSI操控器一根。由于LCD只接纳指令不需求读出状况,所以R/*W接低电平。

  在用户接口方面,我没有采纳在面板上安顿按键和开关来操控的办法,而是用一个红外解码模块和一个通用的红外遥控器替代。红外遥控器选用一般并且简略买到的RCA CRCU410类型,它的遥控编码跟Quasar牌电视机(编码054)相同。我之所以挑选这个编码是由于它简略,用软件解码比较简略。各个键和相应功用如表1所示。

  表1、遥控器各个键和相应功用

  歌名列表的非易失性存储运用接连的闪存EEPROM。我选用Mcrochip的24LC256I/P8EA,由于它比较常见简略买到。该芯片I2C器材,因而与微操控器AT90S2313衔接仅需双接口。不过AT90S2313没有内置I2C端口的硬件电路,因而有必要用软件完结I2C功用。但是走运的是,Atmel公司供给了一个AT90S2313作为主控芯片时的I2C读/写时序运用笔记。

有必要留意的当地是,I2C标准中SDA和SCL均需求用2.2KΩ上拉电阻。依据A0~A2设定的不同,24LC256I能够被设定成8种不同的 I2C地址,因而闪存能够扩展到256KB。本规划中由于仅用了一个芯片,所以3根地址都设定为低电平。

  由24LC256I的运用手知道该器材需求5ms闪存写入时刻,数据从AT90S2313 UART接纳部分写入闪存。我规划的下载协议只要从服务器PC到遥控单元一个方向,因而不必“握手”办法作业,所以我选用1200bps数据传输率,每隔 8.3ms处理一次输入的数据字符。这个距离能够供给足的时刻把数据发送到I2C闪存,即便运用软件完结I2C功用,仍然有5ms的空馀时刻来写 EEPROM。

  我没有选用比如MAX232之类老练的RS-232接口,而是用一个2N3904 NPN三极管和一些无源器材将主机的RS-232电平转换成TTL电平。

  选用Abacom公司AM-RT5-433作为无线发射机模块,其小型SIP封装很简略安装。Abacom公司大方地寄给我一对发射机和接纳机的样品。这些廉价的模块是针对100码左右距离运用的,选用简略的载波开关调制来完结数据的发射。

  我运用小型无线传输模块的其它经历来自价格较贵的Linx HP-II系列(900 MHz)。Linx HP-II系列选用FSK调制,发射机可直接由UATR驱动。

  Abacom公司的技术人员说我选用的廉价模块不能直接与UART端口接口,但是Abacom公司规划了一个复合芯片NKM2401-N,该芯片依据mode的衔接不同能够充任编码器或许解码器来用。本规划中我在每个无线数据衔接结尾均用了这个器材。

  遥控单元中NKM2401从AT90S2313 UART端口接纳8字节的数据包(以2400 bps数据率),加上同步、预缓冲/後缓冲字节和CRC後再对终究数据进行Manchester编码。由于NKM2401的数据包格局8个字节,但我的指令仅有2字节长,因而我自己加上同步字节和弥补字节成了一个8字节的数据包。NKM2401的数据输出直接衔接到AM-RT5-433发射机上。至于天线,我运用了1/4波长的鞭状天。

  我想在遥控单元中撤销NKM2401而改用AT90S2313固件程序完结相应的功用。遥控单元的固件是用汇编语言写的,仅用了AT90S2313 2KB闪存中大约1/3巨细的空间,因而可留下许多的空间供其它有需求的程序用。但是在接纳端我不计划运用微操控器,因而有必要用NKM2401来解码。我未能从Abacom公司取得具体的通信协议(他们的协议比较简略看懂)因而我无法编写程序完结数据包的编码。给我点时刻的话我或许会用示波器或许核算机上的程序捕捉到数据流对它进行反向工程最後完结这个编码进程,惋惜的是没时刻了。

  在继续进行之前我弥补几点。AT90S2313运用陶瓷振动器作业在4MHz,这关于比较低的串行数据通信速率来说是足了的。我有必要把UART的速率设定在1200bps(数据下载期间)来接纳数据,但发射时把速率设定在2400bps(通过NKM2401和发射机发送指令)。我不得不这做,由于 NKM2401仅作业在2400bps速率,1200bps是可用于下载的最高速率(考虑串行闪存的写入时刻)。

  最後遥控单元上有一个标著J1 Link Test的跳。假如装上跳NMK2401-N将会不断地发送“ABACOM”信息,该信息能够用来检测无线衔接。

  无线接纳机模块

  无线接纳机的作用是接纳MP3遥控单元发射的433MHz信号?把信号转换成RS-232电平送到服务器PC。

  Abacom公司的AM-HRR3-433接纳机如图2所示。接纳机模块跟发射机相同运用相同的1/4波长鞭状天。

  图2 Abacom公司的AM-HRR3-433接纳机

  在没有接纳信号的时分,接纳机模块的输出满是毛刺和噪音。我用示波器调查发现一点信号都没有,由于我住在村庄区域。正由于这个原因有必要运用Abacom公司的NKM2401-N芯片。接纳机中NKM2401-N的方式(第4)接地,使其作业于解码方式。用一个一般PNP三极管反相器向服务器PC供给虚拟 RS232电平信号。

  LM2936CZ5低压差整流器接纳机供给5V直流电。大多数时刻接纳机模块都连在MP3服务器核算机的串行端口上,但是出于作业需求,有时遥控单元有必要衔接到PC(例如下载歌名列表的时分),因而我制造一根短电缆把PC上的DB9插座接到一个5pin DIN插头上,接纳机和遥控单元均用配对的5pin DIN插座,这样你就能够按需求把设备连起来了。

Abacom公司的接纳机/发射机模块与NKM2401-N合作运用十分牢靠。无线发送指令是本规划的一个亮点。仅有觉得缺乏的是不能把433MHz接纳机和FM发射机模块装在同一个机箱内。当把FM发射机放在接纳机周围时,发射机的RF输出会对接纳 机灵敏度有细微影响,形成无线衔接仅能在20码规模内作业,跟我的预期方针比较发射距离太近了。但是当我把FM发射机装进机箱里把它放到离433MHz接纳机几码远的当地时,发射距离近的问题解了,这时发射距离增加到约50码(留意这仍然在室内)。

  FM发射机

  我设想这个规划的时分就预料到必定会有一些规划中的难点或许编程上的问题。开端我总以为制造一个小型FM发射机是很简略的事,所以我把这项作业留到最後完结。但是正如墨菲规律所说的相同,最初我以为最简略的作业到最後成为整个规划中最扎手和最消耗时刻的部分。

  从前谣传根据Rohm BA1404 IC的FM立体声发射机套件常常会由于作业不安稳而导致无法运用,不过我仍是鬼使神差地买了这个套件。唉,谣传是真的──它的频率安稳性实在是太差了,致使不能和现代数字调谐FM接纳机合作作业。即便我用高质量的RF调谐元件替换了本来的便宜货,问题仍然存在。了取得心思平衡我只能这想∶这个IC是在数字FM接纳机创造前规划的,其不能与数字调谐FM接纳机合作作业情有可原。旧式模仿FM接纳机具有主动频率操控电路,有或许会战胜这个发射机套件的频飘吧。

  我找到了一个PLL稳频的FM发射机套件,但其高达200美元的价格对本规划来说太不合算了。几年前我从前做过几个10-400MHz规模的PLL频率产生器,因而我想测验自己制造FM发射机。

  不过那是恶梦的开端。我曩昔所用的PLL芯片现在买不到了。现在大多数的PLL IC是专门用于移动电话之类的,它们在低于100MHz下不能安稳作业。尽管我也找到了一些针对FM发射用的%&&&&&%,但它们的封装方式太小致使不能焊接。

  在这种情况下我决议另辟奇怪。因而我有必要用微操控器来操控PLL芯片,为什么我不完全丢掉PLL芯片而用微操控器丈量和操控振动频率?我所想的能够认?是一个主动稳频器。

  我的主意能够用图3描绘。振动频率主要由电感和可变电容设定。本规划中我把调谐规模大约定在88~92MHz,这两方面的原因∶榜首,FM波段低端商业电台较少;更重要的是96MHz是该电路能丈量的最高频率。

  图3 FM发射机框图

  确了安稳性和FM调制两个意图,振动器由一个变容二极管操控频率微调。变容二极管的电容量由加在它上面的偏置电压定。这个偏置电压由两个重量操控。12位 DAC供给的直流电平缓一个沟通信号两层作用在变容二极管上以完结频率调制。DAC的输出电压初始值设置在中心值(2V),通过手动调整可变%&&&&&%(微调)把振动器调到指定的频率,其後微操控器会略微上下调整DAC的输出电压来安稳这个频率。

  要用微操控器丈量振动器的频率有必要先把它进行16预分频。这可由一般的74F161 4位分频器完结。预分频输出大约在5~6MHz频率规模,这个频率能够用微操控器的16位计数器/定时器进行计数。

  确了确认振动频率,先把16位计数器清零,通过设定的时刻距离之後再把它的值读出来。设定时刻距离由微操控器中另一个计数器/定时器编程操控,每5.461ms周期中止一次。这样16位计数器中的值能够这样核算∶

  Counter/timer Value=(fosc/16)×(5.461×10-3)

  实际操作时微操控器读出16位定时器的值把它与用你挑选的频率代人上述方程核算出来的一个常数进行比较。假如振动频率太低了DAC的值就会向上加1再试;相反地假如振动频率太高了,DAC值就1。如此重复直到振动器的频率落在你所选频点邻近的很窄的带宽内。

  这个电路一般来说或许会一向处于查找状况,有两个原因∶榜首,由于在采样时刻内振动器信号的改变会使计数器/定时器总会呈现1次计数差错;第二,由于振动器被音频信号进行频率调制,其频率会随著这个调制电压而改变。

  咱们是不期望呈现一向查找的情的,由于这会导致接纳机收到的音乐中夹著调制声。防止这种情产生,微操控器一旦把频率调定,就进入期10分钟的 “休眠”状况,10分钟过後再检测一次频率。除非室内温度呈现较大改变,不然振动器就简直不必批改,本电路就可确保正常作业。

  AVR AFC

  在我具体描绘怎样完结主动频率操控FM发射机前,请先看一下图4以有一个感性认识。首要我需求一个能够对6MHz频率进行计数的微操控器且该微操控器还有必要具有别的一个定时器,用来宣布读计数器和清零计数器的中止冲。我选用Atmel AT90S2313-10PC,因它内部含有我所需求的功用。但是我有必要让它在超出它额外频率10MHz的12MHz频率下作业以取得6MHz频率的计数才能。趁便说一下,这样恰当对Atmel AT90S2313“超频”到现在为止还没有呈现过什么问题。

  图4 主动微调的发射机单元

  当发射机制造完结设定在某个信道之後FM振动器频率就可确认。因而,简化操作,在程序最初我输入了所需的发射频率作为常数,程序经编译以後下载到AT90S2313做成一个固定频率的FM发射机。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/189025.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部