DSP中CMD文件的编写

2024-04-12

DSP中CMD文件的编写(共8篇)

篇1:DSP中CMD文件的编写

DSP中CMD文件的编写

CMD文件(xxxx.cmd)是用来分配DSP工程中rom和ram空间的,告诉链接程序怎样计算地址和分配空间。

CMD文件分为两大部分:MEMORY

SECTIONS。

MEMORY: 伪指令。对DSP系统的ROM(如DSP芯片内的ROM,FLASH,外挂ROM)和RAM划分为N个不同的区间。这些区间根据存储目的可以分为两大类:程序存储(对应于PAGE 0)和数据存储(对应于PAGE 1)。例如: MEMORY {

PAGE 0: VECS

origin = 00000h,length = 00040h

LOW:

origin = 00040h,length = 03FC0h

SARAM:

origin = 04000h,length = 00800h

B0:

origin = 0FF00h,ength = 00100h PAGE 1: B0:

origin = 00200h,length = 00100h

B1 :

origin = 00300h,length = 00100h

B2:

origin = 00060h,length = 00020h

SARAM:

origin = 08000h,length = 00800h }

中的语句:

VECS: origin = 00000h, length = 00040h VECS为区间名,origin指定本区间的起始地址,length指定本区间的长度。

SECTIONS:伪指令。(在程序里添加下面的段名如.test用来指定该段名以下,另一个段名以上的程序(属于PAGE0)或数据(属于PAGE1)放到“>”符号后的空间名字所在的地方。例如: SECTIONS {

.text :

> LOW

PAGE 0

.cinit :

> LOW

PAGE 0

.switch :

> LOW

PAGE 0

.const :

> SARAM

PAGE 1

.data :

> SARAM

PAGE 1

.bss :

> SARAM

PAGE 1

.stack :

> SARAM

PAGE 1

.sysmem :

> SARAM

PAGE 1 } SECTIONS中的段名有两个来源:系统自动生成 和 用户自定义。如下为系统自动生成的段名:(通用部分)

.cinit

存放程序中的变量初值和常量

.const

存放程序中的字符常量、浮点常量和用const声明的常量.switch

存放程序中switch语句的跳转地址表

.text

存放程序代码

.bss

为程序中的全局和静态变量保留存储空间

.far

为程序中用far声明的全局和静态变量保留空间

.stack

为程序系统堆栈保留存储空间,用于保存返回地址、函数间的参数传递、存

储局部变量和中间结果

.sysmem

用于程序中的malloc、calloc、和realoc 函数动态分配存储空间。以上所列的段名并不完全,它们各自的块连接属性也不尽相同,可以查阅相关资料。

如:.const仅可用于小存储器模型——小存储器模型要求初始化块连接到低64K字的非易失性存储空间中,而F2812在低64K中没有FLASH,因此编译器要采用大存储器模式,相应的要用.econst代替.const。

系统自带的段名:(选择部分)(常见于DSP28x_CodeStartBranch.asm)

.reset

只包含一个32位的中断矢量,指向实时支持库rts2800_ml.lib中的C编译器导引函数,即_c_int00子程序。通常我们不用此块,而是另外创建分支指令指向开始代码。

用法如下: SECTIONS {.reset

:>FLASH,PAGE=0.TYPE=DSECT

}

语句中的“TYPE=DSECT”用来提示编译器编译时将.reset段忽略掉。.codestart

包含一条长跳转指令,指向实时支持库rts2800_ml.lib中的C编译器导引函数,即_c_int00子程序。不同的是:如果系统的程序(.text)放在系统内部RAM中仿真运行,则本块应放入片内RAM中,如地址单元0x3F8000;如果是固化程序进FLASH,则.codestart应定位与FLASH中的其实地址为0x3F7FF6中。(一条长跳转指令占2个字)。

.ramfuncs

此程序块用于对FLASH的控制寄存器进行初始化设置。

FLASH的控制寄存器受代码安全模块CSM保护,因此如果DSP是安全的(烧写后的FLASH往往处于这种状态),则必须从受保护的RAM中执行FLASH寄存器初始化代码。

InitFlash()位于DSP281x_SysCtril.c文件中,为FLASH寄存器初始化用,将次程序放进.ramfuncs块中。

MemCpy()位于DSP281x_MemCopy.c文件中,在对FLASH寄存器初始化时,用于将指定的FLASH中的程序段复制到指定的RAM区中。如例:

extern Uint16 RamfuncsLoadStart;extern Uint16 RamfuncsLoadEnd;extern Uint16 RamfuncsRunStart;„„

Void main(main){

„„

MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart);

InitFlash();„„

}

在系统的cmd文件中有:

SECTIONS {

„„

Ramfuncs:

LOAD = FLASHD, PAGE = 0

RUN = RAMM1, PAGE = 0

LOAD_START(_RamfuncsLoadStart),LOAD_END(_RamfuncsLoadEnd),RUN_START(_RamfuncsRunStart),„„

} 上例中SECTIONS段的语法如下: SECTIONS { name : [property,property,……] } name:输出段的名称 property:输出段的属性:

load=allocation(强制地址或存储空间名称)同>allocation:定义输出段将会被装载到哪里。run= allocation(强制地址或存储空间名称)同>allocation:定义输出段将会在哪里运行。另:CMD文件中只出现一个关键字load或run时,表示两者的地址时表示两者的地址时重合的。

用户自定义的块:

利用pragma语法来指定程序中的(用户自编写)函数的存放目的块,这个目的块可以在cmd文件中指定实际物理地址。

pragma:

CODE_SECTION(func,”section name”)

DATA_SECTION(symbol,”section name”)

其中,func和symbol必须在主函数外声明或定义,同时也必须在声明,定义和引用func和symbol之前指定pragma语句。

#pragma可以阻止对未调用的函数的优化。

根据自己的经验,codestart块与reset块并没有什么用处。

F2812的DSP芯片内部有一个BOOTROM,存储着出厂前已经编制好的导引加载程序和标准数学表,同时也包含复位矢量和CPU矢量表(仅用于测试)。当DSP上电后,导引加载程序会自动配置所需要的设置,例如配置好EMIF以存取flash,配置GPIO口为把程序从外部RAM或ROM下载到内部RAM中做准备。

————————类似于PC的加电硬件检测 在运行C程序(main函数)之前,必须创建C运行环境。这个任务由C引导程序(BOOTRAM中固化的导引加载程序)使用名为c_int00()的子程序来执行。此函数位于rts.lib文件中。

在系统开始运行时,c_int00()可以被调用,通常由硬件复位来调用。必须将c_int00()与其他的目标模块连接起来,当使用C连接器并且包含rts28xx.lib作为连接器输入文件时,以上调用自动实现。当连接C程序时,连接器将可执行输出模块中的入口点的值赋给c_int00()函数,这些可执行输出模块不尽相同,但最为人关心的则是由c_int00()来启动main()函数运行自己的C程序。

而在.codestart 和.reset代码块的编写的汇编程序的功能也仅仅是引导BOOTROM中的导引加载程序与c_int00()函数的衔接。

