·上一文章:飞机刹车模糊神经网络DSP嵌入式控制系统
·下一文章:液晶显示器边框精密检测系统的实现
列举过程由控制传输来实现。控制传输有三种类型:
控制读 SETUP-IN-IN-IN……OUT
控制写 SETUP-OUT-OUT-OUT……IN
无数据相 SETUP-IN
通信开始时,PC首先发SETUP包,SETUP包是8个字节的命令包。当USB接收完8个字节的命令,即向MCU发出中断请求,MCU读取这8个字节,对其进行分析。当USB设备给PC发数据时,执行控制读操作;当PC要给USB设备输出数据时,执行控制写操作。输入或输出数据时,数据包的最大传送字节为8字节。
执行控制写操作时,当USB将接收到的数据包写到了FIFO时,OUT_PKT_RDY标志位置1。MCU查询标志位,读取数据。当MCU读空FIFO数据,即将OUT_PKT_RDY标志位清0;当MCU读完了最后一个数据包时,将DATA_END标志位置1, 告知USB控制写操作完成。
执行控制读操作时,当MCU写了一个数据包到FIFO时,将IN_PKT_RDY标志位置1,USB成功发送完这个数据包时将IN_PKT_RDY标志位清0,MCU查询此标志位,装入下一个数据包。当MCU装完最后一个数据包,即将DATA_END标志位置1,告知USB控制读操作完成。
无数据相接收到SETUP包即告控制传输结束,MCU读完SETUP数据即将OUT_PKT_RDY标志位清0,并将DATA_END标志位置1。其列举过程的软件实现流程如图4所示。
该方案已在PC上通过验证。具有USB接口的安全认证系统,通信速度快、便于携带、使用方便,插入PC的USB接口即可。