最新日志

发表于:2008-5-15 23:23:42
标签:Freescale  PowerPC  

0

MPC83XX相对于MPC82XX优势

MPC8349E PowerQUICC II Pro系列为网络、通信和深入计算应用的开发提供了一个高性价比、高集成控制的处理解决方案,可用于自动化和机器人,测试和测量,进程制造控制,空间技术,房屋控制和医疗、复印机、打印机和其他影像系统。 

 

MPC8349E处理器结构框图

点击下载

点击此处查看原文 >>

系统分类: 嵌入式   |    用户分类:    |    来源: 原创

评论(0) | 阅读(19)
发表于:2008-5-12 18:48:54
标签:无标签

1

基于Freescale i.MX27 IP Camera 参考设计

基于Freescale i.MX27 IP Camera 参考设计

i.MX27 IP Camera Reference Design

Design engineers seeking a development platform for a high-performing, low-power and cost-sensitive H.264 IP network camera need look no further than Freescale Semiconductor. The i.MX27 IP Camera Reference Design provides the hardware engine and robust software applications to enable an OEM to quickly add their differentiating IP or go straight to manufacture. The comprehensive form-factor reference design is based on the powerful i.MX27 multimedia applications processor from Freescale, with Smart Speed? technology.

Expected early 3rd quarter 2008


Features


  • Innovative IP camera design is powered by the high-performing, low-power Freescale i.MX27 multimedia applications processor
  • H.264 and MPEG-4 video compression, optimized for performance and power (dual-stream capable)
  • Aptina? 2 MP CMOS sensor with integrated ePTZ
  • High quality Tamron CS-mount lens with manual iris
  • Wired or wireless (802.11g) streaming
  • Power-over-Ethernet (POE) enabled
  • Embedded web server with client setup page for camera configuration and remote viewing
  • Royalty-free reference design
  • Comprehensive software and hardware design package enables OEM customization or can be taken direct to manufacture

Video Compression


  • Compression: H.264 and MPEG-4 Part 2
  • Resolution: D1 (720 x 480, 720 x 576)
  • Frame Rate: 30fps
  • Automatic and Variable Bit Rate Support

Network Connectivity


  • Interface: 10/100 Ethernet or 802.11g
  • Protocols: TCP/IP, DHCP, HTTP, UDP, FTP

Software Features


  • Freescale Linux? 2.6 Board Support Package (BSP)
  • User space applications and middleware for camera configuration and data streaming
  • Configuration webpage for camera setup
  • Multi-camera viewing on target system
  • Media player client for compressing and rendering captured data on target system

点击开大图

点击开大图

点击此处查看原文 >>

系统分类: ARM   |    用户分类:    |    来源: 原创

评论(0) | 阅读(120)
发表于:2008-5-10 0:06:36
标签:无标签

0

Quartus II 6.0破解(完整版)

    虽然有点老了,不过还是有点用!

首先第一种情况您下载的文件中有crack这个文件夹,并且有下面的英文破解说明和文件,如果没有,可以自动忽略这种情况,看第二种和其他一些软件一样,破解文件放在crack文件夹里,里面里有下面的英文破解说明,不过理解起来有些费劲,好不容易弄好了,解释如下

下面是英文破解说明

1.) Install the Product you want (Windows/Linux/Solaris)
2.) Copy the Cracked librarys into the main binary directory:

Example:
INSTALL\win
INSTALL\linux
INSTALL\linux64
INSTALL\solaris
INSTALL\solaris64

3.) Edit license.dat and change "CHANGEME" to any type of hostid for your system:

Example:
HOSTID=00f0ffc0000f :Ethernet
HOSTID=10018a3d          :DiskID

4.) Point the program to license.dat when asked.
5.) Enjoy

Have Fun Team NiTROUS and Team SHooTERS !

解释一下:
windows下安装完成后,将crack文件夹中windows文件夹的alterad.exe和sys_cpt.dll拷贝到quartus60目录的win文件夹中覆盖原来的同名文件,为以防万一可以事先备份一下,然后将crack文件夹中的license.dat拷贝到硬盘的某一目录下,命令行下(开始菜单-运行-cmd可得)用ipconfig /all命令得到本机MAC地址(Physical Address)(00开头的12位数值),用文本编辑文件如ultraedit打开license.dat,将里面的CHANGEME字段替换为本机MAC地址,打开quartus软件,如果出现注册的对话框,选择第三项,导入这个license.dat即可!

其实获得MAC地址还可以在导入之时看一下导入对话框最下面的显示,下面两个显示值上面的是MAC地址,下面的是硬盘号。

那天这样做过后,显示是已经注册了,不过很不幸,我运行一个实例时,出现了一个提示lisence is not valid,让人觉得很是郁闷,半天功夫岂不白费?或许是我理解不到位,不过我按照这种方法没有成功,哪位大侠成功了,不妨告诉小弟一声,提前谢谢了

第二种方法没有crack文件

没办法,只好又到网上搜索,终于在另一个bbs(欣欣工作室)上找到另一个lisence文件,照其说明修改导入后,这个实例终于没有出错!

下载地址

http://www.xinworks.com/confirmdown.php?id=310
Crack_QII60_b178.rar

里面有详细说明,仍然是将sys_cpt.dll拷贝到quartus60目录的win文件夹中覆盖原来的同名文件,为以防万一可以事先备份一下,
如果已经替换sys_cpt.dll文件,可以将下面内容存成lisence.dat,命令行下(开始菜单-运行-cmd可得)用ipconfig /all命令得到本机MAC地址(Physical Address)(00开头的12位数值),用文本编辑文件如ultraedit打开license.dat,将里面的CHANGEME字段替换为本机MAC地址,打开quartus软件,如果出现注册的对话框,选择第三项,导入这个license.dat即可!

license.dat文件内容:

FEATURE quartus alterad 2034.12 permanent uncounted 385FB2185EE1 \
HOSTID=XXXXXXXXXXXX SIGN="1113 5A52 EA34 2C59 C5B7 B031 \
CE45 D947 B4AB 5969 C1E6 913F DE27 F3FE 08B7 07E0 9AF1 4546 \
392F BDEF 2D19 E184 8A44 4C38 FD10 88F9 0F2F 1E21 5754 B8E8"

FEATURE quartus_stratixgx_2 alterad 2034.12 permanent uncounted \
00812F178F89 HOSTID="XXXXXXXXXXXX" SIGN="1A84 B0B6 D972 \
5229 EC39 B3DC A8C3 283E 67DF 23C8 A1C1 3D93 5B16 FE89 8E89 \
1134 00E6 C6BA D317 1C3E 6DE5 27F2 B081 328A 4C92 B9D6 4531 \
27E3 096A CE99"


#license文件存放的路径名称不能包含汉字和空格,空格可以用下划线代替。
#把license.dat里的XXXXXXXXXXXX用您老的网卡号(MAC地址)替换,仅限于学习,不要用于商业目的!

经本人实践,第二种方法成功。

下面转一个QuartusII 6.0 + NiosII 破解经验,仍是欣欣工作室里的

http://www.xinworks.com/bbs/simple/index.php?t942.html

近两日,破解QuartusII 6.0 + NiosII ,在本站查找相应资料,经过测试,以下方法可行:

Crack_QII60_b178.rar :来源 main(void) 的 QuartusII 6.0 破解器

按提示安装文件 sys_cpt.dll 和 license.dat 可破解 QuartusII 6.0 sp1

再将以下文字增添入 license.dat 文件中,可破解 NiosII 6.0 限时版