目前所接触的应用于F2812DSP芯片的程序也都是DSP/BIOS型的,不是non_DSP/BIOS类型的。

篇2:DSP中CMD文件的编写

本文介绍一个cmd下的一个attrib.exe的小程序,它可以用来设置文件的属性,我们知道文件的属性有只读、隐藏、系统、存档和无内容索引等5个,只读和隐藏用得比较多,另外三个用得比较少。

不知道大家有没有用过attrib.exe这个cmd下的小程序,它可以用来设置文件的属性。先来看看它的帮助文件。

代码如下:

C:Userssplaybow>help attrib

显示或更改文件属性。

ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [+I | -I]

[drive:][path][filename] [/S [/D] [/L]]

+ 设置属性。

- 清除属性。

R 只读文件属性。

A 存档文件属性。

S 系统文件属性。

H 隐藏文件属性。

I 无内容索引文件属性。

[drive:][path][filename]

指定 attrib 要处理的文件。

/S 处理当前文件夹及其所有子文件夹中的匹配文件。

/D 也处理文件夹。

/L 处理符号链接和符号链接目标的属性。

我们用一个例子来看看如何使用attrib设置文件的属性。

第一步,先使用echo命令来创建一个文件:d:2.txt

代码如下:

C:Userssplaybow>echo xxxx>d:2.txt

创建文件成功后,将不会有任何提示。

第二步,为d:2.txt文件添加一个隐藏属性和一个只读属性。

代码如下:

C:Userssplaybow>attrib +r +h d:2.txt

设置文件属性成功后,也不会有任何提示。

第三步,显示d:2.txt的文件属性。

代码如下:

C:Userssplaybow>attrib d:2.txt

AHRD:2.txt

我们可以看到当前文件中存在存档(A)、隐藏(H)、R(只读)三种属性,

这里大家可能想问,为什么会有存档(A)属性的存在呢?这个洪哥也解释不了,估计在使用echo创建文件时,文件就已经有存档(A)属性了。

第四步,我再来看看把存档、隐藏、只读、系统、无内容索引五个属性全部加上的效果。

代码如下:

C:Userssplaybow>attrib +a +s +r +i +h d:2.txt

设置文件属性成功后,不会有任何提示。

第五步,查看一下最后的文件属性

代码如下:

C:Userssplaybow>attrib d:2.txt

ASHRID:2.txt

这样看到了,五个属性全部上去了。

最后洪哥总结如下几点:

1、如果要给文件加属性使用“attrib +标记1 +标记2 ... <文件路径和名称>”这样的语法格式。

2、如果要给文件去掉一些属性,把第1条中的加号(+)换成减号(-)即可。

3、如果要查看当前文件有存档、隐藏、只读、系统、无内容索引五种属性中的哪些,可以使用“attrib <文件路径和名称>”这样的语法格式。

4、这些属性有什么意义呢?隐藏就是隐藏起来,但使用显示隐藏的开关还可以看得到。加了系统属性后,显示隐藏也看不到,必须要显示系统文件才能看到。只读代表不能修改和删除,但有一些命令可以强制删除或修改只读文件。

5、以下三条命令说明,如果文件同时有系统属性和隐藏属性,如果想要去掉其中一个,必须两个先同时都去掉。

代码如下:

PS C:Userssplaybow> attrib -h d:2.txt

未重置系统文件 - D:2.txt

PS C:Userssplaybow> attrib -s d:2.txt

未重置隐藏文件 - D:2.txt

PS C:Userssplaybow> attrib -s -h d:2.txt

篇3:DSP中CMD文件的编写

1 参考文献不应列入规范性引用文件

规范性引用文件的引导语:“下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件, 仅所注日期的版本适用于本文件。凡是不注日期的引用文件, 其最新版本 (包括所有的修改单) 适用于本文件。”应该理解为只有对本文件的应用是必不可少的文件, 才能列入文件清单中。如果缺少了这些文件就不能顺利、无障碍地使用本文件, 而我们在编制地方标准过程中, 需要查阅很多相关学科的资料及文件, 这些文件并没有在标准中提及, 他不能列入文件清单中, 应列入参考文件中。这个问题在地方标准送审稿中普遍存在, 标准起草人将大量的标准列入规范性引用文件清单中, 只是在编写标准的过程中翻阅、参考过这些文件, 并没有在文本中提及, 我们建议将这些标准放入参考文献中。

2 规范性引用文件中标准的引用原则

规范性引用文件中引用的标准应是正式批准发布的上级标准和同级标准。从国家技术标准体系层级来看, 我国依照现行的《中华人民共和国标准化法》分为国家标准、行业标准、地方标准和企业标准4个层级。地方标准可以引用国家标准、行业标准及本地区的地方标准, 不能引用企业标准及其他地区的地方标准。有些地方标准送审稿中就出现引用了其他省份的地方标准和引用自己企业的企业标准的错误。

3 注日期引用和不注日期引用的区别

在标准中注日期引用文件, 应在规范性引用文件清单中给出文件的的年号或版本号, 引用其他标准给出标准代号、标准顺序号及完整的标准名称, 标准引用应提及到具体的章、条、项及附录、图、表的编号;不注日期引用应在规范性引用文件清单中不给出文件的的年号或版本号, 引用其他标准应给出标准代号、标准顺序号及完整的标准名称, 标准引用应提及。有些地方标准备案稿中注日期引用提及的不具体;不注日期引用提及到具体章、条, 把二者概念混肴。

4 规范性引用文件列表的排列顺序

在规范性引用文件列表中标准的排列顺序应为:国家标准、行业标准、地方标准。国家标准和地方标准按标准顺序号排列, 行业标准先按字母顺序排列, 再按标准顺序号排列。在国内标准之后, 按ISO标准、IEC标准、ISO或IEC有关文件、其他国际标准以及其他国际有关文件顺序排列。在同一类标准中, 也可参照上述的排列方式依次列出。其他国际标准的排列顺序与行业标准的排列顺序相同, 即先按标准代号的字母顺序依次排列, 再按标准顺序号排列。地方标准备案稿中普遍存在排序问题, 经常出现标准起草人将他们认为重要的排在前面或根本没有章法的随意排列。

5 规范性引用文件中标准应现行有效

规范性引用文件中被引用的的条款是起草标准的一部分, 因此在决定引用某个标准时, 应认真核对所引文件的版本, 确认文件是否现行有效。注日期引用标准, 应引用最新版本。有些标准起草过程时段很长, 应时刻关注引用标准的版本变化, 随时调整起草的标准, 最后形成报批稿时, 应再一次核对, 如发现新版本, 研究其适用性, 将起草标准进行调整。不注日期引用应确认规范性引用部分, 接受文件将来的变化, 就可以不注日期引用, 引用标准将是最新版本。地方标准备案稿中很多引用标准不是现行标准, 是国家、行业标准的讨论稿及征求意见稿或即将发布稿。

6 规范性引用文件列表内容的准确性

