位置:51电子网 » 技术资料 » 单 片 机

SPCE061A单片机在USB通讯中的应用

发布时间:2008/5/27 0:00:00 访问次数:568

usb(universal serial bus)是通用串行总线。最初usb是由compaq、digital、ibm、intel、microsoft、nec以及northern telecom(北方电信公司)七家公司共同开发的一种新的外设连接技术。诸家公司联合提出这一新型总线,是为了解决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(universal serial bus)是通用串行总线。最初usb是由compaq、digital、ibm、intel、microsoft、nec以及northern telecom(北方电信公司)七家公司共同开发的一种新的外设连接技术。诸家公司联合提出这一新型总线,是为了解决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软件设计

相关IC型号
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!