(信号与信息处理专业论文)基于usb接口的dsp数据采集卡.pdf_第1页
(信号与信息处理专业论文)基于usb接口的dsp数据采集卡.pdf_第2页
(信号与信息处理专业论文)基于usb接口的dsp数据采集卡.pdf_第3页
(信号与信息处理专业论文)基于usb接口的dsp数据采集卡.pdf_第4页
(信号与信息处理专业论文)基于usb接口的dsp数据采集卡.pdf_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

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

文档简介

西南交通大学硕士研究生学位论文第1 页 摘要 u s b ( u n i v e r s a s e r i a lb u s ) 接口是一种新兴的总线接口标准,它具有 灵活的供电方式、较高的传输速率和即插即用等优点。而d s p ( d i g i t a l s i g n a lp r o c e s s o r ) 芯片因其强大的数据处理能力和低廉的价格,近年来得 到了飞速的发展。将两者有机的结合即可满足工业测控领域对数据采集卡灵 活、便携和高精度小型化的要求。 传统模式般是通过i s a 或p c i 接口实现p c 机与采样系统的数据交换。 但是,内置式插卡很容易受到p c 机箱内高频干扰的影响,降低系统的采样 精度和稳定性,并且计算枧的插槽是很有限的,随着计算机外围设备的日益 增多,人们急需找到种新的高速的外置式数据采集卡。因此,本文设计了 基于u s b 接口的d s p 的数据采集卡。经过测试本卡在较高的精度下运行稳定、 实时性强。 首先,介绍了t m s 3 2 0 f 2 4 0 、p d i u s b d l 2 和e p m t 0 6 4 s 等器件基本结构, 给出各器件间的接口和时序设计方案,并利用p r o t e l 9 9s e 完成了数据采集 卡原理图和p c b 板的设计,同时详细地阐述了在系统搭建和绘制p c b 中应注 意的问题。其次,简要阐述了u s b l 1 协议标准和实现方法包括u s b 设备枚 举过程、分组标识、标准设备请求和设备描述符等。最后,详细论述了本次 设计的重点固件设计。根据t m s 3 2 0 f 2 4 0 的结构和指令特点,给出了中 断服务程序、标准设备请求和主程序流程图及编程方法。 关键词:数据采集;通用串行总线;固件:t m s 3 2 0 f 2 4 0 ;p d i u s b d l 2 西南交通大学硕士研究生学位论文第l l 页 a b s t r a c t u s b ( u n i v e r s a s e r i a lb u s ) i n t e r f a c e i san e w l yb u si n t e r f a c e s t a n d a r d i th a sf l e x i b l ep o w e rs u p p ym o d e ,v e r yh i g ht r a n s f e rr a t e a n dp l u ga n dp l a yv i r t u e a tt h es a m et i m eb e c a u s ed s p ( d i g i t a ls i g n a l p r o c e s s i n g ) c h i pi sp r e p o n d e r a n ti nd a t ap r o c e s s i n ga n dp r i c e ,i th a s a c c e l e r a t e dg r o w t hi nr e c e n ty e a r s c o m b i n a t i o nt h e mm e e t si n d u s t r y t e s tc o n t r o lf i e l d r e q u i r e m e n t t h a ti s f l e x i b l e ,p o r t a b l e ,h i g h p r e e i s i o na n dm i n i a t u r i z e d t h et r a d i t i o n a lm o d eu s u a l i fe x c h a n g e sd a t aw i t hp cb yi s ao rp c i i n t e r f a c es l o t s h o w e v e r ,i n t e r n a lc a r d sc a nb ee a s i l yi n f l u e n c e db y h i g hf r e q u e n c y i n t e r f e r e n c ew i t h i np cm a i n f r a m e ,r e s u l t i n g i n r e d u c t i o no fc o l l e c t i o np r e c i s i o na n ds y s t e mr e l i a b l e f u r t h e r m o r e , t h en u m b e r so fs l o t si nt h em a i n f r a m ea r e1 i m i t e d w i t ht h ei n c r e a s e o fv a r i o u sp e r i p h e r a le q u i p m e n t ,p e o p l em u s tw o r ko u tan e w ,h i g h e r d a t at r a n s f e rr a t e ,e x t e r n a lsr a n da l o n ed a t aa c q u i s i t i o nb o a r d t h e p a p e rd e s i g n e dad s pd a t aa c q u i s i t i o nb o a r db a s e do nu s bi n t e r f a c e i tp r o v e st h a tt h ed a t aa c q u i s i t i o nb e a dr u n ss t e a d ya n dr e a l t i m ea f e r t e s t i n g a tf ir st ,t h ep a p e ri n t r o d u c e st h ea r c h i t e c t u r eo ft m s 3 2 0 f 2 4 0 , p d i u s b d l 2a n de p m 7 0 6 4 :t h e nt h ed e s i g nm e t h o do fc o n n e c t i o na n dt i m e s e q u e n c ei sg i v e ni nd e t a i l :t h ed a t aa c q u i s i t i o nb o a r ds c h e m a t i ca n d p c ba r ea c c o m p l i s h e db yp r o t e l 9 9s e :m e a n w h i l et h em a t t e ro fb u i l d i n g s y s t e ma n dd r a w i n gp c bi s d e s c r i b e dp a r t i c u l a r s e c o n d l y ,t h ep a p e r i n t r o d u c e st h ep r o t o c o lo fu s b i 1a n di m p l e m e n t m e t h o di nb r i e f , i n c l u d i n gp r o c e d u r ef o re n u m e r a t i o no fu s bd e v i c e ,s t a n d a r dd e v i c e r e q u e s ta n dd e v i c ed e s c r i p t o re t c a tl a s t ,t h ep a p e rd i s c u s s e st h e f i r m w a r ed e s i g ni nd e t a il f l o w c h a r to fi n t e r r u p ts e r v i c er o u t i n e , s t a n d a r dd e v i c er e q u e s ta n dm a i nr o u t i n ea r eg i y e n k e y w o r d :d a q ;u s b ;f i r m w a r e ;t m s 3 2 0 f 2 4 0 ;p d i u s b d l 2 西南交通大学硕士研究生学位论文第1 页 第1 章绪论 1 1 引言 数据采集是指将温度、压力、流量、位移等模拟量采集、转换成数字量 后,再由计算机进行存储、处理、显示或打印的过程。相应的系统称为数据 采集系统。 数据采集系统的数据流从原始的自然界信号开始,经传感器变换为连续 模拟的电信号,再由a d 转换器转换为离散的数字量,由采集程序按一定的 策略丰口方法采集成数字集合,再由处理程序处理和提取成信息集合,最后可 直接显示其信息结果,可据其输出相应的控制结果,亦可传输到更大更全面 的信息、集合库,作进一步的分析和应用。其基本的流动模式如图卜l 所示。 睦酬垂吲圣吲萋吲兰斟刻 西南交通大学硕士研究生学位论文第2 页 通用串行总线( u s b ) 是应用在p c 领域中的新型接口技术,自从 w i n d o n s 9 8 操作系统全面对u s b 接1 2 j 支持后,u s b 逐渐进入实用阶段。利用 u s b 可以实现较传统方式更有效、更经济、更多扩展的p c 外设与p c 相连。 通用串行总线( o s b ) 作为一种新兴的计算机外设总线标准,从标准的出现 到大规模的应用,仅用了短短几年的时间,这一切都得益于它易用、真正的 热插拔、高性能和系统造价低廉等忧点。 随着数字信号处理理论的发展,数字信号处理器d s p s ( d i g i t a ls i g n a l p r o c e s s o r s ) 得到了长足的发展,同时也使数字信号处理理论得以实现。d s p s 具有丰富的硬件资源、改进的并行结构、高速数据处理能力和强大的指令系 统,已经成为半导体产业中的一个热点。一些厂商还推出了同时具有控制功 能的产品,使d s p s 深入到工业和民用的方方面面。 本论通过对传统数据采集弊端的分析,基于d s p 芯片和u s b 总线技术, 设计出多通道数据采集处理系统。实现了图卜l 中由硬件到软件再到固件的 全过程。由于该系统采用d s p 芯片,克服了以前采用单片机作处理器而使系 统速度慢及数学运算能力差等缺点。用u s b 作通信总线,其优点是可实现热 插拔、扩展方便,特别适合便携式计算机,系统既满足实时性,又满足易扩 展性,有一定的实用价值。 1 2 本文研究的主要内容 本论文对数据采集与处理系统中使用的核心器件t m s 3 2 0 f 2 4 0 、 p d i u s b d l 2 和e p m 7 0 6 4 s 以及u s b 协议进行了全面的研究。设计出了基于u s b 接口的d s p 数据采集卡和固件程序,实现了d s p 和p c 的高速数据传输。 首先,介绍了t m s 3 2 0 f 2 4 0 、p d i u s b d l 2 和e p m 7 0 6 4 s 等器件。引入各个 器件间的接口和时序设计。阐述了在系统搭建和绘制p c b 中应注意的问题。 其次,简要阐述了u s b l 1 协议标准。 最后,详细论述了本次设计的重点- - 一固件开发。 西南交通大学硕士研究生学位论文第3 页 第2 章系统硬件设计 2 1 芯片简介 2 1 i t m s 3 2 0 f 2 4 0 芯片介绍 目前,随着计算机和信息产业的迅速发展,数字信号处理学科不但在理 论上而且在方法上都获得了迅速发展。特别是数字信号处理器( d s p s , d i g i t a ls i g n a lp r o c e s s o r s ) 的诞生与快速发展,使各种数字信号处理算法 得以实时实现,为数字信号处理的研究与利用打开了新局面,提供了低成本 的实际工作环境,造就了大批新型电子产品,推动了新的理论和应用领域 的发展。由于d s p s 拥有丰富的硬件资源、改进的并行结构、高速数据处理 能力和强大的指令系统,已经成为世界半导体产业中紧随微处理器与微控制 器之后的又一个热点,在航天、航空、工业控制、通信、网络及家用电器等 各个领域得到了广泛的应用。 1 d s p s 的主要结构特点 ( 1 ) 采用改进型哈佛结构,具有独立的程序总线和数据总线。可同时访 问指令和数据空间,允许数据在程序存储器和数据存储器之间进行传输。 ( 2 ) 高度的“并行性”操作,在一个指令周期内可完成一次乘加运算。 ( 3 ) 支持流水线处理。在处理器内,对每条指令的操作可分为取指、译 码、执行等几个阶段,每个阶段称为一级流水线。流水线处理是指在某一时 刻同时对若干条指令进行不同阶段的处理。即在理想情况下,可以同时执行 多条指令,大大提高了程序运行的速度。 ( 4 ) 片内含有专门的硬件乘法器和高性能的运算器及累加器,能够在每 秒钟内处理数以千万次甚至数亿次定点或浮点运算,其处理速度比以往最快 的微处理器还快数十倍;为满足数字信号处理卷积等运算的特殊要求,多数 d s p s 的指令系统都设置有循环寻址及位倒序指令和其它特殊指令,使得在做 这些运算时寻址、排序及计算速度都大幅度提高。 ( 5 ) 新型d s p s 大多设鼍了单独的d 姒总线及控制器,在基本不影响数字 信号处理速度的情况下,作高速的并行数据传送,其传送速率可以达到数百 西南交通大学硕士研究生学位论文第4 页 兆字节每秒。 ( 6 ) 新型d s p s 已不仅具有数据处理能力,而且集成了越来越多的片上外 设,如a d 、比较器、捕捉器、p w m 、q e p 以及看门狗等,可广泛应用于智 能测控、电机控制、汽车电子等领域,并可以组成新型的d s p 嵌入式应用系 统。这种d s p 系统不仅具有其它微处理器和单片机嵌入系统的优点,而且 还具有独特的高速数字信号处理能力。 2 t m s 3 2 0 f 2 4 0 芯片的主要特点 t m s 3 2 0 f 2 4 0 属于t i 公司2 0 0 0 系列d s p ,是作测控应用的1 6 位定点d s p s , 速度为2 0 i p s 。主要用于电机拖动、工业自动化、电力系统、信息家电等领 域。2 4 x 系列不但具有高性能的c 2 x xc p u 内核。配置有高速数字信号处理的 结构,而且还具有单片电机控制的外设功能。它将数字信号处理的高速运算 功能与面向电机的强大控制能力结合为一体,从而成为传统的多微处理器单 元和多片设计系统的理想替代品。 f 2 4 0 主要由三大部分构成;c p u 、存储器及片上外设,如图2 - t 所示。 c p u 主要包括以下功能模块: 一个3 2 b i t 的中央算术逻辑单元( c a l u ) 一个3 2 b i t 的累加器( a c c ) c a l u 的输入和输出数据定标移位器 个1 6 1 6 b i t 的乘法器 一个乘积定标移位器 存储器空间包括: 6 4 k 字的程序空间 6 4 k 字的本地数据空间 3 2 k 字的全局数据空间 6 4 k 字的i 0 空间 片上外设主要包括: 事件管理器( e v e n t m a n a g e rm o d u l e ,简称e v ) 殖南交通大学硕士研究生学位论文第5 页 双1 0 位模数转换器( a d c ) 2 8 个独立可编程多路复用7 ;0 引脚 基于锁相环( p l l ) 的时钟模块 带实时中断( r t i ) 的看门狗( w d ) 定时器模块 异步串行通信接口s c i 同步串行外设接口s p i 基于扫描的防真j t a g d a l ab 毗 图2 一it m s 3 2 0 f 2 4 0 的功能框图 西南交通大学硕士研究生学位论文第6 页 3 a d 转换功能模块 f 2 4 0 内部集成了两个1 0 位的a d 转换器,并带有内部采样保持电路, 共有1 6 路模拟输入通道。a d c 原理如图2 2 所示。其中共1 6 个模拟量输入 通道,每8 个通道经过一个8 选l 多路选择器和一个采样保持器到l o 位的 a d c ,a d c 的转换结果保存到两级先进先出( f i f o ) 寄存器。每个a d c 的转换 时间大约6 u s 。a d 转换的模拟参考电压v r e f h ,和vr e f l o 由外部电源提供,可 以接0 5 v 的任何电压。v 。h 和v 。应该分别连到5 v 电源和模拟地。 图2 - 2a d c 转换原理框图 a d c 引脚说明 a d c 模块有2 1 个引脚可以与外部电路连接。其中a d c i n 0 a d c i n l 5 为 1 6 路模拟量输入,v 踟和v 。e f l o 为模拟参考电压输入引脚,v c c 。和v s 。为 模拟电源引脚,另一个引脚为a d c s o c 外部启动a d c 转换引脚a d c i n o a d c i n 7 属于第一个a d c ,a d c i n 8 a d c i n l 5 属于第二个a d c ,其中a d c i n o 、a d c i n i 、 a d c i n 8 和a d c i n 9 四个引脚与数字i o 多路复用,通过编程可设定这4 个引 脚为数字i o 引脚。这4 个引脚的精度低于专用的模拟输入引脚a d c i n 2 a d c i n 7 和a d c i n l o a d c i n l 5 。外部启动引脚a d c $ o c 也与i o 多路复用。 西南交通大学硕士研究生学位论文第7 页 在连线时,要注意模拟电源与数字电源分开,而且电源引线要尽可能地 短,并采用减嗓技术确保转换精度。 a d o 操作模式 a d c 模块的功能如下: 可以同时采样和转换2 路模拟输入( 每个a d c 单元各一个) ; 每个a d c 都可以进行单独或连续的采样保持和转换操作; 两个a d c 可以由软件指令、a d c s o c 引脚电平跳变、每个通用定时器 的下溢。周期匹配、比较匹配事件和捕获单元4 来启动a d c 操作; a d c 控制寄存器的某些位是具有映像寄存器的双缓冲位,对这些位 的写不影响正在进行的转换,因为新写入的值是先进入映像寄存器 而不是直接进入工作寄存器,当前的转换结束后,a d c 会自动地将 映像寄存器内容载入工作寄存器,下一个转换就由新的配置来决定; 转换结束后,中断标志被置位。如果中断未被屏蔽且使能,则将产 生一个中断请求; 如果第3 次转换完成时,c p u 还没有读f i f o 那么第1 次转换的结果 将会丢失。 模拟信号采样转换 每个a d c 在1 个a d 转换预定标时钟周期内完成输入的采样,在5 个a d 转换预定标时钟周期内完成转换,所以每个采样转换需要6 个a d c 时钟周 期。a d c 模块的结构要求采样转换时间大于等于6 u s ,a d c 提供了一个预定 标功能,来保证无论d s p 时钟如何变化都可以确保a d c 保持最优性能。这样 来,通过选择合适的预定标值就可以满足上述要求。 预定标值由下式决定: s y s c l k 时钟周期预定标值6 ,6 u s式( 2 - i ) 预定标值由a d c 控制寄存器a d c t r l 2 的其中三个位决定,对应关系见 表2 - 1 ,在编程时,应根据系统时钟周期的取值及式( 2 - i ) 的关系确定预定 标值。 例如,系统时钟周期ts 。c l k = l o o n s ,则根据式( 2 一1 ) 计算得预定标 西南交通大学硕士研究生学位论文第8 页 值应大于等于1 0 。根据系统对a d c 转换速度和确保a d c 准确转换的要求,选 择1 0 以一h 的预定标值。 表2 1a d c 时钟频率预定标值 , a d c t r l 2 的a d c p s c a l e 预定标 b i t 2b i t ib i t o 000 00 1 0108 0l1l o 1001 2 l0l1 6 l102 0 1113 2 数字量输出 a d c 的l o 位数字量结果由下面公式近似给出,进行结果验证。 数字量结果= 1 0 2 3x 塑会箬塑量萼鱼式( 22 ) r e 跚一r e f l o 每个a d c 包含一个2 级f i f 0 数字输出寄存器,该寄存器包含一个模拟 输入转换后的l o 位数字量结果,存放在寄存器的高1 0 位,读f i f 0 时,低6 位d ;d 。始终为零。f i f o 是只读寄存器,复位时被清零。 双1 0 位a d 转换器的相关寄存器 每个d s p 的单元模块都有多种功能或多种工作方式,它的功能实现是由 相关的寄存器和引脚完成。寄存器分为:控制寄存器、状态寄存器和数据寄 存器。每个模块在工作以前,由控制类寄存器对模块进行初始化编程,设置 其功能或工作方式等。因此,对于各类寄存器的地址以及格式的了解是至关 重要的。 a d c 模块共有4 个寄存器,其地址影射在数据存储器空间的7 0 3 0 h 7 0 3 f h 之间。 a d c 寄存器 a d c 控制寄存器1 ( a d c t r l l ) 地址7 0 3 2 h ( 图2 3 ) 图中: 西南交通大学硕士研究生学位论文第9 页 d “s o f t 。仅用于防真期间。 d 小f r e e 。仅用于防真期间。 d “a d c i m s t a r t 。a d c 立即开始转换。 d “a d c 2 e n 。a d c 2 的禁止使能位,该位是映像的。 d :a d c i e n 。a d c i 的禁止使能位,该位是映像的。 d 1 0 :a d c c o n r u n 。a d c 连续转换设置位。 d 。:a d c i n t e n 。a d c 中断允许位。 d 。:a d c i n t f l a g 。a d c 中断标志位。 d ,:a d c e o c 。转换结束标志。 d 。d 。:a d c 2 c h s e l 。a d c 2 通道选择。 d ,d 【:a d c i c h s e l 。a d c l 通道选择。 i d 1 5d 】4d 1 3 d 1 2d 1 1d l o d 9i d 8 l s o f tf r e e a d c i m s t a r ta d c 2 e n a d c i e na d c c o n r u na d c i n t e nla d c i n t f l a g r w - or w - or w - os r w - o s r w 一0s r w - os r w - or w 一0 d ,ld 。 d 5 d 4 d 3 d 2d j d o a d c e o c a d c 2 c h s e la d c i c s e l a d c s o c r 一0s r w 一0s r w 一0 s r w 一0 图2 - 3a d c 控制寄存器l ( a d c t r l i ) 注意:a d c i 或a d c 2 进行a d 转换以前,必须被使能。s 表示该位有映 像,即为双缓冲位,在任何时候可以修改该位但并不影响a d c 正常工作。r 表示改为可读。w 表示该位可写。一0 表示复位时清零。 a d c 控制寄存器2 ( a d c t r l 2 ) 地址7 0 3 4 h ( 图2 4 ) a d c 控制寄存器2 选择a d c 输入时钟预定标、转换模式、防真操作及 a d c f i f o 寄存器的状态。 图中: d ,d ”d s 、d ,:保留。读操作不确定,写无效a d a d c e v s o c 。事件管理器模块启动转换使能位。 西南交通大学硕士研究生学位论文第10 页 d 。:a d c e x t s o c 。外部信号( 即a d c s o c 引脚) 启动转换使能位。 d ,d 。:a d c f i f o i 。表明a d c i 数据寄存器f i f o 的状态,在任何操作前 可以存储两个转换结果,但如果第三次转换结束,那么最早一次的转换结果 将丢失。d ,d 。为映像位。 0 0 f r f o 空: 0 l f i f o 有一个数据: 1 0 f i f 0 有两个数据: 1 l f i f o 有两个数据,而且之前的数据至少丢失一个。 d 。d ,:a d c f i f 0 2 。表明a d c 2 数据寄存器f i f o 的状态,在任何操作前 可以存储两个转换结果,但如果第三次转换结束,那么最早一次的转换结果 将丢失。d 。d ,为映像位。其意思同d 。d 。 d ,d 。:a d c p s c a l e 。a d 转换输入时钟预定标因子,由表2 1 确定。 l d 15 d 1 1 i d l o l d 9 l d 8 i 。 墨曼! :竺 ! ! ! 二里 1 d 7 d6 l d j i d 4 d3 f d 2 do l 匦亟匦血五五五亟匦固二二二卫垂亟 二二 l r - or 一0 s r w 一0 图2 - 4a d c 控制寄存器2 ( a d c t r l 2 ) a d 转换数据输出寄存器 每个a d c 包含一个2 级f i f o 数字输出寄存器,这为从数据寄存器中读 出数据之前转换两次提供了灵活性。该寄存器包含一个模拟输入转换后的1 0 位数字结果,存放在寄存器的高l o 位,即l o 位a d 转换结果d 。d 。,依 次存放在f i f o 的高1 0 位d ,d 。中,读f i f o 时,低6 位始终为零。f i f o 是只读寄存器,复位时被清零。 a d c f i f o i 地址为7 0 3 6 h ,a d c f i f 0 2 地址为7 0 3 8 h 。 西南交通大学硕士研究生学位论文第11 页 2 1 2p o i u s b d l 2 芯片介绍 1 功能描述 p d i u s b d l 2 是一款性价比很高的u s b 器件。它具有与微控制器进行通信 的高速通用并行接口,它还支持本地的d m a 传输。 这种实现u s b 接口的标准组件使得设计者可以在各种不同类型微控制器 中选择出最合适的微控制器。这种灵活性减小了开发的时间风险以及费用, 从而用最快捷的方法实现最经济的u s l 3 外设解决方案。 d 1 2 可设计为成像类、海量存储类、通信器件、打印设备以及人机接口 设备。同样地d 1 2 可理想地适用于许多外设,例如:打印机、扫描仪、外部 的存储设备和数码相机等。 d 1 2 具有的低挂起功耗连同l a z y c l o e k 输出,可以满足使用a c p i 、o n n o w 和u s b 电源管理的要求,其低的操作功耗可以应用于使用总线供电的外设。 此外,它还集成了许多特性,包括$ o f t c o n n e tt m 、g o o d l i n k t i v l 、可编 程时钟输出、低频晶振和各种寄存器集合。所有这些特性都为系统节约了大 量成本,同时使u s b 功能在外设上的应用变得更容易。 d 1 2 功能框图如图2 - 5 所示。 模拟收发器 集成的收发器接口可通过终端电阻直接与u s b 电缆相连。 电压调整器 片内集成了一个3 3 v 的调整器用于模拟收发器的供电。该电压还作为 输出连接到外部1 5 kq 的上拉电阻。可选择p d i u s b d l 2 提供的带1 5 kq 的 内部上拉电阻的软件连接技术。 p l l 锁相环 片内集成了6 埘z 4 8 m h z - 时钟乘法p l l ,这样就可使用低成本的6 m h z 晶振,e m i 也随之降低。p l l 的工作不需要外部元件。 位时钟恢复 位时钟恢复电路使用4 x 过采样规则,从进入的u s b 数据流中恢复时钟, 西南交通大学硕士研究生学位论文第12 页 能跟踪o s b 规定范围内的抖动和频漂。 p h i l i p s 串行接口引擎( p s i e ) p h i l i p ss i e 实现了u s b 协议层,该模块的功能包括:同步模式的识别、 并行串行转换、位填充解除填充、c r c 校验产生、p i d 校验产生、地址 识别和握手评估产生。 s o f t c o n n e c t “ s o f t c o n n e c tt m 与u s b 的连接是通过1 5 k q 上拉电阻将d + ( 用于高速 u s b 器件) 设置为高实现的。1 5 k q 上拉电阻集成在p d i u s b d l 2 片内默认状 态下不与v ,相连,其连接的建立是通过外部系统微控制器发送命令来实现 的。这就允许系统微控制器在决定与u s b 建立连接之前完成初始化时序。u s b 总线连接可以重新初始化而不需要拔出电缆。 需要注意的是内部电阻的误差( 2 5 ) 大于u s b 规格的5 ,但用于连接 的v s e 电压规格仍然由足够的余量。 g o o d l i n k g o o d l i n k t m 技术可提供良好的u s b 连接指示。在枚举中,l e d 指示根据 通信的状态间歇闪烁。d 1 2 成功地枚举和配置后,l e d 指示将一直点亮。随 后与d 1 2 之间成功的传输( 带问答) 将关闭l e d 。处于挂起状态时l e d 将会 关闭。 该特性为u s b 器件、集线器和u s b 通信状态提供了用户友好的指示。作 为一个诊断工具,它对隔离故障的设备是很有用的。该特性降低了现场技术 支持和热线的成本。 存储器管理单元( m m u ) 和集成r a m 在以1 2 m s 的速率传输并与微控制器并口相连时m m u 和集成r a m 作为 u s b 之间速度差异的缓冲。这就允许微控制器以它自己的速率对u s b 信息包 进行读写。 并行和d 淞接口 一个普通的并行接口定义成易于使用、快速而且可以与主流的微控制器 真接连接的接口。对一个微控制器而言,d 1 2 看起来就象一个带8 位数据总 西南交通大学硕士研究生学位论文第13 页 线和一个地址位| 勺存储器件。d 1 2 支持多路复用和非复用的地址和数据总线; 还支持主端点与本地共享r a m 间直接读取的d m a 传输;支持单周和突发模式 的d m a 传输。 6 i v - t z p u 锁相环 位时钟复位 内部r a m t k 垣一 0 0 铲p h i l i p $ 崞 l 庵矿陈 串行接口引擎 电压并行和 调整电路d m 蜷口 图2 5p d i u s b d l 2 功能框图 2 端点描述 d 1 2 的端点适用于不同类型的设备,例如:图象、打印机、海量存储器 和通信设备。端点可通过s e tm o d e 命令配置为4 种不同的模式,分为; 模式0 ( n o n i s o 模式) :非同步传输,如表2 2 所列 表2 - 2 模式0 ( 非同步传输) 端点数端点索引传输类型端点类型方向鼹大信息包规格b 、 o 控制输出输出 1 6 o默认 1 控制输入输入 1 6 2 普通输出普通输出 1 6 l 3普通输入普通输入1 6 4 普通输出普通输出 6 4 2 3 普通输入普通输入 6 4 模式l ( i s o o u t 模式) :同步输出传输,如表2 - 3 所列 表2 - 3 模式1 ( 同步输出模式) 西南交通大学硕士研究生学位论文第l4 页 端点数端点索引传输类型端点类型方向最大信息包规格,b 0 控制输出输出 1 6 o默认 l 。 控制输入输入 1 6 ,2 普通输出普通输出 1 6 l 3普通输入普通输入 1 6 2 ,4 同步输出同步输出 1 2 8 模式2 ( i s o - i n 模式) :同步输入传输,如表2 4 所列 表2 4 模式2 ( 同步输入模式) 端点数端点索引传输类型端点类型方向最大信息包规格bl o 控制输出输出 :i o默认 l控制输入 输入 2 普通输出普通输出 : l 3普通输入普通输入 24同步输入同步输入 1 2 8 i 模式3 ( i s o i o 模式) 同步输入输出传输,如表2 5 所列 表2 5 模式3 ( 同步输出输入模式) 端点数端点索引传输类型端点类型方向最大信息包规格bl 0 控制输出输出 ;:l 0默认 1 控制输入输入 2 普通输出普通输出 i :l l 3普通输入普通输入 i 2 4 同步输出同步输出 嚣i 5 同步输入同步输入 从表2 - 2 表2 - 5 中可以看出,端点2 在有些面是比较特别,的它是进 行吞吐大数据的主要端点。主端点执行主机的特性以减轻传输大数据的任 务,包括: 双缓冲。允许u s b 与本地c p u 之间的并行读写操作,这增加了数据 的吞吐量。缓冲区切换是自动处理的,导致了透明的缓冲区操作。 支持d m a 操作。可以和对其它端点的正常i o 操作交叉进行。 d h i a 操作中的自动指针处理,在跨过缓冲区边界时不需要本地c p u 的干预。 可配置为同步传输或非同步传输。 3 命令集台 西南交通大学硕士研究生学位论文第15 页 表2 - 6d 1 2 命令汇总 命令名称接收者 编码数据 初始化命令 设置地址使能器件d o h写l b 设置端点使能器件d s h写l b 设置模式器件 f 3 h 写2 b 设置d 凇器件f b h写读1 b 数据流命令 读中断寄存器器件f 4 h读2 b 选择端点控制输出o o f f读i b ( 可选) 控制输入o l h读1 b ( 可选) 端点1 输出 0 2 h读l b ( 可选 端点l 输入0 3 h读1 b ( 可选) 端点2 输出0 4 h读1 b ( 可选) 端点2 输入0 5 h读1 b ( 可选) 读最后处理状态控制输出4 0 h读1 b 控制输入 4 t h读1 b 端点1 输出 4 2 h读l b 端点l 输入4 3 h读1 b 端点2 输出4 4 h读l b 端点2 输入 4 5 h读l b 读缓冲区选择的端点 f o h读n b 写缓冲区选择的端点 f o h读 设置端点状态控制输出4 0 h写l b 控制输入4 1 h写l b 端点1 输出4 2 h写l b 端点1 输入 4 3 f f写i b 端点2 输出 4 4 h写1 b 端点2 输入4 5 1 d写l b 读端点状态控制输出 8 0 h读1 b 控制输入8 1 h读1 b 端点1 输出8 2 h读1 b 端点1 输入 8 3 h读l b 端点2 输出8 4 h读1 b 端点2 输入 8 5 h读l b 应答设置选择的端点 f l t t 无 缓冲区清零选择的端点 f 2 h 无 使缓冲区有效选择的端点 f a h无 普通命令 发送恢复 f 6 h无 读当前数目 f 5 t i读1 或2 b 西南交通大学硕士研究生学位论文第16 页 2 1 3e 刚7 0 6 4 s l c c 4 4 1o 芯片介绍 e p m 7 0 6 4 s l c c 4 4 一l o 芯片是a 1 t e r a 公司开发的一款c p l d 芯片。属于 m a x 7 0 0 0 系列,亥芯片主要有一下特点: 采用第二代多阵列矩阵( m a x ) 结构; 器件的规模为6 4 个宏单元; 引脚到引脚之间的延迟为1 0 n s ,工作频率可达1 0 0 m h z ; 工作电压为5 v ,支持在系统编程( i s p ) ; 在可编程功率节省模式下工作,每个宏单元的功耗可降到原来的5 0 或更低: 高性能的可编程连线阵列( p i a ) 提供一个高速的、延时可预测的互 连线资源; 每个宏单元中的可编程扩展乘积项( p - t e r m s ) 可达3 2 个; 具有可编程加密位,可对芯片内的设计加密。 e p m 7 0 6 4 s 的结构主要是由4 个逻辑阵列块( l a b ) 以及它们之间的连线 构成,根据封装不同具有不同的管脚数,如图2 6 所示。本文使用的是p l c c 4 4 封装的e p m 7 0 6 4 s l c c 4 4 一l o ,具有4 4 个外部管脚。每个l a b 由1 6 个宏单元组 成,多个l a b 通过可编程连线阵列( p i a ) 和全局总线连接在一起。每个l a b 具有1 0 个外部管脚,其中一对是+ 5 v 的电源,另外8 个是可编程的 o 口。 e p m 7 0 6 4 s l c c 4 4 1 0 是通过j t a g 接口实现i s p 技术的,j t a g 中的t c k ( 测试 时钟) 、t m s ( 测试模式) 、t d i ( 测试数据输入) 、t d o ( 测试数据输出) 与特 定的可编程i o 口复用。其余的4 个管脚分别是g c l k l ( 全局时钟1 ) 、g c l k 2 ( 全局时钟2 ) 、o e ( 全局输出使能) 、g c l r ( 全局清除) ,它们又可编程为通 用输入口。 与f p g a 器件相比c p l d 器件具有很好的延时可预测性和大量的逻辑单 元。因此,广泛应用于控制和组合逻辑译码电路中。本设计就采用 e p m 7 0 6 4 s l c c 4 4 1 0 作为t m s 3 2 0 f 2 4 0 与外部扩展r a m 、p d i u s b d l 2 以及其它 i o 接口的译码芯片。 西南交通大学硕士研究生学位论文第l7 页 2 。2 硬件设计 图2 - 6e p m 7 0 6 4 s 内部结构图 2 2 1 时序逻辑设计 硬件系统由一片t m s 3 2 0 f 2 4 0 、一片e p m 7 0 6 4 s l c c 4 4 1 0 和一片p d i u s b d l 2 构成。如图2 7 所示。 t m s 3 2 0 f 7 a 0 幽i 卜慧o 靼娜隹 越e i p d i u s b d l 2 & t m m mm 爨,。篇, 图2 - 7 系统原理图 f 2 4 0 本身集成了两个8 通道a d c ,无需外部扩展a d c 芯片。两个a d c 共 用一对参考电压管脚v 。l o ( 参考电压低) 和v 旺踟( 参考电压高) ,本文采用 西南交通大学硕士研究生学位论文第l8 页 两个i o k 可调电阻与它们构成了可调电路,可以精确的调整输入电压的高低 参考量值。这样,日n 节省了扩展芯片的额外开销,又避免了复杂系统带来的 抗干扰设计。 采用可编程逻辑器件的优点如下: 当接口时序互不匹配时,可以根据已有的接口时序来实现其它功能 器件需要的接口时序; 当系统需要某种特定器件的逻辑功能,但为了减小板设计面同时考 虑为升级留有余地,可以将这些功能集成到单片的c p l d 中。 在包括u s b 接口印制板的调试过程中,作者就深深体会到c p l d 这种半 定制器件的强大功能,受益匪浅。 7 0 6 4 s 在本文中除了片选和译码外就是匹配f 2 4 0 和d 1 2 之间的读时序。 f 2 4 0 与d 1 2 的连接不能象其它微控制器那样,把读信号线直接连接。在软件 调试过程中证实了这点,程序运行后发现无法实现枚举,虽然程序执行的流 程是正确的,但是事务处理全局变量得到的全部是8 0 h 。如果正常枚举,事 务处理全局变量接收至u 的应该是一个s e t u p 包即:8 0 h ,0 6 h ,o o h ,o l h ,o o h , o o h ,4 0 h ,o o h ,第一个字节接收正确说明硬件连接没有问题。由于u s b 的 枚举过程很快,根据u s b 协议如果连续3 次不能接受至应答包就结束枚举。 所以,不能采用c c s ( c o d ec o m p o s e rs t u d i o ) 的单步调试,只能采用断点 调试。为了进一步检验数据是否正常传输,使用读d 1 2 标志符命令( r e a d c h i p i d ) ,它的返回值应该有两个分别是1 2 h 和i o h 。在这个函数后设定断点,使 用m e m o r yw i n d o w 观察内存数据发现是两个1 2 h 。以上信息再次证明硬件连 接没有错误,问题可能在于读时序。 f 2 4 0 的连续读时序如图2 8 所示,连续写时序如图2 - 9 所示。f 2 4 0 具 有三条读写信号线,分别是可西、w 莨、r w ,其中可匣是写信号,w 是读 写复合信号,r 而是w 的互补信号。i 亍面是一个附加的读写选通信号, 在对外部t o 进行读写时变为低电平。 在连续读过程中,使用示波器测试w 始终为低电平。在图2 - 8 中也可 以看到,在没有外部r o 操作时w 瓦始终为低电平,当有读操作时也一致呈 低电平。可是,图2 9 中的可两信号在连续写过程中,随每次写一个字节数 西南交通大学硕士研究生学位论文第19 页 据出现一个由下降到上升的变化。d 1 2 的内部r a m 是基于f i f o ( 先进先出存 储器结构) 的,需要读写信号来触发f i f o 的指针,可是f 2 4 0 的读信号却在 有效时全部呈低唔平状态,f i f o 指针不能变化,导致只能读到第一个存储单 元的数据。这就是为什么写有效而读无效的原因。 要在每次读数据后触发f i f o

温馨提示

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

评论

0/150

提交评论