规范性引用文件列表内容应准确, 否则无法查到文件, 影响标准具体操作。规范性引用文件标准号、年代、名称应正确;标准号、年代、名称应相符。地方标准备案稿通常所见的错误是:注日期引用年代和标准名称不符, 也就是标准更新名称略有变动, 标准起草人没有及时掌握最新信息。不注日期引用标准号与名称不符, 标准有更新, 起草人没有及时跟进。

7 规范性引用文件的提及表述方式

在标准中规范性引用的类型是规范性引用和资料性引用, 它有两种引用方式, 即:注日期引用和不注日期引用, 因此提及的表述的方式就不同。

7.1 注日期引用文件的表述方式为:

a) “……GB/T XXXXX.2-2012给出了相应的试验方法……” (注日期引用其他标准特定的部分) ;

b) “……遵守GB/T XXXXX-2012中第3章……” (注日期引用其他标准中具体的章) ;

c) “……应符合GB/T XXXXX.2-2012中表1的规定……” (注日期引用其他标准特定部分中具体的表) ;

d) “……按照GB/T XXXXX-2012中列项的第二项规定……” (注日期引用其他标准段和列中无编号的项) 。

7.2 不注日期引用文件的表述方式为:

a) “……按GB/T XXXXX.2-2012中的规定……”;

b) “……应符合GB/T XXXXX.2-2012中的规定……”。

7.3 引用标准的所有部分的表述方式为:

a) “……按照GB/T XXXXX中的规定……” (不注日期引用) ;

b) “……按照GB/T XXXXX-2012中的规定……” (注日期引用) ;

c) “……按照GB/T 10001.1~10001.2–2006、GB/T 10001.3-2004、GB/T 10001.4-2007中的规定……” (注日期引用, 引用标准的各个部分不是同一年发布的) 。

以上是编写地方标准规范性引用文件部分应注意的问题, 总之应认真确认核实, 逐字校对, 以保证地方标准的规范性、协调性及可操作性。

参考文献

[1]GB/T 1.1-2009《标准化工作导则第1部分:标准的结构和编写》.

[2]白殿一.标准的编写[M].中国标准出版社, 2009.

篇4:关于提高招标文件编写质量的思考

关键词:招标文件;编写;质量;问题;对策

招标文件,是指招标人(业主、项目法人)或由其授权委托的招标代理机构根据拟招标工程的特点而编制的,向所有投标人发出的表明招标意向和要求的书面法律文件。其编写质量的高低直接影响着招标方目标的实现和招标活动的顺利开展。因此,招标方必须高度重视,努力提高招标文件的编写质量。

一、招标文件的重要性

1.招标文件是招标人招标采购的意志体现

招标文件是招标人依据自身招标采购需求,按照《中华人民共和国政府采购法》等招投标法律法规而制定的,系招标人招标采购意愿的文书体现。

2.招标文件是投标人参与投标的根本依据

招标文件是严格按照规定格式编写的法律文书,个中体现了招标方的招标采购需求和要求,投标人依据这些要求才能确定是否参与投标,才能确定该提供何种货物、何种服务,才能确定以什么样的条件参与投标。因此,招标文件是投标人参与投标的根本依据。

3.招标文件是评委会评标定标的行动纲领

评委会的评委系根据招标文件的条文,具体审查投标书的各项内容是否符合招标人的需求,从而才能评定出最适合的中标方。因而,招标文件是评委会评标定标的行动纲领。

4.招标文件是监委会评判招标的具体依据

监委会除了监督投标现场秩序、招投标活动合法性的职责外,还得评判招标活动是否公平公正、保障招投标双方的权益。他们主要是依据《中华人民共和国招标投标法》等法律法规判定招投标行为是否合法,并依据招标文件评判招标人和中标人是否履行了自身义务,最终判定违约方。

二、编写招标文件应遵循的原则

1.合法性原则

招投标行为是受到《中华人民共和国招标投标法》等法律法规约束的,作为招投标行为中重要文书之一的招标文件也必须符合与招投标相关的法律法规。

2.公平性原则

《中华人民共和国招标投标法》第二十条规定:“招标文件不得要求或者标明特定的生产供应者以及含有倾向或者排斥潜在投标人的其他内容。”因此,招标方在编写制作招标文件时,不得排斥特定的潜在投标人的内容,不得设置不公平的评标因素或具有倾向性的加分或扣分条件。

3.公正性原则

这一原则在招标文件中主要体现在投标人资格条件设定上。《中华人民共和国招标投标法实施条例》第三十二条明确规定:“招标人不能以不合理的条件限制、排斥潜在投标人或者投标人。”这明确要求招标人在编写招标文件时,必须设定共性的资格条件,不得存在倾向性或地域性的条件,必须保证所有潜在投标人能公正的参与投标活动。

4.公开性原则

招标包括公开招标和邀请招标两种方式。《中华人民共和国招标投标法》明确规定,除经法律指定的国家部委或地方政府批准的项目外,其他的均必须采取公開招标方式,且必须在指定的媒体、媒介上予以公开发布。

5.科学性原则

招标投标涉及的内容非常广泛,包含大宗货物买卖、工程建设项目的发包与承包、服务项目的采购与提供等,其中存在着较大的差异性。因此招标人在制作招标文件时,必须针对不同招标项目的个性要求和实际情况科学的设定评标标准、合同主要条款、技术规格要求、工期及质量要求等招标文件的主要因素。只有这样才能在招投标过程中选出最适合自身的中标人。

6.严谨性原则

招标文件是招投标活动的重要法律文书,对招投标各方均具有法律约束力,其严谨性直接影响着招标工作的进程。因此,编写招标文件时必须要保证整个文件的严谨性,不出现逻辑性和文字表达性问题,这样才不会误导投标人的投标行为,保障招标工作的成效、质量和招标方预期效果的实现。

三、招标文件普遍存在的问题

1.内容要素不完整

有的招标人没有按严格《中华人民共和国招标投标法》规定的内容要素编制招标文件,规定必备内容要素不完整,不同程度存在着漏项的情况。

2.条款设定不合法

有的招标文件内容要素明显存在着限制、排斥外地企业投标的违背法律法规行为,阻碍了市场有序平等竞争。

3.条款设定不科学

有的招标文件在业绩、交货期等方面要求过为苛刻,导致投标人不足或无投标人的情况,在增加了招投标工作周期的同时,无形中增加了招投标成本。

4.文字表达不准确

部分招标文件存在着用词不当、表达不明确而引起歧义等情况,更有甚者存在漏字、错字等低级错误。如有的招标文件对技术要求的描述为高于国内同等技术水平,没有列明具体的参数或要求,对评委会的评定造成了较大影响。

四、提高招标文件编写质量的对策与建议

1.进一步加大前期调研工作力度

没有调查,就没有发言权。在编写招标文件前,招标方首先应组建专门的调研队伍,明确单位自身的需求,再根据需求通过网络、约谈、实地调研等方式,对招标项目的市场、技术情况及潜在投标人的服务情况进行全面的调研,掌握了解招标项目的具体情况,做好招标文件的编写材料的收集工作,为编写奠定坚实的基础。