FEATURE 6AF7_00A2 alterad 2010.01 permanent uncounted C601466C3C65 \
         VENDOR_STRING="iiiiiiiihdLkhIIIIIIIImPDuiaaaaaaaaP1X38DDDDDDDDmjz5cdddddddd4mGzGJJJJJJJJiqIh0uuuuuuuucYYWiVVVVVVVVcp0FVHHHHHHHHPUEakffffffffR2FFRkkkkkkkkqL$84"\
         HOSTID="xxxxxxxxxxxx" SIGN="1F1B DB90 1CF0 E27C 5F38 074E 2DC6 \
         BEB9 9A29 39D5 1335 E638 E2E7 39A7 8538 1DFC 8038 974A 77E4 \
         BB8E 7931 6FC3 07FA 910C B0DD 93D7 E1C4 4FA2 9E86 D5B2"


此段文字来源于本网站某位大侠提供的 license, 再此特别致谢!

别忘啦修改其中的 HOSTID 呦

点击此处查看原文 >>

系统分类: CPLD/FPGA   |    用户分类:    |    来源: 原创

评论(0) | 阅读(294)
发表于:2008-5-6 22:58:04
标签:无标签

0

嵌入式系统是什么?

无所不在的嵌入式系统

多年前,比尔.盖茨曾经预言,随着后PC时代的到来,PC将无处不在。今天,伴随着二十一世纪的曙光,嵌入式系统的迅猛发展正验证了比尔.盖茨的预言,人类正迎来一个充满希望的新时代??后PC时代。这是一个充满机遇的时代,这是一个充满商机的时代。人类在经历了桌面系统的空前繁荣之后,嵌入式系统的发展正风起云涌,广泛进入到工业,军事,通信,运输,金融,医疗,气象,农业等众多领域。

通常情况下,人们往往会忽视自己身边的嵌入式系统??比如手机,取款机或者电梯等等,在这些随处可见的设备中就存在嵌入式系统,有时人们经常使用嵌入在汽车,电梯,PDA,程控交换机等设备中的小巧的计算机系统,而对此毫无察觉。此外,嵌入式系统还经常在工业机器人,医疗设备,卫星,飞行系统等领域扮演着更为重要的角色。正是"看不见"和"无所不在"这样的特性使得嵌入式计算机系统有别于传统的计算机系统。

嵌入式产品可分为如下几类

1. 信息电器

后PC时代,计算机将无处不在,家用电器将向数字化和网络化发展,电视机,冰箱,微波炉,,电话等都将嵌入计算机并通过家庭控制中心与Internet连接,转变为智能网络家电。届时,人们在远程用手机等就可以控制家里的电器还可以实现远程医疗远程教育等目前智能小区的发展为机顶盒打开了市场机顶盒将成为网络终端它不仅可以使模拟电视接收数字电视节目,而且可以上网,炒股点播电影实现交互式电视依靠网络服务器提供各种服务。

2. 移动计算设备

包括手机PDA掌上电脑等各种移动设备中国拥有最大的手机用户,而掌上电脑(或PDA) 由于易于使用,携带方便,价格便宜未来几年将在我国得到快速发展PDA与手机已呈现融合趋势用掌上电脑(或PDA)上网人们可以随时随地获取信息。

3. 网络设备

包括路由器交换机Web server网络接入盒等各种网络设备基于Linux的网络设备价格低廉将为企业提供更为廉价的网络方案。

4. 工控,仿真等

在工控领域,嵌入式设备早已得到广泛应用,我国的工业生产需要完成智能化数字化改造,智能控制设备、智能仪表自动控制等为嵌入式系统提供了很大的市场,而工控仿真数据采集军用领域一般都要求操作系统支持实时,红旗实时Linux可以很好的满足各项要求 。

什么是嵌入式系统

简单地讲,嵌入式系统是指包含于特定设备,以应用为中心,以计算机技术为基础,以辅助特定设备高质量地完成其功能为目的而设计的小巧的计算机系统。该系统主要适用于对功能,可靠性,成本,体积,功耗有严格要求的应用领域,其软硬件可裁剪,一般由嵌入式硬件(嵌入式微处理器和外围硬件设备)、嵌入式操作系统以及用户的应用程序三个部分组成,用于实现对特定设备的控制,监视或管理等功能。

1. 嵌入式硬件

嵌入式系统硬件的核心部件是各种类型的嵌入式处理器。从架构上讲,ARM架构、Intel的8051、Microchip的PIC和ZiLOG的Z80是嵌入式处理器的主流架构。而在8位、16位和32位处理器中,各主流厂商又有不同的侧重点,比如在8位CPU上,Intel、Microchip和ZiLOG的市场地位稳固,在32位CPU上,ARM、X-Scale和MIPS架构为业界所广泛采用。ARM(Advanced RISC Machines)是近年来在嵌入式系统极有影响力的微处理器IP核提供商。作为ARM的竞争厂商,MIPS公司是一家设计制造高性能和嵌入式32位和64位处理器的厂商。如今,MIPS在数字机顶盒、视频游戏机、彩色激光打印机及交换机等领域排名第一。

2. 嵌入式操作系统

嵌入式操作系统是嵌入式系统的灵魂,它并不是一个新生的事物,从20世纪八十年代起,就有一些国际公司开始进行商用嵌入式系统和专用操作系统的研发。市场上有很多著名的商业化嵌入式操作系统,如Linux 、VxWorks、Palm OS、Symbian和Windows CE等。

3. 用户的应用软件

依据不同的操作系统与设计开发的不同而有所不同。

点击此处查看原文 >>

系统分类: 嵌入式   |    用户分类:    |    来源: 整理

评论(0) | 阅读(94)
发表于:2008-5-2 11:03:46
标签:无标签

1

飞思卡尔 i.MX27 MCiMX27 ADS 原装开发板原理图

rar

    飞思卡尔 i.MX27 MCiMX27 ADS 原装开发板原理图 ,这是它的原理图,orCAD格式,大家可以下载下来看看,国内的开发板都是以它为基础开发的。我估计是中国大陆唯一开放的i.MX27开发板原理图。

The i.MX27 Application Development System (MCIMX27ADSE) is a development tool which is designed to run software applications designed for the i.MX27 processor.


Features


  • i.MX27 Multimedia Application Processor
  • Two clock-source crystals, 32 KHz and 26 MHz
  • Power management & Audio IC (MC13783) included battery charging, 10bit ADC, buck switchers, boost switcher, regulators, amplifiers, CODEC, SSI audio bus, real time clock, SPI control bus, USB OTG transceiver & touchscreen interface
  • Multi-ICE debug support
  • Two 512Mbit DDR-SDRAM devices, configured as one 128MB, 32-bit device
  • One 256Mbit Burst Flash with 128Mbit Pseudo Static RAM (PSRAM) memory device, configured as one 16MB flash with 8MB PSRAM, 16-bit device
  • An single board system with connections for LCD display panel, Keypad and Image sensor.
  • Complex Programmable Logic Device (CPLD) for reducing glue logic interface
  • Software readable board revisions
  • Configuration and user definable DIP switches
  • Two SD/MMC, MS memory card connectors
  • PCMCIA & ATA Hard Disk Drive (HDD)
  • Two RS-232 transceivers and DB9 connectors (one configured for DCE and one for DTE operation) supporting on-chip UART ports
  • External UART with RS-232 transceiver and DB9 connector
  • Infrared transceiver that conforms to Specification 1.4 of the Infrared Data Association
  • USB Host (HS & FS), USB OTG (HS & HS) interface
  • Separate LCD panel assembly that connects to the main board
  • Separate keypad unit with 36 push button keys
  • Separate CMOS Image Sensor Card
  • A 3.5 mm headset jack, a 3.5 mm line out jack, a 3.5 mm line in jack, a 3.5 mm microphone jack and a 2.5 mm microphone and headset jack
  • Cirrus Logic CS8900A-CQ3Z Ethernet controller (10BASE-T), with RJ-45 connector
  • AMD AM79C874 NetPHY (10BASE-T & 100BASE-X), with RJ-45 connector
  • Two 32 × 3-pin DIN expansion connectors with most i.MX27 I/O signals
  • Variable resistor for emulation of a battery voltage level
  • NAND Flash card (Plugs into Main Board) which is included in the ADS kit
  • LED indicators for power, Ethernet activity, and two LEDs for user defined status indication
  • Universal power supply with 5 volt output @ 5 Amperes
  • USB, RS-232 and RJ45 cables available in kit

