当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]安全认证系统中嵌入USB接口技术

USB(Universal Serial Bus)通用串行总线是计算机与其外围设备通信的一种总线标准,是近年来应用在PC领域的新型接口技术。它的热拔插、即插即用、连接简单、高带宽、可总线供电等优点几乎使其成为目前计算机外设的首选通信接口。世界上几乎所有硬件厂商都生产实现USB协议的芯片。厂商们本着通用性原则,有的在芯片中嵌入了通用微处理器,如CYPRESS公司CY7C6××××系列和INTEL930××系列嵌入了8051系列微控制器;有的则提供了各种常用的与微处理器接口的方案,如NATIONAL SEMICONDUCTOR公司的USBN960× 系列提供了多路与非多路的8位并行接口、DMA并行接口及微波接口;PHILIPS公司的PDIUSBD11提供了I2C总线接口;三星公司研制的USB功能控制器则具有8位并行微处理器接口,并能以同步或者异步方式工作,这为使用USB协议作为通信接口提供了极大的方便。然而,将USB功能嵌入到一种用于安全认证的处理系统中,则存在无法与处理器直接接口的问题。本文探讨了USB功能模块和处理器接口技术,并从其基本应用角度出发,给出了相应的软件流程。具有USB接口的安全认证系统使用简单、便于携带、通信速度快。

1 USB功能模块

    USB功能模块是基于微处理器应用实现USB协议的模块。集成有低速USB收发器,配置有3个基于FIFO的端点、1个控制端点(8字节)、2个可配置传输方向的中断端点(8字节)。每个端点都配置有相应的控制与状态寄存器,带有一个8 位微处理器并行接口,可工作在同步或异步方式。

    USB功能模块的操作对用户来说是完全透明的。包的译码、数据传输到FIFO、从FIFO发送数据和USB包的装配都是自动完成的。当接收到一个正确数据包或发送成功一个数据包,即向MCU发出中断请求,请求将数据取走或装入下一个要发送的数据包。端点FIFO对USB来说是缓存单元,对MCU来说是一个I/O端口。微处理器通过访问USB寄存器来控制USB模块的操作。

1.1 端点0控制/状态寄存器

    D0:OUT_PKT_RDY  FIFO装有一个有效数据包,USB将其置1,产生中断,MCU写D6为1,清除D0。

    D1:IN_PKY_RDY USB成功发送完一个数据包,清D1时产生中断。

    D2:SENT_STALL 控制交换因违反协议而终止,USB置D2,产生中断。

    D3:DATA_END MCU装了最后一个数据包到FIFO,置D3,与此同时,置D1。MCU卸载完FIFO最后一个数据包,清D0,置D3。对于0长度的数据相,MCU卸载完SETUP数据包之后,清D0=0,置 D3=1。USB清D3时产生中断。

    D4:SETUP_END  在DATA_END(D3)置位之前,控制传输结束,USB置D4,产生中断。

    D5:SEND_STALL  如果译码为一个无效的令牌,MCU置D5,与此同时,清D0,USB发STALL给当前的控制传输,MCU写D5=0,结束STALL条件。

    D6:SERVICED_OUT_PKY_RDY  MCU写D6=1以清除D0。

    D7:SERVICED_SETUP_END  MCU写D7=1以清除D4。

1.2 USB功能模块的访问时序

    USB功能模块的I/O接口可工作在同步或异步方式,本文采用同步方式。其对MCU访问的读写时序要求如图1(a)、(b)所示。

    写时序:地址至少要维持两个时钟周期,并且要先于数据一个有效时钟周期,以便将FIFO的写指针选通至RAM写地址端口。当写信号有效时,存储器写使能信号有效,写之后一个时钟周期FIFO指针刷新。地址有效时,片选高有效。

 读时序:一旦地址有效,存储器输出使能有效。地址至少维持两个时钟周期,前一个周期将FIFO的读指针选通至RAM的读地址端口,因此数据比地址晚一个时钟周期出现在数据总线上。当读信号有效时,MCU将总线上的数据读走,与此同时,FIFO的指针刷新。地址有效时,片选高有效。

2 安全认证系统

    系统中采用了具有加解密功能的处理器。处理器采用栈式结构,具有焦点聚合的低功耗内总线结构和超标量指令结构与多种寻址方式等特点,能高速高效地处理数据。嵌入有RSA和DES模块,能对发送和接收的数据进行实时RSA算法或三重DES算法的加密和解密。系统具有8位地址总线,16位数据位宽的并行接口,其I/O访问时序如图2所示。从图2可以看出,I/O访问在一个时钟周期内完成。 [!--empirenews.page--]