2.进一步提高编写人员综合素质

招标采购涉及的范围广、品目多,因此对编写人员的综合素质要求较高,在熟知招标项目内容、要求和相关法律法规的基础上,必须得具备较强的统筹和文字综合能力。因此,在日常工作中必须有针对性强化招标文件编写人员的培训,通过专家授课、知识共享等多种方式,使编写人员在实践中加强理解与体会,进一步提高编写人员的政策法规把握、文字综合和统筹安排能力。

3.进一步强化招标文件审核把关

招标文件是招标人招标采购的意志体现、投标人投标报价的行为准则、评委会评标定标的行动纲领、监委会评判招标的具体依据,因此必须进行强化审核把关,特别是对招标项目的技术要求、对投标人资格审查的标准、投标报价要求和评标标准等条款的审核,确保招标文件的合法、科学和严谨,只有这样才能保障招投标工作的正常开展。

4.进一步强化内容条款的合理性

科学合理的规则是招投标活动的机制保障,是体现招标文件编制水平的重要环节。因此,招标方在编写招标文件的时候,不能一味地追求最低价格,还得综合考虑招标采购后运营维护等因素,合理处理好价格、质量、服务的关系,科学设定内容条款,保障自身最大利益的实现。

招标文件对于整个招标投标过程是否合法、科学,能否实现招标采购的目标,都具有重要的意义。因此,必须努力提高招标文件的编制质量,为项目招投标工作的顺利开展提供保障。

参考文献:

篇5:cmd怎么进入d盘文件夹?

1、首先需要先进入cmd,点击电脑左下角的开始按钮,点击运行按钮,就会出现运行输入窗口,输入cmd就会进入,

cmd怎么进入d盘文件夹?

2、如果开始按钮中没有运行按钮,那么可以通过右键查看开始属性,在开始菜单自定义中勾选运行,确定后就会出现了。

3、然后再cmd运行窗口中输入d:就是进入D盘根目录了。这时候只会提示你进入d盘了,而不会告诉你d盘都有哪些文件。

4、这时候在cmd中输入dir,就可以看到d盘下的各个文件名称了。

篇6:论投标文件的编写要点

招投标活动对于市场经济来说是十分重要的, 它有利于控制工程投资。国际国内历年的工程招投标证明, 经过工程招投标的工程, 最终造价可节省约8%。这些费用的节省主要来自于施工技术的提高、施工组织的更加合理化。此外能够减少交易费用, 从而使工程造价有所降低。并且有利于鼓励施工企业公平竞争, 不断降低社会平均劳动消耗水平。

招标投标是在市场经济条件下进行大宗货物买卖、工程建设项目发包与承包, 以及服务项目采购与提供时所采用的一种交易方式。在这种交易方式下, 招标人通过发布招标公告或者向一定数量的特定投标人、承包商发出招标邀请, 并且提出采购的数量、质量、承包商的资格要求等招标采购条件;有意提供采购货物或服务的投标人向招标人书面提出其拟提供货物或服务的报价及其他响应招标要求的条件参加投标竞争。招标人通过对各投标竞争者的报价和其他条件进行综合评判比较, 从中选择报价低、技术力量强、质量保障体系可靠、具有良好信誉且能够最大限度地满足招标文件中规定的各项综合评价标准的投标人、承包商作为中标者。

在实际招标中, 招标人往往只能通过投标人编写的投标文件来认识投标人, 据此判断投标人是否可以最大限度地满足自己发布的招标文件的要求。因此, 对于投标人来说, 能否编写出一份高水平的、能准确反映出自己企业综合实力与水平的投标文件, 是保证其在招投标活动的竞争中取得优势的关键因素。随着我国加入WTO, 国际市场进一步开放, 要在激烈的投标市场中增强竞争能力, 投标文件质量的好坏是中标的前提和基础。编写投标文件要有清楚的工作思路, 要对编写投标文件的关键问题做出认真的思考, 要对招标文件中的要求逐一响应。本文详细阐述了投标文件的主要内容, 并对投标文件编写的常见问题进行了分析, 使读者能够清晰明确投标文件的编写要点[1]。

二、招投标文件编写的主要内容

(一) 招标文件编写的主要内容

招标文件是招标人向投标人发出的旨在向其提供为编写招投标文件所需的资料, 并向其通报招标投标的规则、标准、方法和程序等内容的书面文件。

按照有关招标投标法律法规与规章的规定, 招标文件一般由以下七项基本内容构成:1.招标公告或投标邀请书:招标公告包括项目名称、招标条件、项目概况与招标范围、投标人资格要求、投标文件的递交、发布公告的媒介和联系方式等内容。投标邀请书适用于邀请招标, 其中大部分内容与招标公告相同, 唯一区别是:投标邀请书无需说明发布公告的媒体, 但对投标人增加了在收到投标邀请书后的约定时间内, 以传真或快递方式确认是否参加投标的要求。2.投标人须知:包括投标人须知前附表、正文和附表格式等内容。其中要含有投标报价和对投标人的各项投标规定与要求。3.评标标准和评标方法:主要包括选择评标方法、确定评审因素和标准以及确定评标程序。评标方法一般包括经评审的最低投标价法、综合评估法和法律法规允许的其他方法。评标程序一般包括初步评审、详细评审、投标文件的澄清说明、评标结果。4.技术条款:包括技术标准、规格、使用要求以及图纸等。5.投标文件格式。6.拟签订合同主要条款和合同格式。7.附件和其他要求投标人提供的材料。

(二) 投标文件编写的主要内容

投标文件是投标人按照招标文件的要求而编写的书面文件。投标文件应对招标文件提出的实质性要求和条件作出响应。投标文件是向招标人发出要约的文件。对于不同类型项目的投标文件的内容和构成有着具体的规定。

1.工程建设施工项目:包括投标函;投标报价;施工组织设计;商务和技术偏差表。2.工程建设货物项目:包括投标函;投标一览表;技术性能参数的详细描述;商务和技术偏差表;投标保证金;有关资格证明文件;招标文件要求的其他内容。3.机电产品国际招标项目:包括投标书、投标分项报价表以及供唱标使用的、单独密封的开标一览表;资格证明文件, 证明投标人是合格的而且中标后有能力履行合同;投标货物的证明文件, 证明投标人提供的货物及服务是合格的, 且符合招标文件的规定;投标保证金。4.建筑工程方案设计招标项目:对政府或国有资金投资的大型公共建筑工程项目, 招标人应当在招标文件中明确参与投标的设计方案必须包括有关使用功能、建筑节能、工程造价、运营成本等方面的专题报告。

在投标文件中, 投标函是指投标人按照招标文件的条件和要求, 向招标人提交的有关报价、质量目标等承诺和说明的函件, 是投标人为响应招标文件相关要求所作的概括性函件, 一般位于投标文件的首要部分, 其内容、格式必须符合招标文件的规定。投标函中包括投标有效期、投标保证金、中标后的承诺。投标函应该参照相关法律法规的规定以及招投标惯例, 根据招标项目的特点及招标人的具体要求确定具体内容, 投标人提交投标函的内容、格式需严格按照招标文件提供的统一格式编写, 不得随意增减内容[2]。

