虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

长延时

  • 基于FPGA的多路E1反向复用传输芯片的设计与实现

    随着电信数据传输对速率和带宽的要求变得越来越迫切,原有建成的网络是基于话音传输业务的网络,已不能适应当前的需求.而建设新的宽带网络需要相当大的投资且建设工期长,无法满足特定客户对高速数据传输的近期需求.反向复用技术是把一个单一的高速数据流在发送端拆散并放在两个或者多个低速数据链路上进行传输,在接收端再还原为高速数据流.该文提出一种基于FPGA的多路E1反向复用传输芯片的设计方案,使用四个E1构成高速数据的透明传输通道,支持E1线路间最大相对延迟64ms,通过链路容量调整机制,可以动态添加或删除某条E1链路,实现灵活、高效的利用现有网络实现视频、数据等高速数据的传输,能够节省带宽资源,降低成本,满足客户的需求.系统分为发送和接收两部分.发送电路实现四路E1的成帧操作,数据拆分采用线路循环与帧间插相结合的方法,A路插满一帧(30时隙)后,转入B路E1间插数据,依此类推,循环间插所有的数据.接收电路进行HDB3解码,帧同步定位(子帧同步和复帧同步),线路延迟判断,FIFO和SDRAM实现多路数据的对齐,最后按照约定的高速数据流的帧格式输出数据.整个数字电路采用Verilog硬件描述语言设计,通过前仿真和后仿真的验证.以30万门的FPGA器件作为硬件实现,经过综合和布线,特别是写约束和增量布线手动调整电路的布局,降低关键路径延时,最终满足设计要求.

    标签: FPGA 多路 传输 片的设计

    上传时间: 2013-07-16

    上传用户:asdkin

  • 高吞吐量LDPC码编码构造及其FPGA实现

    低密度校验码(LDPC,Low Density Parity Check Code)是一种性能接近香农极限的信道编码,已被广泛地采用到各种无线通信领域标准中,包括我国的数字电视地面传输标准、欧洲第二代卫星数字视频广播标准(DVB-S2,Digital Video Broadcasting-Satellite 2)、IEEE 802.11n、IEEE 802.16e等。它是3G乃至将来4G通信系统中的核心技术之一。 当今LDPC码构造的主流方向有两个,分别是结合准循环(QC,Quasi Cyclic)移位结构的单次扩展构造和类似重复累积(RA,Repeat Accumulate)码构造。相应地,主要的LDPC码编码算法有基于生成矩阵的算法和基于迭代译码的算法。基于生成矩阵的编码算法吞吐量高,但是需要较多的寄存器和ROM资源;基于迭代译码的编码算法实现简单,但是吞吐量不高,且不容易构造高性能的好码。 本文在研究了上述几种码构造和编码算法之后,结合编译码器综合实现的复杂度考虑,提出了一种切实可行的基于二次扩展(Dex,Duplex Expansion)的QC-LDPC码构造方法,以实现高吞吐量的LDPC码收发端;并且充分利用该类码校验矩阵准循环移位结构的特点,结合RU算法,提出了一种新编码器的设计方案。 基于二次扩展的QC-LDPC码构造方法,是通过对母矩阵先后进行乱序扩展(Pex,Permutation Expansion)和循环移位扩展(CSEx,Cyclic Shift Expansion)实现的。在此基础上,为了实现可变码长、可变码率,一般编译码器需同时支持多个乱序扩展和循环移位扩展的扩展因子。本文所述二次扩展构造方法的特点在于,固定循环移位扩展的扩展因子大小不变,支持多个乱序扩展的扩展因子,使得译码器结构得以精简;构造得到的码字具有近似规则码的结构,便于硬件实现;(伪)随机生成的循环移位系数能够提高码字的误码性能,是对硬件实现和误码性能的一种折中。 新编码器在很大程度上考虑了资源的复用,使得实现复杂度近似与码长成正比。考虑到吞吐量的要求,新编码器结构完全抛弃了RU算法中串行的前向替换(FS,Forward Substitution)模块,同时简化了流水线结构,由原先RU算法的6级降低为4级;为了缩短编码延时,设计时安排每一级流水线计算所需的时钟数大致相同。 这种码字构造和编码联合设计方案具有以下优势:相比RU算法,新方案对可变码长、可变码率的支持更灵活,吞吐量也更大;相比基于生成矩阵的编码算法,新方案节省了50%以上的寄存器和ROM资源,单位资源下的吞吐量更大;相比类似重复累积码结构的基于迭代译码的编码算法,新方案使高性能LDPC码的构造更为方便。以上结果都在Xilinx Virtex II pro 70 FPGA上得到验证。 通过在实验板上实测表明,上述基于二次扩展的QC-LDPC码构造和相应的编码方案能够实现高吞吐量LDPC码收发端,在实际应用中具有很高的价值。 目前,LDPC码正向着非规则、自适应、信源信道及调制联合编码方向发展。跨层联合编码的构造方法,及其对应的编码算法,也必将成为信道编码理论未来的研究重点。

    标签: LDPC FPGA 吞吐量 编码

    上传时间: 2013-07-26

    上传用户:qoovoop

  • 新型并行Turbo编译码器的FPGA实现

    可靠通信要求消息从信源到信宿尽量无误传输,这就要求通信系统具有很好的纠错能力,如使用差错控制编码。自仙农定理提出以来,先后有许多纠错编码被相继提出,例如汉明码,BCH码和RS码等,而C。Berrou等人于1993年提出的Turbo码以其优异的纠错性能成为通信界的一个里程碑。 然而,Turbo码迭代译码复杂度大,导致其译码延时大,故而在工程中的应用受到一定限制,而并行Turbo译码可以很好地解决上述问题。本论文的主要工作是通过硬件实现一种基于帧分裂和归零处理的新型并行Turbo编译码算法。论文提出了一种基于多端口存储器的并行子交织器解决方法,很好地解决了并行访问存储器冲突的问题。 本论文在现场可编程门阵列(FPGA)平台上实现了一种基于帧分裂和篱笆图归零处理的并行Turbo编译码器。所实现的并行Turbo编译码器在时钟频率为33MHz,帧长为1024比特,并行子译码器数和最大迭代次数均为4时,可支持8.2Mbps的编译码数掘吞吐量,而译码时延小于124us。本文还使用EP2C35FPGA芯片设计了系统开发板。该开发板可提供高速以太网MAC/PHY和PCI接口,很好地满足了通信系统需求。系统测试结果表明,本文所实现的并行Turbo编译码器及其开发板运行正确、有效且可靠。 本论文主要分为五章,第一章为绪论,介绍Turbo码背景和硬件实现相关技术。第二章为基于帧分裂和归零的并行Turbo编码的设计与实现,分别介绍了编码器和译码器的RTL设计,还提出了一种基于多端口存储器的并行子交织器和解交织器设计。第三章讨论了使用NIOS处理器的SOC架构,使用SOC架构处理系统和基于NIOSII处理器和uC/0S一2操作系统的架构。第四章介绍了FPGA系统开发板设计与调试的一些工作。最后一章为本文总结及其展望。

    标签: Turbo FPGA 并行 编译码器

    上传时间: 2013-04-24

    上传用户:ziyu_job1234

  • CMOS和TTL电路探讨

    通常以为TTL门的速度高于“CMOS门电路。影响TTL门电路工作速度的主要因素是电路内部管子的开关特性、电路结构及内部的各电阻数值。电阻数值越大,作速度越低。管子的开关时间越长,门的工作速度越低。门的速度主要体现在输出波形相对于输入波形上有“传输延时”tpd。将tpd与空载功耗P的乘积称“速度-功耗积”,做为器件性能的一个重要指标,其值越小,表明器件的性能越 好(一般约为几十皮(10-12)焦耳)。与TTL门电路的情况不同,影响CMOS电路工作速度的主要因素在于电路的外部,即负载电容CL。CL是主要影响器件工作速度的原因。由CL所决定的影响CMOS门的传输延时约为几十纳秒。

    标签: CMOS TTL 电路

    上传时间: 2013-11-22

    上传用户:DE2542

  • delay延时教程

    该文是小生在学习51单片机时搜集多份网上资料整理而成,要点处有重点标注,而且分类详细,望能给广大有相关疑问的同志以帮助....

    标签: delay 延时 教程

    上传时间: 2013-10-26

    上传用户:yulg

  • 基于STC89C51的鼠标改装PPT遥控

    电路图非常简单,主要的问题不在于电路,电路用一上午的时间就都搞定了,剩下的就是程序问题。为了美观要达到的目的是LED灯要不断地闪烁,同时这LED中P2口控制的都是绿色的,P1口控制的都是红色的,这样就容易编程了。起初在主函数中直接对LED灯控制并且检测HS0038的电位变化但是始终检测不到,后来发现延时太长在延时的过程中掩盖了对HS0038的检测。所以缩小延时,但是无论怎么减小对于检测的时间来讲都是太大的。最后想到了用单片机的外部中断的功能,所以将HS0038的OUT接到P3.3口用外部中断1 将检测放在终端函数中最后解决了问题,实现检测和LED闪烁的功能。

    标签: STC 89C C51

    上传时间: 2013-10-18

    上传用户:stewart·

  • 深入浅出AVR单片机--从ATMega48/88/168开始

    深入浅出AVR单片机思路清晰,以AVR单片机为载体,介绍了初学单片机所必须掌握的专业知识。书中语言严谨但不乏幽默风趣,配以大量的照片、图示和实例程序,使读者在愉悦中完成专业知识的学习,并培养了学习嵌入式系统的兴趣。本书在讲述AVR单片机的同时,更注重于对读者学习和设计能力的启发、培养,帮助他们养成“从实践中来,到实践中去”的科学方法论,为进一步的学习创造了基础。  本书讲述浅显、内容丰富、编排合理、实例详尽。首先介绍了如何阅读器件资料的方法,然后熟悉ICCAVR集成开发环境并搭建实验开发装置,接着从实际应用出发,启发式地介绍AVR单片机的常用资源和对应软件方法,最后较为全面地补充了从事嵌入式系统开发要扩展的软件知识。 第1篇 Are you ready? 第1章 学会阅读Datasheet  1.1 如何阅读PDF文件,如何获得Datasheet文件  1.2 Datasheet告诉我们些什么  1.3 如何看懂AVR的Datasheet  1.4 如何得到帮助  1.5 汇编语言执行时间的计算方法  1.6 ATmega48/88/168常用熔丝的作用及其配置方法  1.7 对误烧写为外部时钟模式的解锁方法  实例1 阅读74HC595 Datasheet 第2章 深入开发环境  2.1 认识ICC编译环境  2.2 事半功倍的代码生成器  2.3 ICC之不得不说的故事  2.4 AVR最小系统和下载线DIY  实例2 AVR最小系统DIY第2篇 Let\'s go! 第3章 从跑马灯开始  3.1 输入/输出界面   3.1.1 单片机的输入/输出设备——引脚   3.1.2 “芯”里有数——数码管显示   3.1.3 单片机的输入/输出设备——从按键到键盘  3.2 用ATmega48/88/168单片机端口驱动数码管  3.3 操纵ATmega48/88/168单片机端口  3.4 端口内建上拉电阻的使用  3.5 端口位操作  实例3 跑马灯  实例4 数码管的显示(上)  实例5 数码管的显示(下)  实例6 矩阵键盘 第4章 对不起接个电话  4.1 十万火急——中断  4.2 中断的特性  4.3 使用中断时的注意事项  4.4 ATmega48/88/168单片机有哪些中断源  4.5 如何编写一个中断的服务程序代码  4.6 ATmega48/88/168单片机中断的开关控制  4.7 ATmega48/88/168中断标志位  4.8 ATmega48/88/168中断优先级  4.9 ATmega48/88/168单片机中断向量  4.10 中断与查询之争  4.11 用查询方式响应外设中断  4.12 中断误触发  4.13 前后台与原子操作  实例7 中断唤醒的键盘扫描  实例8 旋转编码器 第5章 一秒究竟有多长  5.1 单片机与时间  5.2 软件延时  5.3 不需要加载的“自由计时器”  5.4 通过重加载控制定时中断周期  5.5 使用代码生成器生成定时器1初始化代码  5.6 定时器的其他工作模式  5.7 PWM波及其应用简介  5.8 人类能看懂的电子时钟——实时时钟简介  实例9 闪烁的灯  实例10 渐明渐暗的灯  实例11 复杂闪烁控制 第6章 电量低  6.1 从猜数游戏到A/D转换器  6.2 ATmega48/88/168的A/D转换器  6.3 ATmega48/88/168单片机中与A/D相关的引脚  6.4 ATmega48/88/168单片机中与A/D相关的寄存器  6.5 使用A/D时需要注意些什么  6.6 怎样知道A/D转换完成  6.7 读取A/D的转换结果  6.8 使用代码生成器生成ADC初始化代码  6.9 书写具有工程结构的初始化代码  6.10 电量计原理概述  …… 第7章 正在过收费站 第8章 包装的学问 第9章 傻孩子求职记 第10章 MISSION UPDATE第3篇 Code Name C 第11章 朝花夕拾 第12章 指针都是纸老虎 第13章 来自身边的启示 第14章 初识嵌入式系统

    标签: ATMega AVR 168 48

    上传时间: 2014-05-05

    上传用户:佳期如梦

  • 用单片机制作多功能莫尔斯码电路

    用单片机制作多功能莫尔斯码电路:用单片机制作多功能莫尔斯码电路莫尔斯电码通信有着悠久的历史,尽管它已被现代通信方式所取代,但在业余无线电通信和特殊的专业场合仍具有重要的地位,这是因为等幅电码通信的抗干扰能力是其它任何一种通信方式都无法相比的。在短波波段用几瓦的功率即可进行国际间的通信,收发射设备简单易制成本低廉,所以深受业余无线电爱好者的喜爱,是业余无线电高手必备的技能。要想熟练掌握莫尔斯电码的收发技术除了持之以恒的毅力外,还需要相关的设备。设计本电路的目的就是给爱好者提供一个实用和训练的工具。  一、功能简介    本电路可以配合自动键体和手动键体,产生莫尔斯码控制信号,设有16种速度,从初学者到操作高手都能适用。监听音调也有16种,均可以通过功能键进行选择。可以按程序中设定好的呼号自动呼叫,设有听抄练习功能,听抄练习有短码和混合码两种模式,分别对10个数字和常用的38个混合码模拟随机取样,产生分组报码,供爱好者提高抄收水平之用,速度低4档的听抄练习是专为初学者所设,内容是时间间隔较长的单字符。设有PTT开关键,可以决定是否控制发射机工作,不需要反复通断控制线。无论当前处于呼叫状态还是听抄状态只要电键接点接通则自动转到人工发报程序。4分钟内不使用电路将自动关闭电源,只有按复位键才能重新开始工作。先按住听抄练习键复位则进入短码练习状态,其它功能不变。从开机到自动关机执行每个功能都有不同的莫尔斯码提示音。本电路具有较强的抗高低频干扰的能力和使用方便的大电流开关接口,以适应不同的发射设备。    二、硬件电路原理硬件电路如图1所示。设计电路的目的在于方便实用,以免在紧张的操作中失误,所以除了听抄练习键外其它键没有定义复用功能。各键的作用在图中已经标出。PTT控制在每次复位时处于关闭状态,每按动一次PTT功能键则改变一次状态,这样可以使用软件开关控制发射。 PTT处于控制状态时发光二极管随控制信号闪亮。考虑到自制设备及淘汰军用设备与高档设备控制电流的不同,PTT开关管采用了2SC2073,可以承受500mA的电流,同时还增加了无极性PTT开关电路,无论外部被控制的端口直流极性如何加到VT3的极性始终不变,供有兴趣的爱好者实验。应该注意,如果被控制的负载是感性,则电感两端必须并联续流二极管,除自制设备外成品机在这方面一般没有什么问题。手动键只有一个接点,接通后产生连续的音频和发射控制信号。在本电路中手动键的输入端是P1.5 ,程序不断检测P1.5电平,当按键按下时P1.5电平为0,程序转入手动键子程序。 自动键的接点分别接到P1.3和P1.4 ,同样当程序检测到有接点闭合时便自动产生“点”或“划”。音频信号从P输出,经VT1放大后推动扬声器发音。单片机的I/O口在输入状态下阻抗较高,容易受到高低频信号干扰,所以在每个输入端口和三极管的be端并联电阻和高频旁路电容,确保在较长的电键连线和大功率发射时电路工作稳定。图2是印刷电路版图,尺寸为110mmX85mm,扬声器用粘合剂直接粘接在电路版有铜箔的面。    三、软件设计方法  “点”时间长度是莫尔斯电码中的基本时间单位。按规定“划”的时间长度不小于三个“点”,同字符中“点”与“划”的间隔不小于一个“点”,字符之间不小于一个“划”,词与词之间不应小于五个“点”。在本程序中用条件转移指令来产生“点”时间长度。通过速度功能键功可以设置16种延时参数。用T0中断产生监听音频信号,并将中断设为优先级,保证在听觉上纯正悦耳。T1用于自动关机计时,如果不使用任何功能四分钟后将向PCON 位写1,单片机进入休眠状态,此时耗电量仅有几个微安。自动键的“点”或“划”以及手动键的连续发音都是子程序的反复调用。P1.2对地短接时自动呼叫可设定为另一内容。为了便于熟悉汇编语言的读者对发音内容进行修改,这里介绍发音字符的编码方法。莫尔斯码的信息与计算机中二进制恰好相同,我们可以用0表示“点”,用1表示“划”。提示音、自动呼叫、听抄内容等字符是预先按一定编码方式存储在程序中的常数。每个字符的莫尔斯码一般是由1至6位“点”、“划”组成,也就是发音次数最多6次。程序中每个字符占用1个字节,字符时间间隔不占用字节,但更长的延时或发音结束信息占用一个字节。我们用字节的低三位表示字节的性质,对于5次及5次以下发音的字符我们用存储器的高5位存储发音信息,发音顺序由高位至低位,用低3位存储发音次数,发音时将数据送入累加器A,先得到发音次数,然后使A左环移,对E0进行位寻址,判断是发“点”还是“划”,环移次数由发音次数决定。对于6次发音的字符不能完全按照上述编码规则,否则会出现信息重叠,如果是6次发音且最后一次是“划”我们把发音次数定义为111B,因为这时第6次位寻址得到的是1。如果第6次发音是“点”,那么这个字符的低三位定义为000B。字符间隔时间由程序自动产生,更长的时间隔或结束标志由字节低三位110B来定义,高半字节表示字符间隔的倍数,例如26H表示再加两倍时间间隔。如果字节为06H则表示读字符程序结束,返回主程序。更详细的内容不再赘述,读者可阅读源程序。四、使用注意事项手动键的操作难度相对大一些,时间节拍全由人掌握,其特点是发出的电码带有“人情味”。自动键的“点”、“划”靠电路产生,发音标准,容易操作,而且可以达到相当快的速度,长时间工作也不易疲劳。在干扰较大、信号微弱的条件下自动键码的辨别程度好于手动键码。初学者初次使用手动键练习发报要有老师指导,且不可我行我素,一旦养成不正确的手法则很难纠正。在电台上时常听到一些让对方难以抄收的电码,这可能会使对方反感而拒绝回答。使用自动键也应在一定的听抄基础上再去练习。在暂时找不老师的情况下可多练习听力,这对于今后能够发出标准正确的电码非常有益。

    标签: 用单片机 多功能 莫尔斯 电路

    上传时间: 2013-10-31

    上传用户:sdq_123

  • 单片机音乐中音调和节拍的确定方法

    单片机音乐中音调和节拍的确定方法:调号-音乐上指用以确定乐曲主音高度的符号。很明显一个八度就有12个半音。A、B、C、D、E、F、G。经过声学家的研究,全世界都用这些字母来表示固定的音高。比如,A这个音,标准的音高为每秒钟振动440周。 升C调:1=#C,也就是降D调:1=BD;277(频率)升D调:1=#D,也就是降E调:1=BE;311升F调:1=#F,也就是降G调:1=BG;369升G调:1=#G,也就是降A调:1=BA;415升A调:1=#A,也就是降B调:1=BB。466,C 262   #C277   D 294   #D(bE)311  E 330   F 349   #F369   G 392  #G415A 440.    #A466    B 494 所谓1=A,就是说,这首歌曲的“导”要唱得同A一样高,人们也把这首歌曲叫做A调歌曲,或叫“唱A调”。1=C,就是说,这首歌曲的“导”要唱得同C一样高,或者说“这歌曲唱C调”。同样是“导”,不同的调唱起来的高低是不一样的。各调的对应的标准频率为: 单片机演奏音乐时音调和节拍的确定方法 经常看到一些刚学单片机的朋友对单片机演奏音乐比较有兴趣,本人也曾是这样。在此,本人将就这方面的知识做一些简介,但愿能对单片机演奏音乐比较有兴趣而又不知其解的朋友能有所启迪。 一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说不能象电子琴那样能奏出多种音色的声音。因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和“节拍”。音调表示一个音符唱多高的频率,节拍表示一个音符唱多长的时间。 在音乐中所谓“音调”,其实就是我们常说的“音高”。在音乐中常把中央C上方的A音定为标准音高,其频率f=440Hz。当两个声音信号的频率相差一倍时,也即f2=2f1时,则称f2比f1高一个倍频程, 在音乐中1(do)与 ,2(来)与 ……正好相差一个倍频程,在音乐学中称它相差一个八度音。在一个八度音内,有12个半音。以1—i八音区为例, 12个半音是:1—#1、#1—2、2—#2、#2—3、3—4、4—#4,#4—5、5一#5、#5—6、6—#6、#6—7、7—i。这12个音阶的分度基本上是以对数关系来划分的。如果我们只要知道了这十二个音符的音高,也就是其基本音调的频率,我们就可根据倍频程的关系得到其他音符基本音调的频率。 知道了一个音符的频率后,怎样让单片机发出相应频率的声音呢?一般说来,常采用的方法就是通过单片机的定时器定时中断,将单片机上对应蜂鸣器的I/O口来回取反,或者说来回清零,置位,从而让蜂鸣器发出声音,为了让单片机发出不同频率的声音,我们只需将定时器予置不同的定时值就可实现。那么怎样确定一个频率所对应的定时器的定时值呢?以标准音高A为例:   A的频率f = 440 Hz,其对应的周期为:T = 1/ f = 1/440 =2272μs 由上图可知,单片机上对应蜂鸣器的I/O口来回取反的时间应为:t = T/2 = 2272/2 = 1136μs这个时间t也就是单片机上定时器应有的中断触发时间。一般情况下,单片机奏乐时,其定时器为工作方式1,它以振荡器的十二分频信号为计数脉冲。设振荡器频率为f0,则定时器的予置初值由下式来确定:    t = 12 *(TALL – THL)/ f0 式中TALL = 216 = 65536,THL为定时器待确定的计数初值。因此定时器的高低计数器的初值为:     TH = THL / 256 = ( TALL – t* f0/12) / 256    TL = THL % 256 = ( TALL – t* f0/12) %256  将t=1136μs代入上面两式(注意:计算时应将时间和频率的单位换算一致),即可求出标准音高A在单片机晶振频率f0=12Mhz,定时器在工作方式1下的定时器高低计数器的予置初值为 :    TH440Hz = (65536 – 1136 * 12/12) /256 = FBH    TL440Hz = (65536 – 1136 * 12/12)%256 = 90H根据上面的求解方法,我们就可求出其他音调相应的计数器的予置初值。 音符的节拍我们可以举例来说明。在一张乐谱中,我们经常会看到这样的表达式,如1=C  、1=G …… 等等,这里1=C,1=G表示乐谱的曲调,和我们前面所谈的音调有很大的关联, 、 就是用来表示节拍的。以 为例加以说明,它表示乐谱中以四分音符为节拍,每一小结有三拍。比如:      其中1 、2 为一拍,3、4、5为一拍,6为一拍共三拍。1 、2的时长为四分音符的一半,即为八分音符长,3、4的时长为八分音符的一半,即为十六分音符长,5的时长为四分音符的一半,即为八分音符长,6的时长为四分音符长。那么一拍到底该唱多长呢?一般说来,如果乐曲没有特殊说明,一拍的时长大约为400—500ms 。我们以一拍的时长为400ms为例,则当以四分音符为节拍时,四分音符的时长就为400ms,八分音符的时长就为200ms,十六分音符的时长就为100ms。可见,在单片机上控制一个音符唱多长可采用循环延时的方法来实现。首先,我们确定一个基本时长的延时程序,比如说以十六分音符的时长为基本延时时间,那么,对于一个音符,如果它为十六分音符,则只需调用一次延时程序,如果它为八分音符,则只需调用二次延时程序,如果它为四分音符,则只需调用四次延时程序,依次类推。通过上面关于一个音符音调和节拍的确定方法,我们就可以在单片机上实现演奏音乐了。具体的实现方法为:将乐谱中的每个音符的音调及节拍变换成相应的音调参数和节拍参数,将他们做成数据表格,存放在存储器中,通过程序取出一个音符的相关参数,播放该音符,该音符唱完后,接着取出下一个音符的相关参数……,如此直到播放完毕最后一个音符,根据需要也可循环不停地播放整个乐曲。另外,对于乐曲中的休止符,一般将其音调参数设为FFH,FFH,其节拍参数与其他音符的节拍参数确定方法一致,乐曲结束用节拍参数为00H来表示。下面给出部分音符(三个八度音)的频率以及以单片机晶振频率f0=12Mhz,定时器在工作方式1下的定时器高低计数器的予置初值 : C调音符  频率Hz 262 277 293 311 329 349 370 392 415 440 466 494TH/TL F88B F8F2 F95B F9B7 FA14 FA66 FAB9 FB03 FB4A FB8F FBCF FC0BC调音符 1 1# 2 2# 3 4 4# 5 5# 6 6# 7频率Hz 523 553 586 621 658 697 739 783 830 879 931 987TH/TL FC43 FC78 FCAB FCDB FD08 FD33 FD5B FD81 FDA5 FDC7 FDE7 FE05C调音符  频率Hz 1045 1106 1171 1241 1316 1393 1476 1563 1658 1755 1860 1971TH/TL FB21 FE3C FE55 FE6D FE84 FE99 FEAD FEC0 FE02 FEE3 FEF3 FF02

    标签: 单片机 音调

    上传时间: 2013-10-20

    上传用户:哈哈haha

  • 高速DSP与SDRAM之间信号传输延时的分析

      当今电子技术的发展日新月异,尤其是深亚微米工艺在IC设计中的应用,使得芯片的集成规模愈来愈大,速度愈来愈高,从而使得如何处理高速信号问题成为设计的关键因素之一。随着电子系统中逻辑和系统时钟频率的迅速提高和信号边沿不断变陡,印刷电路板(PCB)的线迹互连和板层特性对系统电气性能的影响也越发重要。对于低频设计线迹互连和板层的影响可以不考虑;当频率超过50MHz时,互连关系和板层特性的影响不容忽视,必须对传输线效应加以考虑,在评定系统性能时也必须考虑印刷电路板板材的电参数。因此,高速系统的设计必须面对互连延迟引起的时序问题以及串扰、传输线效应等信号完整性(SI)问题。本文主要对互连延迟所引起的时序问题进行探讨。

    标签: SDRAM DSP 信号传输 延时

    上传时间: 2013-12-18

    上传用户:如果你也听说