(测试计量技术及仪器专业论文)数字存储示波器usb接口与外设驱动程序设计研究.pdf_第1页
(测试计量技术及仪器专业论文)数字存储示波器usb接口与外设驱动程序设计研究.pdf_第2页
(测试计量技术及仪器专业论文)数字存储示波器usb接口与外设驱动程序设计研究.pdf_第3页
(测试计量技术及仪器专业论文)数字存储示波器usb接口与外设驱动程序设计研究.pdf_第4页
(测试计量技术及仪器专业论文)数字存储示波器usb接口与外设驱动程序设计研究.pdf_第5页
已阅读5页,还剩72页未读 继续免费阅读

(测试计量技术及仪器专业论文)数字存储示波器usb接口与外设驱动程序设计研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

h 1 _ t f 肇凶 作 方 为 与 确的说明并表示谢意。 签名:啦 日期:加f o 年多月剑日 论文使用授权 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:掘壁垒 导师签名:a = 二全 日期:劲。年9 亨月乞1 日 多- 、 ( 气 当今数字存储 集成化。数字存储示波器还提供了r s 2 3 2 、l a n 、u s b h 、u s b d 、g p i b 等多种接 口。为丰富数字存储示波器的功能,本文针对数字存储示波器所提供的接口u s b 进行一系列研究。 基于d s o 主板开发u s b 主机,实现主机与外部设备的数据通信,通过设备 枚举完成设备的加载。 根据u s b 外部设备的类型区别,在d s o 系统上分别设计大容量存储设备类 驱动和打印机类设备驱动。以优盘为对象,完成数字存储示波器上u s b 主机对大 容量存储设备优盘的操作。并添加f a t 文件系统,增强d s o 对优盘文件的管理能 力。打印机类驱动是针对使用打印机控制语言p c l 5 e 的打印机,开发支持打印命 令的图形打印。结合b m p 图像格式和图像数据压缩技术,编写b m p 图像的打印 过滤程序,并提高性能完成图像打印数据压缩模块。根据汉字特点,参考汉字库 实现以汉字为主体的文本打印。 7 此课题符合当前设备的发展趋势,进一步实现了数字存储示波器功能的多样 化,对于数字存储示波器的研发具有很大的实际意义。 ,。关键字:d s o ,u s b 主机,驱动,大容量存储设备,文件系统,p c l 豇。 - f h 多、 囊 1 l 弋_ 够 , 喝 f t 1 k a bs t r a c t i nm o d e mt i m e s ,t h ep e r f o r m a n c eo fd i g i t a ls t o r a g eo s c i l l o s c o p e ( d s o ) h a sb e e n i n c r e a s e ds i g n i f i c a n t l y t h ef u n c t i o no fd s ot r e n d st od i v e r s i f i c a t i o na n di n t e g r a t i o n t o o t h ed s op r o v i d e sn u m e r o u si n t e r f a c e ss u c ha sr s 2 3 2 ,l a n ,u s b h ,u s b da n d s oo i l i no r d e rt oe n r i c ht h ef u n c t i o no fd s o ,t h i sa r t i c l ep r o v i d e sas e r i e so fs t u d i e sf o r t h eu s bi n t e r f a c eb a s e dd s o f i r s t l yt h eu s bh o s ts y s t e mh a sb e e nd e v e l o p e dt oa c h i e v ed a t ac o m m u n i c a t i o n w i t ho t h e rd e v i c e sa n dt h ee s t a b l i s h e dc o n n e c t i o nt ot h ep e r i p h e r a lb ye n u m e r a t i n gt h e d e v i c e s e c o n d l y , a c c o r d i n gt o t h eu s bd e v i c ec l a s sd e f i n i t i o n ,t h eu s bh o s ts y s t e m c r e a t e st h em a s ss t o r a g ed e v i c ec l a s sd r i v e ra n dt h ep r i n t e rd e v i c ec l a s sd r i v e r t h eh o s t s y s t e mc a na c c e s st ou s bf l a s hd i s ka st h em a s ss t o r a g ed e v i c e a f t e r w a r d st h eh o s t s y s t e ma d d st h ef a tf i l es y s t e mf o ru s bf l a s hd i s kt oe n r i c ht h ef i l em a n a g e m e n t t h e p r i n t e rd r i v e rl o a d e db yt h eh o s ts y s t e ms u p p o r t st h ep r i n t e r sw h i c hc a n b ec o n t r o l l e db y t h ep r i n t e rc o n t r o ll a n g u a g e ( p c l 5e ) ,a n ds u p p o r t sg r a p h i cp r i n t i n gw h i c hc a nb ec a l l b yp r i n t i n gc o m m a n d s f u r t h e r m o r e ,t h ep r i n t e rp r o g r a mw h i c hi s r u n n i n ga th o s t s y s t e mc a nf i l t e rt h eb m pi m a g e sa n dc o m p r e s st h ei m a g ed a t a t h ep r i n t e rp r o g r a m h a sb e e nd e v e l o p e dt oa c h i e v et h et e x tp r i n t i n gw h i c hc o n t a i n sl o t so fc h i n e s e c h a r a c t e r sw i t ht h ec h i n e s ef o n tl i b r a r y t h i sr e s e a r c hp r o j e c ti si nl i n ew i t hc u r r e n te q u i p m e n td e v e l o p 打e n d s ,a n d i n c r e a s e st h ef u n c t i o n so fd s o i th a sg r e a ts i g n i f i c a t i o ni nr e s e a r c h i n ga n dd e s i g n i n g t h e d s o k e y w o r d s :d s o ,u s bh o s t ,d r i v e lt h em a s ss t o r a g ed e v i c e ,f i l es y s t e m ,p c l u 3 ,擘、 、 嚆 _ ; 詹 目录 目录 第一章绪论1 1 i 示波器概述与发展1 1 2 u s b 发展与现状:2 1 3 系统开发环境3 1 4 本论文目标与内容3 第二章d s o 系统上u s b 主机开发5 2 1u s b 协议栈5 2 2u s b 主机模型6 2 2 1 d s o 系统上u s b 系统架构6 2 2 2u s b 主机结构7 2 2 3u s b 驱动程序8 2 3 d s o 系统上u s b 主机硬件构成一8 2 3 1u s b 主机控制器i s p l1 6 1 a 1 9 2 4d s o 系统上u s b 主机软件设计11 2 4 1 实现数据传输1 2 2 4 1 1 控制传输1 3 2 4 1 2 批量传输1 4 2 4 2 数据传输可靠性分析1 4 2 4 3 构建设各枚举1 8 2 5 小结2 0 第三章d s o 系统上u s b 主机的m a s ss t o r a g e 类驱动程序设计2 1 3 1 m a s ss t o r a g e 设备类驱动21 t t l 目录 3 1 1 b u l k _ o n l y 传输协议2 1 3 1 2u f i 命令集实现2 2 3 1 3m a s ss t o r a g e 类读写操作一2 3 3 2 创建文件系统2 4 3 2 1 文件系统类型2 5 3 2 2 磁盘的物理结构2 6 3 2 3f a t 文件系统的逻辑结构2 6 3 2 4 磁盘的格式化操作2 8 3 2 5 文件操作设计2 8 3 2 5 1 文件的创建2 9 3 2 5 2 文件的删除2 9 3 2 5 3 文件列表3 0 3 2 5 4 文件的读写3l 3 3 小结3 2 第四章d s o 系统上u s b 主机的打印机设备类驱动程序设计3 3 4 1 打印机简介3 3 4 1 1 打印机命令语言3 3 4 1 1 1g d i 打印语言3 4 4 1 1 2 p o s t s c r i p t 命令集3 4 4 1 1 3p c l 命令集3 4 4 2 打印系统3 5 4 3 基于命令打印3 8 4 4 图像打印4 l 4 4 1 图像格式转化一4 2 4 4 1 1 b m p 图像格式4 2 4 4 1 2 b m p 图像灰度化4 3 i v l v ,b、-_ 、i 。 冬 i ; 4 4 1 3 4 4 2 图像 4 4 2 1 4 4 2 2 4 4 2 3 4 5 文本打印 4 6 小结5 0 第五章软件测试与结论5 1 5 1 软件测试及其实现5 l 5 2 a l p h a 测试51 5 2 1 测试硬件环境5 l 5 2 2 对u s b 主机测试一5 3 5 2 3m a s ss t o r a g e 设备类驱动软件测试一5 4 5 2 4 打印机设备类驱动软件测试5 6 5 2 5系统联调5 7 5 2 6 其他5 8 5 3b e t a 测试5 8 5 4 发布5 9 5 5 小结6 0 第六章结论与展望6 1 致谢6 2 参考文献6 3 攻读硕士期间取得的成果6 5 v 和 。若 ? 、 毒 , t 1 1示波 数字存 示的二维图谱用于表示一种或多种信号的时域特性,可以准确地观察电信号实时 波形图。除振幅之外,示波器还可以显示两事件之间的时间间隔( 例如脉冲宽度 或者脉冲上升时间) ,关联信号的时间相关性。示波器主要应用于科学、医学、工 程、通信和工业领域,是电子设备维修与实验室工作的必备工具,同时也可应用 于监测自动化系统或者如心电图似的展示心跳波形。 随着虚拟仪器技术、信号处理技术、多核处理等技术的发展,以及不断提升 的用户需求和各行业对示波器不断发展的要求,除了在性能上要求多通道、高带 宽、高采样率、深存储和快速显示之外,从应用角度上,数字存储示波器的功能 也趋向多样化、集成化。很多数字存储示波器集成了逻辑分析仪、函数发生器、 频谱仪等多种功能,用户对于数字存储示波器功能需求见图1 1 【27 j 所示。图下框中 以行为顺序从左至右依次表示表中所代表的功能需求量的设备类型。 l s 供l l 蠡a l 毒a 嗨 1 2 熟 1 0 钕 & 溉 氐弧 ,积; 2 a 喙 0 舐 l 口如残嫡数整羔器 4a 支持铴潺戳试 7 甜s o o 曩乏奉f 蔽及籀键破融 2i ;q 露 妻驻敬孵笈墼嚣3 口掣:伪1 1 l i 盘 57 2 3 孵绦分槭6 配鬻臻l | 8a 内霹馘魄澈9 内缎啦滋 1 1 a 强跑 图1 - 1 用户对产品的功能需求 目前市场上的示波器功能合成趋势明显,实现了多测试功能,在一定程度上 提高了工作效率。针对当前情况,数字存储示波器提供r s 2 3 3 2 、u s b h 、u s b d 、 l a n 等多种接口实现与计算机系统、外部设备的通信,丰富了数字存储示波器的 电子科技大学硕士学位论文 功能,也顺应了市场趋势。 1 2u s b 发展与现状 u s b 作为一种电缆总线,实现主机和各式外部设备之间的数据传输,是对连 接外围设备到主机的p c 机体系结构的扩充,适应了消费者和市场的应用需求【l 】。 u s b 从1 9 9 6 年n t e l 推出的的1 0 速度为1 5 1 v l b p s 发展到现在的3 0 速度已经提 升到4 8 g b p s ,u s b 2 0 是r r 产品中受众群体最广的接口,到目前为止,已经有超 过2 0 亿个u s b 设备出售。i n s t a r 预测u s b 3 0 将在2 0 1 2 年得到广泛应用,将有 7 0 的外部硬盘采用u s b 3 0 。据国际研究机构i d c 预估,2 0 10 年u s b 3 0 芯片需 求量为1 2 4 5 万颗,2 0 1 1 年则有机会跃升至1 亿颗,到2 0 1 5 年将挑战2 3 亿颗【2 引。 计算机接口主要性能比较见表1 1 【2 】所示。 表1 1 计算机各接口性能 接口类型数据格式传输速率最大设备数电缆长度热插拔支持 并行口并行 8 m b i t s 2 个或8 个小于1 0 m 否 r s 2 3 2 串行2 0 k b i t s 2 个 小于3 0 m否 r s 4 8 5 串行 1 0 m b i t s3 2 小于1 2 0 0 m 否 i s a并行1 2 8 m b i t s否 e i s a 并行2 6 6 m b i t s否 p c i 并行 1 0 5 6 m 、2 11 2 m否 a g p 并行 2 11 2m b i t s 否 以太网串行 1 0 m 、1 0 0 m 、1 g1 0 2 45 0 0 m否 u s b 串行1 5 m 、1 2 m 、4 8 0 m 1 2 7 无要求是 i e e e - 1 3 9 4串行4 0 0 m 、3 2 g6 34 5 m是 附注:a 在u s b l 0 规范中要求低速设备电缆长度不超过3 m ,全速设备要求电缆长度不超过 5 m ,其余对电缆长度无要求。 过去使用各种老式专用接口如r s 2 3 2 、r s 4 8 5 、并行接口、i s a 接口、p c i 接 口、p s 2 接口和a g p 等实现特定外部设备与计算机的通信。相对于这些老式接口 所具有的接口体积过于庞大、规范不统一、不具有共享性,不支持即插即用和热 插拔等缺陷,u s b 接口的特性促成了以下优势: 1 ) 单一、小巧的接口模型,方便使用。 2 ) 最多可连接1 2 7 个外部设备( 含h u b ) ,支持多设备同时操作。 3 ) 带宽范围广,支持多种传输速率。 4 ) 采用差错处理和重传机制,增强可靠性。 2 、- 噎 童 0 第一章绪论 5 支持即插即用和热插拔。 6 价格低廉、成本低。 7 体系可升级性支持一个系统中多个u s b 主机控制器的存在。 8 具有良好的向下兼容性。 u s b 应用于多种类型设备,依照u s b 规范,u s b 设备类型主要可以分为:通 信类、音频类、人机接口( h i d ) 、监控、物理回应设备、成像设备、电源、打印 机类、大容量存储设备类和h u b 。主要应用设备包括鼠标、键盘、移动硬盘、 打印机、数码相机、音视频播放设备、高速数据采集设备等。 目前,u s b 已经成为数字存储示波器的标准外接接口,因此数字存储示波器 即可以连接到p c ,实现采集信号数据的进一步处理;又可以连接u s b 外部设备, 完成数据存储示波器数据的存储、输出等操作。 1 3 系统开发环境 本课题是在以双核d s pb f 5 6 1 为处理器的数字存储示波器系统上实现开发。 a d i 公司针对其d s p 处理器提供统一的集成开发环境,因此本文的开发环境主要 包括: 软件集成开发环境( i d e ) :v i s u a l d s p + + 4 5 硬件调试环境:数据存储示波器主开发板、键盘、l c d 显示,a d z s h p u s b i c e 仿真器 外部设备:各品牌型号优盘,h pl a s e r j e t l 0 2 2 型号的黑白激光打印机。 v i s u a l d s p + + 是针对a d i 公司为该公司所有系列a d s p 处理器提供的软件集成 开发和调试环境( d d e ) 。此环境使用单一类型的接口、图形窗口型的人机交互实 现工程从开始到结束的灵活、有效管理。v i s u a l d s p + + 具有完全集成的用户接口包 括项目管理、调试、建模、绘图,支持多种类型的调试如仿真、模拟、编译模拟 和第三方方案,提供汇编器、专家链接、加载器和带有实时运行库的c c 抖编译 器。v i s u a l d s p + + 内部核心( v d k ) 具有多处理器信息处理和多项目管理能力,具 有可靠和可扩展的特点。而且v i s u a l d s p + + 系列处理器支持t c p i p 和u s b 接口。 1 4 本论文目标与内容 本课题是在以双核d s p 为微处理器的数字存储示波器开发系统上针对其外接 3 电子科技大学硕士学位论文 u s b 接口进行一系列研究。在d s o 系统上构建u s b 主机并进行外设驱动程序设 计。主要内容包括: 在数字存储示波器系统上构建u s b 主机,建立数据传输通路,实现具体 控制、批量数据传输事务,通过创建设备枚举完成设备加载。 一设计大容量存储设备类驱动程序,实现主机对大容量存储设备各品牌 型号优盘的加载、访问操作。创建文件管理系统f a t l 6 ,实现数字存储示波器对 优盘文件的管理。 一开发打印机设备类驱动程序。设计支持p c l 5 e 打印控制语言的打印机设备 类驱动,完成打印机基于命令的图形打印,对b m p 格式图像的打印和文本打印。 一对数字存储示波器系统上创建的u s b 主机和开发的类设备驱动进行测试。 4 一 - ! l 6 t 本课题包括在数字存储示波器系统上开发u s b 主机。该系统上的u s b 主机符 合u s b 2 0 协议,以i s p i1 6 1 a 为u s b 主机控制器。主要开发包括:创建数字存储 示波器与u s b 主机控制器、u s b 主机控制器与外部设备的通信通道;建立控制传 输与批量传输方式,为数字存储示波器与外部设备的交互提供条件;实现设备枚 举,完成外部设备到数字存储示波器的加载。 2 1u s b 协议栈 u s b 主机工作过程遵循u s b 2 0 协议,因此其底层固件、系统驱动软件均需要 遵循u s b 的协议栈。 u s b 通信的基本传输单元为信息包( p a c k e t ) ,u s b 信息传输包主要有令牌包、 帧开始s o f 包、数据包和握手包等4 种类型【2 】。u s b 是轮询式总线,主机初始化 并发起所有的数据传输。u s b 有控制传输、批量传输、中断传输、同步传输四种 传输类型【lj 。 控制传输主要应用于u s b 系统软件配置刚连接的设备,或其他驱动软件实现 的用户自定义操作。批量传输用于传输大量且对时间无要求的数据,采用差错控 制和重传机制来保证数据传输的正确性和可靠性。u s b 主机在中断传输中周期地 轮询设备,典型的应用是键盘、鼠标等设备。同步传输是以恒定的速率发送和接 收实时信息,对时延也有高度的敏感性,适用于音频和视频类设备。 u s b 设备使用描述符来报告其属性。本设计主要应用的描述符有设备描述符、 配置描述符、接口描述符和端点描述符。 所有的u s b 设备通过设备默认控制通道响应主机端请求。u s b 标准设备请求 用于实现设备和主机之间的交互,完成设备枚举。标准设备请求说明见表2 一l 【l 】。 c l e a rf e a t u r e 请求用于清除或者禁止某具体特征项,g e td e s c r i p t o r 请求可返回 当前设备的配置信息集合,g e td e s c r i p t o r 请求是获取某特定存在的描述符,g e t i n t e r f a c e 请求用于获取外设选中接口的具体设置,g e ts t a t u s 请求返回接收者的状 态,s e ta d d r e s s 请求为设备设置唯一的设备地址,s e tc o n f i g u r a t i o n 请求为设备设 置设备配置,s e td e s c r i p t o r 请求可选,可用于更新当前描述符或者添加新描述符, 5 电子科技大学硕士学位论文 s e tf e a t u r e 用于设置或者使某个特定特性生效。s e ti n t e r f a c e 请求允许主机设置某 特定接口的具体属性,s y n c hf r a m e 请求应用于同步传输,主要是设置并报告端点 的同步帧。 表2 1 标准设备请求集合 请求类型设备请求值索引长度数据 1 0 0 00 0 0 0 b设备设备、接口 1 0 0 00 0 0 1 b g e ts t a t u s ( 0 0 h )o 接口 2 或端点状 1 0 0 00 0 l o b 端点态 0 0 0 00 0 0 0 b 设备 0 0 0 00 0 0 1 bc l e a rf e a t u r e ( 01h ) 特征选择符接口 0 无 0 0 0 00 0 1 0 b 端点 1 0 0 00 0 0 0 b设备 1 0 0 00 0 0 i bs e tf e a t u r e ( 0 3 h ) 特征选择符接口 0 无 1 0 0 00 0 1 0 b 端点 0 0 0 00 0 0 0 bs e ta d d r e s s ( 0 5 h ) 设备地址 0o 无 0 或者 描述符 描述符 1 0 0 00 0 0 0 bg e td e s c r i p t o r ( 0 6 h ) 描述符类型 语言 长度 i d 描述符类型0 或语描述符 0 0 0 00 0 0 0 bs e td e s c r i p t o r ( 0 7 h ) 描述符 和索引言i d长度 g e t 1 0 0 00 0 0 0 bool配置值 c o n f i g u r a t i o n ( 0 8 h ) s e t 0 0 0 00 0 0 0 b 配置值 o0 无 c o n f i g u r a t i o n ( 0 9 h ) 可选的接 1 0 0 00 0 0 0 bg e ti n t e r f a c e ( 0 a h )0 接口 1 口 0 0 0 00 0 0 0 bs e ti n t e r f a c e ( o b h ) 可选设置 接口 0 无 1 0 0 00 0 0 0 b s y n c hf r a m e ( 0 c h ) 0 端点 2 帧符号 2 2u s b 主机模型 2 2 1d s o 系统上u s b 系统架构 简单的u s b 系统主要分为三个部分u s b 互连、u s b 设备和u s b 主机【l j 。本 文中数字存储示波器与外设构成了整个u s b 系统,模型如图2 1 所示。 u s b 互连是通过u s b 电缆连接外设到d s o 外接u s b 接口,并实现与u s b 主机的通信操作。 u s b 系统中只含有一个主机。u s b 主机和外部设备之间通过u s b 主机控制器 实现交互。u s b 主机由硬件、固件或软件综合实现,在系统的数据传输过程中占 6 , p 堪 q 第二章d s o 系统上u s b 主机开发 有主导地位。其具体功能包括:检测设备的连接或移除,管理主机与设备之间的 控制流、数据流,收集状态和动作统计,为连接的u s b 设备提供电源。主机端的 软件主要是主机上u s b 的系统软件。该系统软件负责管理基于此主机的类设备驱 动或应用软件与u s b 外部设备之间的交互,其作用主要有:设备枚举和配置,同 步和异步数据传输,电源管理,设备和总线管理。 信 号 d s o 采 小叫热 u s b 设备 l 集 模 块 图2 - 1u s b 主机设备简单模型 u s b 设备主要分为集线器类和功能类设备。集线器类( h u b ) 设备主要是提 供系统额外的连接点。功能类设备则实现连接到u s b 接口的某种具体功能,扩展 d s o 的功能。 2 2 2u s b 主机结构 客户软件 主机软件 b 总线驱动程序u s b d 主机系统软件 u s b 主控制器 驱动程序h c d u s b 主机控制器 _ 实际传输数据流博逻辑传输数据流 图2 - 2u s b 主机系统结构 u s b 主机逻辑结构由下向上主要包括:u s b 主机控制器、主机系统软件和客 7 电子科技大学硕士学位论文 户软件三个部分,其结构如图2 2 所示。其中,u s b 主机系统软件是由u s b 总线 驱动程序( u s b d ) 、主机控制器驱动程序( h c d ) 、主机软件组成。u s b 主机在 u s b 系统中是起到控制、协调作用的实体,u s b 设备只有获得主机分配的地址并 经授权才能够访问u s b 总线。 客户软件不关心u s b 主机内部逻辑结构,只需得到与其相关的主机系统软件 中u s b d 的接口,主要用于实现对功能设备的管理。主机上的系统软件负责外设 与主机上的客户软件之间的交互,其中包括对外部设备枚举,总线带宽分配、电 源管理、各种数据传输类型过程的应用与管理,包括需严格控制时间周期的同步 ( i s o ) 传输,有时间要求、数据量不大的中断传输、控制传输,时间要求不严格, 但需要大量带宽的块( b u l k ) 传输。主机控制器作为主机系统的硬件部分,提供 了主机的物理接口,实现与外部设备的实际数据传输。 2 2 3 u s b 驱动程序 u s b 主机由硬件部分的主机控制器和软件部分的主机系统软件和客户软件组 成。其中主要的驱动程序包括主机控制器驱动( h c d ) 、u s b 总线驱动( u s b d ) 两个部分。 u s b 主机控制器驱动( h o s tc o n t r o l l e rd r i v e r ) :u s b 主机控制器和u s b 系统 软件之间的软件接口,为数据传输提供条件。u s b 主机控制器根据选用的主机控 制器为上层u s b 总线驱动提供统一的软件接口。u s b 总线驱动程序无需了解具体 主机控制器的结构特征和实现方法,具有通用性。 u s b 总线驱动( u s b d ) :u s b 系统软件和客户软件之间的接口,完成设备枚 举、通信管理、带宽分配等功能,此接口使用h c d 提供的接口模块,实现与h c d 的通信。并提供给上层管理u s b 设备的函数。 2 3 d s o 系统上u s b 主机硬件构成 d s o 系统硬件构成主要包括以双核d s p 为微处理器( m c u ) 的数字存储示波 器主开发板,外部接口有r s 2 3 2 、l a n 、u s b h 、u s b d 、g p i b 等。本课题主要对 象是u s b h 即u s b 主机接口,具体结构参照图2 3 。d s o 经模拟通道在数据采集 模块作用下,获取被测信号的数字特征并在l c d 上显示。本文内容主要是将在l c d 上显示的实时波形数据信息,在按键处理模块发送客户的请求命令之后,通过与 u s b 主机交互,经u s b 接口发送相应的命令、数据到外部功能设备,最终实现整 8 矿 一 ; , 一0 第二章d s o 系统上u s b 主机开发 个操作过程。 擎”? 乒泓铲7 留铲鬻r $ 2 3 2 i 显示降劳。: i :,d s p 2l a n 霉园 通 数据 爹 处。霉 理 套。毒e 。4 :伊? 。u s b r j “i 道瀚 采集螂 j器 ,、甘缝 屯j i 。j 。一 ji 妊r 馘糁移雄莓溺 雾 1 砖 u s b d 按键 弘髻 处理缝燃- g p 嵋 n y ;k 静矿| t 。疆i j 嘱;锄 图2 - 3 硬件连接方框图 其硬件实物连接图如图2 4 所示,椭圆圈出主机控制器芯片i s p l l 6 1 a 1 。方框 中即是外接的u s b 接口。 图2 _ 4 硬件实物连接图 u s b 主机硬件设计是以数字存储器主板双核微控制器( m c u ) b f 5 6 1 为核心 处理器,与u s b 主控制器芯片i s p l1 6 1 a 1 交互,完成u s b 总线数据的处理、缓 存与传输。 2 3 1u s b 主机控制器i s p l1 6 1 a 1 i s p i l 6 1 a i 3 1 是一个单片集合了主机控制器( h c ) 和设备控制器( d c ) 的芯 片。主机部分符合u s b 2 0 ,支持全速和低速的数据传输。其中主机和设备控制器 共用同一微处理器总线接口,使用相同的数据总线,但是不同的i o 地址,有独立 的中断请求输出管脚和单独的d m a 通道。芯片为h c 提供两个下行端口。在d s o 上此处仅选择一个u s b 下行接口,开发全速的u s b 主机。 9 电子科技大学硕士学位论文 p t d 头 负载数据 p t d 头 负载数据 彩鬻移嬲辫嬲孵秒黟缆 羧么锄巍劾殇缓褫燃z 篪巍磊滋 p t d 数据拌l p t d 数据撑2 图2 5p t d 数据结构图 在以i s p l l 6 1 a 1 为h c 的u s b 主机中,h c d 和h c 之间的通信均是以p t d 的数据结构形式。p t d 数据提供了以命令、状态和u s b 数据包为内容的u s b 通 信信息。p t d 头和负载数据组成了整个p t d 数据,结构如图2 5 。 表2 - 2p t d 头8 字节结构图 。岔 7 654321o 手矿 字节0a c t u a l b y t e s 7 :0 字节1 c o m p l e t i o n c o d e 3 :o a c t i v e t o g g l ea c t u a l b y t e s 9 :8 字节2m a x p a c k e t s i z e 7 :o 字节3e n d p o i n t n u m b e r 3 :0 l a s t s p e e d m a x p a c k e t s i z e 9 :8 字节4t o t a l b y t e s 7 :0 字节5保留 b 55 保留d i r e c t i o n p i d 1 :0 t o t a l b y t e s 9 :8 字节6 f o r m a tf u n c ti o n a d d r e s s 6 :o j 字节7保留 p t d ( p h i l i p st r a n s f e rd e s c r i p t i o n ) 头8 字节结构参照表2 2 ,其中a c m a l b y t e s 表示实际传输数据字节数。c o m p l e t i o n c o d e 是完成代码表示本次数据传输的完成 状态。a c t i v e 位被固件设置为1 ,使能主机控制器的处理过程,当描述符的相关 处理完成后,主机控制器设置该位为0 。t o g g l e 用于生成或者比较数据p i d 值( 即 d a t a 0 或d a t a l ) ,在每次完成数据包传输后,该位被更新。t o t a l b y t e s 用于表示 预期传输数据长度,可与实际传输数据相比较,监测数据传输完成情况。 d i r e c t i o n p i d 提供了h c 传输类型和方向,f u n c t i o n a d d r e s s 和e n d p o i n t n u m b e r 联 合确定了设备端数据传输终端地址。 1 0 、l,、,、 曩 乎 图2 6d s o 上u s b 主机与外设的工作流程 数字存储示波器开机上电之后,首先进入初始化阶段,首先d s o 板级初始化, 完成中断、时钟、f l a s h 和s d r a m 等的初始化,为系统正常运行做好准备。其 次进行u s b 主机控制器的初始化,配置数据传输属性、中断和内部缓存等,u s b 主机进入u s b o p e r a t i o n a l 状态。自此进入d s o 系统中u s b 主机工作循环。 u s b 主机采用轮询机制实现其工作循环。在工作循环中u s b 主机检测是否已 经有设备存在,无设备存在的情况下,测试是否有设备接入到d s o 的u s b 接口, 有设备接入,则进入设备加载模块。在此模块中开始设备枚举,如果枚举过程出 电子科技大学硕士学位论文 现错误直接返回并发送加载失败报告并退出,否则检测设备类型,根据外部设备 加载类设备驱动。 在有设备加载的情况下,检测是否有设备移除,若有移除动作,u s b 主机即 进行设备移除处理;否则结合按键操作和当前d s o 工作显示进入相应类设备操作。 待操作完毕直接显示操作结果,有异常出现的话即发送相应警报反馈到d s o 系统 进行处理。 2 4 1 实现数据传输 u s b 数据传输需要建立传输通路,u s b 传输通路产生流程如图2 - 7 4 1 所示。 图2 - 7u s b 数据通路产生流程图 首先向h c 发送复位信号,清除所有内部控制寄存器状态。之后h c d 必须通 过设置相关寄存器,对i s p l l 6 1 a 1u s bh c 进行初始化。初始化包括设置硬件配 置、中断使能和中断标记、数据传输帧间隔和根集线器状态,配置h c 内部f i f o r a m 的物理空间a t l 和i t l 缓存的分配( a t l 为应答传输列表,i t l 为同步传输 列表) ,最后设置控制寄存器,使之进入u s b o p e r a t i o n a l 状态。经过配置,h c 已 做好进一步操作的准备。 当主机控制器发出请求时,微处理器返回一个普通入口地址。而后判断是否 需要u s b 通信,如果需要u s b 通信,则在微处理器系统r a m 内预存p t d 数据, 数据准备好之后,发送p t d 数据到主机控制器已经分配好的f i f o 的缓冲区a t l 中。主机控制器解析p t d 数据,选定合适的u s b 处理方式,通过u s b 总线实现 数据传输,之后以p t d 数据结构返回u s b 处理状态和设备终端的反馈信息,h c d 可从缓存a t l 获取这些状态信息。 至此u s b 数据通路的建立完成,为本设计中应用到的控制和批量数据数据传 1 2 输做好准备。以下分别对 2 4 1 1 控制传输 控制传输允许访问设备的不同部分,控制传输可以支持客户软件和它的外设 之间配置、命令和状态数据的传输。控制传输的控制事务包含建立、数据和状态3 个阶段,每个阶段都由特定的事务组成。建立阶段是自主机发送请求信息到设备 端,其数据字段长度为8 字节,格式如表2 3 。数据阶段是可选的,可包括0 或者 多个数据事务,数据传输方向由建立阶段确定。状态阶段是功能设备向主机返回 控制事务建立阶段和数据阶段的传输结果,确定整个控制传输过程是否成功。 表2 3s e t u p 事务中8 字节数据字段的格式 地址偏移字段名 长度说明 o b m r e q u e s t t y p e 1 指明控制请求的特性 l b r e q u e s t 1 指明控制请求的请求号 2w v a l u e 2 控制请求的参数 4w i n d e x 2 控制请求的参数,主要用于传送索引值或偏移值 6 w l e n g t h 2 指明控制事务数据阶段所需传输的字节数 u s b 设备均需要建立作为消息通道的默认控制信息通道。u s b 系统软件可以 通过默认控制通道访问设备的配置、状态和控制信息。标准设备请求和类设备请 求均可通过此通道实现对设备状态的管理。控制传输提供访问设备描述符和发送 设备管理请求的传输机制。 在建立阶段,首先在微处理系统r a m 中配置p t d 头数据和8 字节请求数据, 之后传输p t d 数据到h c 的内部f i f o 缓存r a b l ,通过u s b 接口总线写数据到 u s b 设备端相应端点,最后反馈信息以p t d 数据形式返回,读取p t d 数据判断 建立阶段请求信息传输状态, 数据阶段,由建立阶段请求数据判断数据阶段有无传输数据,若存在具体数 据传输,则根据建立阶段请求确定数据传输方向。如方向为o u t ,自主机端发送 数据到设备相应端点,之后读取返回状态信息,并更新数据触发位;若为矾,则 自设备端写数据到主控制器缓存a t l 内,经h c d 读取a t l 缓存中的写入数据和 反馈信息,并更新数据触发位。 状态阶段,自功能设备读取建立阶段、数据阶段完成之后的返回状态信息。 自此整个控制传输完成。 1 3 电子科技大学硕士学位论文 2 4 1 2 批量传输 完整的u s b 批量事务处理包括令牌、数据和握手3 个阶段,u s b 使用特有的 数据触发机制来保证数据包发送和接收的同步。数据触发机制是通过u s b 数据触 发位和d a t a 0 d a l 渔1 数据包的匹配来实现。 批量传输事务,首先配置p t d 数据头,确定数据传输方向、端点、传输字节 数和数据触发位。在存在传输数据情况下,若方向为科,自设备端点读取数据到 h cf i f o 缓存a t l ,之后从a t l 缓存读取p t d 数据,并获取返回状态信息,更新 数据传输指针和触发位;若方向为o u t ,写微处理器r a m 内数据到设备,并读 取反馈信息,更新数据传输指针和触发位。连续数据传输,数据触发位跳变如图 2 - 8 所示。 d a t a 0 d a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论