而投标一览表也称为投标函附录, 一般附于投标函之后, 共同构成合同文件的重要组成部分, 是对投标文中涉及关键性或实质性的内容条款进行说明或强调。投标人填报投标函附录时, 在满足招标文件实质性要求基础上, 可以提出比招标文件更有利于招标人的承诺。

投标保证金则是招标人为了防止投标人撤销或者反悔投标的不当行为而使其蒙受损失, 要求投标人按照规定形式和金额提交保证金, 并作为投标文件的组成部分。投标人不按照招标文件要求提交保证金的, 其投标文件作废标处理。投标保证金采取银行保函形式的, 银行保函有效期应长于投标有效期, 一般应超出投标有效期30天。

通过对投标文件的内容的描述可以看出, 投标文件额内容编写是依附于招标文件的, 招标文件中的招标邀请书的内容使得投标人必须仔细研读, 分析自身是否具有投标资格、企业自身的产品是否满足招标人的需求;通过招标文件中的投标人须知则规定了投标文件的正文和附表格式, 使得投标人必须按照规定格式去编写投标文件;招标文件中要求的技术条款、附件和需要投标人提交的其他资料都是投标人必须注意的项目, 只有按照招标文件的要求编写出的投标文件才能是合格的投标文件。最重要的一点是:投标文件必须对招标文件的实质性要求和条件作出响应, 若有一项实质性要求不能满足则投标文件将被拒绝。

三、投标文件编写中的常见问题

以上主要论述了投标文件编写的重要性和主要的编写内容, 那么在实际投标工作中, 投标文件并不是简简单单按规定就能编写出来, 文件在编写的过程中常会出现以下问题, 这些问题若不能得到重视和解决就会影响投标文件的质量甚至是导致投标活动的失败。

(一) 研究招标文件不仔细不全面

投标须知是招标人提醒投标者在投标书中务必全面、正确回答的具体注意事项的书面说明, 是招标文件的灵魂, 要特别注意。投标人在制作标书时, 必须对招标文件进行反复学习、理解, 否则会导致投标文件作废。如投标保证金是使用现金还是保函, 特别是同一批次的几个标段或是一个大工程下面的分期工程, 虽然工程内容类似或相同, 但每一份招标文件都要分别阅读、理解, 千万不可以认为差不多就只看一个或是依照上一期的招标文件套用, 因为每一个标段都有可能有不同的要求。如果没有看到, 在投标文件里没有响应招标文件, 就会导致废标[3]。

(二) 遗漏招标文件的实质要求

《招标投标法》第三章第二十七条规定:“投标文件应当对招标文件提出的实质性要求和条件做出响应。”这意味着投标者只要对招标文件的某一条实质性要求遗漏、未作出响应, 都将导致废标。

(三) 项目实施方案、技术措施的编写

项目实施方案、技术措施等都是投标书的重要部分, 也是体现投标者是否具有竞争实力的具体表现。施工方案是投标单位工程预算的依据, 也是招标人选择中标单位的重要因素, 编制施工方案要从实际出发, 力求经济适用、切实可行。

(四) 要重视细节, 防止疏漏

在制作投标书的时候, 有一些项目很细小, 也很容易做, 但稍一粗心大意, 就会影响全局, 导致全盘皆输。这些细小项目主要是:投标书未按照招标文件的有关要求封记;未全部加盖法人或委托授权人印签;投标者单位名称或法人姓名与登记执照不符;未在投标书上填写法定注册地址;投标保证金未在规定的时间内缴纳;投标书的附件资料不全, 如设计图纸漏页, 有关表格填写漏项等;投标书字迹不端正, 无法辨认;投标书装订不整齐, 或投标书上没有目录, 没有页码, 或文件资料装订前后颠倒等[4]。

四、投标文件编写中应注意的要点

上述五点是投标文件编写中易于出现的问题, 为了防止在编写过程中出现这样的问题, 投标文件在编写中应注意以下四条要点。

(一) 投标文件内容要完整准确

投标文件一般包括:投标人授权委托书、投标函、开标一览表、投标报价表、投标产品的方案及详细介绍、技术和商务完整准确应答、投标人的资信证明、招标文件要求的其它资料。投标文件对招标文件提出的要求应做出逐一的回答, 对招标文件中提出的实质性响应要求必须做出符合要求的回答。特别是评标办法中提出的对投标文件初审的资格性证明文件、符合性证明文件一个也不能少, 都要符合招标文件的要求。有的投标人往往忽视了一些细节, 未能向招标人提供完整的响应, 在评标过程中被扣分, 有些甚至因为重要事项未响应而被迫出局。

(二) 投标文件应体现自己的优势

企业应在投标文件中充分提供能表现自己综合实力的内容, 如能说明投标人的技术优于招标人的要求和其它竞争对手的文件、可提前交货的保证等。投标人还可将自身的业绩、市场占有率, 产品样本等有关材料充实到投标文件中, 并分别配上详细介绍, 以便向评委和招标人充分展示自己的综合实力, 引起他们的兴趣和重视, 给招标人一种信任感。

(三) 科学合理的投标报价

投标价格要根据国内、国际市场行情和自己企业产品成本等因素科学合理地制定。比较合理的投标价格应不低于成本加适当利润, 也不能高于市场平均价格。应研究清楚招标人需要的是哪个档次的产品, 然后有针性地提供, 这样在性能价格比等方面才具有优势[5]。

(四) 投标文件应制作规范

注意语言和格式的规范。投标文件的结构一般有固定格式, 但是在编写时, 要注意文件符合汉语表达习惯和语言规范。招标文件一般都要求投标文件以招标文件要求的固定格式提供, 或有其他明确的要求。投标文件要严谨周密, 资料齐全, 编码完整, 不掉页、缺页、错页。文本要印刷清楚, 装帧整洁, 不要做“豪华型”标书, 不要奢侈浪费增加投标成本, 真正把功夫下在投标文件的内容上。

五、结论

招投标是一种有序的市场竞争方式, 也是规范选择交易主体、订立合同的法律程序。通过研究可以发现, 针对不同的项目, 投标文件的编写内容有着很大的区别, 最重要的是投标文件的编写是在仔细研读招标文件后并且对招标文件的实质性要求作出响应来编写的。投标人在产品、服务和实力能够满足招标文件的前提下, 科学的写出高水平的投标文件, 在招标竞争中起着至关重要的作用, 往往决定投标活动的成败。因此, 投标文件的参编人员平时要学习招投标方面的法律法规, 不断积累自身专业理论素质和实践经验, 才能进一步提高投标文件编制的质量。

参考文献

[1]张文翠, 吴锋.科学编写投标文件对投标中标率影响的分析[J].陕西电力, 2007 (10) .

[2]刘群艳.浅析投标文件的编制[J].山西建筑, 2009 (8) .

