USB技术范文(精选12篇)
USB技术 第1篇
身份认证技术是实现身份信息保密的重要技术, 计算机及网络系统中除用户密码或软件加密身份验证方式外常用的具有较高安全性的身份认证方式有以下两种: (1) USB Key认证:USB Key身份认证技术具有安全性强, 操作简单, 技术成熟, 推广应用成本低, 操作便捷等特点。USB Key是一种USB接口的硬件设备, 具有硬件PIN码保护, 内置单片机或智能卡芯片, 有一定的存储空间, 数据可保存在密码锁中, 可保证了用户认证信息的安全性。 (2) 生物特征识别技术:生物特征识别技术是随着近年来生物技术、信息技术等的发展而产生并逐渐发展的一门新型身份认证技术, 它是利用人体生物特征的唯一性 (如指纹、声音、虹膜等) 来对身份进行识别和认证, 该技术的安全性强, 但技术含量要求高, 操作复杂、推广成本昂贵。
Usbkey是一种通过USB (通用串行总线接口) 直接与计算机相连、具有密码于是USB接口设备, Usbkey通过USB端口提供的电源来工作, 不需要额外的电源、具有密码验证功能、可靠高速的小型存储设备。USB KEY认证最早是由软件保护厂家提出来的, 它结合了现代密码学技术、智能卡技术和USB技术, USB Key认证的硬件数字加密用以保证用户只有通过插入USB Key进行身份认证后才可登入系统, 实现不同用户系统功能的使用权限的不同。
对用户登录信息的认证可以采取两种方式:可以使用客户端签名控件进行签名的方式, 也可以使用向签名验证服务器提交获取签名的方式。用户登陆系统时, 首先需要完成用户和USB Key之间的认证, 通过认证后, 构建CA签名及验证服务平台, 然后客户端使用签名控件对用户登录信息进行数字签名加密, 服务器端使用验证服务平台对用户的数字签名加密信息进行解密并验证, 这样就利用USB Key完成了用户和服务器之间的认证, 从而确定用户有无权限登陆系统及登陆系统后的角色。
USB KEY认证的签名验证流程:
(1) 用户输入PIN码, 通过控件来读取USB KEY中存储的的数字证书及私钥信息。
(2) USBKEY内置加密算法, 使用私钥, 对用户登录信息进行签名加密。
(3) 根据PKCS#7标准, 将原文和签名后的密文和自己的数字证书打包。
(4) 客户端将打包报文发送给认证服务器。
(5) 认证服务器收到报文, 根据PKCS#7格式读出打包信息。
(6) 认证服务器验证用户端所提供的数字证书的有效期、证书链, 并完成黑名单检查, 失败则放弃。
(7) 有效期、证书链和黑名单验证通过后, 认证服务器即使用用户的数字证书的公钥对用户所提供的密文进行解密。
(8) 解密后的报文和原文核对, 相同则表明接受由用户提交的数字证书所申明的身份。
USB Key认证除USB Key读写应用程序外, 还需在开发环境下对签名控件和验证开发包做开发集成。客户端通过签名控件读写USB Key中的证书和私钥, 并通过KEY中的智能芯片用私钥对用户信息加密, 客户端将原文及密文和数字证书打包发给签名认证服务器。服务器验证部分, 通过接口开发包, 将实现数字证书读取和核对数字证书有效性, 并用公钥解密出原文并核对, 从而确认客户端身份。当用户申请数字证书时, 系统利用非对称加密方法生成一对数学钥匙, 即一个公钥和一个私钥, 公钥在批准并发放证书后将列入证书, 其用于核实由相对应的私钥制作的数字签名, 并可对信息进行加密而由相应的私钥进行解密;私钥由申请者保密, 私钥用于制作数字签名, 并可对用对应的公钥加密的文件进行解密。由于私钥的重要和敏感性, 要求其存储在一个能够防止篡改和盗取的安全载体上, USB Key正好能适应这一要求, 它内部的智能芯片的卡片操作系统能实现只在芯片内部产生和使用私钥, 这样私钥就不能被复制和攻击。
这样通过验证签名信息的有效性, 只有用户拥有USB KEY并且通过用户帐号和用户口令验证才能登录系统, 即使拥有USB KEY, 如果不知道系统中的用户口令, 也无法正常登录和使用系统, 从而充分保证了用户登录信息的安全。也就是说USB KEY、用户帐号和用户口令, 缺少任何一个都无法登录和使用系统。
使用USB KEY来作为身份认证的替代方式, 极大地提升了应用系统的安全性, 解决了企业现实存在的实际问题, 具有较强的实用性。
参考文献
[1]汪国安, 杨立身.USB Key身份认证系统的设计与实现[J].河南理工大学学报, 2005.08
简要体验:无线USB技术讲述 第2篇
USB(universal serial bus,通用串行总线)作为一个计算机与外设之间的接口方案,因其具有使用方便、传输速度快、端口易扩展等特点,已经逐步扩展应用到了消费电子、移动通信、家庭网络、工业控制以及仪器仪表等诸多领域。
为了适应各领域对数据传输和接口技术的需要,USB技术的标准从1.0发展到了2.O,数据传输的速率也从最初的1.5Mbit/s提高到了480Mbit/s。在传输速度大幅度提高的同时,USB更是紧跟通信技术的无线化趋势,将传统基于线缆的USB扩展为基于无线传输平台的无线USB(wireless USB)。这种新的高速无线个人互连技术,在继承传统有线USB 2.0标准所具有的较高传输速率优势的同时,充分利用无线传输技术的灵活性与极高的自由度,免除了有线USB需要线缆连接所带来的各种麻烦,为互连设备提供了更大的便利性与可移动性。本文介绍的就是5月底刚刚通过标准的无线USB技术以及它在相关领域的具体应用。
无线USB技术概述
标准化组织与标准化进程
无线USB促进组织(Wireless USB Promoter Group)是无线USB标准的制定机构。该组织成立于初,由英特尔(Intel)发起,成员包括了杰尔系统(Agere Systems)、惠普(Hewlett Packard)、微软(Mircosoft)、NEC、飞利浦半导体(Philips Semiconductor)和三星(Samsung)这几家业界领先的公司,
由于无线USB促进组织所制定的无线USB标准只涉及到较高层次协议规范的制定,物理层和MAC(media access control,媒体访问控制)层则采用了由MBOA(MultiBand OFDM Alliance,正交频分多路复用联盟)和WiMedia联盟(Wireless Multimedia Alliance,无线多媒体联盟)共同制定的UWB(ultra wideband,超宽带)无线标准,因此,这两家旨在推动个人无线领域互连互通的国际标准制定组织对无线USB技术的发展也起了极大的推动作用。
在这些直接或间接影响无线USB标准制定的组织积极作用之下,从20初到205月,短短一年多时间内,无线USB标准经历了数十次的修改、扩充、讨论与完善。在年5月24日的无线USB开发者大会上,无线USB促进组织宣布,无线USB标准1.0修订版的制定工作已经完成,现在通过的标准已经移交给USB实施论坛(USB-Implementers Forum),由后者承担无线USB标准的认证、兼容测试、标志许可以及营销工作。
这项技术挽救了USB? 第3篇
一个多月前,苹果发布的最新12寸MacBook和Apple Watch正是使用了这种USB接口,它融合了电源、USB、显示屏、HDMI以及VGA接口。该接口长0.83厘米,宽0.26厘米,比传统的USB接口小很多,很适合以轻薄和便携为卖点的电子产品。最新这款MacBook重量仅0.92千克,比苹果Air系列中的MacBook Air 11寸笔记本还轻了0.16千克。
当然,Type-C的优势不止于此。同iPhone 5和iPhone 6上所使用的苹果自己研发的Lightning Dock接口一样,它也没有正反方向的区别,即双面可插。同时,它还可以实现数据的双向传输,也就是说,用户不仅可以用配备了这款接口的笔记本为移动设备充电,也可以利用其他设备为这台笔记本充电。
最重要的是,它传输数据的速度更快。理论上,Type-C接口的最高传输速率为每秒10Gbps,传输速度相比前一代的USB接口标准提高了一倍。
“这就好比以前USB连接线上端接了一支水管,而现在接了两支,上下端打通,这样传输数据的效率也就提高了。”微星全球产品经理黄祖沛对《第一财经周刊》说。微星是台湾的一家主板及显卡生产厂商,已经推出了多款搭载USB Type-C的产品。
USB Type-C是USB 3.1标准下的一种接口,该标准于2013年12月3日诞生。其实这一标准下,还有另外两种接口模式:Type-A及Type-B。其中,普遍被称为Micro-B的Type-B接口,已是目前市场上应用最广泛的一种,大部分安卓手机都是采用这种接口。
彼时,3.1标准的推出者USB 3.0 Promoter Group仅发布了Type-C接口的设计渲染图,直到2014年8月才准备好进行大规模量产。
第一款使用Type-C接口的设备是2014年11月问世的诺基亚平板电脑N1,不过,这一特别的配置在当时没能引起外界足够的注意。
这可以理解。虽然USB这种存储、传输设备已进化到3.1时代,但每一代USB技术的升级几乎都仅仅聚焦于传输数据速度的提升上。
继1995年首个USB标准诞生后,如今的USB设备的传输速度,已从最开始的以Mbps为单位,发展到了现在的以Gbps为单位。2008年诞生的USB 3.0标准,高速传输效能就已达到5Gbps,即每秒能传输640兆的数据。
然而,尽管数字上的变化体现得很明显,对于一直使用USB的普通用户来说,体验升级的感受恐怕并不是那么强烈。
而且诸如蓝牙、NFC、Wi-Fi Direct、AirDrop等等传输技术,其无线、便携等特性,以及由此带来的使用场景的延伸,或许比USB单纯的速度提升能让用户兴奋得多。
虽然上述技术目前在传输数据的速度上还无法与USB相比,但这并不足以保证USB不会被很快淘汰。
2012年9月,苹果发布的全新Lightning Dock接口是一个转折点。在苹果的众多产品发布会中,它并不起眼,但更轻薄的接口尺寸、正反双面插等特点却对USB这种有线传输技术的升级方向有了些新的启发。
这些新功能并不是什么革命性的,却在很多细节处直接针对用户的痛点。比如正反双面插,在技术上,它仅需要在接口内部的上下端都使用相同的触点。而这一改变,却能给用户带来更多的方便,他们无需再注意接口的正反—如同锁孔老是插错钥匙容易造成锁芯的磨损一样,电子设备上的接口也是如此。
有媒体评论,如果没有Lightning Dock接口,恐怕很难有公司会热衷于USB Type-C—即使它在功能上做了进一步的升级。Type-C的支持者包括英特尔、微软等公司,而现在,苹果也加入到这个阵营中,这也使Type-C终于引起了更多人的兴趣。
相比Lightning Dock接口适配性不强的劣势,Type C正尽可能地实现整合音频、视频等所有接口的功能。今后,或许各种运动装置甚至包括一些潜水装置都有可能采用Type-C接口。
此外,电源充电效率的提升也是一个改进方向。“USB 3.1的应用可以让手机充电时间缩短到原来的1/2或者是1/3。”黄祖沛说。
Type C的这些新功能加上传输速度的进一步提升,会让人们对未来的USB多一些想象:人们在上班路上,可以通过公共网络将高清视频下载到手机上;当这些影音资料越来越多的时候,就可以用Type-C连接线将这些资料导入到PC、平板电脑等各个设备上。
由于受到设备本身的限制,Type-C现在的实际传输速度只能达到理论值的8成,大约是8Gbps。但微星等推广者相信,未来,实际传输速度与理论传输速度会不断接近。
“这两年,我们一直在产品层面观察着USB的发展动向,也一直在等待USB Type-C的进一步完善。其实早在一年半以前我们就在产品上预留了这一技术的位置了,所以现在我们可以很快地进行量产。”微星全球行销经理张博雯对《第一财经周刊》说。
更何况,固态盘这样的存储装置的价格越来越低,使USB Type-C还具有成本优势,也让越来越多设备选择搭载这一接口成为可能。
当然,微星等推广者也承认,无线技术也许仍然会是最终的大趋势。苹果就正在同时布局众多的无线解决方案。不过由于现阶段无线传输速度不稳定,容易受到外界环境的影响和干扰,在相当长的一段时间内,它还是无法在充电、高速数据同步以及高品质的音频输出等方面替代USB这样的有线传输方式。
而从另一角度看,USB这一“传统”技术终于开始积极地自我变革,没准还会起到激励无线技术加速发展的作用—如果终究不能避免被淘汰的命运的话,至少,人们今后也会多几个怀念USB的理由。
USB技术 第4篇
近几年随着无线技术的快速发展, 无线USB接口技术也应运而生。无线USB是基于超宽带无线通信技术 (Ultra Wide Band, UWB) 的宽频带、低功率谱密度优点。随着各种类型的USB外设 (如USB闪存盘、USB视频头、USB鼠标等) 的陆续出现, USB通信的优点越来越广泛的被人们所熟知, 将外设连接到计算机时, USB接口成为优先的选择, USB总线主要具有以下优点:
(1) 使用方便:设备自动识别, 自动安装驱动程序, 支持动态接入。
(2) 应用范围广:传输速率从几Kb/s至几百Mb/s;同一组总线上可以同时支持同步和异步传输类型;支持对多个设备的同时操作 (多连接) ;支持多达127个物理外设;支持在主机和设备间多个数据和消息流的传输。
(3) 灵活性高:可以有很多不同大小的分组, 并允许在一定范围内选择设备的缓冲区;通过支持不同的分组缓冲区和时延要求, 支持不同数据传输速率的设备。
(4) 传输可靠性高:协议中包含错误检测机制。
二、直接数字通信设计
(一) USB控制系统设计
USB接口引擎的芯片仅处理USB标准协议包的通信;具有结构相对简单、灵活性高、设计复杂性低的特点。本文遵照USB协议的定义, 参考市场上已有的USB IP核, 可以分析出一个USB设备控制器应具有如下主要功能:协议数据翻译、总线上事件检测、事务传输控制。
协议数据翻译:由于USB数据传输采用反向不归零 (None-Return to Zero Inverted, NRZI) 编码, 并有位填充, 所以在发送或接收串行数据时需要进行编码与解码。数据在控制器内传输时以字节为单位, 因此还需要进行串并转换。USB数据以包为单位在总线上传输, 在进行NRZI解码后需要识别数据包开始、结束标志数据校验采用循环冗余校验 (Cyclic Redundancy Check, CRC) 方法, 在接收或发送数据时需要进行相应的CRC校验。
总线上事件检测:对于USB总线事件需要进行检测与确定, 完成在各状态之间正确转换。USB事务传输控制:不同类型的USB事务有不同的传输控制机制, 需要根据USB协议中所规定的顺序来收发一系列USB包, 完成一次事务传输, 所以USB设备控制器要做到能够正确识别由主机发来的各种包, 并能根据传输机制做出正确处理。
物理层包括收发器和UTMI两部分, 其中收发器采用Agere Systems公司的芯片USS2X1A 8-bit, 它的主要功能包括包开始 (Start of Packet, SOP) 和包结束 (End of Packet, EOP) 信号的检测和产生时钟恢复, 即时钟和数据的分离和提取;NAZI编码和解码;填充位的插入和删除;串/并和并/串转换;填充位错误和EOP错误的检测。UTMI模块实现总线上事件检测功能, 完成USB设备各状态之间的转换。该部分对USB数据并不进行处理, 仅负责收发器和协议层PL模块之间的数据传递。
控制器将转换后的数字量直接存储到FIFO存储区中, 也可以读取FIFO存储区中的数据并输出到外部I/O接口。从而在单片FPGA上控制伺服系统所有信号。
USB设备控制器的核心部分是协议层SIE模块, 它主要完成USB事务传输控制功能。协议层SIE对于UTMI传递过来的USB包要能进行识别和翻译。
端点控制模块用于端点的选择及端点访问控制, USB核支持多达16个端点, 实际使用时端点数目可设置。控制器都必须通过对端点寄存器读写来进行控制。此模块是由端点和状态寄存器构成, 存放各种状态信息和事件数据。
每个端点分别定义一套设置和功能相同但地址不同的寄存器, 以端点0为例, 它包括端点0状态控制寄存器 (EP0_CSR) , 记录了端点状态, 包括端点号、端点类型和传输类型等一些状态属性的信息。
USB规范参照网络中的开放系统互联参考模型 (Open System Interconnect Reference Model, OSI) 采用了分层描述。USB规范把USB系统分为三层, 即接口层、设备层和应用层。
(二) 物理层面的数字部分设计
USB接口的物理层包括数字和模拟两部分。本文只实现了物理层的数字部分。UTMI模块含有接收状态机、发送状态机、接口状态引擎和速度识别引擎4部分组成。接收/发送状态机分别为接收和发送数据部分的核心控制逻辑, 控制着对数据操作的顺序, 接口状态引擎用于跟踪接口的各状态信息, 它可以控制串行通信芯片的挂起/恢复工作模块, 还可以控制芯片的全速/高速通信速率的转换。接口状态引擎子模块采用一个内部状态机保持各状态信息和芯片操作模块转换的信息。这些信息放在状态寄存器中。速度识别引擎用来判断串行数据通信的速率, 并处理芯片挂起和复位操作的数据流方向。
(三) 串行接口引擎即协议层设计
设备控制器的核心部分是串行接口引擎即协议层模块, 它主要完成USB事务传输控制功能。协议层对于UTMI接口传递过来的USB包要能进行识别和翻译。同时该模块判断出当前的传输事务是何种类型, 根据USB事务传输机制适时发送正确的USB包, 由收发器传递给UTMI模块处理。该模块的结构主要包括:打包模块、解包模块和协议引擎模块。协议层中的打包模块专门负责组装USB包, 如果有需要发送的USB包, 则送往打包模块组装, 先组装包头, 插入适当的PID, 然后加入数据字段和校验字段。
如果有UTMI模块传递过来的USB包, 则送往解包模块拆装, 先解码出PID, 八位PID的低四位得到PID, 通过USB2.0协议的PID类型定义译出PID, 再对其后的数据字段进行校验并和包中校验字段比较。
(四) 控制设备传输层面设计
应用层不负责具体的传输, 它控制设备传输哪些数据, 由主机的用户软件和设备的功能单元组成, 功能单元是用户软件对USB设备的抽象。设备的功能主要在这一层上实现。功能单元提供每个USB设备所需的特定功能, 主机端包括用户软件和设备驱动程序, 设备端的功能由功能单元来实现, 他们之间的联系看作是逻辑上的数据流。
数控系统的性能一定程度上是由系统参数决定, 如何正确传输和设置这些参数也是实现直接数字通信的关键问题, 参数的正确传输与否直接影响机床正常的工作及其性能的发挥。通常一个数控系统都有大量参数, 少则几十个, 多则上千, 这里我们仅选取一个关键参数的传输来说明数据如何在这一层上进行传输。
在完成以上物理层和协议层的设计后, 首先根据系统参数把由一组指令实现的某种功能对应的程序存入存储器中, 用一个命令代表这些功能。编写控制程序时只要写出该代表命令, 就能实现这些功能。
参数的存储由于数控机床的参数是需要根据机床的状况进行更改的, 所以参数都保存在可读写的存储区内。本文设计了16个端点, 每个端点的存储区都可以存参数、程序、参数等数据。系统当前的数据可以存放在任何一个区中, 也可以从任一区域读数据作为当前使用的数据。
三、结语
本文首先介绍了USB系统的逻辑体系结构, 接着讲述了USB协议规定的数据通信机制, 数据传输格式, 信息包的组成和分类, 数据传输的4种方式, 本文结合本系统选择中断和控制传输方式, 讲述和USB设备控制器设计相关的一些基本概念, 描述符的具体设置及通信配置。根据USB协议先对USB设备控制器进行功能模块划分, 对各部分进行说明。完成对物理层和协议层的设计, 给出了设计生成的状态转换, 接口信号, 数据传输流程。
摘要:串行接口总线 (Universal Serial Bus, USB) 实现了高速、多点的数据传输和数据监控等功能, 简化了数控系统的接口设计, 提高了数控系统的性能。
关键词:直接数字通信,USB,设计
参考文献
[1]逢田宏树, 菊池隆裕, 枝洋树.从UWB到无线USB[J].电子设计应用, 2004, 05:51-55
[2]Intel Corporation.Designing a Robust USB Serial Interface Engine (SIE) [EB/O1].http://www.usb.org/developers/whitepapers/siewp.pdfs.
[3]Trenz Electronic.Full-Speed USB1.1Function Controller Product Specification参考文献[EB/O1].http://www.trenz-electronic.de
USB技术 第5篇
摘要:在当今数字世界中,身份认证技术是各种安全技术的基础。USB Key技术是现在比较流行的基于PKI的强身份认证技术,特别是在网上银行等金融领域。研究了USB Key的典型使用流程,分析了这些流程中的安全威胁,最后着重提出了针对这些风险的安全解决方案,这些方案都是在具体项目得以实施应用,对目前的USB Key使用和开发具有很好的实用和借鉴意义。
关键词:USB智能密码钥匙;公钥密码基础设施;身份认证;数字签名;网上银行
中图分类号:TP393.08 文献标识码:A
Analysis and improvement of PKI identity authentication technology based on USB Key Abstract: Now in digital world, all of security technologies are based on digital identity authentication technology.And the USB Key technology is one of the most popular technologies, which is a strong authentication technology and based on PKI, especially in Internet banking filed.The typical usage flows are researched, the security threats are analyzed.At the last, the solutions are proposed corresponding to these threats, which is applied in practical projects and have great practical and economic value.Key words: USB Key;PKI;Identity authentication;Digital signature;Internet banking 1引言
随着互联网和电子商务的发展,USB Key作为网络用户身份识别和数据保护的“电子钥匙”,正在被越来越多的用户所认识和使用。
USB Key[1,2,3]这个概念最早是由加密锁厂家提出来的,加密锁是用来防止软件盗版的硬件产品,用于识别用户身份。与此同时,随着PKI[45,6]应用的兴起,数字证书[45,6]作为确认用户身份和保护用户数据有效手段越来越被人们所接受。然而数字证书实质上表现为带有用户信息和密钥的一个数据文件,如何保护数字证书本身又成为PKI体系中最薄弱的环节,专门用于存储秘密信息的USB Key就很自然的成为数字证书的最佳载体。利用USB Key来保存数字证书和用户私钥。
每一个USB Key都带有PIN码保护,这样USB Key的硬件和PIN码构成了可以使用证书的两个必要因子,也就是所谓的双因素认证[7]。
随着智能卡[8]技术的发展,智能卡运算能力不断提高,带有智能卡芯片的USB Key可以通过内置的智能卡芯片在Key内部硬件实现DES/3DES、RSA加解密运算,并支持Key内生成RSA密钥对,杜绝了密钥在客户端内存中出现的可能性,大大提高了安全性。
这样,基于智能卡技术和PKI技术的发展形成了目前广泛使用的USB Key身份认证产品。USB Key 基本功能包括:高质量随机数生成,公/私密钥对产生,数字证书下载存储,哈希运算,数字签名/验证,对称加/解密,非对称加/解密等功能。
USB Key是目前所有身份认证技术中认证强度最高的技术,但是使用过程中的漏洞会大大削弱这种优势,其安全形势也不用乐观。USB Key的使用流程
网银[9](Internet Banking,网上银行)等金融领域是目前USB Key应用最广泛最成熟的领域,下面主要以网银案例来介绍USB Key的使用流程,以时序图形式说明。2.1 首次登录流程
用户1.0 插入USB KeyUSB Key客户端网银服务器1.1 虚拟光盘自动运行1.2 客户端启动并进入登录界面1.3 与服务器建立单向SSL安全通道1.4 与客户端建立单向SSL安全通道1.5 提示用户输入相关信息进行用户绑定1.6 用户输入身份证号和授权码1.7 提取相关序号1.8 设备序号和数字证书序号1.9 发送用户信息到服务器1.10 验证用户信息如果成功,则绑定用户身份证号、USB Key序号及数字证书序号1.11 返回绑定结果1.12 提示用户登录成功或失败
图1 首次登录流程图
2.2 普通登录流程
用户2.0 插入USB KeyUSB Key客户端网银服务器2.1 虚拟光盘自动运行2.2 客户端启动并进入登录界面2.3 与服务器建立单向SSL安全通道2.4 与客户端建立单向SSL安全通道2.5 提示用户输入口令2.6 用户输入口令2.7 验证用户口令指令2.8 返回验证结果2.10 提取相关序号2.11 设备序号和数字证书序号2.9 验证失败则提示用户,否则继续2.12 发送用户信息到服务器2.13 验证用户信息2.14 返回验证结果2.15 提示用户登录成功或失败
图2 普通登录流程图 2.3 客户端认证和转账流程
用户USB Key3.0 用户登录成功后,转账客户端网银服务器3.1 与服务器建立双向SSL安全通道3.2 SSL签名请求3.3 SSL签名3.4 与客户端建立双向SSL安全通道3.5 建立失败则提示用户,否则继续3.6 提示用户输入转账信息3.7 输入转入账号和金额3.8 提交转账请求3.10 返回请求结果3.11 提示用户输入USB Key口令3.12 输入用户口令3.13 签名请求3.14 签名值3.15 提交交易签名3.9 验证表单3.16 验证签名3.17 返回验证结果3.18 返回交易结果
图3 客户端认证和转账流程图 USB Key安全性分析及改进方案
3.1 安全风险[10][11]
目前USB Key安全风险有:
USB Key 口令(密码)明文传输,可能被USB监听工具截获;
有的网银系统USB Key只做身份认证,不进行交易签名;或者USB Key签名请求没有校验和客户确认机制,客户在使用网银进行资金操作时,其用户私钥存在被他人远程非法调用并进行交易的可能;
USB Key主控密钥管理不善,存在泄露风险,不法分子可远程调用USB Key进行非法交易签名,进而盗取用户资金。3.2 安全需求:
加强用户交易授权认证。在使用USB Key进行交易授权认证时,应增加客户交易确认手段,如增加向客户发送含有待确认交易信息的短信等第二渠道认证方式,或使用带有确认按键或显示屏的USB Key。
严格USB Key密钥安全管理。要采用加密手段保存和传输USB Key的口令(密码),严格USB Key主控密钥、传输密钥等安全管理,防止不法分子获取USB Key访问控制权,非法调用或修改用户私钥。
加强网上银行客户端的安全保护。在保护键盘输入、防通信明文窃取、防黑客程序跟踪、防内存数据截获、防截取屏幕信息、防“钓鱼”欺骗、防交易数据篡改等多方面对网上银行系统及客户端采取技术加固措施。
3.3 安全改进措施 3.3.1 用户口令安全
用户口令的输入主要有两种:PC端输入和USB Key端输入。
PC端输入包括使用PC键盘和虚拟软键盘,PC键盘输入相对比较容易拦截监听到,而软键盘布局随机排列且不易被拦截到。PC端输入方式口令验证过程的安全性主要靠动态密钥加密用户口令数据。
另外,USB Key配备数字全键盘或可以输入数字的按键,用户口令(包括修改)的输入全部在设备上完成,用户口令不会出现在USB通信中,所以从根本上防止口令被拦截或破解。同时,由于用户口令在设备上输入,外界无法直接向设备发送校验口令指令,有效防止通过远程恶意发送校验口令指令导致设备锁死。
3.3.2 密钥对安全
用户密钥对是在申请证书时在设备内部随机产生的,而不是事先存在或导入的。
用户私钥存放于芯片特殊保护区域,外面无法对其直接操作,并且通过各种手段都无法读出或替换,防止用户私钥被导出、读出或替换,保证用户私钥数据的安全。
所有用户私钥的操作都由用户口令来控制,需用户口令验证通过后才能进行数字签名操作,在操作完成后重置验证口令标志,防止私钥操作被远程劫持。同时,加密私钥操作指令的会话密钥都是一次一密,有效防止签名指令重发攻击。3.3.3 数据通信安全
设备和主机的通信数据很容易被USB监控软件(如:Bushound)获取,保护通信数据的安全,防止敏感信息泄露就显得至关重要。
基本思路:数据通信安全就是要保护主机和设备通信数据,防止数据被截取或篡改。保护通信数据的密钥是动态会话密钥,而不是单纯的静态密钥,这样即使某一段数据被拦截并破解,只要及时协商一个新的会话密钥,即可防止后面的通信被破解。并且,比如签名等比较敏感的指令数据的会话密钥都会用一次协商一次(一次一密)。协商基本流程,如图4所示。
主机设备
1、在设备初始化/格式化时随机产生一个专门用于协商会话密钥RSA密钥对(K)2.“发起协商”会话密钥,并携带主机产生的8字节随机数(Rh)3.返回设备随机数(Rd)和RSA密钥对公钥(Kpub)4.组装会话密钥,并用公钥(Kpub)加密会话密钥5.“协商”会话密钥指令,携带加密的会话密钥6.用私钥(Kpri)解密出会话密钥7.返回协商结果8.加密通信数据
图 4 安全通信的基本流程
1、会话密钥对生成。专门用于协商会话密钥的RSA密钥对(以下简称会话密钥对)在设备初始化/格式化时生成,这个密钥对与用户的密钥对毫无关系,仅用于会话密钥的协商,即使这个密钥对被破解也不会影响到用户的密钥对。会话密钥对随机产生,每个设备都不相同,并且同一个设备每一次格式化的密钥对也不相同。这些措施的目的就是要保障即使一个设备通信被破解也不会影响到别的设备,并且可以防止通信重放攻击。
2、发起协商。协商会话密钥的过程由主机(应用)发起。主机发送“发起协商” 指令,该指令同时携带主机随机产生的8字节随机数(Rh).指令形式如:发起协商指令头+主机产生的8字节随机数(Rh)。
3、返回设备随机数和会话密钥对公钥。当设备收到发起协商指令后,设备首先保存主机产生的8字节随机数(Rh),同时设备也产生8字节的随机数(Rd)。最后设备返回随机数(Rd)和会话密钥对公钥。指令响应形式:设备产生的8字节随机数(Rd)+会话密钥对公钥(Kpub)。
4、组装会话密钥。当主机收到发起协商指令返回后,主机保存设备产生的8字节随机数(Rd)和会话密钥公钥(Kpub)。接着,主机开始组装会话密钥,组装完成后用会话密钥公钥(Kpub)加密会话密钥。组装过程,如图 5 所示:
设备 8字节随机数(Rd)主机 8 字节随机数(Rh)设备右半 4 字节随机数主机左半 4 字节随机数设备左半4字节随机数主机右半4字节随机数RSA 公钥加密会话密钥公钥(Kpub)会话密钥密文
图 5 组装会话密钥
5、协商。主机组装完会话密钥并加密后,通过“协商”指令发送到设备,指令形式如:协商指令头+会话密钥密文。
6、设备解密会话密钥。当设备收到“协商指令” 发送过来的会话密钥密文后,设备使用会话密钥对的私钥(Kpri)解密出会话密钥(SK)。由于在“发起协商” 指令中设备已经获得了主机产生的随机数,所以设备也会自己组装会话密钥(SK’),然后设备比较(SK)和(SK’)是否一致。最后返回协商结果给主机,如图6所示。会话密钥密文8字节设备随机数(Rd)8字节主机随机数(Rh)会话密钥对私钥(Kpri)RSA私钥解密会话密钥(SK)设备右半4字节随机数主机左半4字节随机数设备左半4字节随机数(Rd)主机右半4字节随机数(Rd)比较返回失败相同?更新当前会话密钥返回成功图 6 解密会话密钥
7、返回协商结果,返回协商结果成功或失败。
8、加密通信。会话密钥协商成功后,主机和设备就可以使用刚刚协商的会话密钥来加密通信。一些敏感指令(比如:签名,验证用户口令)需要会话密钥动态变化,一次一密。3.3.4 交易签名安全
交易签名是对敏感交易数据进行签名。在签名运算之前,交易数据(TLV格式)先送到USB Key设备上显示,用户确认后在设备内部进行签名,防止非法程序对所签数据进行篡改。同时,由于内部数据签名之前进行数据填充,有效防止利用非交易签名来伪造交易签名。
签名数据数据检查USB Key内部符合交易数据格式(预定义TLV格式)是交易数据确认(设备LCD显示)数据填充否对填充后数据做哈希运算从设备上验证用户口令对数据哈希值做签名运算签名值
图 7 数据签名流程
从图 7 可以看到,明文数据进入设备后,设备首先检查数据是否是预定义格式的签名数据,如果不是的话,将不在设备上显示,验证用户口令后直接签名,返回签名值;如果符合交易数据格式化的话,首先在设备上显示交易内容,待用户确认后,对交易数据进行特别的内部填充,接着对填充后的数据进行哈希运算获取哈希值,待在设备上验证用户口令后,对数据进行签名并返回签名值。整个流程数据从进入设备到签名,从未出过设备。
由于交易签名数据会在设备内部填充,而非交易签名数据(比如:SSL安全通道签名)不会被填充,外界也无法模拟这个填充过程,所以利用非交易签名来伪造交易签名就无法实现。
同时可以发现,图中的除了数据填充外,其他过程都是标准处理流程,所以下面主要介绍一下数据填充。
数据填充的目的是防止交易签名的伪造,交易数据的填充过程,在设备外面无法完成,因为填充的数据是保密的。数据的填充方式如:填充值+交易签名数据。
填充的关键是填充的数据值。填充数据是在设备初始化/格式化时写入设备的,根据设备序号来派生的,因而每个设备的填充值都不一样;并且派生密钥存在控制卡中,由银行管理员来设置别人无法获取,因而无法得到填充值。
填充值写入设备安全机制,如图8所示:
签名填充值写入及授权使用<
图 8 填充值写入设备机制
填充值是在设备格式化时写入的,此时设备和控制卡之间经过双向认证(遵循 GP 2.1.1 SCP01规范)已建立安全通道,所以填充值明文不会出现在主机内存中,格式化程序也无法获取。结论
我们生活的现实世界是一个真实的物理世界,每个人都拥有独一无二的物理身份。而今我们也生活在数字世界中,一切信息都是由一组特定的数据表示,当然也包括用户的身份信息。而计算机只能识别用户的数字身份,所以计算机给用户的授权也是针对用户数字身份进行的。保证访问者的数字身份与物理身份相对应,就是身份认证管理系统所需要解决的问题。为了保护信息安全,现在有身份认证、授权管理控制、日志审计、防火墙等安全技术。其中身份认证是其他技术的基础。如果用户身份被非法冒用,那么用户的权限也被非法使用,安全审计等就失去意义。本文通过研究当前最流行的基于PKI的USB Key身份认证技术,总结出目前USB Key使用或部署中的一些安全威胁;最后针对这些安全威胁,对每个具体的安全点都提出了实用的安全解决方案,这些方案都在项目或产品中得到应用和检验,具体很好的使用价值和经济价值。
参考文献:
USB技术 第6篇
故障现象一:USB鼠标老是断开连接然后重连。
解决办法:这不是主板供电不足的问题,而是设置问题。依次点开“控制面板/电源选项/更改计划设置/更改高级电源设置/USB设置/USB选择性暂停”,全部设为已禁用(如图1)。
故障现象二:USB鼠标一会儿不用,就会突然间不能动了,拔下来重新插上,就又恢复了正常。
解决办法:该问题主要是由Windows XP系统默认的USB电源管理设置问题造成的,用户只需调出设备管理器界面,点开“通用串行总线控制器”下拉菜单,用鼠标右键点选标有黄色感叹号的一项后,在弹出菜单中选择属性项。接下来将弹出窗口切换到“电源管理”项下,取消对“允许计算机关闭这个设备以节约电源”项的勾选(如图2)。
故障现象三:主板USB硬件接口供电不足,导致鼠标跳帧、假死、失效等故障。
解决办法:该故障有一部分可能是因为USB线材不良引起的,一般更换USB插线就可以解决,而大多数是由于主板本身USB接口设计供电不足造成的。USB接口有四个触点,分别是电源+5V、数据-、数据+、电源地,USB设备与计算机通过数据+和数据-通道进行数据传输,+5V、电源地具有为外部设备供电的能力。一般来说,电脑的前置USB是通过机箱上的数据线和主板上的USB插座连接,供电性能不佳,故当出现USB鼠标接前置USB口出现故障时,可以先转接到USB后置接口。
USB技术 第7篇
关键词:C8051F020,CH372,USB,CPLD
0 引言
USB(Universal Serial Bus,通用串行总线)是在1995年被提出来的,并由Compaq,Digital Equipment Corp(现属于Compaq),IBM,Intel,Microsoft,NEC和Northern Telecom等7家公司定义和推广[1]。USB作为一种新的计算机接口技术与标准,以其使用方便、易于扩展、速度快及热插拔等优点而广泛应用于数据采集技术中,不仅简化了计算机与外设的连接过程,提高了低速和高速的兼容,同时还为用户提供了一种可共享、可扩充的使用方便的串行总线。
1 CH372简介
USB总线接口控制器是USB设备与主机通信的重要器件,主要有两种:第一种是带USB接口的单片机;第二种是专用的USB接口芯片。本研究中采用专用的USB接口芯片CH372,并配合C8051F020单片机进行协议处理和数据交换。CH372是南京沁恒电子有限公司生产的一种USB总线通用接口芯片,是CH375芯片的功能简化版。在本地端,CH372具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机/DSP/MCU/MPU等控制器的系统总线上;在计算机端,CH372的配套软件提供了简洁易用的操作接口,与本地端的单片机通讯就如同读写文件。
CH372控制器的主要特点[2]:
(1)支持全速设备接口, 兼容USB2.0规范, 即插即用, 外围元器件只需晶体和电容。
(2)提供一对主端点和一对辅助端点, 支持控制传输、批量传输、中断传输。
(3)具有省事的内置固件模式和灵活的外部固件模式,内置固件模式下屏蔽了相关的USB协议.自动完成标准的USB枚举配置过程,完全不需要本地端控制器作任何处理,简化了单片机的固件编程。
(4)通用Windows驱动程序提供设备接口,通过DLL提供API应用层接口。
(5)通用的本地8位数据总线,4线控制:读选通、写选通、片选输入、中断输出。
2 系统硬件电路设计
微控制器采用Silicon Laboratorcs公司的C8051F020,它是全集成混合信号SoC处理器,具有与8051兼容的高速流水线结构的CIP-51内核,速度可达25MIPS,具有可在线编程的64kB Flash存储器和4352字节的片内RAM,片上集成全速非侵入式在系统调试接口。C8051F020片上集成8路12位逐次逼近式ADC,转换速率高达500ksps[3]。
CH372芯片在本地端提供了通用的被动并行接口,通过被动并行接口,可以很方便地挂接到各种8位单片机、DSP、MCU的系统总线上,并且可以与多个外围器件共存。采用3.3V供电的CH372可与C8051F020使用相同的电源,其连接方式如图1所示。
CH372芯片的UD+和UD-引脚应该直接连接到USB总线上。CH372的8位并行数据端口USB_D[0∶7]与C8051F020的数据端口D[0∶7](P7口)相连;同时读选通输出/RD和写选通输出/WR分别连接到单片机。/CS由地址译码电路驱动,本研究中地址译码采用CPLD模块来实现,用于当单片机具有多个外围器件时进行设备选择。/INT输出的中断请求时低电平有效,单片机可以使用中断方式或者查询方式获知中断请求。
CPLD模块采用Altera公司推出的MAX II器件EPM570T100C5芯片。单片机与CPLD之间的接口是通过单片机的地址总线(A11-A15)端口以及读写控制I/O口与CPLD的I/O口相连来进行地址译码和读写控制。
3 系统软件设计
3.1 USB接口软件设计
(1)固件程序
由于本研究使用的CH372内置固件模式屏蔽了相关的USB协议,自动完成主机的USB枚举配置过程,完全不需要本地端控制器做任何处理,所以固件程序只需要实现涉及数据交换、参数设置的要求即可。
①初始化程序
初始化程序主要完成两个任务:设置芯片的工作模式和测试芯片的工作状态是否正常。CH372与单片机连接后产生两个地址:命令口(A0=1)和数据口地址(A0=0),这里分别用CH372_COM和CH372_DATA表示,并分别采用void CH372WriteCom(BYTE cmd)和void CH372WriteData(BYTE data)函数对其赋值,另外BYTE CH372ReadData(void)函数则用于返回CH372_DATA的值。
CH372初始化函数void CH372_Init(void)部分功能实现如下:
CH372WriteCom( CMD_SET_USB_MODE );/*调用CH372写命令函数,设置USB工作模式*/
CH372WriteData( 2 ); /*调用CH372写数据函数,设置为使用内置固件的USB设备方式*/
for (i=100; i!=0; i--) //等待操作成功
{
Delay_us(10);
if( CH372ReadData( ) == CMD_RET_SUCCESS ) break;
}
/*下述启用中断,且CH372连接在INT1*/
IT1 = 0; //置外部信号为低电平触发
IE1 = 0; //清中断标志
EX1 = 1; //允许外部中断
②中断发送程序
中断服务程序通过执行CMD_GET_STATUS命令获取并分析中断状态,若是发送数据成功,执行CMD_RD_USB_DATA命令从CH372读取接收到的数据;若是上传数据成功,执行CMD_WR_USB_DATA7命令向CH372写入下一组要发送的数据;若是中断数据,分析控制命令类型并转入执行相应的数据采集控制。
中断服务函数void INT1_ISR() interrupt 2 using 1部分功能实现如下:
CH372WriteCom( CMD_GET_STATUS ); // 获取中断状态并取消中断请求
IntStatus = CH372ReadData( ); // 获取中断状态
IE1 = 0; //清中断标志,与单片机硬件有关,对应于INT1中断
switch( IntStatus ) //分析中断状态
{
case USB_INT_EP2_IN: //批量端点上传成功,数据发送成功
CH372WriteCom( CMD_UNLOCK_USB ); /*释放当前USB缓冲区,收到上传成功中断后,必须解锁USB缓冲区,以便继续收发*/
break;
}
(2)驱动程序
USB驱动程序采用WDM驱动程序。WDM型驱动程序是内核程序,它采用分层结构模型,较高级的USB设备驱动程序和较低级的USB函数层;其中USB 函数层由两部分组成:较高级的通用串行总线驱动程序模块(USBD)和较低级的主控制器驱动程序模块(HCD)。通过USB总线设备用户不需要直接和硬件打交道,所有的USB 命令、读写操作通过总线驱动程序转给USB 设备,因而用户只需通过下层驱动程序提供的接口即可访问硬件。本研究中直接应用CH372芯片开发商提供的设备驱动程序,驱动程序可在根目录/参考文档/USB/CH372DRIVE 中找到,安装完成后,在PC 机的设备管理器中的“外部接口”下出现“USB CH372/CH375”。
(3)应用程序
CH372在计算机端提供了应用层接口,应用层接口是由CH372动态链接库DLL提供的面向功能应用的API,所有API在调用后都有操作状态返回,但不一定有应答数据。CH372动态链接库提供的API包括:设备管理API、数据传输API和中断处理API。
在计算机端采用C语言编写程序。首先调用API函数LoadLibrary()装载CH375DLL.DLL驱动文件,然后再进行读写操作。操作CH372之前需调用CH375OpenDevice()函数打开设备,操作结束后调用CH375CloseDevice()函数关闭设备。常用操作函数有CH375ReadData()和CH375WriteData(),为设备的读写函数,以及CH375SetTimeout()函数,用于指定读写操作的超时强制返回时限[4]。
3.2 CPLD软件设计
采用Altera公司的CPLD开发软件Altera QuartusII 完成系统的软件设计,Altera QuartusII 设计软件提供完整的多平台设计环境,能够直接满足特定设计需要,为可编程芯片系统(SOPC) 提供全面的设计环境。其中HDL语言中的VHDL硬件描述语言,与具体的工艺技术和器件无关,易于共享和复用,具有多层次描述系统硬件功能的能力。在本设计中,CPLD主要实现的功能为地址译码端口,利用VHDL语言进行软件的设计。CPLD地址译码地址分配表见表1所示。
4 试验结果
本文研究的基于CH372的USB通信技术,其通信调试过程如下:
(1)在计算机端安装CH372的驱动程序CH372DRIVE,安装完成后,单片机板可以像U盘一样在计算机上进行热插拔;下载CPLD570T文件夹中的程序到altera的CPLD中。
(2)运行USB芯片的初始化程序后, 在计算机的设备管理器中会出现“USB CH372/CH375”,如图2所示,此时USB接口芯片正常工作,计算机和单片机板可以采用请求加问答的方式进行通信。
(3)运行单片机示例程序,并打开厂家提供的CH372的调试工具,点击“打开设备”后,在端点2下传数据框中写入要下传的数据(16进制数据)和数据长度,点击“下传”按钮,这样数据便传到单片机中,单片机随即将数据回传到PC 机,此时,点击端点2上传的“上传”按键,数据便显示于上传数据框中,如图3所示。
5 结束语
本文研究了基于CH372的USB通讯技术,采用CH372接口芯片很好地实现了单片机与计算机的数据通信;并采用CPLD实现地址译码与读写控制,CPLD与单片机的结合可以有效地实现过去需要利用单片机和大量外围接口芯片才能完成的功能,并可以根据需要不断扩展外围电路,实现用户的需要。试验表明该设计能够有效完成数据传输,增强传输的准确性和可靠性,在数据采集领域有着广泛的应用前景。
参考文献
[1]许永和.8051单片机USB接口程序设计(上)[M].北京:北京航空航天大学出版社,2004.
[2]USB chip Products.CH372/CH372A Datasheet[EB/OL].(2007-10-20)[2009-12-10].http://wch-ic.Corn/product/usb/ch372.asp.
[3]Silicon Laboratories Inc.C8051F02x Data Sheet[EB/OL].[2008-8-30].https://www.silabs.com/products/mcu/mixed-signalmcu/Pages/C8051F02x.aspx.
USB技术 第8篇
USB OTG是USB2.0的补充, 旨在脱离PC的情况下实现不同的设备间的连接和数据交换。为实现OTG功能, 本文采用两个内置OTG控制器芯片的设备, 设备间通过Mini-A至Mini-B电缆连接, 电缆两端都采用同一种结构。这种结构是以S3C2440的ARM920T为硬件开发平台, 以ISP1362为OTG控制器, 以Linux为操作系统, 其中ARM通过串口与PC机相连, 通过PIO模式与ISP1362相连。
2 OTG连接器
OTG规范增加了一种插头[1]:Mini-A, 两种插座:Mini-A和Mini-AB。Mini-AB插座用于两用设备。Mini-A新增的ID脚在连接Mini-AB时接地短路, 而Mini-B则使该脚断开, 这样两用设备便可识别连接设备的类型以决定设备的默认角色。Mini-A和Mini-B插头是严格配对适用的。Mini-AB插座适合于以上两种插头。OTG还新增了两种电缆:Mini-A至Standard-B和Mini-A至Mini-B。
3 Linux USB驱动系统
Linux USB驱动程序结构如图1所示。图中阴影部分为项目中要完成的内容, 其余部分为Linux环境提供的。图1中各模块的功能描述如下:
(1) 主机控制器驱动主要功能是初始化USB控制器芯片、响应中断、控制主机和外设之间的USB标准流量、枚举外设以及管理主机和外设之间的数据流。USB总线驱动程序主要作用是对USB操作进行抽象化。主机端设备驱动是特定设备驱动程序的主机部分。
(2) 外设控制器驱动主要任务是对USB外设总线接口的管理。USB外设核则需要提供API接口给上层的功能驱动模块。外设端的功能驱动模块则需要根据应用的要求制定配置信息, 描述USB外设端的特性并向USB外设端栈进行注册。
(3) OTG驱动是实现OTG功能的最主要的设备驱动, 其主要作用是检测当前USB控制器的OTG状态, 实现OTG协议。
4 OTG驱动程序设计
实现USB OTG协议的主要工作就是实现主机协商协议 (HNP) 和会话请求协议 (SRP) 。当通过电缆相连后, 与mini-A插头相连的设备称为A设备, 与mini-B插头相连的设备称为B设备。
4.1 SRP的实现
OTG规定作为主机的双重角色设备只需提供8mA的总线驱动电流, 而且为了节省能源, 在不使用总线时允许A设备关闭VBUS。如果B设备在VBUS关断时需要使用总线, 那么它可以用SRP请求A设备在VBUS上提供电源。
当ISP1362用作B设备时, 可通过数据线脉冲和VBUS脉冲初始化SRP[3]。当ISP1362用作A设备时, 它可以选择响应数据线脉冲和VBUS脉冲的一种。对于VBUS脉冲, 如果VBUS电压高于VA_SESS_VLD, SRP检测位就会被置位, 指出检测到SRP。对于数据线脉冲, 如果D+线或者D-线为高电平, SRP检测位就会被置位, 指出检测到SRP。
4.2 HNP的实现
为描述HNP, 不管设备处于A设备还是B设备, 运行其上的应用程序都要发送一个文件给远程的设备。下面描述应用程序启动A设备会话和B设备会话的过程。
(1) 应用程序启动A设备会话
应用程序向ISP1362发送总线请求, OTG驱动调用OTG状态机, 最后A设备进入A_HOST状态, 远程设备进入B_PERIPHERAL状态。A设备状态转换:A_IDLE->A_WAIT_VRISE->A_WAIT_BCON->A_HOST。B设备状态转换:B_IDLE->B_PERIPHERAL。
应用程序发现设备处于A_HOST状态。因此, 枚举B设备并开始发送文件。完成后, 应用程序取消总线请求, 设备回到A_IDLE状态。A设备状态转换:A_HOST->A-SUSPEND->A_WAIT_VFALL->A_IDLE。B设备状态转换:B_PERIPHERAL->B_IDLE。
(2) 应用程序启动B设备会话
应用程序向ISP1362发送总线请求, OTG驱动调用OTG状态机, 最后设备进入B_PERIPHERAL状态, 远程设备进入A_HOST状态。B设备状态转换:B_IDLE->B_SRP_INIT->B_IDLE->B_PERIPHERAL。A设备状态转换:A_IDLE->A_WAIT_VRISE->A_WAIT_BCON->A_HOST。
A设备枚举B设备, 发送set_feature (b_hnp_en) 命令, 完成HNP握手, 进入A_SUS-PEND状态。B设备确认并进入B_HOST状态。B设备状态转换:B_PERIPHERAL->B_WAIT_ACON->B_HOST。A设备状态转换:A_HOST->A_SUSPEND->A_PERIPHERAL。
应用程序发现设备处于B_HOST状态。因此, 枚举A设备并开始发送文件。完成后, 应用程序取消总线请求, 设备回到B_IDLE状态。B设备状态转换:B_HOST->B_PERIPHERAL->B_IDLE。A设备状态转换:A_PERIPHERAL->A_WAIT_VFALL->A_IDLE。
总结
本文介绍的USB OTG驱动程序已经在嵌入式ARM-Linux系统中实现, 使用此驱动, OTG设备间可以非常便利地互连与传输。
摘要:在分析了USB与USB OTG协议基础上, 详细介绍了嵌入式Linux下OTG驱动程序的设计, 另外, 还简要介绍了OTG连接器和Linux USB驱动系统。
关键词:USB OTG,ISP1362,嵌入式,Linux
参考文献
[1]周立功.USB2.0与OTG规范及开发指南[M].第一版.北京:北京航空航天大学出版社, 2004;366-384.
[2]On-The-Go Supplement to the USB2.0Specification R evision1.3[S], 2006.
USB技术 第9篇
蓝牙通信技术是一种用于替代便携或固定电子设备上使用的电缆或连线的短距离、低成本的无线连接技术,它是一种能够实现语音和数据无线传输的开放性方案。嵌入式车辆管控系统可广泛应用于货运、客运、金融、邮政、公安、交通、政府用车、单位及社会车辆的监控、调度、报警。随着智能网络及交通运输服务市场的繁荣,系统的应用前景将会更广阔。
如何有效地利用已有资源,设计一套基于蓝牙的嵌入式车载卡的设计与开发,使其具有智能的防盗功能。原理图如图1。
此智能车载卡由三部分构成:基于蓝牙技术的ROK 101 007蓝牙收发芯片、C8051F022微处理器(含存储器)以及USB控制芯片USBN9604。现主要介绍USB控制芯片USBN9604的设计使用。
2. USBN9604的特点
USBN9604是NationalSemiconductor公司设计生产的一款较新型的专用USB通信控制芯片, 是U S-B N 9 6 0 2的改进产品, 同时在时钟产生电路的复位机制上又较USBN9603有所改进。USBN9604支持全速传输, 可满足USBl.0和1.1协议。它具有8位并行接口, 可支持D M A、M I C R O W I R E/P L U S。图2是U S-BN9604的结构框图。其主要特点如下:
工作频率为4 8 M H z,但外部只需接24MHz晶振,因为芯片内部有倍频电路,因而可得到48MHz时钟。
可由编程时钟发生器编程产生不同的频率时钟,以作为外部器件 (如CPU) 的时钟信号。
带有串行引擎接口 (SⅢ) ,可实现USB物理层和信号层协议的转换,主要有CRC校验/产生、PID校验/产生、位填充/解除填充、地址识别、握手评估/产生、并串转换等。
带有7个端点的USB功能控制器,每个端点对应一个FIFO。其中端点0是双向控制端点 (FIFO 8字节深) ,另有3个发送端点:EPl (16) 、EP3 (16) 和EP5 (64) 以及3个接收端点EP2 (16) 、EP4 (16) 和EP6 (64) 。
USBN9604内部有64个映射到内存的寄存器,主要有主控制寄存器 (MCNTRL) 、时钟配置寄存器 (CCONF) 、主事件寄存器 (MAEV) 、转换事件寄存器ALTEV) 、接收发送事件寄存器 (RXEV、TXEV) 以及各端点的控制寄存器和收发数据及状态寄存器等。固件的大部分功能就是完成对此寄存器组的读写,实现对接口的配置、接口状态的转换以及数据在外设和计算机之间的传输等。
USBN9604内部有64个映射到内存的寄存器,主要有主控制寄存器 (MCNTRL) 、时钟配置寄存器 (CCONF) 、主事件寄存器 (MAEV) 、转换事件寄存器ALTEV) 、接收发送事件寄存器 (RXEV、TXEV) 以及各端点的控制寄存器和收发数据及状态寄存器等。固件的大部分功能就是完成对此寄存器组的读写,实现对接口的配置、接口状态的转换以及数据在外设和计算机之间的传输等。
3. C8051F022微处理器与USBN9604接口芯片的连接
USBN9604与微控制器的并行连接有两种方式:即非复用方式和复用方式。它们可通过设置引脚MODE0、MODE1来选择。当M O D E 0和M O D E 1连接低电平时USBN9604采用非复用模式;当MODE0接高电平,M O D E 1接低电平时采用复用方式。在非复用方式时,可用控制引脚C S、R D、W R、地址引脚A 0和双向数据线D[7:0]实现相应的地址读写。而在复用方式时,则使用控制引脚C S、R D、W R、地址锁存信号A L E和双向数线D[7:0]实现其地址读写。
本设计采用总线复用方式进行数据交换。图2所示是C 8 0 5 1 F 0 2 0单片机和U S B N 9 6 0 4的接口电路,该电路由一片C 8 0 5 1 F 0 2 0单片机、U S B控制芯片USBN9604、时钟振荡电路以及相应的外围电路组成。其中USBN96O4通过外部中断INT与单片机进行通信。
数据总线和低8位地址总线共享相同的端口引脚:AD[7:0],地址锁存信号ALE连接到USBN9604的A0引脚,用于控制USBN9604内部地址锁存寄存器,保持低8位地址。通过交叉开关的特殊寄存器将数据总线和数据总线定义到相应的端口。当我们在选用总线复用模式,用低端口作为扩展外部数据存储器总线时需要做以下工作:
1) 用外部存储器接口(EMIF)设置寄存器EMIOCF选择端口:EMIOCF.5置0,将P3、P2、P1、P0选用外部扩展总线。
2) 选择复用方式:将EMIOCF.4置0,定义复用方式。定义P3.7-P3.0为数据总线D7-D0和低8位复用地址总线A7-A0, P2.7-P2.0定义为高8位地址总线A15-A8, P0.7定义为写控制(WR), P0.6定义为读控制(RD), P0.5定义为ALE。
3) 选择存储器模式:用EMIOCF.3-2,选择EMIF的工作模式,当EMIOCF.3-2为01时外部存储器接口工作在不带块选择的分片方式,在这种模式下寻址低于4K边界的地址时访问片内存储器,寻址高于4K边界的地址时访问片外存储器,也就是说该设备的寄存器地址范围是0X1000-0X10FF。
4) 设置外设接口时序:外设读写时序通过EM0TC特殊寄存器设置,EM0TC.7-6设置EMIF地址建立时间,EM0TC.5-2设置E M I F的W R和R D脉冲宽度,EM0TC.1-0设置EMIF地址保持时间。
所以通过上面步骤我们设置EMIF的相关特殊寄存器为以下值:
EMI0CF=0x07;//使用低端口,复用方式以不带片选方式工作
EMI0TC=0x21;//地址建立时间为0, RD/WR持续时间为9个系统时钟周期,地址保持时间为1个系统周期。
在设置E M I F之后,我们读取USBN9604的寄存器就像读取普通外部数据存储器一样。我们可以这样编写对USBN9604读取的函数:
设备固件 (firmware) 设计:USB接口的程序包括三个基本的部分: (1) 初始化,这部分程序用来对单片机C8051F020、USB控制芯片USBN9604和所有外围电路进行初始化; (2) 主循环,发送USB请求、处理USB总线事件和用户事件处理; (3) 中断服务程序,对USBN9604产生的中断进行处理。初始化程序中对USBN9604的初始化包括: (1) 进行软件复位,它不影响时钟输出,相当于一个硬件复位; (2) 设置中断方式,确定中断输出是高电平有效还是低电平有效; (3) 设置缺省地址,这是由于USB规范规定设备在总线为其分配地址之间要以0作为缺省地址; (4) 设置中断屏蔽,在USBN9604中各个端点的发送数据、接收数据和发送NAK握手包等事件可能产生中断;设置中断屏蔽这个步骤确定了哪一个端点的哪一种事件能够产生中断。设备固件是设备运行的核心,其主要功能是控制芯片USB9604接受并处理USB驱动程序的请求(如请求设备描述符、请求或设置设备状态、请求设备设置、请求或设置设备接口等供10种USB1.1标准请求)。描述符包括设备描述符和配置描述符,USB规范给出了它们的格式,想要处理器正确识别设备并安装驱动程序,这些描述符必须根据具体设备的情况填写。如果这些设置正确,这时该已经成为一个USB设备,能够被处理器正确识别。
4. C8051F022中USBN9604的初始化过程
我们把u s b芯片和处理器连接好之后,需要写入程序对接口芯片进行初始化,参考程序如下:
这程序包括了usb响应。
参考文献
[1]杨振江等.智能仪器与数据采集系统中的新器件及应用[M].西安:西安电子科技大学出版社, 2001
[2]刘书明, 冯小平.数据采集系统芯片ADmC812原理与应用[M].西安:西安电子科技大学出版社.2000
[3]马建仓, 罗亚军, 赵玉亭.蓝牙核心技术及应用[M].北京:科学出版社.2003
[4]麦克斯.PC数据采集——使用C++测量物理量[M].北京:中国电力出版社.2004
[5]基里阿纳基.智能传感器数据采集与信号处理[D].北京:化学工业出版社.2006
[6]周方圆.无线传感器网络管理与性能分析系统[D].北京:北京邮电大学.2007
USB技术 第10篇
关键词:USB-Key,数字图书馆,统一认证
无论数字图书馆技术如何发展,从简单的图书馆网站到未来泛在的综合性数字图书馆,用户在使用数字图书馆资源之前都需要进行登录。只有当数字图书馆接受了一名合法用户的登录后,才能依照权限的设定为其提供相应的信息资源进行查询、浏览、下载等服务。网络环境的复杂使得合法用户在登录数字图书馆的过程中存在严重的安全隐患。如何保证合法用户的登录信息不被盗取、合法身份不被冒用成为一个很重要的安全问题。
1 数字图书馆的运营
数字图书馆是运用当代信息技术,对数字信息资源进行采集、整理和储存,并向所有连接网络的用户提供,为一定的社会政治、经济服务的文化教育机构以及这种机构的组合。数字图书馆建设是以统一的标准和规范为基础,以数字化的各种信息为底层,以分布式海量资源库群为支撑,以智能检索技术为手段,以电子商务为管理方式,以宽带高速网络为传输通道,将丰富多彩的多媒体信息传递到千家万户;这个丰富的多媒体信息平台则包含了数字文化平台、数字教育平台、数字新闻平台、数字商务平台、数字娱乐平台和数字情报中心,从这个意义上看,数字图书馆是以支持全国范围内的文化娱乐、教育科研和情报咨询为主的多功能大型知识库。数字图书馆的最终目的就是采用现代高新技术,为用户提供对网上这个大型知识库的有效访问和利用功能,而且不受时空限制。它涵盖了信息资源的生命全过程(生产、加工、存储、检索、传递、保护、利用、归档、剔除)。
2 网络环境对数字图书馆登录认证提出了新的要求
2.1 数字图书馆的运营模式
从20世纪60年代开始至今,与数字图书馆相关的技术发展突飞猛进:功能日渐强大的个人计算机价格却日渐低廉,与此相适应,电子存储成本也飞速下降;随着高速网络的日益普及,访问数字图书馆也更方便;对信息检索,元数据描述,文本转换,页面描述语言乃至用户界面设计等技术都逐步发展成熟。但对于数字图书馆的商务系统以及信息传输的安全机制,一般数字图书馆仍是采用“会员名+密码”的身份认证方式。读者通过购买读书卡(或预付一定的费用)、下载专用的阅览器、注册为会员,登录时输入自己的用户名和密码,即可阅读下载所需资料的方法,读者阅读的费用已包含在支付过的读书卡费或会员预付费中,读书卡有使用期限,到期后可续费。
2.2 现行论证模式存在的风险
这样的读书卡形同借书证,操作较简单,方便经常阅读的读者。很明显,这种身份认证方法操作十分简单,但同时又最不安全。因为其安全性仅仅基于用户口令的保密性,而用户口令一船较短且容易猜测,因此这种方案不能抵御口令猜测攻击。其次,口令的明文传输使得系统攻击者很容易通过搭线窃听方法获取用户口令。最后,由于系统保存的是口令的明文形式,一方面要求系统管理员是可信赖的,另一方面,一旦攻击者能够访问口令表,整个系统的安全性就受到了威胁。口令方案对重传攻击也毫无抵抗能力。
数字图书馆的计费方式要么按阅读和下载的数量付费,要么采用包月制。用户名与密码被黑客攻破后,不是读者受损失,就是数字图书馆运营商受损失。
为了实现身份认证过程和数字信息流通过程的安全保密,在“用户与各资源站点”之间建立一个统一的安全认证平台,并将USB-Key的身份认证技术应用于该认证平台之中。
3 USB-Key在数字图书馆身份认证中的应用
3.1 建立统一认证平台
数字图书馆不是指某一具体的图书馆电子资源,它是将分布在各地各类型的数字化馆藏集中起来统一进行调度管理。数字图书馆一般是由电子图书、电子期刊、电子音像资源、随书光盘以及其他多媒体等信息资源组成(如图1所示)。
由于数字资源的供应商各自使用的系统不同,每一供应商都有各自的登录认证系统,当读者从不同资源站点下载所需资源时,必须要通过多个信息资源供应商的登录认证系统,取得信息资源供应商的信任后才能获得所需资源。而且由于每个服务器的登录认证系统不尽相同,这样不停的登录认证再获取所需数字资源的方式,不仅给读者带来了不便,同时也不利于将先进的认证技术应用于数字图书馆各数据厂商的认证系统中。
现代数字图书馆要求其拥有一个统一资源检索平台。这样,虽然解决了读者在每一种资源中登录、论证、检索的问题,但未解决认证中的安全性问题。因此,建立一个统一的安全认证网关,采用USB-Key进行身份验证,就可极大地提高数字图书馆的论证安全性、可靠性,有效地保护了读者和运营商的利益(如图2所示)。
3.2 采用USB-Key进行身份验证
3.2.1 USB-Key技术
USB-Key的身份认证方式是近几年发展起来的,一种方便、安全、可靠的身份认证技术。它采用一次一密的强双因子认证模式,很好地解决了身份认证的安全可靠问题,并提供了USB接口与现今的电脑通用连接。和单钥的动态密码锁不同的是,USB Key采用双钥(公钥)加密的认证模式,USB Key是一种USB接口的硬件设备,外形跟普通的U盘差不多。它内置单片机或智能卡芯片,有一定的存储空间,可以存储用户的私钥以及数字证书,利用USB Key内置的公钥算法实现对用户身份的认证。由于用户私钥保存在密码锁中,理论上使用任何方式都无法读取,因此保证了用户认证的安全性。
同时,USB Key的硬件和PIN码构成了可以使用证书的两个必要因素。如果用户PIN码被泄漏,只要保存好USB Key的硬件就可以保护自己的证书不被盗用,如果用户的USB Key丢失,获得者由于不知道该硬件的PIN码,也无法盗用用户存在USB Key中的证书。
USB Key的一个最重要的优点就是成本低廉。一些单片机芯片USB Key的成本可以低于10元,很利于大规模普及应用,不过单片机芯片USB Key虽然成本低廉,但是芯片容易被黑客硬件复制。而智能卡芯片的USB Key就不容易被硬件复制,不过带来的是较高的成本,一般智能卡芯片的USB Key的价格都要高于30元。随着芯片技术的发展和生产数量的不断增大,USB的成本会不断下降到一个合理的价位。
3.2.2 USB-Key身份认证流程
1)USB Key内置密钥为S2,认证密钥为S1,认证密钥的加密密钥为S3,认证密钥的解密密钥为K,将K存储于USB Key内。
2)当读者登录数字图书馆认证系统的时候,首先通过USB Key向系统提出申请认证,在电脑上插入USB Key并输入PIN码。用户输入正确的口令认证方可继续,当输入错误口令超过一定次数,用户密码将被锁住,此时必须由管理员来解锁用户密码。
3)认证系统接收到用户的认证申请,由认证服务器产生一随机数(简称C),并将其传给客户端的USB Key。
4)USB Key以(C,S2)为参数,进行HASH(C,S2)运算,将运算结果与认证密钥的解密密钥K一同传送给认证服务器。
5)为了防止攻击者攻击认证的主机,本系统将认证密钥进行了加密存储(即将S1变成S3),认证服务器接收到运算结果及解密密钥K后,首先利用K对S3进行解密,将其变成S1,再以(C,S1)为参数,进行HASH(C,S1)运算。
6)如果HASH(C,S2)=HASH(C,S1),也就说明S2=S1得到认证,即用户身份被成功认证。
7)用户身份被认证后,用户就可以在各资源站点获取所需资源。认证过程如图3所示。
4 结论
由于USB-Key具有安全可靠、便于携带、使用方便、成本低廉的优点,加上PKI体系完善的数据保护机制,使用USB-Key存储数字证书的认证方式已经成为目前主要的认证模式。采用USB-Key进行身份认证,不仅是将先进的认证技术应用到了数字图书馆中,在提高了整个系统安全性的同时,也极大地保护了广大读者的利益,使读者能够更放心地使用数字图书馆的各类资源。同时也保护了数字图书馆运营商的利益,保证其资源不被非法使用。
参考文献
[1]汪国安,杨立身.USB Key身份认证系统的设计与实现[J].河南理工大学学报,2005.
[2]孙立芳.浅谈基于USB Key的身份认证技术及其应用[J].当代经理人,2006.
[3]孙海涛,何循来,于春光.采用USB-Key认证方式的安全平台设计[J].微计算机信息,2008.
USB技术 第11篇
华硕Z97-A/USB 3.1主板采用了Intel Z97芯片组,支持Haswell及Haswell Refresh全系列处理器,CPU供电部分采用了强劲的8相DIGI+数字供电,能够实现对电源的精确控制,极大地提升供电效能,让日常使用和超频都有比较不错的表现。
内存插槽方面,该主板配备了4条DDR3 DIMM内存插槽,支持DDR3 3200(OC)/ 3100(OC)/3000(OC)/2933(OC)/2800(OC)/2666(OC)/2600(OC)/2400(OC)/2200(OC)/2133(OC)/2000(OC)/1866(OC)/1600/1333双通道内存,最大支持容量为32GB。磁盘接口方面,该主板拥有4个SATA3接口,1个SATA Express 接口(兼容 2 x SATA 6.0 Gb/s 端口),同时还拥有一个M.2固态硬盘接口,存储需求可以得到很好的满足。扩展插槽方面,该主板配备了2 x PCIe 3.0/2.0 x16 扩展卡插槽 (x16 或双槽 x8) ,1 x PCIe 2.0 x16扩展卡插槽 (x2 模式) ,2 x PCIe x1扩展卡插槽 ,2 x PCI扩展卡插槽,能够满足玩家对扩展的需求。
网络方面,华硕Z97-A/USB 3.1采用了Intel千兆网卡,为游戏玩家带来更高的网络处理效率,有效降低CPU负载,强化大型数据封包的处理能力。
作为业界的领导者之一,华硕Z97-A/USB 3.1通过板载的ASMedia USB 3.1 控制器在背板上搭载了2个USB 3.1 端口(向下兼容USB3.0/USB2.0),USB 3.1提供了双信号10Gbps的传输速率,能够带来超越USB3.0两倍以上的传输速度,让拷贝大容量文件不再痛苦。作为市面上首批支持USB3.1规范的主板,华硕Z97-A/USB 3.1为USB3.1接口的普及做好了铺垫。
USB技术 第12篇
在海洋环境监测领域中, 采集的通常是水下的光信号, 光信号通过光纤传输经过传感器转换成模拟电信号, 对该信号的采集与处理主要由AD转换器和DSP芯片组成的系统完成, AD转换器的最高工作频率决定了信号采集的速率, 而整个系统的处理能力则由DSP芯片决定。作者根据项目需要设计了一种通用性的设备, 双通道、最大采样速率为5M的数据采集与实时处理系统。该系统具有较强信号处理能力和较大数据吞吐量, 主要应用于基于激发荧光和激光多普勒技术的浮游植物粒径分布现场在线监测系统中的数据采集与处理部分。
2系统硬件设计
本系统可以完成对荧光信号和多普勒信号采集和实时处理并将处理后的频谱数据通过USB接口传输到PC机并显示出来。系统主要分为数据采集部分, 数据处理部分, 逻辑时序控制部分, 主机通信部分, 以及电源管理。
选用TI公司的浮点高速C6000系列中的TMS320C6713B作为核心处理芯片, 模拟电信号经THS4503后转变为差分信号, 输入ADS1605后将模拟信号转换为16位的数字信号。通过DSP的地址译码分时选通AD1和AD2实现双通道的由AD到DSP的EMIF总线的数据传输:, 相应的信号处理算法在DSP中实现。在CPLD控制下数据由DSP的HPI接口通过USB接口芯片传入PC, 系统结构如图1:
2.1 DSP以及外围芯片电路设计
TMS320C6713 DSP是美国TI于1997年推出的C6000系列DSP芯片的一款, 它是32位高速浮点型DSP, 时钟最高频率为300MHz, , 其EMIF总线宽度为16位, 接口电压为3.3V,
其EMIF提供了4个外设空间[2], 在本设计中两个通道的AD1和AD2分别占用CE0空间中的两个地址, 通过DSP中的主程序读取这两个地址中的值来读取相应通道中的ADC数据总线上的16为数据。在实时采集时, 通过CPLD来实现DSP地址译码。通过EMIF的地址总线EA2, EA3和CE0, 进行译码。当AD1的片选信号CE和RD信号同时为低电平时, AD1的数据线上将由高阻变成有效的数据, 而此时AD2的片选CE为高电平所以AD2的数据线为高阻状态, 所以在同一时间EMIF总线上不会出现总线竞争情况。
2.2 USB2.0接口设计
系统的数据传输通过USB接口芯片, 所以本方案采用CY7C68013的“GPIF主控”接口模式与TMS320C6713B芯片HPI接口连接, 该芯片的最主要特点是可通过USB2.0的通用可编程接口 (GPIF) 为特定的应用接口编程, 以便使用多种协议完成与外围器件的无缝连接“GPIF主控”接口模式, 使用PORTB和PORTD双向FIFO数据线来构成通向四个端点FIFO (EP2、EP4、EP6、EP8) 的16位数据接口, 以用来连接数据线DD[15:0]并进行数据的传送;GPIF作为内部主控器与FIFO相连, 并通过产生用户可编程的控制信号CTL[2:0]与外部接口进行通信。同时, GPIF还可以通过RDY[1:0]引脚采样外部信号并等待外部事件。
3系统程序设计
3.1 DSP程序设计
该系统DSP的程序由C语言程序和汇编程序组成, 完成双通道数据采集与实时处理。通道1采集荧光信号, 通道2采集多普勒信号。当系统启动后两个通道都开始进行2K的数据循环采样, 同时通道1中的数据进行32个数据累加检测, 当32个数据的和大于设置的触发门限时, 两个通道都开始进行6K的数据采样, 由于保存了触发前的两个通道的2K数据, 所以两个通道中的数据均为8K, 然后对通道1的8K数据求最大值和最小值, 计算出中间值, 通过对一通道中的数据进行搜索, 与中间值进行比较得到其下标地址, 从而得出脉冲的两个中间值之间的宽度。在通道2中对采集的8K数据进行快速傅里叶变换得到频谱, 最后将以上数据传到上位机显示。
3.2 Usb接口芯片固件程序
固件是在USB接口芯片加电后, 由其他设备加载到CY7C68013芯片中并在其中运行完成接口数据传送功能的一段程序.在该系统中, CY7C68013芯片的固件程序控制整个硬件系统的运行, 包括初始化工作;硬件设备的重新列举, 处理PC主机发来的各种USB请求和数据传输。该固件是根据Cypress公司提供的固件编程框架来完成的, 所使用的编程语言则是Keil公司的C51编译器。
固件程序的核心内容为Fw.c (框架源代码Fw.c中主要包括任务分配器 (TD) 函数和设备请求 (DR) 函数) 、Ti6713HPI.c (用户自定义函数) 以及Gpif.C (波形时序控制) , 由GPIF_Designer生成, 用以匹配HPIC、HPIA、HPID时序, 将GPIF_Designer的4组波形分别定义为:第一半字写、第二半字写、FIFO写和FIFO读, 其中前两组波形配合任务分配器函数TD_Poll () 完成DSP中寄存器HPIC和HPIA的写, 后两组波形配合TD_Poll () 完成自增模式下HPID的读写, 波形的设计要严格遵守HPI总线访问时序。
结束语
本文主要介绍了基于TMS320C6713B的数据采集与实时处理系统, 创新点在于该系统可以高速高效的在双通道之间进行切换, 实现了主机在线编程, 可以根据任务随时通过PC机更换系统的DSP程序, 使系统可以灵活处理各种数据采集处理任务。
参考文献
[1]王粘旭.DSP基础与应用系统设计.北京航空航天大学出版社, 2001.
[2]Texas Instruments.TMS320C6713B Data Book.RevisedJune, 2006.
[3]汪安民, 张松灿.TMS320C6000DSP实用技术与开发案例.人民邮电出版社.