需要的话给我留言即可!

点击此处查看原文 >>

系统分类: ARM   |    用户分类:    |    来源: 原创

评论(36) | 阅读(340)
发表于:2008-5-2 10:25:51
标签:串行RapidIO  DSP  开发  

0

利用串行RapidIO连接功能增强DSP协处理能力

目前,对高速通信与超快计算的需求正与日俱增。有线和无线通信标准的应用随处可见,数据处理架构每天都在扩展。较为普遍的有线通信方式是以太网(LAN、WAN和MAN网络)。手机通信是最为常见的无线通信方式,由应用了DSP的架构实现。电话作为语音连接的主要工具,目前正在不断满足日益增强的语音、视频和数据要求。

系统设计人员在创建架构时不仅需考虑三网合一模式这一高端需求,还需满足以下要求:高性能、低延迟、较低的系统成本(包括NRE)、可扩展、可延伸架构、集成现成(OTS)组件、分布式处理、支持多种标准和协议。

这些挑战涉及到两个主要方面:有线或无线架构中计算平台/箱间的连接以及这些平台/箱中的具体计算资源。

计算平台间的连接

基于标准的连接目前较为普遍。并行连接标准(PCI、PCI-X、EMIF)可以满足现在的需求,但在扩展性和延伸性方面略显不足。随着基于包处理方式的出现,使用趋势明显偏向高速串行连接(图1)。

图1
图1:串行连接趋势。

台式电脑和网络工业已采用了PCI Express(PCIe)和千兆位以太网/XAUI等标准。不过,无线架构中数据处理系统的互连要求略有不同:低引脚数、背板芯片对芯片连接、带宽和速度可扩展、DMA和信息传输、支持复杂的可扩展拓扑、多点传输、高可靠性、绝对时刻同步、服务质量(QoS)。

串行RapidIO(SRIO)协议标准可轻易满足并超过大多数上述要求。因此,SRIO成了无线架构设备中数据平面连接的主要互连。

图2
图2:SRIO网络构建模块。

SRIO网络围绕两个基本模块构建而成:端点和交换机(图2)。端点对包进行源端(source)和宿端(sink)处理,而交换机在端口间传送包,对其不加解析。SRIO以一个三层架构层级指定(图3):

点击看大图
图3:分层SRIO架构。

1. 物理层规范说明器件级接口的细节,如包传输机制、流量控制、电气参数及低级错误管理。

2. 传输层规范为包在端点间移动提供必需布线信息。交换机通过使用基于器件的布线在传输层中运行。

3. 逻辑层规范定义总体协议和包格式。所有包的有效载荷字节数为256或更少。事务使用指向34-/50-/66位地址空间的加载/存储/DMA操作。事务包括:NREAD-读操作(返回数据即为响应)、NWRITE-写操作,无响应、NWRITE_R-强韧型写入,响应来自目标端点、SWRITE-流式写入、ATOMIC-原子性读/改/写、MAINTENANCE-系统查找、探测、初始化、配置和维护操作。

SRIO-优势前景

以3.125Gbps运行的4通道SRIO链路可以提供10Gbps的流量,且保证数据完整性。由于SRIO类似于微处理器总线(存储器和器件寻址,而非LAN协议的软件管理),因此包处理是通过硬件实现的。这意味着可大幅削减I/O处理方面的额外开销,降低延迟并增加系统带宽。但与多数总线接口不同,SRIO接口的引脚数较少,带宽在链路为3.125Gbps的基础上可继续扩展。

平台中的计算资源

如今的应用对处理资源的数量要求较高。基于硬件的应用发展迅猛。压缩/解压缩算法、反病毒和入侵监测等防火墙应用以及要求AES、三倍DES和Skipjack等加密引擎的安全应用起初都是通过软件实现的,但目前都已转为硬件实现。这就需要带宽和处理能力能够实现共享的大型并行生态系统。系统需要使用CPU、NPU、FPGA或ASIC,从而实现共享或分布式处理。

在构建能够适应未来发展变化的系统时,需考虑所有这些针对具体应用的要求,对计算资源的要求包括:
1. 多个主机-分布式处理;
2. 直接点对点通信;
3. 多个异构操作系统;
4. 复杂拓扑结构;
5. 发现机制;
6. 多余通路(故障恢复);
7. 可支持高可靠性;
8. 无损协议;
9. 自动重新培训和器件同步;
10. 系统级错误管理;
11. 能够支持通信数据平面;
12. 多点传输;
13. 流量管理(有损)操作;
14. 链路、级别和基于流的流量控制;
15. 协议互通;
16. 较高事务并发度;
17. 模块化、可扩展;
18. 支持广泛生态系统。

由无线架构中计算器件所派生出的各种各样的要求,SRIO协议都可支持。

SRIO规范(图4)对基于包的分层架构进行了定义,可支持多个域或市场区间,从而有利于系统架构设计师设计新一代计算平台。通过将SRIO用作计算互连,可轻松实现以下功能:使架构独立;部署可靠性为运营商级的可扩展系统;实现高级流量管理;提供高性能、高流量。此外,由大批供应商构成的生态群使得OTS部件与组件的选择十分容易。

RIO为基于包的协议,该协议支持:
1. 通过基于包的操作(读、写、消息)移动数据;
2. I/O非连贯功能和缓存连贯功能;
3. 通过支持数据流、数据分区和重组功能而实现高效互通和协议封装;
4. 通过启用数百万个流而实现流量管理框架,支持256流量级别和有损操作;
5.流控制,支持多个事务请求流,提供QoS;
6. 支持优先级别,从而可缓解带宽分配和事务顺序等问题,并避免死锁;
7. 支持拓扑,通过系统发现、配置和维护支持标准(树状和网格)与任意硬件(菊花链)拓扑,包括支持多个主机;
8. 错误管理和分类(可恢复、提醒和致命性)。

图4
图4:SRIO规范。

Xilinx针对SRIO的IP解决方案

用于SRIO的Xilinx端点IP解决方案针对RapidIO规范(v1.3)而设计。用于SRIO的完整Xilinx端点IP解决方案包括以下部分(图5):

图5
图5:用于SRIO的Xilinx端点IP架构。

1. 用于SRIO的Xilinx端点IP为软性LogiCORE解决方案。对于通过逻辑(I/O)和传输层上的目标和发起接口源出和接收用户数据,都支持完全兼容的最大有效载荷操作。

2. 缓冲层参考设计作为源代码提供,可自动重新划分包的优先级别并调整队列。

3. SRIO物理层IP可实现链路培训和初始化、发现和管理以及错误和重试恢复机制。另外,高速收发器在物理层IP中例化,可支持线速率为1.25Gbps、2.5Gbps和3.125Gbps的1通路和4通路SRIO总线链路。