[3]王雪飞, 韩俊平.招投标文件编制常见问题分析及建议[J].山西建筑, 2011 (5) .

[4]易佩富.投标书制作四注意[J].中国政府采购, 2004 (7) .

篇7:DSP中CMD文件的编写

TMS320DM642 是TI公司C6000 系列DSP中最新的定点DSP,采用第二代高性能、先进的超长指令字veloci T1. 2 结构的DSP核及增强的并行机制,具有极强的处理性能、高度的灵活性和可编程性[1]。该芯片内部不带Flash或EEPROM,系统掉电后,驻留在存储器内部的数据和程序将全部丢失。因此,在利用DM642 做DSP系统开发时,若使DSP系统能够脱机工作,就必须设计DSP的自启动引导装载,这也是DSP系统开发非常关键的环节之一。为实现DM642 的自启动,可通过其EMIFA接口外部扩展Flash存储器[2],将程序固化在Flash存储器中,然后通过DSP的片上引导功能,从DSP片外加载用户应用程序[3]。该方法的关键在于Flash存储器中程序的正确烧写和正确的用户引导程序( 即二级Bootloader程序) 开发。

本研究针对TMS320DM642 DSP和AM29LV033C Flash详细介绍一种Flash直接烧写的头文件烧写方法,设计出一种DSP自启动方案,通过简单测试程序,验证方案的正确性和可行性。

1Flash头文件烧写原理

Flash头文件烧写法是一种需要两次加载程序的方法。首先加载应用程序,加载后在DSP内存空间将生成应用程序的反汇编代码。通过. map文件,可确定应用程序各段数据所对应的空间,再利用CCS的data-save功能导出适当长度的应用程序,导出的应用程序被保存为. dat格式文件。由于. dat文件不能直接用于Flash烧写,可以把. dat文件的所有数据存放到一个数组中,通过Flash烧写这个数组是可行的。为了方便起见,可将该数组以头文件的形式加载到Flash烧写工程中。然后,将含有该头文件的Flash烧写程序加载到DSP的内存RAM中,通过运行烧写程序即可将头文件中的数组烧写到指定的Flash存储器内存中。

该方法需要两次加载程序,所以要将两次加载的程序存放到DM642 内存的不同地址,以免第二次加载程序时将第一次加载的程序覆盖。TMS320DM642 内部RAM地址空间为0x0 - 0x3FFFF,共256 KB,而Flash烧写程序仅为12 KB。因此,对于DM642 而言,用户应用程序的有效内存可以达到230 KB,足以满足大多数用户开发。通常应将应用程序加载到内存起始地址,而将烧写程序加载到内存的最后位置。

2头文件法Flash烧写程序设计

对Flash存储器进行烧写一般有以下几种方法:通过编程器烧写; 通过开发商提供的专门烧写软件工具烧写; 用户自己编写Flash烧写程序直接烧写。

通过编程器烧写程序时,必须在存储芯片焊接到电路板之前将程序烧写到芯片内部,然后再将存储芯片焊接。该方法的缺点是当需要更新程序或本次下载程序出现问题时,必须将芯片取下,非常不便,在取芯片过程时,容易使焊盘脱落,导致板卡无法使用,风险非常大,且高温取片有损芯片及板卡性能。

TI公司提供了一款专门的Flash烧写工具—Flashburn软件,该软件组合了Flashburn和FBTC两个程序。其中,Flashburn程序是可执行文件,提供用户操作界面,能够把FBTC程序下载到DSP目标板中[4]。使用该方法的关键在于编写FBTC工程以生成FBTC.out文件,对于不同型号的DSP芯片和Flash存储器,每次都需要修改许多参数和函数,以满足不同目标板的烧写需求,通用性非常差。同时,很多DSP开发板的例程只提供了专门用于该板卡的FBTC. out文件,并未给出FBTC工程源码,因此,当用户想要开发自己的DSP系统时,开发FBTC工程是非常复杂的。

通过对上述几种方法的分析可知,编程器烧写和Flashburn软件烧写,操作复杂,通用性差。而用户自己编写Flash烧写程序直接烧写,方法简单,操作灵活,通用性强。针对AMD公司的Am29LV033C Flash芯片,本研究设计出一种程序代码量非常小的Flash头文件烧写法。该方法是一种简便、快捷、通用的Flash直接烧写方法,利于初学者使用。

对Flash进行烧写操作时,首先需擦除要写入的扇区,然后才可进行烧写。擦除和烧写操作是通过往指定地址写指令字来完成的。在进行Flash的擦除和烧写过程中,系统循环检测Toggle位是否发生翻转来判定操作是否完成[5]。而Flash读操作就是简单地从指定的地址读取相应数据即可。相关指令字和Toggle位算法参考芯片资料。

Flash烧写程序的核心代码如下:

分析程序可知,将. h头文件中的数组名和数组长度为实参传到Flash Burn( ) 函数,即可将存有应用程序信息的数组烧写到Flash存储器中。

Flash烧写及程序加载全过程如图1 所示。

图1 中,0x0 - 0x400 存储区存储汇编语言编写的二级Bootloader程序,之后为用户编写的C语言的应用程序。为了防止程序覆盖,Flash烧写程序被存放在0x30000 ~ 0x3FFFF存储空间。笔者运行Flash烧写程序,将二级Bootloader程序和应用程序烧写至Flash存储器,如图1 中箭头1 所示。系统再次上电时,一级Bootloader程序搬运Flash起始的1 KB程序,此程序恰好为二级Bootloader程序,如图1 中箭头2 所示。之后DSP系统从0x0 地址运行,即运行二级Bootloader程序,二级Bootloader程序指引DSP将Flash中的应用程序搬运至内部RAM,如图1 中箭头3 所示。

3头文件生成方法介绍

通过CCS平台中的data-save功能,可将目标程序的代码段和数据段所对应的地址区的内容导出,生成. dat文件。

CCS平台的data-save功能在File菜单下,用户选择Data然后点击Save…后会弹出一个提示保存. dat文件的对话框[6],选择保存路径并填写文件名,点击保存,会再弹出一个对话框,头文件生成对话框如图2所示。

图2 中,Address为要保存数据的起始地址,Length为要保存数据的长度[6]。两个数据的大小需要根据应用工程的. cmd文件和. map文件确定。通常,应用程序存储在RAM内存的起始地址,因此Address值一般为0。通过. map文件得到的程序大小是以字节为单位,而. dat文件的数据是以双字为单位存储的,因此,Length的大小为. map文件中程序大小的4 倍。

由于. dat文件不能直接用于Flash烧写,需要把. dat文件的所有数据存放到一个数组中,再将这个数组将以头文件的形式添加到Flash烧写程序中。从.dat文件到数组. h文件可以通过下载头文件生成器自动生成。也可以使用UEditor软件的列模式手动编辑数组,再保存为. h格式的头文件。

4用户引导程序设计

