SPCE061A单片机在USB通讯中的应用
- 格式:doc
- 大小:29.50 KB
- 文档页数:4
单片机中的USB接口技术分析USB(Universal Serial Bus,通用串行总线)是一种常见的数据传输接口,广泛应用于各种设备和系统中,包括在单片机中。
本文将对单片机中的USB接口技术进行分析,探讨其原理、应用和发展趋势。
一、USB接口的原理USB接口是一种点对点数据传输接口,通过主机和从机之间的通信来实现数据传输。
在单片机中,主机通常是PC或其他嵌入式系统,而从机则是嵌入了USB控制器的单片机芯片。
USB接口使用了四根导线,包括一个用于数据传输的差分对、一个用于电源和一个用于地线。
USB接口采用了主从结构,主机发送控制命令给从机,并收集从机返回的数据。
主机和从机之间的通信是通过“令牌”、“数据”和“握手”包来实现的。
主机发送令牌包指定操作和从机地址,从机返回响应,并根据主机的要求发送数据包或握手包。
二、USB接口的应用单片机中的USB接口被广泛应用于各种领域,包括消费电子、通信、工业控制和医疗设备等。
以下是一些常见的应用场景:1. 外部存储器:通过USB接口连接外部存储设备(如闪存驱动器或硬盘驱动器)可以方便地进行数据存储和传输。
这在很多嵌入式系统中是一个常见的功能。
2. 通信设备:许多嵌入式系统需要与PC、手机或其他设备进行通信。
通过使用USB接口,可以实现快速、稳定的数据传输,用于例如串口通信和网络连接。
3. 人机界面:通过USB接口连接键盘、鼠标、摄像头或触摸屏等外部设备,可以实现人机交互。
这在智能手机、平板电脑和其他嵌入式系统中非常常见。
4. 工业控制:许多工业领域需要远程监控和控制设备。
通过使用USB接口,可以实现与嵌入式系统的连接,对设备进行监控和控制。
三、USB接口的发展趋势随着嵌入式系统的不断发展和进步,USB接口技术也在不断演进和改进。
以下是一些USB接口的发展趋势:1. USB 3.0和USB 3.1:USB 3.0和USB 3.1标准提供了更高的传输速度和更大的带宽,比之前的版本快得多。
SPCE061A是凌阳公司设计的一种16位单片机,该款单片机资源丰富,具有极高的性价比,该单片机内置有2路DA转换,8路AD转换及在线仿真,并且有16×16位的乘法运算和内积运算的DSP功能,这为它进行复杂的语音数字信号的压缩编码与解码提供了便利,还可以做数字滤波器。
这些特点为我们进行在语音处理尤其是语音识别领域的应用提供了便利。
语音识别技术在各个层面均有广泛的应用前景。
电脑软件领域,例如:语音命令、语音输入,对话系统、查询系统、教学软件、游戏软件等;消费性电子产品领域,例如:电子记事本、声控玩具、语音拔号功能的手机等;工业产品领域,例如:车用移动电话、车用导航系统等;电话系统领域,例如:语音识别总机服务、语音拔号、语音订票订位等。
1 语音识别基本原理语音识别就是让机器听得懂人们所讲的话,基本框架如图1和图2所示。
图1是语音训练模型的部分:将已知的语音信号经由端点侦测(End Point Detection)及特征参数求取(Feature Extraction)而产生标准的语音参考样本。
将待测的语音信号,经与图1同样的处理步骤求得特征参数后再与前述的标准语音参考样本对比,找出最相似的参考样本作为辨识的结果。
2 语音识别分类若依使用者的限制而言可分为特定人语音与非特定人语音识别。
2.1 特定人语音识别使用特定人语音识别系统前,须先把使用者的语音参考样本存入当成比对的资料库,即特定人语音识别系统在使用前就必须先进行图1的训练学习步骤。
2.2 非特定人语音识别使用本系统前根本不需要先学习,便能直接使用。
一套最佳的语音识别系统是不须经过学习便能进行语音识别,但通常辩识率都比较低。
另外以说话方式的连续是否又可分为非连续语音识别和连续语音识别。
对于非连续语音来说,识别所说的每一个字必须分开辨认;而连续语音识别可以一般自然流利的说话方式来进行人性化的语音识别,但由于关系到相连音的问题,很难达到好的辨认效果。
单片机中的USB接口设计原理及应用分析USB(Universal Serial Bus)是一种用于电脑与外围设备之间进行通信和数据传输的标准接口。
它具有简化连接过程、高速传输能力和广泛的应用范围等优点,因此在现代电子设备中得到了广泛应用。
本文将介绍单片机中的USB接口设计原理及其应用分析。
一、USB接口设计原理1.1 USB接口的基本原理USB接口由主机(Host)和设备(Device)组成。
主机负责控制和管理通信过程,而设备则执行主机的指令。
USB接口采用了一种主从式架构,主机为USB控制器,设备为USB设备。
数据通过USB总线进行传输。
1.2 USB接口的硬件设计USB接口的硬件设计主要包括物理层和电气层。
物理层主要涉及连接器的设计和布线,电气层则规定了电压、电流和信号传输的规范。
物理层设计包括USB连接器的选型和布线方式。
USB接口常用的连接器有A 型、B型、C型等。
布线方式主要包括了信号线的长度控制和阻抗匹配等。
在布线中要尽量避免串扰和干扰,以保证数据的完整性和可靠性。
电气层设计包括了供电电源的选择和数据信号的传输规范。
USB接口规定了数据传输的速率和电平,一般有低速、全速、高速和超速四种传输速率。
同时还规定了电压和电流的规范,以及USB总线上的阻抗等。
1.3 USB接口的协议设计USB接口通信采用了一种特定的协议,包括传输层和报文层。
传输层负责数据的传输和流控,报文层则负责数据的封装和解封装。
传输层设计了数据的传输方式,包括同步传输和异步传输。
同步传输适用于大容量的数据传输,而异步传输适用于低速的数据传输。
流控机制可以控制数据的传输速率,以避免数据的丢失和错误。
报文层设计了数据的封装和解封装方式,包括数据的格式和差错检测。
USB接口规定了数据的格式和帧结构,以在有效载荷中传输数据。
同时还采用了差错检测机制,以保证数据的完整性。
二、USB接口的应用分析2.1 USB接口在嵌入式系统中的应用USB接口在嵌入式系统中得到了广泛的应用,例如智能家居、工业控制、智能穿戴设备等。
SPCE061A单片机在USB通讯中的应用
SPCE061A单片机在USB通讯中的应用
SPCE061A单片机在USB通讯中的应用
2007-01-20
电子通信论文
SPCE061A单片机在USB通讯中的应用
USB(UniversalSerialBus)是通用串行总线。
最初USB是由Compaq、Digital、IBM、Intel、Microsoft、NEC以及NorthernTelecom(北方电信公司)七家公司共同开发的一种新的外设连接技术。
诸家公司联合提出这一新型总线,是为了解决PC机外围设备的拥挤和提高设备的传输速度。
目前普遍采用的USB1.1主要应用在中低速外部设备上,它提供的传输速度有低速1.5Mbps和全速12Mbps两种。
扣除用于总线状态、控制和错误监测等的数据传输,USB的最大理论传输速率仍达1.2Mb/s或9.6Mb/s,远高于一般的串行总线接口。
现有的USB外设有:数字照相机、音箱、游戏杆、调制解调器、键盘、鼠标、扫描仪、打印机、光驱、软驱等。
1998年后随着微软在Windows98中内置了对USB接口的支持模块,加上USB设备的日渐增多,USB逐步走进了实用阶段、以惊人的速度发展。
由于现在市面上新出一款单片机SPCE061A,它非常有特色。
本文主要介绍,利用SPCE061A 和USB接口芯片PDIUSBD12来开发USB设备。
SPCE061A单片机由台湾凌阳公司制造,SPCE061A单片机款式新颖,而且性价比极高。
SPCE061A在2.6V~3.6V工作电压范围内的工作速度范围为0.32MHz~49.152MHz;2K字SRAM和32K字FLASH 仅占一页存储空间;32位可编程的多功能I/O端口;两个16位定时器/计数器;低电压复位/监测功能;8通道10位模/数转换输入功能并具有内置自动增益控制功能的麦克风输入方式;双通道10位DAC方式的音频输出功能;指令系统提供具有较高运算速度的16位×16位的乘法运算指令和内积运算指令,为其应用
增添了DSP功能.....。
较高的处理速度使SPCE061A能够非常容易地、快速地处理复杂的数字信号。
开发数字声音和语音识别产品,选择SPCE061A是一种最经济的选择。
本文所设计的USB设备系统的功能比较简单,它主要实现SPCE061A 与PC机之间的简单通讯,是SPCE061A单片机的一种基本应用。
这篇文章的主要目的是希望能够给读者起抛砖引玉的作用,开发者可以在这个基础上修改程序,轻松实现USB设备系统开发。
本文所设计的系统具有三种简单功能:1.检测USB 外设是否连接成功。
2.通过点击PC端的应用软件上的按钮,可以点亮或熄灭与SPCE061A单片机IO口相连的LED灯。
3.应用软件发送任意字符串到SPCE061A,SPCE061A接受、回送字符串,应用软件接受到字符串时,能够将它显示出来。
4.1系统组成本USB通讯系统,主要由凌阳十六位单片机SPCE061A,Philips 公司的USB接口芯片PDIUSBD12组成,系统框图如图3.10所示。
这个系统的`基本工作流程为:PC端应用软件,发送ID0(为了使主机和设备方能同步,该系统定义了三个握手ID:ID0,ID1,ID2。
)给PDIUSBD12,PDIUSBD12接收数据,产生中断通知SPCE061A单片机读取数据。
SPCE061A如果读取的数据为ID0,那么发送ID0给PDIUSBD12;PC机端应用软件发送完数据后,读取外设发送的数据,如果读到的数据为ID0,那么弹出一个提示框,提示USB外设连接成功。
此后PC 机端的应用软件和USB外设之间的通讯都是通过ID来进行的。
4.2硬件设计系统电路原理图如图3.11所示。
其中PDIUSBD12用作实现PC机与SPCE061A单片机进行通信的高速通用并行接口。
USB协议层的相关通讯协议通过PDIUSBD12来实现,它由硬件实现不需要固件的参与。
SPCE061A单片机的主要作用:1.windows系统配置、枚举USB外设时,SPCE061A发送、接收相关的USB设备信息。
2.windows系统配置、枚举USB外设成功后,根据接收到的ID,进行相应的操作,起控制作用。
SPCE061A内嵌32K的FLASH的存储空间、14个中断源,它在2.6~3.6V的工作电压范围内的工作速率范围为0.32MHz~49MHz,这使得它有较高的速率和存储空间来应付USB通讯。
单片机SPCE061A与PDIUSBD12之间通讯采用中断方式,数据交换主要是靠SPCE061A单片机给PDIUSBD12发命令和数据来实现的。
PDIUSBD12通过这种方式来识别命令和数据:在ALE信号的下降沿时锁定地址,如果是奇地址,那么它接收的是命令;如果是偶地址,那么它发送或接收的是数据。
PDIUSBD12的中断寄存器只要不为0,它的中断输出引脚
(INT_N)就保持低电平,所以系统初始化时可将SPCE061A单片机的外部中断(下降沿触发)引脚IOB2设置为带上拉电阻输入。
当PDIUSBD12的中断寄存器由零变为非零时,马上触发SPCE061A的外部中断,SPCE061A单片机在中断处理时,读取PDIUSBD12芯片的状态寄存器以清除中断寄存器中对应位,使得中断引脚变为高电平。
这样使得SPCE061A可以在退出中断后,可随时响应外部中断。
图3.11中的LED1灯非常有用,它是PDIUSBD12的GOODLINK指示灯,在系统枚举时会根据通信的状况间歇闪烁,当PDIUSBD12被枚举和配置成功后,将一直点亮。
随后在USB通信时会闪烁,这对调试非常有用。
4.3软件设计 USB设备的软件设计主要包括两部分:一、USB设备端的单片机软件,主要完成USB协议处理与数据交换。
二、PC端的程序,由USB驱动程序和用户服务程序两部分组成,用户服务程序通过USB驱动程序通信,由系统完成USB协议的处理与数据传输。
该系统单片机端的软件流程如图3.12所示。
SPCE061A单片机控制程序由三部分组成:第一、初始化SPCE061A和PDIUSBD12。
第二、主循环部分,主要任务是判断标志位是否改变,如果改变则执行相应的程序,否则一直循环等待中断。
第三、中断服务程序,主要任务是接收、发送数据,设置相应的标志位。
主机首先要发令牌包给PDIUSBD12,PDIUSBD12接收到令牌包后就给单片机发中断,单片机进入中断服务程序,首先读PDIUSBD12的中断寄存器,判断USB令牌包的类型,然后执行相应的操作。
因此,单片机程序主要就是中断服务程序的编写。
在USB单片机程序中要完成对各种令牌包的响应,其中比较难处理的是SETUP 包,主要是端点0的编程。
系统初始化部分包括系统时钟,IO口,中断设置(开外部中断),PDIUSBD12芯片软件复位、初始化。
该主流程的核心部分是协议层的请求处理,它关系到PC机枚举USB外设成功与否。
所以在调试单片机程序的时候,要特别注意Window对USB设备的枚举顺序。
如果枚举成功,主机将找到新的设备,提示安装驱动程序;否则找到未知设备,USB外设不可用。
中断服务子程序的编写,采用混合编程,也就是说,在汇编程序中调用C函数,这样可以提高代码的可读性。
中断服务子程序的流程如图3.13所示,有好几个地方,只做清中断处理,这是因为有些端点没有用到。
它只作为一个程序接口,为扩展系统功能用。
目前编写主机的USB驱动程序主要采用三种方法。
第一,使用WindowsDDK来编写驱动程序,难度很大,但是非常灵活;第二,使用
DriverStudio开发工具来生成驱动程序;第三,使用Windriver开发工具来生成驱动程序。
用后面两种方法来开发驱动程序的周期短,但是不灵活。
本系统的驱动程序采用DDK编写,用户服务程序能够通过驱动程序与PDIUSBD12芯片中任意端点通讯,因此编写用户服务程序也是非常灵活的。
4.4总结通常在开发USB设备产品,需要编写实时性、程序可读性要求很高的代码,这时就需要采用混合编程。
而凌阳的m’nSP IDE具有良好的编程环境,它可以很轻松、很容易进行混合编程(在C程序中调用汇编程序,在汇编程序中调用C程序)。
在该系统中,只用到了SPCE061A单片机的外部中断、IO口资源。
其实SPCE061A单片机的资源很丰富,它除了具有普通单片机功能以外,还具有语音识别、语音录放等功能。
因此这个系统只是一个雏形,SPCE061A还能够实现比较复杂的功能,比如使用SPCE061A的录音功能进行录音并将语音数据存储到外扩的FLASH,然后通过USB通讯,将语音数据送到PC机上播放,同样也可以将PC机上压缩后的语音文件下载到SPCE061A上进行播放。
这样可以很容易使用SPCE061A可以开发录音笔、电话记录仪等USB设备。
因此利用SPCE061A开发USB设备产品的前景是非常广阔的。