4. 寄存器管理器参考设计允许SRIO主机器件设定并维护端点器件配置、链路状态、控制和超时机制。另外,寄存器管理器上提供的端口可供用户设计探测端点器件的状态。

用于SRIO的整个Xilinx端点IP LogiCORE解决方案已全面经过测试,硬件验证也已进行,目前正在就与主要SRIO器件供应商之间的协同工作能力接受测试。LogiCORE IP通过Xilinx CORE Generator软件GUI工具提供,该工具允许用户定制波特率和端点配置,并支持流量控制、重发送压缩、门铃和消息接发等扩展功能。这样,您便可创建一个灵活、可扩展的定制SRIO端点IP,对自己的应用进行优化。

Virtex-5 FPGA计算资源

用于SRIO的Xilinx端点IP可确保在使用SRIO协议的链路双方间建立高速连接。在最小的Virtex-5器件中,IP仅占用不到20%的可用逻辑资源,因此可确保用户设计使用大多数逻辑/存储器/I/O,集中实现系统应用。让我们一起看一下Virtex-5器件资源。

逻辑模块

Virtex-5逻辑架构带有基于65nm工艺的六输入查找表(LUT),可提供最高的FPGA容量。进位逻辑经过改进后,该器件的性能比之前的器件高出30%。由于所需LUT减少,该器件的功耗明显降低,且具备高度优化的对称布线架构。

存储器

Virtex-5存储器解决方案包括LUT RAM、Block RAM及与大型存储器进行接口的存储器控制器。Block RAM结构包括预制FIFO逻辑,即可用于外部存储器的嵌入式检错和纠错(ECC)逻辑。另外,Xilinx可通过存储器接口生成器(MIG)工具向系统设计中的例化存储器控制器模块提供综合设计资源。这样,您便可利用经过硬件验证的解决方案,并将精力集中于设计中的其他关键部位。

并行和串行I/O

SelectIO技术几乎可在设计中实现客户所需的任何并行源同步接口。使用SelectIO接口,可方便地针对40多种不同的电气标准创建符合行业标准的各类接口,也可创建专用接口。SelectIO接口提供的最大速率为700Mbps(单端)和1.25Gbps(差分)。

所有Virtex-5 LXT FPGA都装有一个GTP收发器,运行速度介于100Mbps到3.2Gbps之间。另外,GTP收发器在业界属于最低功率MGT之一,每个收发器的功率小于100mW。引入用来简化设计的成熟设计技术和方法后,高速串行设计的流程变得简单快捷。

另外,通过新设计工具(RocketIO收发器向导与IBERT)和新硅片性能(TX和RX均衡与内置伪随机位序列(PRBS)生成器和检查器),可以开发移植架构的各种功能和优势,从并行I/O标准到30多种串行标准及新兴的串行技术。

DSP模块

每个DSP48E Slice可提供550MHz的性能水平,允许您创建要求单精度浮点性能的各类应用,如多媒体、视频和图像应用以及数字通信。这扩展了器件的功能,使其优于之前的器件,同时还提供了功率优势,动态功耗的降低幅度超过了40%。Virtex-5 FPGA中还增加了DSP48E Slice的数量,这些模块相对于可用逻辑资源及存储器的比率从而得到了优化。

集成I/O模块

所有Virtex-5 LXT FPGA器件都具备一个端点模块,用来实现PCIe功能。通过这种硬IP端点模块,只需简单地重新进行配置即可不费吹灰之力轻松地从x1扩展至x2和x4或x8。该模块(x1、x4和x8链路)已通过严格的PCI-SIG兼容性和协同工作能力测试,用户可放心用于PCIe。

另外,所有Virtex-5 LXT FPGA器件均装有三态以太网媒体访问控制器(TEMAC),速度可达10/100/1,000Mbps。该模块可提供专用以太网功能,再结合Virtex-5 LXT RocketIO收发器和SelectIO技术,可方便您与许多网络器件进行连接。

利用针对PCIe和以太网的这两种模块,可以创建一系列定制包处理和网络产品,这些产品可大幅降低资源利用率和功耗。通过使用Xilinx FPGA中提供的这些各式资源,可以轻松创建并部署智能解决方案。

让我们看一下利用SRIO和DSP技术的一些系统设计示例。

SRIO嵌入式系统应用

可以考虑围绕基于x86架构的CPU构建一个嵌入式系统。CPU架构已高度优化,可轻易满足要求玩弄数字于股掌的各类应用。您可以轻松地在使用CPU资源的硬件和软件中实现各类算法,以执行不需要进行大量乘法运算的电子邮件、数据库管理以及文字处理等功能。性能以每秒钟所产生的指令/运算为数百万还是数十亿来衡量,而效率通过完成特定运算所需的时间/周期来衡量。

需进行大量定点和浮点运算的高性能应用在处理数据时需花费较长时间。这方面的示例包括信号过滤、快速傅里叶变换、矢量乘法和搜索、图像/视频分析和格式转换以及简单的数字处理算法。在DSP中实现的高端信号处理架构可轻松执行这些任务,并可优化此类运算。这些DSP的性能以每秒钟进行多少次乘法和累加运算来衡量。

您可以方便地设计使用CPU和DSP的嵌入式系统,以充分利用两种处理技术。图6表示使用FPGA、CPU和DSP架构的系统示例。

图6
图6:基于CPU的可扩展、高性能、嵌入式系统。

高端DSP中的主要数据互连为SRIO。x86 CPU中的主要数据互连为PCIe。如图6所示,您可轻松部署FPGA以扩展DSP应用或对离散数据互连标准(如PCIe和SRIO)进行桥接。

在图6所示系统中,PCIe系统由根联合体芯片组托管。SRIO系统由DSP托管。32/64位PCIe地址空间(基址)可智能化地被映射至34/66位SRIO地址空间(基址)。PCIe应用可通过存储器或I/O读写与根联合体进行通信。这些事务会通过NRead/NWrite/SWrite轻松映射至SRIO空间。

在Xilinx FPGA中设计此类桥接功能很简单,因为这些Xilinx端点功能模块、PCIe和SRIO的后端接口都很相似。这样,“包队列”模块便可执行从PCIe到SRIO或反方向的交叉任务,从而建立可穿越两个协议域的包流。

SRIO DSP系统应用

在DSP处理为主要架构要求的应用中,系统架构可按图7进行设计。

图7
图7:DSP密集型阵列。

基于Virtex-5 FPGA的DSP处理与系统中的其他DSP器件结合即可构成智能协处理解决方案。如果使用SRIO作为数据互连,整个DSP系统解决方案就可以方便地进行扩展。此类解决方案能够适应未来的发展变化,提供了延伸性,而且受多种形状因子的支持。在DSP密集型应用中,通过将相应处理任务卸载至x86架构中可实现快速数字分析或数据处理。使用Virtex-5 FPGA可轻易地连接PCIe子系统和SRIO架构,从而实现高效功能卸载。

SRIO基带系统应用

现有3G网络正在以较快的步伐迈向成熟,OEM也在为缓解特定容量和覆盖率问题而部署新的形状系数。要解决此类特殊问题,对市场趋势做出评估,基于FPGA的DSP架构是理想选择,该架构将SRIO用作数据层面标准。另外,早期DSP系统可快速升级,变为快速、低功耗FPGA DSP架构,从而获得可扩展性优势。

如图8中的系统所示,您可以对Virtex-5 FPGA进行设计,以满足现有对天线流量的线速率处理需求,还可通过SRIO提供与其他系统资源间的连接。现有早期DSP应用的固有并行连接速度较慢,因可应用于Virtex-5 FPGA的SRIO端点功能的存在,移植这些应用极为方便。

