当前位置:首页 > 电源 > 数字电源
[导读]SPCE061A单片机在USB通讯中的应用

   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设备的软件设计主要包括两部分:一、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驱动程序主要采用三种方法。第一,使用Windows DDK来编写驱动程序,难度很大,但是非常灵活;第二,使用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设备产品的前景是非常广阔的。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

上海2024年4月17日 /美通社/ -- 每年4月17日是世界血友病日。今年,世界血友病日以"认识出血性疾病,积极预防和治疗"为主题,呼吁关注所有出血性疾病,提升科学认知,提高规范化诊疗水平,让每一位出血性疾病患者享有...

关键字: VII 动力学 软件 BSP

伦敦2024年4月16日 /美通社/ -- ATFX宣布任命Siju Daniel为首席商务官。Siju在金融服务行业拥有丰富的经验和专业知识,曾在全球各地的高管职位上工作了19年以上。Siju之前担任FXCM首席商务官...

关键字: NI AN SI BSP

常州2023年9月25日 /美通社/ -- 9月23日,由江苏省商务厅指导,世界中餐业联合会、常州市人民政府主办的"第三届中华节气菜大会暨首届江南美食节"在江苏常州开幕。文化和旅游部国际交流与合作局一...

关键字: BSP 可持续发展 大赛 质量控制

北京2023年9月25日 /美通社/ -- 9月21日,由中国质量报刊社·中国质量新闻网主办的第六届食品高质量发展交流会在北京举行,会议主题为"高质量,新生活",旨在推动食品行...

关键字: 自动化 BSP ISO9001 NAS

北京2023年9月23日 /美通社/ -- 近日,主线科技正式获准在北京市智能网联汽车政策先行区道路开启常态化测试与示范,将与物流客户在真实开放的城区道路场景中,率先开启基于L4级别自动驾驶能力的智能卡车运输示范。 随...

关键字: 智能卡 测试 高速公路 BSP

曼谷2023年9月18日 /美通社/ -- 作为东南亚的旅游胜地,泰国一直在全球范围内吸引着无数游客的目光。泰国旅游和体育部近日公布的报告显示,今年前7个月,泰国旅游业总收入约为1.08万亿泰铢(约合人民币2233亿元)...

关键字: BSP GEN 国美 AN

哥伦比卡尔达斯2023年9月22日 /美通社/ -- 近日,天合跟踪与中国电建签订拉美地区哥伦比亚泰普伊光伏电站跟踪支架供货协议,将为其提供108MW智能跟踪系统,其中包含开拓者1P智能跟踪支架、智能算法、以及智慧云平台...

关键字: 光伏电站 跟踪系统 控制器 BSP

2型炎症领域新突破 上海2023年9月22日 /美通社/ -- 赛诺菲今天宣布,达必妥®(度普利尤单抗注射液)获得中国国家药品监督管理局(NMPA)批准,用于治疗适合系统治疗的中度至重度结节性痒疹的成...

关键字: PRIME BSP REPORT SAR

欧莱雅中国旗下上海美次方投资有限公司达成首次开放式创新投资 法国克里希2023年9月22日 /美通社/ -- 欧莱雅集团宣布对中国创新型生物科技公司杉海创新进行少数股权投资,以建立长期合作伙伴关系,共同开发新...

关键字: AN BSP DEVELOPMENT FOR
关闭
关闭