DSP程序分为系统引导程序和用户目标程序两部分。第一部分为系统引导程序,负责系统的初始化、引导加载用户代码及中断处理; 第二部分为用户目标程序,通过系统引导程序加载[7]。因此,TMS320DM642程序加载过程分为两个步骤。第1 步: 在系统复位时,EDMA控制器将地址0x90000000 开始的1 KB程序装入DM642 内部RAM的0x0 - 0x400 地址处,并释放CPU,CPU从0x0 地址处开始执行程序。通常这1 KB程序为引导程序; 第2 步: 执行引导程序,把开发人员的程序从Flash存储器搬运到内部RAM,进入_c_int00入口,完成加载过程[8]。

其中,_c_int00 是C语言程序的入口,C语言程序运行前,必须首先初始化C运行环境。因此,用户开发的Bootloader程序必须使用汇编语言编写。具体实现工作包括:

(1)配置EMIFA接口寄存器和Flash参数;

(2)初始化栈指针;

( 3) 将Flash存储器中1 KB以后的程序和数据拷贝到指定的DSP内部RAM物理地址;

( 4) 跳转至C程序的入口地址_c_int00 处[9]。

不同型号的DSP和Flash会有不同的寄存器和Flash参数配置,因此本研究仅给出通用的拷贝程序和跳转程序,程序关键代码如下[10-11]:

通常将用户引导程序命名为boot. asm的汇编文件。用户编写的应用程序要想实现自启动,必须包含该引导程序,而且必须存储在Flash的起始1 KB地址处,这样在系统复位时,一级Bootloader自动加载的恰好是二级Bootloader程序,然后系统执行二级Boot-loader程序将Flash中的应用程序加载到内部RAM,从而实现用户应用程序的全部加载。

5方案验证

为验证本研究提出的方案的正确性,笔者编写了一个简单测试程序。程序关键代码如下:

该测试程序的功能是向Flash的起始地址处间隔写入0 和1,因为没有写Flash烧写的指令字,数据只是出现在数据线上而不会真正写入Flash存储器。笔者将测试程序烧写到Flash后,系统掉电并去掉仿真器,进行手动复位,然后使用示波器测试Flash数据线引脚,得到的验证结果如图3 所示。

图3 显示结果表明,本研究得到预期的方波信号,验证了该方案的正确性。该测试程序虽然简单,但通用性强,在板卡没有指示灯的情况下仍能直观地验证用户编写的Flash烧写程序和二级Bootloader引导程序是否正确。

6结束语

本研究结合实际工程项目,详细介绍了Flash头文件烧写法,其中包括Flash擦除程序、烧写程序以及头文件的生成方法,该方法简单易懂,且程序代码量非常小,对不同型号的Flash芯片只需修改指令字,具有很强的通用性。通过对TMS320DM642 的程序加载机制和加载方法研究,成功编写了具有项目针对性的二级Bootloader程序。最后,通过简单的方波测试程序进行了方案验证。研究结果表明,Flash头文件烧写法和二级Bootloader程序具有正确性和可行性。

摘要:针对DM642掉电后驻留在内部存储器的数据和程序将全部丢失无法实现DSP系统脱机工作的问题,提出了一种利用DSP的Boot机制从外部Flash存储器自动加载程序的方法。详细介绍了Flash头文件烧写方法原理;针对Am29LV033C Flash芯片设计了Flash头文件法烧写程序,详细说明了两次程序加载方法并给出Flash烧写过程;介绍了如何使用CCS保存数据,以生成头文件;简要介绍了DSP引导过程及二级Bootloader程序开发,设计了有项目针对性的二级Bootloader程序。最后,通过编写简单的测试程序验证Flash烧写方法及二级Bootloader引导程序。研究结果表明,Flash头文件烧写法简单易懂,适合初学者学习,对不同型号Flash芯片操作只需简单修改指令字,可移植性强,易于实现DSP的二级Bootloader开发。

篇8:DSP在电机控制中的应用

电机控制是工业自动化进程中一个相当重要的组成部分, 它包含工业领域中的速度控制、力矩控制、位置控制。微处理器在电机控制领域中的应用, 使传统的电机控制面貌一新。它具有速度快、控制准确灵活、噪声小、高集成度、反应灵敏等优点。适应了工业企业提高产品质量和增加产量的要求, 因此得到了广泛的应用。

1 DSP的基本特征

DSP一般都具有如下一些特点:

a.在一个指令周期内可完成一次乘法和一次加法。

b.采用改进的哈佛结构, 程序和数据空间分离, 可以同时访问指令和数据。

c.片内具快速RAM, 通常可通过独立的数据总线在两块中同时访问。

d.具有低开销或大开销循环及跳转的硬件支持。

e.具有在单周期内操作的多个硬件地址产生器, 可以并行执行多个操作;支持流水线操作, 使取值、译码、取操作数和执行等操作重叠执行。

按照用途分类, DSP可分为通用型芯片和专用型芯片。专用型芯片是为特定的数字运算而设计, 如数字滤波、卷积。通用型DSP芯片的功能和用法类似于一个高速单片机。

在自动控制系统中, DSP的高速计算能力显示了比一般微处理器更多的优点, 具有广阔的应用前景。利用DSP的高速计算能力可以增加采样速度和完成复杂的信号处理和控制算法。扩展Kalman滤波算法, 自适应矢量控制, 状态观测器等复杂算法利用DSP芯片可以方便地实现。DSP的信号处理能力还可用来减少位置、速度、磁通等传感器, 无传感器矢量控制之所以成为可能, 就是因为传感器提供系统变量可以从电气变量中估算出来, 而这一复杂的运算过程就可以有DSP来完成。在自适应系统中, 系统参数和状态变量通过状态观测器的计算可采用DSP有效地实现。同样由于高运算度, DSP也可有效用于神经网络和模糊逻辑化运动控制系统。在实际工程应用中, DSP的高速能力还可以消除噪声污染和不精确的输入及反馈信号数据。对要求速度较快的PWM控制算法 (如空间矢量算法) 用DSP芯片可提高供电电压的利用率, 减少电动机电流中的谐波分量。

早期的通用DSP芯片因为缺乏支持实时控制的资源, 如复杂的定时单元、高速的多个IO端口、复杂的中断控制器, 不适用于运动控制资源。AD公司的ADSP21XX系列、AT&T公司的DSP32C、Motorola公司的DSP56001和TI公司专为电机控制而设计的TMS320C2XX系列DSP芯片, 使DSP芯片更适用于控制系统的应用。随着DSP芯片内部功能组件集成度的提高, 开发工具的完善以及价格和功耗的进一步降低, DSP越来越多地应用在实时控制系统中。现代控制系统的开发实现越来越多地依赖于功能强大的DSP。DSP在控制系统中的应用已经呈指数增长。

2 TMS320LF2407A的结构特点

TMS320LF2407A是TI专门为数字电机控制 (DMC) 而设计的DSP芯片之一。它将DSP内核和丰富的微控制器外设功能集于单片之内, 成为传统多处理器单元 (MCU) 和昂贵的多片设计的替代, 具有以下一些特点:a.COMS,

a.采用高性能静态COMS技术, 其供电电压为3.3V, 减小了控制器的功耗;40MIPS的执行速度, 提高了实时控制能力。