图8
图8:可扩展基带上行链路/下行链路卡。

本文小结

SRIO正出现在大量新应用中,主要以有线和无线应用中的DSP为中心。在Xilinx器件中实现SRIO架构的主要优势包括:
1. 整个SRIO端点解决方案的可用性;
2. 灵活性和可扩展性,便于使用同样的硬件和软件架构制成不同级别的产品;
3. 通过新GTP收发器和65nm技术实现了低功耗;
4. 通过CORE Generator软件GUI工具轻松进行配置;
5. 与业界领先的供应商间的硬件协同工作能力经过了验证,支持其器件上的SRIO连接;
6. 通过使用PCIe和TEMAC等集成I/O模块,实现了系统集成,从而降低了总体系统成本。

另外,Virtex-5 FPGA所具备的DSP资源可在功耗、性能和带宽方面满足现有早期DSP系统的要求。更多优势还体现在系统集成方面,诸如以太网MAC的功能模块、用于PCIe的端点模块、处理器IP模块、存储元件及控制器等等。另外,由于IP核的详尽列表支持在FPGA中进行多种源整合,可以大大节省总体系统成本。

点击此处查看原文 >>

系统分类: 通信网络   |    用户分类:    |    来源: 整理

评论(0) | 阅读(107)
发表于:2008-5-1 10:58:35
标签:无标签

0

胶济铁路翻车后 2小时火线救援实录

[转发此文志在哀悼遇难的同胞,警醒生者勿忘安全]

作者:元曲 

 

时间定格在428日凌晨441。北京开往青岛的T195次旅客列车运行至山东省境内胶济铁路周村至王村间脱线,与烟台至徐州的5034次客车相撞。当火车翻下铁轨,乘客们才猛然面对场猝不及防的灾难。当时,现场哭声震天,伤亡惨重。而救援行动,也从这一刻开始。

 

428441——500

旅客自救

村民自发援救

铁路民工自发救援

临近公安局迅速到来

 

现场的第一波救援行动来自于火车乘客的自救行为。硬座车厢里没受伤的乘客纷纷跑向出事地点,硬卧和软卧车厢里未受伤的乘客也开始竭力帮助伤者。来自青岛的张小姐回忆,她当时在14号车厢,同车厢有人发现一个车窗可以打开,此时,没有受伤的男性旅客率先爬出窗户,然后帮助车里的妇女、儿童往窗外爬。张小姐也是这样,被同一个卧铺车厢里不认识的男旅客托起来,再由已经爬出车厢的乘客拽了出去。

 

几乎是同一时间,离事故地点不到500的前坡庄村民也听见了火车事故的巨大声响,迅速赶了过来。

 

当天第一个赶到事故地点并展开救援的村民,他的名字叫张克平。

 

张克平开了个养鸡场,就住在村头,离翻车地点最近。他说自己有个习惯,每天都要早起,喝点水,然后去喂鸡。28日凌晨4点多,他听见巨响,跑出来一看,“不得了,火车翻了!”张克平的儿子叫张复兵,住得稍远一些,是村里的卫生员。这时候,张克平什么都没想,赶快去找儿子救人。“打儿子的电话,打不通,关机!他还在睡觉。我腿脚不好,就骑上三轮车去找儿子。到了大声喊他,砸门。儿子出来问,谁啊?我说我是你爹,赶快去救人,火车翻了,能救几个救几个!”,张克平回忆那个紧张的早晨,一切都历历在目。张复兵被父亲叫了起来,拿起医药箱就往事故现场跑,后来给在场的一些伤员做了简单的包扎。

 

张复兵只是一个偏僻村落里的卫生员,但他是当天第一个赶到现场的医务人员,也是这个血色清晨里最值得尊敬的人之一。

 

张克平在现场忙着救人,他和邻居张克顺一起抬出了好几个伤员,看见“满地是血头血脸的人,有个三四岁的小孩,血不拉叽的躺着,可糁人。”

 

张克平的老婆吕兰香也忙着去现场救人,她主要是搀扶一些伤势不重的旅客走出车厢在一边坐地休息。有个女乘客捂着满头血对着吕兰香哭,求她救救自己的丈夫,可是她丈夫已经被死死压在车轮下面,永远离开了这个世界。

 

这个时候,前坡庄的村民几乎全体出动,纷纷赶到现场。值得记住的,还有刘才增一家人。据说,他和妻子王爱兰救出了60多个人,还救出了一个法国的老太太。和刘氏夫妇查证时,刘才增和妻子笑得很憨厚:“哪有救那么多人,可不敢讲。是她先听见,我们就先后开门出去了。也就救了五六个人,没那么多。救人的时候,男人们负责抬人,村里的女人就是搀扶,抬人至少要4个人抬,或者6个。法国老太太,是抬了一个。”

 

前坡庄还有一个60多岁的老太太,也参加了当天的村民自发救援,大概是在场村民中年纪最大的一个,她叫彭瑞花。满头白发的老人,从列车上找到了一个孩子,那小孩才100多天,老人将他小心翼翼地抱了下来。事情过后,彭瑞花觉得自己没做什么,只是对火车翻到的声音记忆犹新:“听见声音以为打雷了,出来一看晴天。到那地方一看,惨啊,好多人都在喊,老乡啊,同志啊,帮帮我。那时候只顾得上救人。”

 

据前坡庄村民介绍,不应该被人们忘记的还有一些铁路民工,他们也自发参与了事故救援行动,和村民一起抬人救人,又悄悄消失在现场。能够记录的基本信息,只是他们来自中铁二十局,最近正在附近施工。

 

5点左右,离此最近的周村区公安局赶到现场,来了6辆车,2个局长,成为当天第一批赶到事故地点的官方救援人员。据当时参与救援的刘警员介绍,当时公安来到后,发现乘客在自救,不少村民也在救人,情况危急,于是立刻通知消防队的专业救援队。对大量伤亡者而言,第一批赶到现场的公安警员也是杯水车薪,他们只能选择先救有明显生命迹象的,已去世的只能暂时不管。刘警员还回忆道,当时来得太急,又是一大早,很多同事都没有穿警察制服,所以在当天5点到6点的第一批现场救援照片中,看不到有多少警察参与救援。

 

救人老太彭瑞花

 

张克平在自家小院

 

刘才增和王爱兰

 

张克平之妻吕兰香

 

428530——730

驰援!驰援!
消防员赶到!

120赶到!

万人大会战!

 

5点半之前,大批援兵到来,他们主要来自淄博市120指挥中心、淄博市消防支队。

 

淄博市消防支队支队长张元祥亲自带领第一部分消防救援力量到达事故现场,展开现场的搜救、侦察工作。十分钟后,消防支队共调遣特勤中队和三、四、五、六、七、桓台8个中队所有抢险救援班、10辆救援车、75名消防官兵全部奔赴到位。与此同时,120指挥中心派来了23辆急救车,到达事故地点,并运送第一批伤员转往医院。

 

作为消防员,特勤中队平时专门负责抢险救援任务,有一套专业设备,包括液压扩张器、千斤顶、腰斧、安全绳、切割机等。当特勤中队浩浩荡荡赶到事发地三公里外,副队长王勇突然发现救援车太高,有4多,而属于必经之道的桥洞才3,车过不去。没奈何,车又转到北面,那里也有一个因铁路建设留下的桥洞挡住去路。这时候,王勇非常着急,时间再也耽搁不起,他决定,所有消防员下车,背起全套设备辎重,跑步三公里,直奔事故地点。

 

幸好,在途中遇见110120的车子,各个兵种配合,由110120把消防员们迅速带到了翻车的地方。

 

