当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]安全认证系统中嵌入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接口即可。

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