3 硬件设计

    将USB接口嵌入到安全认证系统中,从图1和图2可以看出,二者的时序不匹配,不能直接连接,因此在硬件上要进行时序匹配设计,其硬件原理如图3所示。首先将地址和片选信号展宽一个周期。对于写时序,将写信号往后延迟一个时钟周期,即能满足写时序要求;对于读时序,因为读信号有效时,数据必须已出现在数据总线上。从图1(a)可看出,FIFO的数据在地址有效一个时钟周期后才出现在数据总线上,也就是说,微处理器必须先给出一个周期的地址,然后读信号有效,才能得到正确的结果。为解决这个问题,采取了读FIFO时,先写一次FIFO,紧接着读FIFO。但此时要将写信号屏蔽掉,以免影响FIFO的状态。因此设立一个读控制端口,读FIFO时,将其置1,其余时刻清零。假如MCU要从FIFO读取8个字节,则程序如下:

TMOV Z,  01H         //读控制端口98置1

     ZOUT      98H     

     MOV       I, 7           

     TMOV      MD,   bmRequestType //读FIFO的数据到bmRequestType[...]

LX1: ZOUT      FIFO0

     ZIN       FIFO0   

     MOV       T, Z

     MOV       T, MD  

     MOV       I, T

     TMOV      [I], T

     MOV       T, MD

     INC 

     MOV       MD, T

     NEXT      LX1

     TMOV      Z, 00H    //数据读完,98端口清0;

     ZOUT      98H

4 软件设计

    USB系统通过一个列举过程来识别和配置一个新接入的USB设备,这个过程分5步来完成:

    (1)用默认0地址取得设备描述;

    (2)设置设备地址;

    (3)用新地址取得设备描述;

    (4)取得配置描述;

    (5)设置配置。 [!--empirenews.page--]

    列举过程由控制传输来实现。控制传输有三种类型:

    控制读      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接口即可。

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

作者 Mohamad Ali| IBM咨询首席运营官 北京2024年5月24日 /美通社/ -- 生成式AI的兴起几乎在所有面向上给业务带来改变。根据 IBM 商业价值研究院最新的年度 CEO 研究,近60%...

关键字: IBM AI BSP 模型

台北2024年5月21日 /美通社/ -- 提供针对AMD WRX90和TRX50主板优化的DDR5 OC R-DIMM 提供容量128GB(16GBx8)到768GB(96GBx8),速度5600MHz到8...

关键字: AMD 内存 BSP GB

上海2024年5月20日 /美通社/ -- 2024年5月16日,世界知名的生命科学公司 Eppendorf 集团于第二十三届生物制品年会上成功举办了"疫路超越 推流出新"的产品发布会,正式推出大规模...

关键字: RF PEN BSP IMAC

北京2024年5月20日 /美通社/ -- 过去五年里,支付和收款方式日新月异,其发展和变化比过去五十年都要迅猛。从嵌入式数字商务的出现,到"一拍即付"的...

关键字: VI BSP PAY COM

华钦科技集团(纳斯达克代码: CLPS ,以下简称"华钦科技"或"集团")近日宣布致敬 IBM 大型机 60 载辉煌历程,并将继续实施集团大型机人才培养计划。

关键字: IBM BSP 研发中心 PS

助力科研与检测新突破 上海2024年5月15日 /美通社/ -- 全球知名的科学仪器和服务提供商珀金埃尔默公司今日在上海举办了主题为"创新不止,探索无界"的新品发布会,集中展示了其在分析仪器领域的最...

关键字: 质谱仪 BSP DSC 气相色谱

上海2024年5月16日 /美通社/ -- 2024年5月10日至5月13日,富士胶片(中国)投资有限公司携旗下影像产品创新力作亮相北京P&E 2024。在数码相机展览区域,全新制定的集团使命"为世界绽...

关键字: 富士 数码相机 影像 BSP

贝克曼库尔特目前已成为MeMed Key免疫分析平台和MeMed BV检测技术的授权经销商 在原有合作的基础上,继续开发适用于贝克曼库尔特免疫分析仪的MeMed BV检测 加州布瑞亚和以色列海法2024年5月16日...

关键字: BSP IO 检测技术 免疫分析仪

英国英泰力能的燃料电池是可产业化的产品解决方案 英国首个专为乘用车市场开发的燃料电池系统 在 157kW 功率下,此燃料电池比乘用车的其他发动机更为强大 &...

关键字: ENERGY INTELLIGENT 氢燃料电池 BSP

深爱人才,共赴"芯"程 深圳2024年5月15日 /美通社/ -- 5月11日,深圳国资国企"博士人才荟"半导体与集成电路产业专场活动在深圳市重投天科半导体有限公司(简...

关键字: 半导体 集成电路产业 BSP 人工智能
关闭
关闭