当时,救援环境十分糟糕。火车车厢宽度一般在4左右,车厢翻倒之后,大量乘客被扭曲变形的铁栏杆、扶手、座椅困在车厢里,无法脱身。消防员只能从车窗里钻进去,再下到4深的倒转车厢里,一节一节车厢的做地毯式寻人。由于车厢内部已经严重变形,消防员无法自如行走,只能在内部爬行或倚靠突出物体攀援前进。

 

特勤队长王勇和他的队友宁光金被分在一个小组,搭档救人。他们记得,自己救出来的第一个旅客是位老大爷。当时担心大爷已经严重骨折,不敢用随身带的安全绳进行捆绑拉人,只能就手撕下卧铺的床单,再解下自己的腰带,做成简易担架,背着担架从窗户里钻出去。当这位老大爷被救出来以后,大概是因为那种从生到死,又从死到生的震撼和恐惧,老大爷拉住宁光金的胸口紧紧不放,痛哭失声。

 

在救人的时候,消防员使用了液压扩张器,将那些被钢铁死死卡住的旅客解救出来,有时候车厢内部太过狭小,用不上机器,就只能用随身带的螺丝刀把卧铺床栏杆上的螺丝钉一个个旋下来,再把人抱出。王勇说,那个时候,大工具能救人,小小一把螺丝刀也能救人,只要能救人就好。

 

除了王勇和宁光金这个小组,其他消防队员也在紧张救援中。有一位乘客躺在列车窗玻璃下,必须砸开玻璃,才能救人。但砸玻璃的时候,乘客可能会被碎玻璃划伤。这个时候,消防员毫不犹豫的在窗玻璃下扯起一块床单,让掉落的玻璃落在上面。乘客没有被玻璃砸伤,但扯着床单的消防员暴露在外,血肉之躯承受着飞溅的玻璃碎渣。

 

这个时候,村民也在继续参与及辅助救援。养鸡户张克平给负责疾病防治和消毒的工作人员准备了两大桶水,不过后来没用上,消毒使用的是专业消毒剂。有不少工作人员说饿了,早上来得急没吃早饭,吕兰香煮了三十个鸡蛋,给他们口中的“工作人”当早饭。事后,吕兰香笑着说:“他们都挺好,吃了鸡蛋还给钱,给我们放了二十块钱,不好意思的。”张克平没顾早饭的事,他在家里搜罗了几双鞋子,给伤者送去,“他们从火车上刚被救出来,卧铺,都光着脚,这鞋再破也比光着脚强。”

 

天色渐渐转亮,宁光金又救起了一个“很胖的老太太”。他回忆道:“那个老太太还很胖,我们必须把她的担架从路基下面抬上去。路基很陡,有七十多度,我空手上去也得靠爬,手脚并用。背着个人,怎么上?当时只要把担架固定在肩膀,人跪在路基往上爬。也不知道哪里来的那股劲,战友在旁边喊着一二三、一二三,推着我们的腰,就这样神奇的爬上去了。我想,好,又救了一个。”

 

截至730,消防员整整奋战了两个小时,找到并救出了车厢中所有仍然活着的旅客,并转交120送往各医院。在这个惊心动魄的早晨,淄博消防官兵共解救遇险群众147名。

 

宁光金展示428救援后衣服上的残留血迹

 

参与救援的淄博消防支队消防车

点击此处查看原文 >>

系统分类: 自由话题   |    用户分类:    |    来源: 整理

评论(0) | 阅读(242)
发表于:2008-4-28 8:27:15
标签:无标签

0

医疗电子前景看好 半导体巨头方案层出不穷

      由深圳创意时代主办,中国电子学会生物医学电子学分会协办的2008中国国际医疗电子技术大会(CMET2008)本周在深圳隆重召开,来自深圳迈瑞、金科威、东莞金众电子、南京神州英诺华、日电电子等100多家国内医疗电子企业的代表出席了这一技术盛会。作为国内首个关注医疗电子技术方案与发展的专业技术性论坛,本次大会还吸引了包括Actel、TI、NI、ADI、Xilinx、Altera在内国际医疗电子元器件供应巨头以及从事医疗电子研究的科研机构参会并发表了最新医疗电子解决方案及研究成果。

  2008中国国际医疗电子技术大会在深圳召开

  随着人们对健康与身体保健的重视程度越来越高,以及医疗产业电子化信息化的加速,医疗电子作为一种新兴产业显示出极大的市场潜力。据预测,到2010年全球医疗器材市场将突破2000亿美元,其中医疗电子将达900亿美元,从中国市场来看,2006年,在经济加速发展、医院信息化进程加快及国家相关政策变化等几方面有利因素的影响下,中国医疗电子市场规模继续加速增长,销售额突破200亿元,达到210.8亿元,同比增长15.6%,明显高于全球同类市场增长水平,预计未来几年中国医疗电子市场增长趋势不变,2011年中国医疗电子市场规模有望接近500亿元。

  医疗电子发展的机遇与挑战

  诊断、监护和预防分析是医疗电子重点发展的三个方向,在具体设备上,大型医疗电子设备在图像处理、信号拾取向“快速、精准”发展,而小型医疗电子设备向便携家用发展。在便携式医疗产品领域,Actel公司高级现场应用工程师兼亚太区技术经理戴梦麟先生介绍了便携式医疗设备应用的超低功耗FPGA及解决方案,他指出便携式医疗电子设备小巧轻便需要更长工作时间的特点给FPGA带来了发展的空间,Actel的IGLOO系列FPGA以其出色的低功耗特性、处理能力以及高靠性而特别适用于便携式医疗电子应用。来自TI的MSP430便携医疗产品市场拓展专员鲍震则介绍了MSP430在便携式医疗电子方面的具体应用案例。

  针对大型医疗诊断设备系统正向高集成度、高性能、低功耗,多功能方面发展,对模拟前端的接收和信号处理都提出了更高的要求,来自TI的模拟产品信号链工程师介绍了大型医疗设备模拟前端方面如何实现连续多普勒超声系统的优化满足系统需求,Xilinx公司则介绍了高端FPGA的DSP处理性能以及在超声医疗电子设备图像处理方面的优势。此外,ADI公司在会上探讨了医疗电子应用高性能ADC、放大器产品以及具体解决方案,Altera公司则介绍FPGA在超声设备聚束器方面的解决方案,而NI则用实际案例说明了如何利用NI图形化平台快速开发医疗电子设备。

  医疗电子未来之路如何发展?

  除了在医疗分析、检验、诊断、监护和预防方面大显身手外,未来半导体技术如何医疗健康结合?未来医疗电子之路如何发展?在本次大会上,来自复旦大学和重庆大学的研究人员也公布了医疗电子在远程监护和治疗领域的成果,勾勒了医疗电子的发展远景。中国生物医学工程学会副理事长复旦大学教授方祖祥介绍了预防心脏猝死的远程心电监护系统,他指出中国每年心脏猝死人数高达55万到100万,大多数人死于医院外,救治成功率只有1%左右,而近期心电学研究表明:猝死前数小时会出现先兆特征,如果及时防患或医学介入,可免予恶化。他们开发的系统可以借助移动通讯平台和卫星定位功能可使监护中的病人行动不受限制而不间断地受到医生的关注,及时得到医学治疗。他表示未来该系统会提高集成度,增加自我诊断功能和实时心电信息分析和诊断,如果出现异常,系统将告警提示医生。

  中国电子学会生物医学电子学会副秘书长重庆大学教授田学隆则介绍了电刺激小脑顶核对疾病的预防和治疗作用,并公布了重庆大学的研究成果,他指出这种方法对治疗老年性痴呆、血管性痴呆、失眠、心脏猝死、心肌梗死以及青少年近视都有显著的疗效,而且该方法为医疗人员实现“非侵入方法激活人体内自愈机制解决病痛”的梦想实现展现了一线曙光。