b.片内32K字的FLASH程序存储器, 高达1.5K字的数据程序RAM, 544字双口RAM (DARAM) 和2K字的单口RAM (SARAM) 。

c.两个事件管理器EVA和EVB, 每一个包含:2个16位通用定时器;8个16位的PWM通道;3个捕获单元;片内光电编码器接口;16通道AD转换器。

d.可扩展的外部存储器共192K字;64K字程序存储器;64K字数据存储器;64K字IO寻址空间。

e.多种通信接口;CAN2.0B、SCI、SPI。

f.系统保护, 如低压检测、看门狗等。

其中, TMS320LF2407A具有的两个事件管理器模块, 用于电机数字化控制应用, 事件管理器模块的性能包括中间或边沿对齐的PWM发生器及可编程的死区控制性能, 该模块可以实现同步AD转换功能, 高性能10位模数转换器的转换时间为500ns, 提供多达16路的模拟输入, 具有自动排序功能, 使最大为16路的转换在同一转换期间内完成进行而不会增加CPU的开销。用一个TMS320LF2407A控制芯片可以对多个电机进行控制。该系列的控制器集成有串行通讯接口 (SCI) , 使之能够与系统中的其它控制器或上位机进行异步通讯。该控制器还有一个同步外设接口 (SPI和CAN通信模块) 。其结构框图见图1。

3 控制系统的组成

该系统可以实现交流传动系统以及永磁直流电机的数字化控制, 系统中通讯模块接受上位机发出的控制参数, 将其转换为PWM输出, 经过驱动放大送给电机, 产生输出。相电流以及由光电编码器检测的电机的转动方向及转角反馈给DSP系统, 形成闭环控制, 实时有效地控制运动精度。该系统可以实现多电机系统协调动作的控制, 从而构成多轴联动的控制平台。

该系统的结构如图2。

4 PWM输出

TMS320LF2407A的两个事件管理器的PWM发生电路可产生12路具有可编程死区和可变输出极性的PWM信号, 直接控制电机驱动器, 死区时间可由死区控制寄存器设置。

利用EV模块的3个全比较单元产生SP-WM波形, 如图3所示。

对全比较单元编程使其工作于PWM模式, 引脚PWMy, y+1/CMPy, y+1为PWM输出方式。用定时器1产生一定周期的载波信号, 改变定时器1周期寄存器的值就改变了载波频率。

在定时器1不断计数的同时, 全比较单元的比较逻辑也在不断地将定时器1计数器的值和比较寄存器的值进行比较, 当两个值相等时将产生比较匹配信号。该信号被送到PWM电路中的对称/非对称波形发生器, 由它产生一路PWM脉冲信号, 再经过死区单元就产生了可以驱动同一桥臂的IGBT (绝缘栅双极晶体管) 互补的PWM y, y+1信号, 为了防止上下桥臂的直通, 在互补信号间加入了死区, 最后通过输出逻辑产生两路PWM波形。比较寄存器中存放的是代表脉宽的计数值, 定时器1向上计数和向下计数 (使载波为三角波) 时各有一次计数器的值和比较寄存器的值相等, 这两次匹配都会导致PWM输出在引脚上的翻转, 因此, 通过改变比较寄存器的值就可以控制在一个载波周期内两次匹配发生的时刻, 即控制每个载波周期中输出的PWM脉冲的宽度。对称的PWM波形的产生见图4。

5 电流检测

TMS320LF2407A内部集成了2个10位8通道AD转换器, 可以直接用于电机或运动控制场合, 转换时间可编程设置, 能达到500ns以内的转换速度。2个AD转换器可以工作在双排序模式或者级联成16状态排序器模式。ADC模块的参考电压可通过VREFHI和VREFLO引脚在0~5V内变化。信号经过采样调整送入ADC输入管脚, TMS320LF2407A进行高速AD转换进行反馈控制, 对于三相电动机通常只需两路反馈信号, 用双AD转换对A、B两相电流同时连续采样, 使采样到的A、B电流为同一时刻, 缩短了采样时间, 提高调速装置的动态性能, 保证系统的精度。

6 转速以及位置反馈

TMS320LF2407A内含41个可独立编程的IO引脚, 6个捕获口, 可以方便地进行数字量操作。内部的4个捕获单元输入端可以用软件定义为正交编码脉冲 (QEP) 方式 (如图5) 。

正交编码电路可以用于连接光电编码器以获得旋转机械的位置和速度等信息。正交编码脉冲包括两个脉冲序列, 是频率变化的正交脉冲序列当电机轴上的光电编码器产生正交编码脉冲时, 通过检测两个脉冲序列中哪个领先, 就可以测出电动机的转向。角位置和速度可以通过脉冲计数和脉冲的频率测出。正交编码脉冲电路可以对脉冲前后沿进行计数生成四倍频信号, 得到电机的转速, 通过辨向电路判别两路信号的次序, 得到电机的转向, 捕获单元捕获脉冲见图6。

7 保护电路

为保证系统中功率转换电路及电动机驱动电路工作的可靠性, TMS320F240提供了PDPINT输入信号, 利用它可方便地实现各种保护, 当故障出现时, PDPINT出现低电平, DSP停止工作并发生中断通知CPU, 不需程序干预自动完成, 提高了故障处理的快速性。

与上位机的通讯

TMS320LF2407A芯片集成的串行通讯模块SCI和串行外设接口模块SPI可以实现与上位机、外设及多处理器之间的通讯, DSP与上位机的RS232通讯见图7。上位机向下位机发送各种控制参数及指令, 下位机DSP系统响应上位机的控制策略, 上位机中控制系统的主程序完成下位机的初始化并向下位机发送控制参数和指令以及响应下位机的中断。下位机中的子程序则完成面向电机的控制任务:发出PWM脉冲、串行口中断、捕获中断、PDPINT保护中断、ADC转换子程序等。

8 结束语

电机控制是DSP应用的主要领域, 高性能的TMS320LF2407A芯片可以实现控制系统中的复杂控制算法, 大大提高了控制系统的控制精度, 在实时性和精度要求较高的场合有广阔的应用前景, 大量的面向电机控制而集成的外设使得控制系统的硬件结构变得十分简单, 在此基础上构成的运动控制, 外围电路少, 可以极大地降低控制系统的硬件成本。

参考文献

[1]刘和平等.TMS320LF240xDSPC语言开发应用[M].北京:北京航天航空大学出版社, 2003.

[2]李永东.交流电机数字控制系统[M].北京:机械工业出版社, 2002.

[3]章云, 谢莉萍, 熊红艳.DSP控制器及其应用[M].北京:机械工业出版社, 2001.

[4]罗小伟, 李树广.基于TMS320F240的SPWM调制信号的实现[J].微计算机应用, 2004, 9.

[5]江思敏.TMS320LF240XDSP硬件开发教程[M].北京:机械工业出版社, 2003.

上一篇:关于材料采购成本控制情况的报告下一篇:省军区转隶国防动员部