微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 拿来即用,指纹识别保密系统完整解决方案

拿来即用,指纹识别保密系统完整解决方案

时间:06-04 来源:互联网 点击:

获 得 底 层 的 差 分 数 据 信 号 , 对其 进 行 转 化 , 利 用 SPI 总 线 接 口 向MicroBlaze 系统提交解析后的数据包。然后 MicroBlaze 进行后续向上的进一步解析。在 SCSI层解析出的数据包是要写入到 Flash 中的数据块、地址及其数据长度等信息。调用 AES 模块,对 数 据 加 密 , 之 后 把 它 按 照 加 密 前 的 方 式 转 发 , 在 物 理层 再 次 通 过 工 作 在 主 机 模 式 的MAX3421E 发送给 U 盘。

4 实现原理

本章将围绕图 3-2 做详细的阐述。

4.1 USB 物理、设备层解析

有四种 packet(令牌、帧开始、数据包和握手)进入 MAX3421E,通过读取 MAX3421E的寄存器可以获得以上四种 packet 的信息,将它分为配置数据和传输数据分别处理。配置数据是 PC 控制 U 盘的,流向只可能从 PC 至 U 盘,而传输数据则是双向的。要从这些数据中区分出哪些数据是将要被存到 Flash 中的,哪些是控制 U 盘操作的。对于那些控制 U 盘操作的数据,MicroBlaze 直接转发给 U 盘,而从 Flash 读来的或者是要写到 Flash 中的数据就需要进行加解密再转发。

从主机发来的数据包根据它们不同的类型发往不同的 USB 端点。USB 端点是 USB 设备特有的一种硬件的接收发送单元。USB 主机与 设备之间都是通过端点来传输数据的。端点是桥 梁 和 纽带 , 不 同的 端 点 其传 输 数 据 的能 力 不 同, 适 于 不 同的 应 用 场合 。 在 Bulk OnlyTransportation 的海量存储实现规范(见 4.3 节)中,使用了三个端点,他们分别是控制端点、数 据输出 端点和 数据输 入端 点。控 制端点 可以 用于控 制命令 的输 出,配 置信息 的输 入和输出,它通常表示为 0 端点,这个端点的流向是双向的,不会出现 STALL 的状态,它负责设备的配置交互,最大 信息包 64 字节。输入输出端点负责数据的输 入、输出,他们都是单向的只能负责输出或者输入,最大信息包 64 字节(USB 全速设备)。

表 4-1 B OT 端点 的属 性

端点

传输类型

端点类型

传输方向

最大传输包

0

控制输入

控制输出

默认

输入

输出

64Byte

1

数据输出

普通

输出

64Byte

2

数据输入

普通

输入

64Byte

4.2 USB 的枚举过程

枚举过程定义为:当设备插入系统时,主机对设备进行配置,获取 USB 设备的各种描述(包括设备描述、配置描述、Bulk Only 数据接口描述、Bulk-In 端点描述、Bulk-Out 端点描述和字符描述),这也就是 USB 设备为什么可以热插拨的原因。USB 设备可分为以下几类:显示器、通讯设备、 音频设备、人机输入、海量存储„„特定类的 设备又可划分成子类。枚举使得主机可以精确定位 USB 设备类型,搜 索相应的驱动程序。

通用海量存储设备(General Mass Storage Device)的设备描述中,不同的 U 盘在某些具体的字段会具备不同的值。对于不同的字段值,在程序中采取了相应的措施以提高 U 盘的兼容性。USB-IF 推荐 使用批量传输(Bulk-Only Transportation)模式,所以 我们的系统也将采用批量传输模式。

4.3 批量传输协议(Bulk-Only Transportation Protocol)

在完成 U 盘的枚举过程之后,识别出为 Bulk-Only 的 Mass Storage 设备,然后即进入Bulk-Only 传输方式。 在此方式下,PC 与 U 盘之间所有数据均通过 Bulk- In 和 Bulk-Out 来进行传输,不再通过控制端点传输任何数据。

图 4-1命令 、数 据 、状 态流程 图

在这种 传输方式下,有三种类型 的数据在USB 和 设备之间传送,CBW、CSW 和普通数据。CBW(Command Block Wrapper)是从 USB Host 发送到设备的命令,命令格式遵从接口中的 bInterfaceSubClass 所指定的命令块,这里为 SCSI 传输命令集。USB 设备需要将 SCSI命令从 CBW 中提取出来,执行相应的命令,完成以后,向 Host 发出反映当前命令执行状态的 CSW(Command Status Wrapper),Host 根据 CSW 来决定是否继续发送下一个 CBW 或是数据。Host 要求 USB 设备执行的命令可能为发送数据,则此时需要将特定数据传送出去,完毕后发出 CSW,以使 Host 进行下一步的操作。USB 设备所执行的操作可用图 4-1 描述。

在流程图中包括了三种形式的数据包,USB 的设备层统一将他们看成数据,不加区分的进行传输,而在功能层上才开始区分这三种不同形式、不同功能的数据包。

4.4 SCSI 指令(Small Computer Systems Interface Block Commands)

在 4.3 节中介绍的 BOT(Bulk-Only Transportation)协议的 CBW 数据包中有一个长度为 6到 12 不等的字段 CBWCB,其传输的就是 SCSI 命令。

表 4-2 MSC 基 本 S CSI 命 令集

INQUIRY

命令描述查询设备的详细信息,如生产厂家、序列号等

REA

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top