点击此处查看原文 >>

系统分类: 医疗电子   |    用户分类:    |    来源: 整理

评论(0) | 阅读(184)
发表于:2008-4-21 8:35:14
标签:无标签

0

DSP开发中值得注意的几个问题

DSP是数字信号处理或数字信号处理器的缩写,它的应用正随着数字化的飞速发展而日益广泛。但是如何很快地入门进行DSP开发,一直都是业界讨论的问题。本文将以德州仪器公司(TI)的DSP为例来介绍一些开发经验,以供大家参考。

选择DSP的型号
目前市场上的主要DSP生产商包括TI,ADI,Motorola,Lucent和Zilog等,其中TI占有最大市场份额。产品包括了从低端的低速度DSP到高端的大运算量的DSP产品。目前,广泛使用的TI DSP有三个系列:C2000、C5000、C6000(C3X也有使用),其它型号都基本淘汰。需要提醒注意的是:在TI的DSP中,同一系列中不同型号的DSP都具有相同的DSP核,相同或兼容的汇编指令系统,其差别仅在于片内存储器的大小,外设资源(如定时器、串口、并口等)的多少;不同系列DSP的汇编指令系统不兼容,但汇编语言的语法非常相似。除了汇编语言外,TI还为每个系列都提供了优化的C/C++编译器,方便用户使用高级语言进行开发,效率可以达到手工汇编的90%甚至更高。
在具体的开发中,根据所设计的系统要求和最终产品的成本估算,一般从以下几个方面去考虑选择什么型号的DSP芯片。
DARAM。

DSP设计中的基本技巧
)可以同时使用FIFO为CY7C4225(1k×18)。

多CPU的混合系统。MCU在控制、管理领域有不可替代的地位,因为它无论从成本,开发系统都很廉价和成熟。DSP在数字信号处理方面又是普通MCU,甚至通用CPU都无法比拟的。因此许多应用中采用MCU+DSP的结构,MCU负责管理,甚至运行嵌入式操作系统;而DSP仅仅负责快速的数据运算处SP的混合系统目前也很方便,有时采用多个低档的DSP并行比采用一片高档的DSP会大大降低系统的成本。如前锋公司的GSM手机综测仪采用3片VC5409并行处理,分别负责信道、基带和信令。
多CPU的混合系统中使用RTOS。在DSP+MCU或多DSP的系统中,嵌入式操作系统,特别是实时嵌入式操作系统显得尤其重要。但实时操作系统不仅少,而且价格昂贵,但普通嵌入式操作系统很廉价,根据具体设计要求可以做不同的选择。目前也正在VC5471平台和C5000平台上尝试嵌入式操作系统
电源管理。TI提供完整和详细的配套电源管理解决方案,这里不再赘述。常用电源管理芯片有TPS73HD318 TPS73HD325TPS7333等等。
装入程序的实现方法。各个具体型号有所差别,但常用的方式不外乎HPI、16bit或8bit的并行EPROM,还有串口。在有MCU或PC做主控机的情况下一般都使用HPI方式。并行EPROM方式很方便,但需要注意代码的大小。串口加载可以用在多DSP的情况下进行。

开发环境
对于DSP工程师来说,除开必须了解和熟悉DSP本身的结构(包括软件指令系统和硬件结构)和技术指标外,大量的时间和精力是花费在熟悉和掌握其开发工具和环境上。因此,各DSP生产厂商以及许多第三方公司作了极大的努力,为DSP系统集成和硬软件的开发提供了大量有用的工具。下面重点讨论TI DSP的集成仿真环境CCS。

CCS所包含功能有:(1)集成可视化代码编辑界面,可直接编写C、汇编、.H文件、.cmd文件等。(2)集成代码生成工具,包括汇编器、优化C编译器、连接器等等。(3)基本调试工具,如装入执行代码(.out文件),查看寄存器窗口,存储器窗口,反汇编窗口,变量窗口等,支持C源代码级调试。(4)支持多DSP调试。(5)断点工具,包括硬件断点、数据空间读/写断点,条件断点(使用GEL编写表达式)等等。(6)探针工具(probe points),可用于算法仿真,数据监视等。(7)剖析工具(profile points),可用于评估代码执行的时钟数。(8)数据的图形显示工具,可绘制时域/频域波形、眼图、星座图、图像等,并可自动刷新(使用animate命令运行)。(9)提供GEL工具,令用户可以编写自己的控制面板/菜单,从而方便直观地修改变量,配置参数等。(10)支持实时数据交换(RTDX)技术,利用该技术可在不中断目标系统运行的情况下,实现DSP与其它应用程序(OLE)实现数据交换。(11)开放式的插入(plug-ins)技术,支持其它第三方的ActiveX插件,支持各种仿真器包括软仿真(只需安装相应的驱动程序)。(12)提供DSP/BIOS工具,利用该工具可增强对代码的实时分析能力,如分析代码执行的效率,调度程序执行的优先级,方便管理或使用系统资源(代码/数据占用空间,中断服务程序的调用,定时器使用等等),从而减小开发人员对硬件资源熟悉程度的依赖性。

结语
以上讨论了DSP开发中会遇到的几个基本问题。当然,在实际操作中还会有很多其它的问题和相应的处理技巧,这里不可能都包括。希望通过此文能对大家的DSP开发有所帮助

点击此处查看原文 >>

系统分类: DSP   |    用户分类:    |    来源: 原创

评论(0) | 阅读(140)
发表于:2008-4-21 8:20:20
标签:无标签

0

嵌入式软件测试的十大秘诀

