博文
USB 基本知识(2005-09-26 08:49:00)
摘要:USB的重要关键字:
1、端点:位于USB设备或主机上的一个数据缓冲区,用来存放和发送USB的各种数据,每一个端点都有惟一的确定地址,有不同的传输特性(如输入端点、输出端点、配置端点、批量传输端点)
2、帧:时间概念,在USB中,一帧就是1MS,它是一个独立的单元,包含了一系列总线动作,USB将1帧分为好几份,每一份中是一个USB的传输动作。
3、上行、下行:设备到主机为上行,主机到设备为下行
下面以一问一答的形式开始学习吧。
问题一:USB的传输线结构是如何的呢?
答案一:一条USB的传输线分别由地线、电源线、D+、D-四条线构成,D+和D-是差分输入线,它使用的是3.3V的电压(注意哦,与CMOS的5V电平不同),而电源线和地线可向设备提供5V电压,最大电流为500MA(可以在编程中设置的,至于硬件的实现机制,就不要管它了)。
问题二:数据是如何在USB传输线里面传送的
答案二:数据在USB线里传送是由低位到高位发送的。
问题三:USB的编码方案?
答案三:USB采用不归零取反来传输数据,当传输线上的差分数据输入0时就取反,输入1时就保持原值,为了确保信号发送的准确性,当在USB总线上发送一个包时,传输设备就要进行位插入***作(即在数据流中每连续6个1后就插入一个0),从而强迫NRZI码发生变化。这个了解就行了,这些是由专门硬件处理的。
问题四:USB的数据格式是怎么样的呢?
答案四:和其他的一样,USB数据是由二进制数字串构成的,首先数字串构成域(有七种),域再构成包,包再构成事务(IN、OUT、SETUP),事务最后构成传输(中断传输、并行传输、批量传输和控制传输)。下面简单介绍一下域、包、事务、传输,请注意他们之间的关系。
(一)域:是USB数据最小的单位,由若干位组成(至于是多少位由具体的域决定),域可分为七个类型:
1、同步域(SYNC),八位,值固定为0000 0001,用于本地时钟与输入同步
2、标识域(PID),由四位标识符+四位标识符反码构成,表明包的类型和格式,这是一个很重要的部分,这里可以计算出,USB的标识码有16种,具体分类请看问题五。
3、地址域(ADDR):七位地址,代表了设备在主机上的地址,地址000 0000被命名为零地址,是任何一......
PSD产品知识问答(FAQ)(2005-09-25 10:21:00)
摘要:[问:] 请问EasyFLASH PSD 的应用范围和它的独特优点?
[答:] EasyFLASH PSD 是高集成度的器件,能简化基于MCU/DSP系统应用的整体设计:
它有内建的双Flashes, SRAM,可编程I/O口,逻辑以及其它许多功能。有如下特点:
1. 100% 在系统编程(In System Programming)可有效降低库存风险
2. 在应用反复编程(IAP),便于产品的在线更新和升级
3. 大存储容量,不需考虑存储器的大小
4. 零功耗技术
[问:] PSD可以替代其它可编程逻辑器件吗?
[答:] 是的,有两种类型的PLD可以用PSD替代:
1. 简单的 PLD 可以替代如16V8, 22V10等
2. 一些CPLD产品.
[问:] 能否将老的MCU电路原理改成PSD?
[答:] 可以。PSD适合任何 MCU 的应用。如果你的电路中用到存储器(Flash,
EPROM, SRAM, E2PROM), 分离逻辑,如74HC373/573, 138/139 以及扩展 I/O
(74HC244/245, 8255, 等) 或者需要设计更小的电路板,PSD 是最好的选择。
[问:] PSD芯片的功耗,和应用的特点是什么?
[答:] 在省电方面,PSD 有杰出的性能:
1. 零功耗技术针对所有存储器(Flash, E2PROM, SRAM): 平均功耗比用分离器件低
很多。如采用8051@ 12 Mhz......
DSP芯片开发(2005-09-23 09:03:00)
摘要:DSP芯片开发和产品应用
一、DSP程序开发
为了使DSP有效运行、必须要用能充分考虑DSP内部并行性的汇编语言进行编制DSP程序。前面提到,美国TI公司的DSP推销员说DSP编程容易,实际上他是指DSP的汇编语言相对于计算机的汇编语言而言,比较容易一些,因为没有像计算机汇编语言那样复杂。但是,对于习惯用高级语言编程的用户,利用DSP汇编语言编程还是有困难的。因为,汇编语言是面向机器的程序设计语言,它是一种把机器语言(机器指令码)符号化的低级程序设计语言。使用计算机汇编语言的用户一定要熟悉机器硬件结构和指令系统;使用DSP汇编语言的用户一定要熟悉DSP芯片内部结构和指令系统,这对于DSP用户来说也实非容易的事情。
从发展DSP应用角度观察,应该有相当规模的DSP开发应用队伍,这个队伍的成员应该掌握使用汇编语言AssemblyLanguage编程基本功,才能开发出高效率的DSP应用程序。特别是在利用多个DSP芯片开展并行处理应用时,具有这种编程基本功底是绝对必要的。甚至,在某些专业应用领域,诸如,日本简易便携电话PHS、磁盘驱动器里的控制系统等,可能仅有一块DSP芯片,供编程的空间很小,需要用DSP指令编写高效率精干的小程序。因为,利用汇编语言编制应用程序,DSP还需要一种汇编程序Assembler通过代真把源程序中各个符号转换成DSP可执行的指令代码。Assembler也要占用DSP的有限存储空间。前文提及的正确理解DSP,实际上也包括这一层含义。也就是说,不对DSP的性能和结构有透澈地了解,很难推广DSP应用。
从DSP编程角度观察,需要重视以下两点:首先,DSP处理任务的执行时间要给予重视,其次,C语言及其编译程序Compiler支持工具也很重要。这是日本武藏工业大学的学者曾祢元隆等研究DSP应用的重要心得体会,对于推广DSP应用具有重要意义。
二、多个DSP并行处理
随着数字信号处理器DSP芯片逐年增多和芯片价格的降低,多个DSP芯片并行处理的实用化研究,成为近年来DSP研究热点之一。提起多个DSP并行处理,使人们很快联想到跨入九十年代的超级并行处理MPP(MassivelyParalleProcessing)巨型机热潮。这类机器一上市,宣称具备三
大特点:
〈1〉高性能?/FONT>MPP巨型机的峰值处理性能可......
DSP的应用领域(2005-09-23 08:57:00)
摘要:现代数字信号处理器是执行高速数字信号处理的IC电路、它恰好适应多媒体信息化社会需求,迅速发展壮大。如今,世界电子器件市上,各种各样的DSP器件已相当丰富。大大小小封装形式的DSP器件,已广泛应用于各种产品的生产领域,而且DSP的应用领域仍在不断地扩大,发展迅速异常。
一、数字化移动电话
数字化移动电话尽管花样繁杂,但基本上可划为两大类:高速移动电话和低速移动电话。其中,高速移动电话顾名思义是在高速移动体里使用的电话,诸如可在飞机、轮船和汽车等里自由通话的电话。虽然数字化高速移动通过标准很多,但当今普遍应用的是欧洲GSM(GlobalSystemforMobileCommunication)标准。自从推出数字化蜂窝式电话机以来,现已遍布全球70多个国家广泛应用。俗称GSM标准的数字化蜂窝电话,叫作数字化大哥大,它具备国际漫游(Roaming)功能,SIMC(SubscriberIdentificationModuleCard)给用户带来使用大哥大的方便。现正在扩展数据通信服务能力以及它与ISDN系统兼容性,例如,英国BT公司的Cellnet部已经利用GSM提供数字化数据和传真服务,于是东芝笔记本电脑也安上了数字化的大哥大。
所谓低速移动电话,当然在高速移动体里完全不能应用,然而在步行速度下却很好用,价格远比数字化大哥大便宜,因此称为穷人的大哥大。低速移动电话就其实质而论。它是数字化无绳电话,仍然保持模拟式无绳电话的子母式结构:子机亦称为手机,可以距母机为百米左右半径内的空间里自由步行移动情况下实现通过话;母机也称为基地站,可作为家庭里的留守电话,也可悬挂在商店的墙壁上,街道的电线柱上,广为分布。由统一的交换设施进行管理,实现无缝交递(SeamlessHandOn)功能。这类低速移动电话式标准很多。例如,欧洲较为普遍应用的DECI(DigitalEuropeanCordlessTelecommunictaion),日本、南韩东南亚应用的PHS(PersonalHandy-phoneSystem)以及Philips和我国联合开发的DCCT(DigitalChinaCordlessTelephone)。其中,尤以PHS和DECT制式低速移动电话发展较快,我国的DCCT由于缺乏关键性的DSP技术仍处于设计阶段。
数字化移动电话(包括高速和低速)的每个......
DSP芯片的运算速度(2005-09-23 08:55:00)
摘要:运算速度是DSP芯片的一个最重要的性能指标,也是选择DSP芯片时所需要考虑的一个主要因素。DSP芯片的运算速度可以用以下几种性能指标来衡量:
(1) 指令周期。就是执行一条指令所需要的时间,通常以ns为单位。
(2) MAC时间。即一次乘法加上一次加法的时间。
(3) FFT执行时间。即运行一个N点FFT程序所需的时间。
(4) MIPS。即每秒执行百万条指令。
(5) MOPS。即每秒执行百万次操作。
(6) MFLOPS。即每秒执行百万次浮点操作。
(7) BOPS。即每秒执行十亿次操作。
2. DSP芯片的价格。根据一个价格实际的应用情况,确定一个价格适中的DSP芯片。
3. DSP芯片的硬件资源。
4. DSP芯片的运算速度。
5. DSP芯片的开发工具。
6. DSP 芯片的功耗。
7. 其它的因素,如封装的形式、质量标准、生命周期等。
DSP应用系统的运算量是确定选用处理能力多大的DSP芯片的基础。那么如何确定DSP系统的运算量以选择DSP芯片呢?
1. 按样点处理
按样点处理就是DSP算法对每一个输入样点循环一次。例如;一个采用LMS算法的256抽头德的自适应FIR滤波器,假定每个抽头的计算需要3个MAC周期,则256抽头计算需要256*3=768个MAC周期。如果采样频率为8KHz,即样点之间的间隔为125μs的时间,DSP芯片的MAC周期为200μs,则768个周期需要153.6μs的时间,显然无法实时处理,需要选用速度更快的芯片。
2. 按帧处理
有些数字信号处理算法不是每个输入样点循环一次,而是每隔一定的时间间隔(通常称为帧)循环一次。所以选择DSP芯片应该比较一帧内DSP芯片的处理能力和DSP算法的运算量。假设DSP芯片的指令周期为P(ns),一帧的时间为⊿τ(ns),则该DSP芯片在一帧内所提供的最大运算量为⊿τ/ P 条指令。......
DSP芯片的选择(2005-09-23 08:55:00)
摘要:设计DSP应用系统,选择DSP芯片时非常重要的一个环节。只有选定了DSP芯片才能进一步设计外围电路集系统的其它电路。总的来说,DSP芯片的选择应根据实际的应用系统需要而确定。一般来说,选择DSP芯片时考虑如下诸多因素。
1. DSP芯片的运算速度。运算速度是DSP芯片的一个最重要的性能指标,也是选择DSP芯片时所需要考虑的一个主要因素。DSP芯片的运算速度可以用以下几种性能指标来衡量:
(1) 指令周期。就是执行一条指令所需要的时间,通常以ns为单位。
(2) MAC时间。即一次乘法加上一次加法的时间。
(3) FFT执行时间。即运行一个N点FFT程序所需的时间。
(4) MIPS。即每秒执行百万条指令。
(5) MOPS。即每秒执行百万次操作。
(6) MFLOPS。即每秒执行百万次浮点操作。
(7) BOPS。即每秒执行十亿次操作。
2. DSP芯片的价格。根据一个价格实际的应用情况,确定一个价格适中的DSP芯片。
3. DSP芯片的硬件资源。
4. DSP芯片的运算速度。
5. DSP芯片的开发工具。
6. DSP 芯片的功耗。
7. 其它的因素,如封装的形式、质量标准、生命周期等。......
DSP开发工具(2005-09-23 08:52:00)
摘要:DSP开发工具
1 代码生成工具
C 优化编译器
汇编语言工具
汇编器(Assembler)
连接器(Linker)
归档器(Archiver)
交叉引用列表器(Cross-Reference Lister)
2 系统集成及调试环境与工具(以TI为例)
调试器接口(C/Assembly source debugger)
为嵌入式系统的开发提供了丰富的功能与灵活性。该调试器是下面要讨论的软仿真器、评估模块、在线仿真器等的标准接口。
该调试器可以运行在PC或SPARC等平台上,对用C 或汇编语言写的程序提供完全的控制。其代码分析功能通过快速确认最费时的程序段,提示应该将开发时间集中在什么地方
软仿真器(Simulator)
TMS320软件仿真器是一个软件程序,使用主机的处理器和存储器来仿真TMS320 DSP的微处理器和微计算机模式,从而进行软件开发和非实时的程序验证。在PC机上,典型的仿真速度为每秒几百条指令
DSP入门套件(DSK,DSP Starter Kit)
为初学者设计和生产的DSK是一种用以评价DSP平台的廉价的开发工具。在PC机的DOS或Windows下,用户可以使用DSK来作DSP的实验,进行诸如控制系统、语音处理等应用;也可以用来编写和运行实时源代码,并对其作评估;还可以用来调试用户自己的系统
银杏开发、实验系统(DES,Dsp Expirement System)
银杏DES含有TMS320C542-40及相关接口,还特别内置了信号源,附带虚拟示波器和频谱仪软件。采用这套系统使用户对外设的依赖降到最低,仅仅需要一张卡和一套软件就可以进行DSP的开发或实验。
标准评估模块(EVM)
TMS320的评估模块(EVM)是廉价的开发板,用于器件评估、标准程序检查、以及有限的系统调试。EVM是一个PC插件,包括目标处理器、一个小容量的存储器、和有限的外设。EVM可以用来实时运行代码,并与外部系统接口
TMS320硬件仿真器(Emulators)
扩展开发系统(XDS,extended development system)是功能强大的全速仿真器,用以作系统级的集成与调试。
扫描式仿真(Scan-Based Emulator)是一种独特的、非插入......
DSP产品应用(2005-09-23 08:50:00)
摘要: ---- 在即将告别20世纪、步入21世纪的世纪之交的时刻,让我们首先回顾一下国际上电子工业最近30年来发展的历程:70年代的电子工业以消费电子为主,代表性的产品是录像机、摄像机、彩电,主要的生产厂商是日本的Sony、JVC、荷兰的Philips等家电厂商,依靠的是大规模生产和优秀的质量。80年代是计算机时代,代表性的产品是PC机、硬盘驱动器、打印机,主要生产厂商是美国的Intel、IBM、Microsoft、Compaq等公司。90年代起是信息时代,代表性的产品是个人通信网、网络接入设备、数字化消费类电子产品,主要生产厂商目前尚难确定,处于战国七雄争霸时代,主要获胜的战略之一是以DSP为核心的技术及其创新产品。
---- DSP可以代表数字信号处理技术,也可以代表数字信号处理器,其实两者是不可分割的,前者是理论上的技术,要通过后者变成实际产品。两者结合起来就成为解决某一实际问题和实现某一方案的手段棗数字信号处理解决方案(DSPS)。
---- DSPS正在改变我们生活方式的各个方面,例如人们之间的联系方式正由电话转向个人通信方式。人类从电话发明到5千万电话用户数花了70年时间,模拟蜂窝电话达到5千万用户花了14年,而数字蜂窝电话(GSM是其中之一)只花了5年就达到相同的用户数。
---- 再如我们的娱乐方式,VCD、DVD正替代VHS录像机,数字电视机开始替代模拟的NTSC或PAL制电视机。家庭影院主要由数字化A/V设备组成,DSP不仅给你环绕声,还为你虚拟各种现场效果。
---- DSP日益进入人们的生活,所以DSP芯片的年增长率超过50,在最近几年整个半导体产量下降的情况下,唯有DSP芯片保持高速增长的势头。
---- DSP的发展面临的挑战是CPU速度的急速增快和价格的持续下降,使DSP制造商面临两种选择,一种是加快DSP的发展,另一种是退出竞争。看来主要的DSP制造商都选择了第一种路线,尤其是占全球DSP销售份额45的美国TI公司在对公司的产品进行结构性调整的基础上,以多元化投资转到单一化投资,确立以DSPS为主要发展的产品,即集所有技术、所有产品于DSP。
---- TI公司在原来已被人们熟知的TMS320C1X、TMS320C25、TMS320C3X/4X、TMS320C5X、
TMS320C8X的基础上发展了三种新的DSP系......
| 数字信号处理 | 数字信号处理器 | DSP处理器与通用处理器的比较 |(2005-09-23 08:48:00)
摘要:| 数字信号处理 | 数字信号处理器 | DSP处理器与通用处理器的比较 |
Digital Signal Processing 数字信号处理
作为一个案例研究,我们来考虑数字领域里最通常的功能:滤波。简单地说,滤波就是对信号进行处理,以改善其特性。例如,滤波可以从信号里清除噪声或静电干扰,从而改善其信噪比。为什么要用微处理器,而不是模拟器件来对信号做滤波呢?我们来看看其优越性:
模拟滤波器(或者更一般地说,模拟电路)的性能要取决于温度等环境因素。而数字滤波器则基本上不受环境的影响。
数字滤波易于在非常小的宽容度内进行复制,因为其性能并不取决于性能已偏离正常值的器件的组合。
一个模拟滤波器一旦制造出来,其特性(例如通带频率范围)是不容易改变的。使用微处理器来实现数字滤波器,就可以通过对其重新编程来改变滤波的特性。
信号处理方式的比较
比较因素 模拟方式 数字方式
修改设计的灵活性 修改硬件设计,或调整硬件参数 改变软件设置
精度 元器件精度 A/D的位数和计算机字长,算法
可靠性和可重复性 受环境温度、湿度、噪声、 不受这些因素的影响
电磁场等的干扰和影响大
大规模集成 尽管已有一些模拟集成电路, 但品种较少、集成度不高、价格较高DSP器件体积小、功能强、功耗小、一致性好、使用方便、性能/价格比高
实时性 除开电路引入的延时外,处理是实时的 由计算机的处理速度决定
高频信号的处理 可以处理包括微波毫米波乃至光波信号 按照奈准则的要求,受S/H、A/D和 处理速度的限制
Digital Signal Processor 数字信号处理器
微处理器(Microprocessor)的分类
通用处理器(GPP)
采用冯.诺依曼结构,程序和数据的存储空间合二而一
8-bit Apple(6502),NEC PC-8000(Z80)
8086/286/386/486/Pentium/Pentium II/ Pentium III
PowerPc 64-bit CPU(SUN Sparc,DEC Alpha, HP)
CISC 复杂指令计算机, RISC 精简指令计算机
采取各种方法提高计算速度,提高时钟频率,高速总线,多级Cash......
DSP硬件结构的特点和软件的特点(2005-09-23 08:48:00)
摘要:DSP硬件结构的特点和软件的特点
硬件结构的特点
1 Harvard结构
程序与数据存储空间分开,各有独立的地址总线和数据总线,取指和读数可以同时进行,从而提高速度,目前的水平已达到90亿次浮点运算/秒(9000MFLOPS)
2 采用流水作业(pipline)
3 独立的硬件乘法器
乘法指令在单周期内完成,优化卷积、数字滤波、FFT、相关、矩阵运算等算法中的大量重复乘法
4 循环寻址(Circular addressing),位倒序(bit-reversed)等特殊指令
使FFT、卷积等运算中的寻址、排序及计算速度大大提高。1024点FFT的时间已小于1µs
5 独立的DMA总线和控制器
有一组或多组独立的DMA总线,与CPU的程序、数据总线并行工作,在不影响CPU工作的条件下,DMA速度已达800Mbyte/s以上
6 多处理器接口
使多个处理器可以很方便的并行或串行工作以提高处理速度
7 JTAG(Joint Test Action Group)标准测试接口(IEEE 1149标准接口)
便于对DSP作片上的在线仿真和多DSP条件下的调试
软件的特点
1 立即数寻址
2 直接寻址
TI公司的TMS320系列芯片将数据存储器分为512页,每页128字。设置一个数据页指针DP(Data Pointer),用9-bit指向一个数据页,再加上一个7-bit的页内偏移地址,形成16-bit的数据地址。这样有利于大大加快寻址速度。
3 间接寻址
8个辅助寄存器(AR0--AR7),由一个辅助寄存器指针(ARP 3-bit)来指定一个辅助寄存器算术单元(ARAU)作16-bit无符号数运算,决定一个新的地址,装入辅助寄存器中的一个
AR0--AR7的内容相当灵活,可以装入立即数,加上立即数,减去立即数;也可以从数据存储器装入地址;还可以作以下的变址寻址:
将该AR的内容加1或减1,再寻址(循环常用)
将该AR的内容加上或减去AR0的内容,再寻址
将该AR的内容逆向进位加上或减去AR0的内容,再寻址
由于采用反向进位,得以实现位倒序寻址
原序 原地址 位倒序后地址 位倒序
0 000 000 0
1 001 100 4
2 010 010 ......