论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
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。 第二、主循环部分,主要任务是判断标志位是否改变,如果改变则执行相应的程序,否则一直循环等待中断。第三、中断服务程序,主要任务是接收、发送数据,设置相应的标志位。主机首先要发令牌包