在嵌入式软件开发过程中,一般来说,花在测试和花在编码的时间比为3:1(实际上可能更多)。这个比例随着你的编程和测试水平的提高而不断下降,但不论怎样,软件测试对一般人来讲很重要。很多年前,一位开发人员为了对嵌入式有更深层次的理解,向Oracle询问了这样的一个问题:我怎么才能知道并懂得我的系统到底在干些什么呢? Oracle面对这个问题有些吃惊,因为在当时没有人这么问过,而同时代的嵌入式开发人员问的最多的大都围绕“我怎么才能使程序跑的更快”、“什么编译器最好”等肤浅的问题。所以,面对这个不同寻常却异乎成熟的问题,Oracle感到欣喜并认真回复了他:你的问题很有深度很成熟,因为只有不断地去深入理解才有可能不断地提高水平。并且Oracle为了鼓励这位执着的程序员,把10条关于嵌入式软件开发测试的秘诀告诉了他:

  1.懂得使用工具

  2.尽早发现内存问题

  3.深入理解代码优化

  4.不要让自己大海捞针

  5.重现并隔离问题

  6.以退为进

  7.确定测试的完整性

  8.提高代码质量意味着节省时间

  9.发现它,分析它,解决它

  10.利用初学者的思维

  这十条秘诀在业界广为流传,使很多人受益。本文围绕这十条秘诀展开论述。

  1.懂得使用工具

  通常嵌入式系统对可靠性的要求比较高。嵌入式系统安全性的失效可能会导致灾难性的后果,即使是非安全性系统,由于大批量生产也会导致严重的经济损失。这就要求对嵌入式系统,包括嵌入式软件进行严格的测试、确认和验证。随着越来越多的领域使用软件和微处理器控制各种嵌入式设备,对门益复杂的嵌入式软件进行快速有效的测试愈加显得重要。

  就象修车需要工具一样,好的程序员应该能够熟练运用各种软件工具。不同的工具,有不同的使用范围,有不同的功能。使用这些工具,你可以看到你的系统在干些什么,它又占用什么资源,它到底和哪些外界的东西打交道。让你郁闷好几天的问题可能通过某个工具就能轻松搞定,可惜你就是不知道。那么为什么那么多的人总是在折腾个半死之后才想到要用测试工具呢?原因很多,主要有两个。一个是害怕,另一个是惰性。害怕是因为加入测试用具或测试模块到代码需要技巧同时有可能引入新的错误,所以他们总喜欢寄希望于通过不断地修改重编译代码来消除bug,结果却无济于事。懒惰是因为他们习惯了使用printf之类的简单测试手段。下面来介绍一些嵌入式常用的测试工具。

  .源码级调试器[Source-level Debugger]

  这种调试器一般提供单步或多步调试、断点设置、内存检测、变量查看等功能,是嵌入式调试最根本有效的调试方法。比如VxWorks TornadoII提供的gdb就属于这一种。

  .简单实用的打印显示工具[printf]

  printf或其它类似的打印显示工具估计是最灵活最简单的调试工具。打印代码执行过程中的各种变量可以让你知道代码执行的情况。但是,printf对正常的代码执行干扰比较大(一般printf占用CPU比较长的时间),需要慎重使用,最好设置打印开关来控制打印。

  .ICE或JTAG调试器[In-circuit Emulator]

  ICE是用来仿真CPU核心的设备,它可以在不干扰运算器的正常运行情况下,实时的检测CPU的内部工作情况。像桌面调试软件所提供的:复杂的条件断点、先进的实时跟踪、性能分析和端口分析这些功能,它也都能提供。ICE一般都有一个比较特殊的CPU,称为外合(bond-out)CPU。这是一种被打开了封装的CPU,并且通过特殊的连接,可以访问到CPU的内部信号,而这些信号,在CPU被封装时,是没法“看到”的。当和工作站上强大的调试软件联合使用时,ICE就能提供你所能找到的最全面的调试功能。但ICE同样有一些缺点:昂贵;不能全速工作;同样,并不是所有的CPU都可以作为外合CPU的,从另一个角度说,这些外合CPU也不大可能及时的被新出的CPU所更换。JTAG(Joint Test Action Group)虽然它最初开发出来是为了监测IC和电路连接,但是这种串行接口扩展了用途,包括对调试的支持。AD公司为Blackfin设计的Visual Dsp++就支持高速的JTAG调试。

  .ROM监视器[ROM Monitor]

  ROM监控器是一小程序,驻留在嵌入系统ROM中,通过串行的或网络的连接和运行在工作站上的调试软件通信。这是一种便宜的方式,当然也是最低端的技术。它除了要求一个通信端口和少量的内存空间外,不需要其它任何专门的硬件。并提供了如下功能:下载代码、运行控制、断点、单步步进、以及观察、修改寄存器和内存。因为ROM监控器是操作软件的一部分,只有当你的应用程序运行时,它才会工作。如果你想检查CPU和应用程序的状态,你就必须停下应用程序,再次进入ROM监控器。

  .Data监视器[Data Monitor]

  这种监视器在不停止CPU运行的情况下不仅可以显示指定变量内容,还可以收集并以图形形式显示各个变量的变化过程。

  .OS监视器[Operating System Monitor]

  操作系统监视器可以显示诸如任务切换、信号量收发、中断等事件。一方面,这些监视器能够为你呈现事件之间的关系和时间联系;另一方面,还可以提供对信号量优先级反转、死锁和中断延时等问题的诊断。

  .性能分析工具[Profiler]

  可以用来测试CPU到底耗在那里。profiler工具可以让你知道系统的瓶颈在那里、CPU的使用率以及需要优化的地方。

  .内存测试工具[Memory Teseter]

  可以找到内存使用的问题所在,比如内存泄露、内存碎片、内存崩溃等问题。如果发现系统出现一些不可预知的或间歇性的问题,就应该使用内存测试工具测测看。

  .运行跟踪器[Execution Tracer]

  可以显示CPU执行了哪些函数、谁在调用、参数是什么、何时调用等情况。这种工具主要用于测试代码逻辑,可以在大量的事件中发现异常的那些。

  .覆盖工具[Coverage Tester]

  主要显示CPU具体执行了那些代码,并让你知道那些代码分支没有被执行到。这样有助于提高代码质量并消除无用代码。

  .GUI测试工具[GUI Tester]

  很多嵌入式应用带有某种形式的图形用户界面进行交互,有些系统性能测试足根掘用户输入响应时间进行的。GUI测试工具可以作为脚本工具有开发环境中运行测试用例,其功能包括对操作的记录和回放、抓取屏幕显示供以后分析和比较、设置和管理测试过程(Rational公司的robot和Mercury的Loadrunner工具是杰出的代表)。很多嵌入式设备没有GUI,但常常可以对嵌入式设备进行插装来运行GUI测试脚本,虽然这种方式可能要求对被测代码进行更改,但是节省了功能测试和回归测试的时间。

  .自制工具[Home-made tester]

  在嵌入式应用中,有时候为了特定的目的,需要自行编写一些工具来达到某种测试目的。本人曾经编写的视频流录显工具在测试视频会议数据流向和变化上帮了大忙,帮公司找到了几个隐藏很深的bug。

  2.尽早发现内存问题

  内存问题危害很大,不容易排查,主要有三种类型:内存泄露、内存碎片和内存崩溃。对于内存问题态度必须要明确,那就是早发现早“治疗”。在软件设计中,内存泄露的“名气”最大,主要由于不断分配的内存无法及时地被释放,久而久之,系统的内存耗尽。即使细心的编程老手有时后也会遭遇内存泄露问题。有测试过内存泄露的朋友估计都有深刻地体验,那就是内存泄露问题一般隐藏很深,很难通过代码阅读来发现。有些内存泄露甚至可能出现在库当中。有可能这本身是库中的bug,也有可能是因为程序员没有正确理解它们的接口说明文档造成错用。

  在很多时候,大多数的内存泄露问题无法探测,但可能表现为随机的故障。程序员们往往会把这种现象怪罪于硬件问题。如果用户对系统稳定性不是很高,那么重启系统问题也不大;但,如果用户对系统稳定很高,那么这种故障就有可能使用户对产品失去信心,同时也意味着你的项目是个失败的项目。由于内存泄露危害巨大,现在已经有许多工具来解决这个问题。这些工具通过查找没有引用或重复使用的代码块、垃圾内存收集、库跟踪等技术来发现内存泄露的问题。每个工具都有利有弊,不过总的来说,用要比不用好。总之,负责的开发人员应该去测试内存泄露的问题,做到防患于未然。

  内存碎片比内存泄露隐藏还要深。随着内存的不断分配并释放,大块内存不断分解为小块内存,从而形成碎片,久而久之,当需要申请大块内存是,有可能就会失败。如果系统内存够大,那么坚持的时间会长一些,但最终还是逃不出分配失败的厄运。在使用动态分配的系统中,内存碎片经常发生。目前,解决这个问题最效的方法就是使用工具通过显示系统中内存的使用情况来发现谁是导致内存碎片的罪魁祸首,然后改进相应的部分。

  由于动态内存管理的种种问题,在嵌入式应用中,很多公司干脆就禁用malloc/free的以绝后患。

  内存崩溃是内存使用最严重的结果,主要原因有数组访问越界、写已经释放的内存、指针计算错误、访问堆栈地址越界等等。这种内存崩溃造成系统故障是随