网站首页 | 经济学论文 | 证券金融 | 管理学 | 会计审计 | 法学论文 | 医药学论文 | 社会学论文 | 教育论文 | 计算机 | 艺术论文 | 哲学论文 | 财务管理 |
写论文网
  • 会计理论论文
  • 管理会计论文
  • 电算会计论文
  • 成本会计论文
  • 管理体制论文
  • 审计论文
  • 会计研究论文
  • CPA行业论文
  • 您的位置:写论文网 > 会计审计 > 管理体制论文 > SPCE061A单片机在USB通讯中的... 正文 2019-12-25 07:26:39

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

    相关热词搜索:

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

    SPCE061A单片机在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是一种最经济的选择。

    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单片机在USB通讯中的应用|用单片机通讯》由(写论文网)整理提供,版权归原作者、原出处所有。
    Copyright © 2019 写论文网 All Rights Reserved.