EDN首页   博客首页

最新日志

发表于:2008-7-11 14:44:40
标签:无标签

1

2812 学习


F2812的看门狗总结
这是我总结的F2812的看门狗功能使用!
看门狗,又叫 watchdog timer,是一个定时器电路, 一般有一个输入,叫喂狗,一个输出到MCU的RST端,MCU正常工作的时候,每隔一端时间输出一个信号到喂狗端,给 WDT 清零,如果超过规定的时间不喂狗,(一般在程序跑飞时),WDT 定时超过,就回给出一个复位信号到MCU,是MCU复位. 防止MCU死机. 看门狗的作用就是防止程序发生死循环,或者说程序跑飞。
工作原理:在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。所以在使用有看门狗的芯片时要注意清看门狗。
硬件看门狗是利用了一个定时器,来监控主程序的运行,也就是说在主程序的运行过程中,我们要在定时时间到之前对定时器进行复位如果出现死循环,或者说PC指针不能回来。那么定时时间到后就会使单片机复位。
TMS320F2812中涉及到看门狗的寄存器有:系统控制与状态寄存器SCSR,此寄存器包括看门狗覆盖位和看门狗中断使能/无效位。一般系统复位时,看门狗模块使能。
void EnableDog(void)
{

EALLOW;

SysCtrlRegs.WDCR= 0x0068; //0010 1000

EDIS;
}//使能看门狗,只有在SCSR寄存器中的WDOVERRIDE位置1时,WDCR.WDDIS才可以更改


void DisableDog(void)
{

EALLOW;

SysCtrlRegs.WDCR= 0x0068;//0110 1000

EDIS;
}//使看门狗无效
void KickDog(void)
{

EALLOW;

SysCtrlRegs.WDKEY = 0x0055;

SysCtrlRegs.WDKEY = 0x00AA;

EDIS;
}//喂狗使看门狗的计数器清零
转载址:http://www.hellodsp.com/bbs/viewthread.php?tid=6582

关于eCAN

1.在写标志符之前要把所有邮箱屏蔽 ME。

2.邮箱准备发送的时候 CUP 将TRS 置位 开始发送。

TRS -----发送请求置位

RTR------远程发送请求

TRR------发送请求复位

TA--------发送响应置位

AA-------发送响应失败

RMP-----接收消息挂起

RML-----接收消息丢失

RFP------远程帧挂起

ME ------邮箱使能屏蔽

点击此处查看原文 >>

系统分类: 生活点滴   |    用户分类: 无分类    |    来源: 转贴

评论(0) | 阅读(158)
发表于:2008-7-11 7:48:05
标签:无标签

1

CAN总线协议

CAN总线协议

依据国际标准化组织/开放系统互连(International Standardi-zation Organization/Open SystemInterconnection,ISO/OSI)参考模型,CAN的ISO/OSI参考模型的层结构如图7-6所示。下面对CAN协议的媒体访问控制子层的一些概念和特征做如下说明:

(1)报文(Message) 总线上的报文以不同报文格式发送,但长度受到限制。当总线空闲时,任何一个网络上的节点都可以发送报文。

(2)信息路由(Information Routing) 在CAN中,节点不使用任何关于系统配置的报文,比如站地址,由接收节点根据报文本身特征判断是否接收这帧信息。因此系统扩展时,不用对应用层以及任何节点的软件和硬件作改变,可以直接在CAN中增加节点。

(3)标识符(Identifier) 要传送的报文有特征标识符(是数据帧和远程帧的一个域),它给出的不是目标节点地址,而是这个报文本身的特征。信息以广播方式在网络上发送,所有节点都可以接收到。节点通过标识符判定是否接收这帧信息。   
(4)数据一致性应确保报文在CAN里同时被所有节点接收或同时不接收,这是配合错误处理和再同步功能实现的。

(5)位传输速率不同的CAN系统速度不同,但在一个给定的系统里,位传输速率是唯一的,并且是固定的。

(6)优先权 由发送数据的报文中的标识符决定报文占用总线的优先权。标识符越小,优先权越高。

(7)远程数据请求(Remote Data Request) 通过发送远程帧,需要数据的节点请求另一节点发送相应的数据。回应节点传送的数据帧与请求数据的远程帧由相同的标识符命名。

(8)仲裁(Arbitration) 只要总线空闲,任何节点都可以向总线发送报文。如果有两个或两个以上的节点同时发送报文,就会引起总线访问碰撞。通过使用标识符的逐位仲裁可以解决这个碰撞。仲裁的机制确保了报文和时间均不损失。当具有相同标识符的数据帧和远程帧同时发送时,数据帧优先于远程帧。在仲裁期间,每一个发送器都对发送位的电平与被监控的总线电平进行比较。如果电平相同,则这个单元可以继续发送,如果发送的是“隐性”电平而监视到的是“显性”电平,那么这个单元就失去了仲裁,必须退出发送状态。

(9)总线状态 总线有“显性”和“隐性”两个状态,“显性”对应逻辑“0”,“隐性”对应逻辑“1”。“显性”状态和“隐性”状态与为“显性”状态,所以两个节点同时分别发送“0”和“1”时,总线上呈现“0”。CAN总线采用二进制不归零(NRZ)编码方式,所以总线上不是“0”,就是“1”。但是CAN协议并没有具体定义这两种状态的具体实现方式,如图7-7所示。

10)故障界定(Confinement) CAN节点能区分瞬时扰动引起的故障和永久性故障。故障节点会被关闭。

(11)应答接收节点对正确接收的报文给出应答,对不一致报文进行标记。

2 CAN总线协议内容

CAN总线的物理层是将ECU连接至总线的驱动电路。ECU的总数将受限于总线上的电气负荷。物理层定义了物理数据在总线上各节点间的传输过程,主要是连接介质、线路电气特性、数据的编码/解码、位定时和同步的实施标准。BOSCH CAN基本上没有对物理层进行定义,但基于CAN的ISO标准对物理层进行了定义。设计一个CAN系统时,物理层具有很大的选择余地,但必须保证CAN协议中媒体访问层非破坏性位仲裁的要求,即出现总线竞争时,具有较高优先权的报文获取总线竞争的原则,所以要求物理层必须支持CAN总线中隐性位和显性位的状态特征。在没有发送显性位时,总线处于隐性状态,空闲时,总线处于隐性状态;当有一个或多个节点发送显性位,显性位覆盖隐性位,使总线处于显性状态。在此基础上,物理层主要取决于传输速度的要求。从物理结构上看,CAN节点的构成如图7-8所示。在CAN中,物理层从结构上可分为三层:分别是物理层信令(Physical Layer Signaling,PLS)、物理介质附件(Physical MediaAttachment,PMA)层和介质从属接口(Media Dependent:Inter-face,MDI)层。其中PLS连同数据链路层功能由CAN控制器完成,PMA层功能由CAN收发器完成,MDI层定义了电缆和连接器的特性。目前也有支持CAN的微处理器内部集成了CAN控制器和收发器电路,如MC68HC908GZl6。PMA和MDI两层有很多不同的国际或国家或行业标准,也可自行定义,比较流行的是ISOll898定义的高速CAN发送/接收器标准。理论上,CAN总线上的节点数几乎不受限制,可达到2000个,实际上受电气特性的限制,最多只能接100多个节点。

CAN的数据链路层是其核心内容,其中逻辑链路控制(Logical Link control,LLC)完成过滤、过载通知和管理恢复等功能,媒体访问控制(Medium Aeeess control,MAC)子层完成数据打包/解包、帧编码、媒体访问管理、错误检测、错误信令、应答、串并转换等功能。这些功能都是围绕信息帧传送过程展开的。

3 CAN总线的报文传输和结构

    1.报文类型

    在CAN2.0B的版本协议中有两种不同的帧格式,不同之处为标识符域的长度不同,含有ll位标识符的帧称之为标准帧,而含有29位标识符的帧称为扩展帧。如CAN1.2版本协议所描述,两个版本的标准数据帧格式和远程帧格式分别是等效的,而扩展格式是CAN2.0B协议新增加的特性。为使控制器设计相对简单,并不要求执行完全的扩展格式,对于新型控制器而言,必须不加任何限制的支持标准格式。但无论是哪种帧格式,在报文
传输时都有以下四种不同类型的帧:

(1)数据帧(Data ) 数据帧将数据从发送器传输到接收器。

(2)远程帧(Remote ) 总线单元发出远程帧,请求发送具有同一标识符的数据帧。

(3)错误帧(Error ) 任何单元检测到总线错误就发出错误帧。

(4)过载帧(Overload ) 过载帧用在相邻数据帧或远程帧之间提供附加的延时。

数据帧或远程帧与前一个帧之间都会有一个隔离域,即帧间间隔。数据帧和远程帧可以使用标准帧及扩展帧两种格式。

点击此处查看原文 >>

系统分类: 生活点滴   |    用户分类: 无分类    |    来源: 转贴

评论(0) | 阅读(213)
发表于:2008-7-10 14:51:31
标签:无标签

1

网友的验机心得

一位网友的验机心得(超经典)

本文说明的整个过程完全针对购买行货的流程讲述,如果你打算购买水货或是样机,我不认为本文能给你带来很大的帮助。
因为笔记本的品牌众多,我不可能把市面上的所有品牌都一一针对,所以我只举两个非常受欢迎的品牌典型,就是IBM,ASUS。
包装箱
卖家拿来的包装箱给你的第一感觉是什么?如果是一个又破又烂的包装箱,那后面的过程就要格外小心。当然不一定破旧的包装箱就一定有问
题,要知道摆在你面前的这个大方盒在整个运输过程中,很可能是扔来扔去的,但是我们起码有理由相信,破旧的包装更有可能不是运输造成
的!
一般的笔记本在包装箱上都会有两条封条。这是我们判断机器是否完全是新机的第一个条件。如果封条已经打开,那么请考虑一下是否还要购
买。毕竟在这之前,我们都是按新机器谈的价格。而此时卖家会以各种可能的理由告诉你封条虽然已经打开,但是机器确实是崭新的(尽管逻
辑上很是说不过去 )。而根据我的经验,这种开封过的机器,应该十之八九是旧机器,或是有问题而别人不要的机器,在或就是样机啦。所以
,如果没有什么十分充足的理由,还是不要买这种机器!
看包装箱上的SN。SN是串号,就是每台机器的唯一出厂号码。先记下这个号码,以后会有用处的。
机器表面
打开包装,取出机器(这时一定要小心),拿掉包裹机器的薄膜,新机就进入眼帘啦!不要太兴奋哦,快看看机器表面有没有划痕吧。观察屏
幕面板是否颜色一致,如果真的是新机器,应该成色一致,如果细心的你找到了数条别人的手印,那问题就大了。开启屏幕,观察键盘是否干
净,如果上面有油渍,那估计就不是新机。还有触摸版和快捷键,在确定看不出异样的时候,拿手敲击试试,看看力度是否一致。接着是接口
,接口一定要是新的,而且没有划痕才正常。
机器背面也要查看仔细,电池槽更是重点!电池槽都会有个档板,一般这个档板都是光面或是金属抛光面的,如果是样机,则难免会在上面留
下痕迹的。
其实,这些地方的翻新都是很容易的,下面我要说的则不那么容易。接着看吧!
每台机器都会有一个锁孔。如果是样机的话,那么这个锁口是一定会有痕迹的,因为这个痕迹在锁口内侧,所以想要翻新是不容易的。只要你
细心,那么仔细观察,除非是新机器,不然应该能看出问题的。
产地
我们知道台湾是世界级的代工地点,众多的世界品牌大都在台湾代工,像IBM,HP,DELL,SONY,LENOVO等等。而也有些品牌不选择在台湾做,
因此我们会看到不一样的笔记本产地。
在这里,如果你买的机器,你自己认为是在台湾或是更好的地点做的,那么请你查看清楚!产地的不同,带来的是成本的差异,而内在的品质
差异,则是我们消费者关注的。这一点我想很多人都不会注意到!
举个例子,像ASUS的A3G就是在苏州做的,而不像其他大多机型都是台湾制造,因此我们比对产地不同的机器时,尽管我们不想看到,但是工艺
上的差异的确是存在的!而如果买回家了才发现和你预想的不一样的时候,那后悔可就晚了!
标准配件
如果你要了全部的标准配件,那么就请你不要只是关心主机,也要留意一下附带的配件。因为如果单买这些配件,并不是很便宜的。在说明书
里,总会带有一张说明卡,告诉你,你所购买的机器都会有什么配件。如果还是不敢确定,就咨询800吧。正好还可以看看厂商的服务态度怎么
样!
进入系统
如果你购买的笔记本标准配置上面有操作系统的话,那么在第一次开机的时候会有一些设置的步骤,大体上和我们在家里台式机机上装系统时
,首次进系统时的配置过程相同。所以,如果你还没有配置,操作系统就一切OK,那你就要好好掂量一下。这台机器很可能是有问题的!
另外想说一下的是,这个进系统的过程时间可能会比较长,这是正常的现象,特别是当你选择的机器配置不是很高的时候。如果是主流配置的
话,我想大致5分钟到7分钟就应差不多,这个时间里还包括一次重起的时间。
建议在重起的时候查看一下主板BIOS,因为在那里有第二个SN号码。这个号码也是商家完全无法更改的!另外,还可以进入电池管理程序,查
看电池的充电次数。如果这个次数太多,那么可以肯定的是机器是有问题的!这一点请一定注意!完全掌握了这招,才上真正的进阶啦!
机器配置
已经进入系统了,那就让我们看看他的配置。尽管像换零件的事情,在买行货的时候并不是很常见,因为那太容易漏出破绽啦!所以只有小的
商贩才会这样“不择手段”!但是也不是绝对没有这个可能!
这里要用的是一款叫做Everest的软件,他能很好的显示整机的配置,并能做些简单的测试。我要说的是,类似的软件有很多,看你个人的使用
习惯问题啦。还有就是Everest是中文的,这给初次使用带来了便利。至于究竟如何使用,我就不想多说了,因为如果你能在家里使一使的话,
你就会知道他实在是太容易啦!
只是这样当然看看基本的配置还不行的,因为即使是样机配置也是不会出问题的!所以,小编我再介绍个普通人不知道的利器,就是HDTune。
他能测试出你硬盘的使用和性能状况。特别的是他能测试出你硬盘的使用时间。如果你的机器是新的话,那么这个使用时间就应该很小,不然
,呵呵,负责任的说,就很有问题的!
屏幕
屏幕可谓一台机器中最大的件。因为如果你要更换屏幕的话,除非你买的机器是某个品牌的旗舰机型,不然的话,你往往要支付你购买机器一
半的费用或是更多来更换屏幕的。因此,请相信我,在买的时候绝对不能在这里放松一丝一毫。
还是一样,我推荐大家使用Ntest软件。他是测试屏幕的专业软件。如果你对此一无所知的话,我希望你能在网上找些教程,因为该软件里有众
多的测试项目,当然都不是雷同的,所以你起码要知道这些测试项目都是做什么使用的!
在进入系统版块里,我说了个屏幕预热的问题。其实就是为在这里更好的测试屏幕埋下伏笔的。因为只有屏幕预热了大概20到30分钟,才是最
好的测试屏幕的时间。像一些卖家拿出机器就让你先看有没有坏点,其实是有目的的噢!
还有,你可以先跑跑PCMARKS或是3DMARKS看看的。如果在跑这些程序时,屏幕显示就有问题,那就不用再上专业的Ntest啦!
屏幕主要是看表现能力,还有就是是否有坏点。前者比较好保证,但后者希望大家能够格外注意!另外,就是屏幕也还有可能出现漏光现象,
不过漏光并不影响使用的。如果回来发现有漏光,也不用太担心。只要不是漏光到影响屏幕的显示效果,那还是可以接受的!
接口
每台机器都有众多的接口,如果你不是非常专业的评测人员或是有特殊用途的专业人士,那么我不认为这些接口对你都非常有用。所以,如果
你是因为某个接口而决定购买一款机器,那么我希望你确定你日后一定会非常频繁使用他。不然的话,就请先考虑一下其他的方面。
像USB,1394,红外,读卡器,PC卡,耳机都是些生活中常有的接口。在你拿设备试用这些接口之前,请你先观察一下,他们确实看上去没有被
使用过。还有就是制作工艺也希望你能留意一下!
光驱
光驱在生活中的确给我们带来了不少便利,如果你手上有不少的盘片,那么这些盘片都是需要光驱才能使用的。但是,也一定要注意,笔记本
上的光驱大都采用的是超薄设计,因此他们并没有台式机上面的来得皮实。所以,如果不是特别需要,那么光驱还是非常需要保护的。
验机的时候,我们往往会忽略这个问题。就是如果你购机的环境十分的吵杂,那么是很难发现光驱的问题的。小编在这里提醒的是,一些光驱
使用起来噪音非常的大,甚至会使你有震动的感觉,这样的光驱如果天天陪伴你,那绝对不能用“享受”来形容。至于那些不能读盘的光驱,
我就不想说了,至少我还没有碰到过!
电池

  在ASUS的电池上面也会有一个SN号码,确定这个号码和包装箱上的,还有和机器上的一致。另外就是注意,是否需要注册才能使得电池的
保修期延长。至少ASUS是这样规定的。不然就只有半年的服务哦。电池容量你起码要看一下的,和标准配置上的是否一致呢。一块电池的使用
寿命大致是两年。而你即使不用,这个期限外,我想你的电池也快差不多啦。因为现在的锂电池都是出厂前激活的,这个就是说,长时间不用
的话,电池性能也是会服务条例下降的。
服务条例每个厂家都不同。因此,你就要在买之前做好功课。像ASUS只是担保屏幕没有亮点,他可没有说一定没有暗点的。其实,实际上,有
实力的大厂商总是可以把亮点打成暗点的!因此,你一定要清楚这些。而在众人心里质量的保证——IBM,则在这方面没有任何承诺,并且据我
说知,IBM出厂的时候只要在8个坏点内就是可以出厂的!尽管国际标准是5个,国内标准是3个!所以,这些服务细节都要考虑清楚。
记本一般在第一年是不会有什么问题的。即使你在第一年不小心掉落你的“宝贝”几次。所以,考虑一下你是否要购买后期的服务吧。如果你
选择了像ASUS的两年内免费保修的话,那就不用太操心了,起码能够使用两年的。当然,你也应该底下打听一些厂商指定的维修部门的服务情
况。如果口碑都不是很好,那我看即使你花额外的钱购买了后期的服务,也不会让人省心太多的。
总结
上面说到的都是我认为应该注意的,但是因为能力有限,难免有疏漏。也希望这方面的达人指点。
  1.验机比你想象中的要重要,因为如果一切OK,那么手上的机器就是你的啦!
2.包装箱上的封条应该有两条,而你应该确定这两条封条都是完好的!
3.观察包装箱的破旧程度并且记住包装箱上的SN,后面还要做对照!
4.新机器表面起码应该是新的,还有背面的SN,现在可以做一次对照啦!
5.如果你要购买的机器有操作系统,那么机器背面应该有额外的贴纸!
6.新键盘应该是干净的,如果有油渍,那很可能有问题!
7.找到笔记本锁口,并仔细观察是否正常,这个地方最不容易翻新!
8.不是说产地不同,笔记本就会有问题,只是希望你不要按习惯思维认为你要购买的就是应该在那里生产的!
9.如果有欲装的操作系统,那么他更应该是半操作系统,只有你的设置完毕,他才能正常工作!
10.使用软件查看机器配置,特别是光驱,不要听信商家的一面之词!
11.确定键盘上每个按键都能工作正常,因为我们花的是买好机器的钱!
12.屏幕才是中低端笔记本最值钱的部件,而且还是比较爱出问题的部件之一!
13.接口并不是都常用,但是如果可以确定常用的接口都是正常的,更让人放心!
14.光驱运转起来,就是笔记本中噪音和热量的主要来源,希望他尽量正常些!
15.标准配件最好还是一起购买,像笔记本包这种东西都是经过特别设计的,而市面上又很难买到正品!
16.电池是笔记本续航能力的有力保证,日常维护是延长电池使用寿命的方法!
17.详尽的了解厂商允诺的服务条例,注意是否有文字游戏在里面。厂商都要这么小心,更不要说商家的口头允诺!
18.有些型号的笔记本的确有漏电现象,请注意这一点!
19.如果你可信赖的朋友对笔记本十分的了解,并且有购买经验,那么最好是能够得到他们的帮助!
我想上面已经说了不少啦,如果你在购买笔记本的过程中都能注意到,我想商家一定不敢再轻易的说出些不合逻辑的话了,而你就是准专业啦
本贴来自中关村在线产品论坛:<a href='http://group.zol.com.cn/'>http://group.zol.com.cn/</a>,本帖地址:<a href='http://nbbbs.zol.com.cn/31/21_309746.html' target='_blank'>http://nbbbs.zol.com.cn/31/21_309746.html</a>

 

点击此处查看原文 >>

系统分类: 生活点滴   |    用户分类: 无分类    |    来源: 转贴

评论(0) | 阅读(110)
发表于:2008-6-21 16:08:27
标签:无标签

1

网上资料

http://www.designnews.com.cn/Article/html/2006-06/200669094134.htm

DSP控制三个逆变器

http://bbs.ca800.com/detail.asp?id=62553

永磁同步电机

http://www.eda121.com/MSP430/ShowClass.asp?ClassID=85&page=2

msp430

http://www.verycd.com/topics/291474/

《变频器可编程序控制器及触摸屏综合应用技术》PDF
http://www.verycd.com/topics/292337/

《工厂电工操作技术要领图解》PDF

http://www.verycd.com/topics/139309/


《魔兽3发音电子书.pdf》(Warcraft III)PDF版本

http://www.verycd.com/topics/44244/

《一些机器人方面的PDF》

http://www.verycd.com/topics/170623/

《奥迪A8自学手册》(A8 Service Training)[PDF]

http://www.verycd.com/topics/170245/

《奥迪A6L自学手册》(A6L Service Training)[PDF]

http://www.verycd.com/topics/224805/

《总线资料汇编》PDF版

http://www.verycd.com/topics/48275/

《MATLAB相关中文书籍》扫描版pdf

http://www.verycd.com/topics/259224/

《PIC单片机电子书》PDF
http://www.verycd.com/topics/171019/

《精通注册表修改与编程》PDF中文版
http://www.verycd.com/topics/170868/

《编译原理》PDF中文版

http://www.verycd.com/topics/174049/

《日产电子维修手册(天籁/风雅/颐达)》(中文PDF)

 

 

http://www.verycd.com/topics/260737/

《操作系统概念第六版翻译版》[PDF]

 

http://www.verycd.com/topics/132866/

 《通信原理第五版》pdf格式

 

 

http://www.verycd.com/topics/114625/

《开关电源设计第二版》

 

 

http://www.verycd.com/topics/129540/

《英语词汇的奥秘》

 

http://www.verycd.com/topics/182860/

《LabVIEW 教程以及设计书籍集》PDF

 

http://www.verycd.com/topics/116252/

《C和C++实务精选丛书》绝版图书[PDF]

 

http://www.verycd.com/topics/115993/

《Matlab 综合教程》[PDF&DOC&PPT]

 

 

http://www.verycd.com/topics/115978/

《嵌入式实时操作系统》[PDF]

 

http://www.verycd.com/topics/118222/

《电源电路集锦》[PDF]

 

 

http://www.verycd.com/topics/115924/

《传感器与执行器大全2003-2004年卷》[PDF]

 

http://www.verycd.com/topics/117895/

《单片机论文资料》[PDF&NH&KDH]

 

http://www.verycd.com/topics/116389/

《USB技术大全》[PDF&DOC]

 

http://www.verycd.com/topics/115919/

《图表细说电子元器件》[PDF]

 

http://www.verycd.com/topics/124074/

《ARM嵌入式系统开发:软件设计与优化》[PDF]

 

http://www.verycd.com/topics/216510/

《现代控制系统》(第八版)[PDF]

 

http://www.verycd.com/topics/155049/

《DSP算法、应用与设计》【PDF】

 

http://www.verycd.com/topics/155871/

《电磁干扰排查及故障解决的电磁兼容技术》[PDF]

 

http://www.verycd.com/topics/158534/

《VHDL参考资料》[PDF]

 

 

http://blog.ednchina.com/xcw/114390/message.aspx

Altera FPGA_CPLD设计(基础篇)》




ARM入门贴

http://bbs.eeworld.com.cn/thread-59066-1-1.html

 

 


电子科大彭启琮老师的DSP课程!
http://www.hellodsp.com/bbs/viewthread.php?tid=6735


 

 

《C语言精彩编程百例》清晰PDF电子书和源代码
http://www.verycd.com/topics/190427/

 

 

《压力容器制造和修理 压力容器检验及无损检测》[PDF]
http://www.verycd.com/topics/215588/

 

 

《机床夹具设计手册》[PDF]
http://www.verycd.com/topics/216517/

 

 

《图像处理分析与机器视觉》(第二版)中译本[PDF]
http://www.verycd.com/topics/216077/

 

《电磁干扰排查及故障解决的电磁兼容技术》[PDF]
http://www.verycd.com/topics/155871/

 

 

《VHDL参考资料》[PDF]
http://www.verycd.com/topics/158534/

 

http://www.verycd.com/topics/19694/

《TCP/IP详解》(TCP/IP Illustrated)PDF

 

《电脑局域网全面上手》PDF
http://www.verycd.com/topics/104210/

 

 

http://www.verycd.com/topics/107611/

《加密与破解行家一点通》PDF

 

 

《电源电路集锦》[PDF]
http://www.verycd.com/topics/118222/

 

http://www.hlelectron.com/docxz.asp

51 材料

 

 

 

点击此处查看原文 >>

系统分类: 生活点滴   |    用户分类: 无分类    |    来源: 转贴

评论(0) | 阅读(158)
发表于:2008-6-20 23:17:11
标签:无标签

0

LM 567

http://blog.163.com/lgxman@126/blog/static/266504462007112224253758/

点击此处查看原文 >>

系统分类: 生活点滴   |    用户分类: 无分类    |    来源: 转贴

评论(0) | 阅读(144)
发表于:2008-6-20 19:02:28
标签:无标签

0

PLC 原理

一、扫描工作原理

 

    PLC运行时,是通过执行反映控制要求的用户程序来完成控制任务的,需要执行众多的操作,但CPU不可能同时去执行多个操作,它只能按分时操作(串行工作)方式,每一次执行一个操作,按顺序逐个执行。由于CPU的运算处理速度很快,所以从宏观上来看,PLC外部出现的结果似乎是同时(并行)完成的。这种串行工作过程称为PLC的扫描工作方式。

 

    用扫描工作方式执行用户程序时,扫描是从第一条程序开始,在无中断或跳转控制的情况下,按程序存储顺序的先后,逐条执行用户程序,直到程序结束。然后再从头开始扫描执行,周而复始重复运行。

 

PLC的扫描工作方式与电器控制的工作原理明显不同。电器控制装置采用硬逻辑的并行工作方式,如果某个继电器的线圈通电或断电,那么该继电器的所有常开和常闭触点不论处在控制线路的哪个位置上,都会立即同时动作;而PLC采用扫描工作方式(串行工作方式),如果某个软继电器的线圈被接通或断开,其所有的触点不会立即动作,必须等扫描到该时才会动作。但由于PLC的扫描速度快,通常PLC与电器控制装置在I/O的处理结果上并没有什么差别。

PLC的扫描工作过程除了执行用户程序外,在每次扫描工作过程中还要完成内部处理、通信服务工作。如图2-11所示,整个扫描工作过程包括内部处理、通信服务、输入采样、程序执行、输出刷新五个阶段。整个过程扫描执行一遍所需的时间称为扫描周期。扫描周期与CPU运行速度、PLC硬件配置及用户程序长短有关,典型值为1100ms

在内部处理阶段,进行PLC自检,检查内部硬件是否正常,对监视定时器(WDT)复位以及完成其它一些内部处理工作。

在通信服务阶段,PLC与其它智能装置实现通信,响应编程器键入的命令,更新编程器的显示内容等。

PLC处于停止(STOP)状态时,只完成内部处理和通信服务工作。当PLC处于运行(RUN)状态时,除完成内部处理和通信服务工作外,还要完成输入采样、程序执行、输出刷新工作。

    PLC的扫描工作方式简单直观,便于程序的设计,并为可靠运行提供了保障。当PLC扫描到的指令被执行后,其结果马上就被后面将要扫描到的指令所利用, 而且还可通过CPU内部设置的监视定时器来监视每次扫描是否超过规定时间,避免由于CPU内部故障使程序执行进入死循环。

三 、PLC执行程序的过程及特点

 

    PLC执行程序的过程分为三个阶段,即输入采样阶段、程序执行阶段、输出刷新阶段,如图4-12所示。

    1.输入采样阶段

    在输入采样阶段,PLC以扫描工作方式按顺序对所有输入端的输入状态进行采样,并存入输入映象寄存器中,此时输入映象寄存器被刷新。接着进入程序处理阶段,在程序执行阶段或其它阶段,即使输入状态发生变化,输入映象寄存器的内容也不会改变,输入状态的变化只有在下一个扫描周期的输入处理阶段才能被采样到。

    2.程序执行阶段

    在程序执行阶段,PLC对程序按顺序进行扫描执行。若程序用梯形图来表示,则总是按先上后下,先左后右的顺序进行。当遇到程序跳转指令时,则根据跳转条件是否满足来决定程序是否跳转。当指令中涉及到输入、输出状态时,PLC从输入映像寄存器和元件映象寄存器中读出,根据用户程序进行运算,运算的结果再存入元件映象寄存器中。对于元件映象寄存器来说,其内容会随程序执行的过程而变化。

    3.输出刷新阶段

    当所有程序执行完毕后,进入输出处理阶段。在这一阶段里,PLC将输出映象寄存器中与输出有关的状态(输出继电器状态)转存到输出锁存器中,并通过一定方式输出,驱动外部负载。

    因此,PLC在一个扫描周期内,对输入状态的采样只在输入采样阶段进行。当PLC进入程序执行阶段后输入端将被封锁,直到下一个扫描周期的输入采样阶段才对输入状态进行重新采样。这方式称为集中采样,即在一个扫描周期内,集中一段时间对输入状态进行采样。

    在用户程序中如果对输出结果多次赋值,则最后一次有效。在一个扫描周期内,只在输出刷新阶段才将输出状态从输出映象寄存器中输出,对输出接口进行刷新。在其它阶段里输出状态一直保存在输出映象寄存器中。这种方式称为集中输出。

对于小型PLC,其I/O点数较少,用户程序较短,一般采用集中采样、集中输出的工作方式,虽然在一定程度上降低了系统的响应速度,但使PLC工作时大多数时间与外部输入/输出设备隔离,从根本上提高了系统的抗干扰能力,增强了系统的可靠性。

    而对于大中型PLC,其I/O点数较多,控制功能强,用户程序较长,为提高系统响应速度,可以采用定期采样、定期输出方式,或中断输入、输出方式以及采用智能I/O接口等多种方式。

    从上述分析可知,当PLC的输入端输入信号发生变化到PLC输出端对该输入变化作出反应,需要一段时间,这种现象称为PLC输入/输出响应滞后。对一般的工业控制,这种滞后是完全允许的。应该注意的是,这种响应滞后不仅是由于PLC扫描工作方式造成,更主要是PLC输入接口的滤波环节带来的输入延迟,以及输出接口中驱动器件的动作时间带来输出延迟,同时还与程序设计有关。滞后时间是设计PLC应用系统时应注意把握的一个参数。

点击此处查看原文 >>

系统分类: 自由话题   |    用户分类: 无分类    |    来源: 转贴

评论(0) | 阅读(98)
发表于:2008-6-13 23:13:46
标签:无标签

0

DRAM 与 SRAM区别

SRAM 是静态随机存储器
DRAM是动态随机存储器

DRAM,动态随机存取存储器,需要不断的刷新,才能保存数据。 而且是行列地址复用的,许多都有页模式。
SRAM,静态的随机存取存储器,加电情况下,不需要刷新,数据不会丢失,而且,一般不是行列地址复用的。

SDRAM,同步的DRAM,即数据的读写需要时钟来同步。

DRAM和SDRAM由于实现工艺问题,容量较SRAM大。但是读写速度不如SRAM,但是现在,SDRAM的速度也已经很快了,时钟好像已经有150兆的了。那么就是读写周期小于10ns了。SDRAM虽然工作频率高,但是实际吞吐率要打折扣。以PC133为例,它的时钟周期是7.5ns,当CAS latency="2" 时,它需要12个周期完成8个突发读操作,10个周期完成8个突发写操作。不过,如果以交替方式访问Bank,SDRAM可以在每个周期完成一个读写操作(当然除去刷新操作)。其实现在的主流高速存储器是SSRAM(同步SRAM)和SDRAM(同步DRAM)。目前可以方便买到的SSRAM最大容量是8Mb/片,最大工作速度是166MHz;可以方便买到的SDRAM最大容量是128Mb/片,最大工作速度是133MHz。

SRAM是Static Random Access Memory的缩写,中文含义为静态随机访问存储器,它是一种类型的半导体存储器。“静态”是指只要不掉电,存储在SRAM中的数据就不会丢失。这一点与动态RAM(DRAM)不同,DRAM需要进行周期性的刷新操作。 然后,我们不应将SRAM与只读存储器(ROM)和Flash Memory相混淆,因为SRAM是一种易失性存储器,它只有在电源保持连续供应的情况下才能够保持数据。“随机访问”是指存储器的内容可以以任何顺序访问,而不管前一次访问的是哪一个位置。

SRAM中的每一位均存储在四个晶体管当中,这四个晶体管组成了两个交叉耦合反向器。这个存储单元具有两个稳定状态,通常表示为0和1。另外还需要两个访问晶体管用于控制读或写操作过程中存储单元的访问。因此,一个存储位通常需要六个MOSFET。对称的电路结构使得SRAM的访问速度要快于DRAM。SRAM比DRAM访问速度快的另外一个原因是SRAM可以一次接收所有的地址位,而DRAM则使用行地址和列地址复用的结构。

SRAM不应该与SDRAM相混淆,SDRAM代表的是同步DRAM(Synchronous DRAM),这与SRAM是完全不同的。SRAM也不应该与PSRAM相混淆,PSRAM是一种伪装成SRAM的DRAM。

从晶体管的类型分,SRAM可以分为双极性与CMOS两种。从功能上分,SRAM可以分为异步SRAM和同步SRAM(SSRAM)。异步SRAM的访问独立于时钟,数据输入和输出都由地址的变化控制。同步SRAM的所有访问都在时钟的上升/下降沿启动。地址、数据输入和其它控制信号均于时钟信号相关
本文来自: DSP交流网(www.hellodsp.com) 详细出处参考:

点击此处查看原文 >>

系统分类: DSP   |    用户分类: 无分类    |    来源: 整理

评论(0) | 阅读(199)
发表于:2008-6-9 18:13:21
标签:无标签

1

PROTEL 99SE

PCB 部分

1.元件的隐藏与显示

 Final 最终图稿

 Draft 草稿

 Hidden 隐藏

 Arcs 弧线

 Fills 矩形填充

 Pans 焊盘

 Polygons 多边形填充

 Dimensions 尺寸标注

 Strings 字符串

 Tracks 导线

 Vias 过孔

 Coordinates  坐标标注

 Rooms 限制元件的区域

 

点击此处查看原文 >>

系统分类: 生活点滴   |    用户分类: 无分类    |    来源: 整理

评论(0) | 阅读(175)
发表于:2008-6-7 23:42:41
标签:无标签

0

cpld 学习

FPGA与CPLD的区别
系统的比较,与大家共享:
尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点:
①CPLD更适合完成各种算法和组合逻辑,FP GA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。
②CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。

③在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FP GA可在逻辑门下编程,而CPLD是在逻辑块下编程。

④FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。

⑤CPLD比FPGA使用起来更方便。CPLD的编程采用E2PROM或FASTFLASH技术,无需外部存储器芯片,使用简单。而FPGA的编程信息需存放在外部存储器上,使用方法复杂。

⑥CPLD的速度比FPGA快,并且具有较大的时间可预测性。这是由于FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。

⑦在编程方式上,CPLD主要是基于E2PROM或FLASH存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。CPLD又可分为在编程器上编程和在系统编程两类。FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中。其优点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。

⑧CPLD保密性好,FPGA保密性差。

⑨一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。
随著复杂可编程逻辑器件(CPLD)密度的提高,数字器件设计人员在进行大型设计时,既灵活又容易,而且产品可以很快进入市场。许多设计人员已经感受到CPLD容易使用、时序可预测和速度高等优点,然而,在过去由于受到CPLD密度的限制,他们只好转向FPGA和ASIC。现在,设计人员可以体会到密度高达数十万门的CPLD所带来的好处。
CPLD结构在一个逻辑路径上采用1至16个乘积项,因而大型复杂设计的运行速度可以预测。因此,原有设计的运行可以预测,也很可靠,而且修改设计也很容易。CPLD在本质上很灵活、时序简单、路由性能极好,用户可以改变他们的设计同时保持引脚输出不变。与FPGA相比,CPLD的I/O更多,尺寸更小。
如今,通信系统使用很多标准,必须根据客户的需要配置设备以支持不同的标准。CPLD可让设备做出相应的调整以支持多种协议,并随著标准和协议的演变而改变功能。这为系统设计人员带来很大的方便,因为在标准尚未完全成熟之前他们就可以著手进行硬件设计,然后再修改代码以满足最终标准的要求。CPLD的速度和延迟特性比纯软件方案更好,它的NRE费用低於ASIC,更灵活,产品也可以更快入市。CPLD可编程方案的优点如下:
●逻辑和存储器资源丰富(Cypress Delta39K200的RAM超过480 Kb)
●带冗余路由资源的灵活时序模型
●改变引脚输出很灵活
●可以装在系统上后重新编程
●I/O数目多
●具有可保证性能的集成存储器控制逻辑
●提供单片CPLD和可编程PHY方案
由于有这些优点,设计建模成本低,可在设计过程的任一阶段添加设计或改变引脚输出,可以很快上市
CPLD的结构
CPLD是属於粗粒结构的可编程逻辑器件。它具有丰富的逻辑资源(即逻辑门与寄存器的比例高)和高度灵活的路由资源。CPLD的路由是连接在一起的,而FPGA的路由是分割开的FPGA可能更灵活,但包括很多跳线,因此速度较CPLD慢。
CPLD以群阵列(array of clusters)的形式排列,由水平和垂直路由通道连接起来。这些路由通道把信号送到器件的引脚上或者传进来,并且把CPLD内部的逻辑群连接起来。


CPLD之所以称作粗粒,是因为,与路由数量相比,逻辑群要大得到。CPLD的逻辑群比FPGA的基本单元大得多,因此FPGA是细粒的。
CPLD的功能块
CPLD最基本的单元是宏单元。一个宏单元包含一个寄存器(使用多达16个乘积项作为其输入)及其它有用特性。
因为每个宏单元用了16个乘积项,因此设计人员可部署大量的组合逻辑而不用增加额外的路径。这就是为何CPLD被认为是“逻辑丰富”型的。

宏单元以逻辑模块的形式排列(LB),每个逻辑模块由16个宏单元组成。宏单元执行一个AND操作,然后一个OR操作以实现组合逻辑。

每个逻辑群有8个逻辑模块,所有逻辑群都连接到同一个可编程互联矩阵。
每个群还包含两个单端口逻辑群存储器模块和一个多端口通道存储器模块。前者每模块有8,192b存储器,后者包含4,096b专用通信存储器且可配置为单端口、多端口或带专用控制逻辑的FIFO。
CPLD有什麽好处?
I/O数量多
CPLD的好处之一是在给定的器件密度上可提供更多的I/O数,有时甚至高达70%。
时序模型简单
CPLD优于其它可编程结构之处在于它具有简单且可预测的时序模型。这种简单的时序模型主要应归功于CPLD的粗粒度特性。
CPLD可在给定的时间内提供较宽的相等状态,而与路由无关。这一能力是设计成功的关键,不但可加速初始设计工作,而且可加快设计调试过程。
粗粒CPLD结构的优点
CPLD是粗粒结构,这意味著进出器件的路径经过较少的开关,相应地延迟也小。因此,与等效的FPGA相比,CPLD可工作在更高的频率,具有更好的性能。
CPLD的另一个好处是其软件编译快,因为其易于路由的结构使得布放设计任务更加容易执行。

细粒FPGA结构的优点
FPGA是细粒结构,这意味著每个单元间存在细粒延迟。如果将少量的逻辑紧密排列在一起,FPGA的速度相当快。然而,随著设计密度的增加,信号不得不通过许多开关,路由延迟也快速增加,从而削弱了整体性能。CPLD的粗粒结构却能很好地适应这一设计布局的改变。


灵活的输出引脚
CPLD的粗粒结构和时序特性可预测,因此设计人员在设计流程的后期仍可以改变输出引脚,而时序仍保持不变。
新的CPLD封装
CPLD有多种密度和封装类型,包括单芯片自引导方案。自引导方案在单个封装内集成了FLASH存储器和CPLD,无须外部引导单元,从而可降低设计复杂性并节省板空间。在给定的封装尺寸内,有更高的器件密度共享引脚输出。这就为设计人员提供了“放大”设计的便利,而无须更改板上的引脚输出。

 

一. PLD/FPGA基本使用问题:
1.PLD,CPLD,FPGA有何不同?
2.我原来有一个74系列设计的电路,工作正常,为什么原封不动集成到PLD中以后却不能正常工作?
3.如何将信号做一定延时?
4.什么是IP核或IP库? 有那些种类?
5.如何设计3.3v,2.5v 等低电压PLD/FPGA的电源?
6.CPLD/FPGA的宏单元是怎么定义?一个宏单元对应多少门?

一. PLD/FPGA基本使用问题
1.PLD,CPLD,FPGA有何不同?
不同厂家的叫法不尽相同,PLD(Programmable Logic Device)是可编程逻辑器件的总称,早期多EEPROM工艺,基于乘积项(Product Term)结构。 FPGA (Field Programmable Gate Arry)是指现场可编程门阵列,最早由Xilinx公司发明。多为SRAM 工艺,基于查找表(Look Up Table)结构,要外挂配置用的EPROM。 Xilinx把SRAM工艺,要外挂配置用的EPROM的PLD叫FPGA,把Flash工艺(类似EEPROM工艺),乘积项结构的PLD叫CPLD; Altera把自己的PLD产品:MAX系列(EEPROM工艺),FLEX/ACEX/APEX系列(SRAM工艺)都叫作CPLD,即复杂PLD(Complex PLD),由于FLEX/ACEX/APEX系列也是SRAM工艺,要外挂配置用的EPROM,用法和Xilinx的FPGA一样,所以很多人把Altera的FELX/ACEX/APEX系列产品也叫做FPGA.

2. 我原来有一个74系列设计的电路,工作很正常,为什么原封不动集成到PLD中以后却不能正常工作,是芯片有问题吗?
这是一个非常有代表性的问题。设计PLD/FPGA内部电路与设计74的分立电路是有区别的。这个问题是由于电路中的毛刺造成的。电路布线长短不同造成延时不一致,有竞争冒险,会产生毛刺。分立元件之间存在分布电容和电感可以滤掉这些毛刺,所以用分立元件设计电路时,很少考虑竞争冒险和毛刺问题,但PLD/FPGA内部没有分布电容和电感,不可以滤掉任何毛刺(哪怕只有1ns)。有些毛刺是可以忽略的,有些是致命的(如D触发器的clk,clr,PRN端)、这些致命的毛刺将导致电路不能正常工作。这是设计FPGA和设计分立元件最大的不同。可以通过修改电路减少有害毛刺。

参见: 培训中心>培训资料> PLD设计技巧——消除组合逻辑产生的毛刺  和 PLD设计技巧——采用同步电路设计 ,根据经验,几乎所有稳定性或可靠性问题都是由PLD内部电路设计不合理造成的,这一点要千万小心。

3. 如何将信号做一定延时?
当需要对某一信号作一段延时时,初学者往往在此信号后串接一些非门或其它门电路,此方法在分离电路中是可行的。但在FPGA中,开发软件在综合设计时会将这些门当作冗余逻辑去掉,达不到延时的效果。用ALTERA公司的MaxplusII开发FPGA时,可以通过插入一些LCELL原语来产生一定的延时,但这样形成的延时在FPGA芯片中并不稳定,会随温度等外部环境的改变而改变,因此并不提倡这样做。在此,可以用高频时钟来驱动一移位寄存器,待延时信号作数据输入,按所需延时正确设置移位寄存器的级数,移位寄存器的输出即为延时后的信号。此方法产生的延时信号与原信号比有误差,误差大小由高频时钟的周期来决定。对于数据信号的延时,在输出端用数据时钟对延时后信号重新采样,就可以消除误差。

4.什么是IP核或IP库? 有那些种类?
IP核是指:将一些在数字电路中常用但比较复杂的功能块,如FIR滤波器,SDRAM控制器,PCI接口等等设计成可修改参数的模块,让其他用户可以直接调用这些模块,这样就大大减轻了工程师的负担,避免重复劳动。随着CPLD/FPGA的规模越来越大,设计越来越复杂,使用IP核是一个发展趋势。 不过目前大多数库是收费的,如您希望一个免费方案,请到本站参考设计栏目里找一找。

5.如何设计3.3v,2.5v 等低电压PLD/FPGA的电源?
多用低压差线形稳压器(LDO)或采用开关电源,详细内容参见低电压PLD/FPGA的供电设计

6.CPLD/FPGA的宏单元是怎么定义?一个宏单元对应多少门?
宏单元(或逻辑单元)是PLD/FPGA的最基本单元,不同产品对这种基本单元的叫法不同,如LE,MC,CLB,Slices等,但每个基本单元一般都包括两部分,一部分实现组合逻辑,另一部分实现时序逻辑。各个厂家的定义可能不一样。对ALTERA的芯片,每个基本单元含一个触发器;对Xilinx的部分芯片,每个基本单元单元含两个触发器。一般不用“门”的数量衡量PLD/FPGA的大小,因为各家对门数的算法不一样,象ALTERA和Xilinx对门的计算结果就差了一倍,推荐用触发器的多少来衡量芯片的大小。如10万门的Xilinx的XC2S100有1200个slices,即含2400个触发器;5万门的ALTERA的1K50则含2880个LE,即2880个触发器。更详细资料请浏览PLD/FPGA原理栏目以下内容目前基本以Altera产品的应用为主,我们欢迎使用过其他PLD/FPGA的朋友来信发表自己的使用心得
二. ALTERA PLD软件使用问题:

1.能得到免费的PLD开发软件吗?
Altera提供免费试用软件Maxplus10.1 Baseline版,用硬盘号在www.altera.com上申请license ,可试用6个月,在DOS

模式下敲入 dir c: /w 即可看到serial number。 支持30,000门以下所有设计,支持原理图,AHDL语言和波形输入,支

持波形仿真,时间分析,编程下载. 或使用Altera提供免费另一种试用软件:MaxplusII的E+MAX版,目前的最高版本是10.1,可以编译VHDL文件,但只支持MAX系列。但建议用第三方软件编译VHDL,如FPGA Express,Leonard Spectrum,这些软件(不是全功能开放的版本)可以从Altera的网上下载(Baseline约40M,E+MAX约20M)。也可以向代理商索取。

2. 有网友发信问第一次运行BaseLine该怎样登记申请License文件,因此向第一次运行的朋友简单介绍一下注册的过程:
首先要知道自己的网卡号或硬盘序列号。最简单的方法是运行 max+plusII。在“Option”菜单中点“License Setup”这一项,会弹出个对话框,点击下面的“System Info”就可以看到网卡号(NIC)和硬盘序列号了。如果你有网卡就只需记下NIC,若没有网卡只有硬盘就记硬盘序列号。然后就上Altera的主页去登记,可以试试这个地址:

http://www.altera.com/cgi-bin/authcode91.pl   还是那个原则,有网卡就填NIC,没有就填硬盘序列号,写完后点

“Continue”,然后就要填一个表格,注意,Email地址不要写错了。写完了按“Continue”。注册完后Altera会向你的信箱发一封信,信里应该有个“License.dat”的文件(一般是作为附件),这就是注册文件了,把它保存到硬盘里。最后再运行max+plusII,还是在“Option”菜单中点“License Setup”这一项,点第一行的“Browse”,找到刚才保存的那个“License.dat”文件,现在应该就大功告成了。   (小猫提供)

3.如何安装Altera绑定的第三方软件?
如要安装Altera绑定的第三方EDA软件,如:FPGAexpress,modelsim,Leonard Spectrum最好先装FLEXLM管理(许多EDA软件自带FLEXLM管理安装)例如:安装MAX+PLUSII时,如选full setup 或者 选custom setup 选择要安装的组件时,将FLEXLM manager选中,都可将FLEXLM管理装好.安装好以后,在控制面板中会多一个FLEXLM License manager的图标,双击图标,选setup:找到lmgrd.exe和license的位置(lmgrd.exe在许多EDA软件中都有,例如:\maxplus2\lmgrd.exe) 通常在Auotoexec.bat中要加一句话:SET LM_LICENSE_FILE=C:\FLEXLM\license.dat 重启动机器即可。

(如用全功能版,必需有软件狗)

4.为什么有些按照标准VHDL语法编写的程序在MaxplusII下编译通不过?
MaxplusII支持大部分VHDL语法,但也有一些标准的VHDL语句不能支持(要参阅相关资料),最好的方法是采用专用VHDL语言综合工具综合,生成*.edif文件后再给MaxplusII做布线。参见:培训中心>培训资料>Maxplus与第三方EDA工具的接口。也可使用maxplusII的专用综合插件,详情点击此处。 由于QuartusII软件的综合能力大大优于MaxplusII,所以建议用户改用QuartusII进行HDL设计

5.为什么在用菜单Assign>device选择器件的时候找不到我想要的速度等级的芯片?
把菜单Assign>device中的:Show Only Fastest Speed Grages 前面的勾去掉即可.

6.什么是Setup/hold time ?
Setup/hold time 是测试芯片对输入信号和时钟信号之间的时间要求。建立时间是指触发器的时钟信号上升沿到来以前,数据稳定不变的时间。输入信号应提前时钟上升沿(如上升沿有效)T时间到达芯片,这个T就是建立时间-Setup time.如不满足setup time,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿,数据才能被打入触发器。保持时间是指触发器的时钟信号上升沿到来以后,数据稳定不变的时间。时hold time不够,数据同样不能被打入触发器。

7.在仿真时,如何设置时钟周期和总的仿真时间?
在出现仿真窗口后,要把菜单: Option>snap to the grid 的勾去掉,才可任意设置时钟频率,在菜单 File>End time 中可修改仿真时间。仿真时间越长,对内存和CPU要求也越大。

8.FPGA中中可以做各种RAM和ROM,那么如何初始化ROM?
调入ROM元件时(可用LPM_ROM或用MegaWizard Plug-In Manager调入) 软件会问初始化文件的名字,如你还没有做好这个文件,可以先填一个文件名,如: test.mif 或 test.hex (test这个文件现在并不存在),完成设计后编译,再建立波形文件*.SCF,打开仿真窗口simulator,此时可在菜单中找到Initialize>Initialize Memory (这个选项只有在仿真窗口出现后才会出现)此时你可以编辑初始化文件并输出成*.mif或*.hex文件(如test.mif 或 test.hex),

要再次编译。这样才算完成。

9. 在VHDL或Verilog中如何调用LPM库?
VHDL: 参阅 培训中心>在VHDL中如何调用LPM库;Verilog:

三. ALTERA PLD硬件使用问题:
1.如何计算功耗和供电电流问题?
对QuartusII的用户可以直接用QuartusII计算功耗。对MaxplusII的用户可以用这里的几个Excel小程序来自动计算功

耗和电流, 感兴趣的朋友不妨下载一试,如对有些参数不清楚,可查阅Altera Date BooK 或 光盘:

1.MAX7000   (13K)     2.FLEX10K/6K  (15K)   3. 最新自动计算功耗文件(包括APEX20K/10K/6K/7K)

2.3.3V或2.5V器件能用在5V系统中吗?
在Altera的器件中有两种电源管脚:VCCINT(内部电源)和VCCIO(I/O口电源)。对于MAX7000S,其内部电源只能接5V,MAX7000A/AE其内部电源只能接待3.3V;对于MAX7000S,其I/O口电源电源可采用5V和3.3V,MAX7000A/AE其外部I/O口电源可采用2.5V和3.3V ;对FLEX10K/6K 同7000S, 10KA/6KA/3000A同7000A/AE;对FLEX10KE VCCINT="2".5V,其I/O

口电源电源可采用2.5V和3.3V; 总而言之,Vccio接上合适的电压,3.3v和2.5v器件完全可以使用在5v系统中。

表一:
VCCINT MAX7000S MAX7000AE MAX3000A MAX7000B FLEX6K FLEX6KA FLEX10K FLEX10KA FLEX10KE ACEX1K
5V ★     ★   ★    
3.3V   ★     ★   ★  
2.5V     ★         ★

表二:
VCCIO 输入信号 输出信号驱动能力
5V  3.3V 2.5V 5V 3.3V 2.5V
5V  ★ ★ ▲ ★ ☆ ☆
3.3V ★ ★ ★ ★ ★ ☆
2.5V ★ ★ ★ ▲ ▲ ★

★表示可以直接连接      ☆表示可以连接,但要求信号接收端能承受对应的VCCIO电压      ▲表示信号不兼容,不可连接     *请注意:除了2.5V器件外(7000B,10KE等),Vccio不能大于Vccint。
*APEX20K内核是2.5V,I/O可接3.3V,兼容5V信号。对于内核1.8V的APEX20KE产品,有两种型号,以V结尾的型号I/O脚可以兼容5V,如EP20K400EBC652-3V;没有V的型号I/O脚不兼容5V。
Cyclone,Stratix等新一代FPGA器件的IO最高容限为4.7v,推荐最高使用电压是4.1v,所以不能直接把5v信号和FPGA相连,如一定需要连接,需要串电阻和打开PCI钳位而极管,详情可参阅官方文档。

3.如何解决下载电缆(ByteblasterMV)不能下载的问题?
1。检查Maxplus2菜单Assign>device中芯片型号与实际使用的芯片型号是否一致.出现编程窗口后,菜单option>

hardware中要选择ByteblasterMV. 
2。检查PC的CMOS设置中并口是否是ECP模式,如是WindowsNT或Windows2000,应先装ByteblasterMV驱动程序(NT的控制面板>多媒体>添加硬件,或Win2000的控制面板>添加新硬件>音频和游戏控制器, ByteblasterMV的driver在你的安装目录 \maxplus2\driver下
3。检查ByteblasterMV是否插反,换一条电缆试一试。
4。检查芯片是否发烫,芯片各边VCC,GND是否正常,有没有按Databook要求加1K或10K的上拉或下拉电阻,与

ByteblasterMV 连线是否正确。对FLEX/ACEX/APEX等系列FPGA的MSEL0/MSEL1和nCE管脚是否处理正确,没有使用的全局信号是否已接地。
5。参照数据手册或光盘,检查下载波形,(ACEX/APEX器件的下载波形见光盘中的AN116)
6。换一台计算机(极少数PC的主板并口不适合使用下载电缆)
7。最后一招:与Altera各地办事机构联系,获得技术支持.
注意:如用户使用自制的下载电缆,长度不应太长,30cm即可,过长会带来干扰,反射及信号过冲问题,引起数据传输错误,导致下载失败。如用户要求加长电缆,应购买并口电缆(打印机电缆)加长。(电子市场10元一根)

4.如何选择ALTERA的型号?
尽可能选用速度等级最低的芯片。尽可能选用电压比较低的芯片(性价比较好)。尽可能选用贴片封装的芯片。如果设计中超过256个宏单元的设计尽量选用FPGA。如果设计中需要较大的存储器和比较简单的外围逻辑电路,而且对速度、总线宽度和PCB板面积无特殊要求的情况下,尽量选用一片MAX3000系列的芯片和外接存储器。在速度较高的双向总线上尽量采用MAX3000系列的芯片。如需要>3000个逻辑单元而且需要较快的运行速度,或者需要PLL等功能,则可以考虑选择Cyclone。如果需要硬件乘法累加单元或者性能要求非常高,可以选用Stratix系列芯片。为保证及时供货和性价比,新设计应优先选择以下型号: EPM3032ALC44-10,EPM3064ATC100-10,EPM3128ATC144-10,EP1C3T144C8,EP1C6QC240C8等. 最好是先和代理商沟通,再确认所需型号。

5. 3.3V/2.5V 的ACEX/7000AE/3000A系列器件的配置EEPROM和下载电缆接几伏电压?
推荐都接3.3V,但由于ALTERA的3.3V/2.5V芯片I/O脚兼容5V,所以下载电缆接5v也可以。

6.不用的管脚如何处理?
不用的全局信号和专用输入管脚,应接地,如:Global clk,Global clear ,Ded input.  其他不用的管脚一般悬空. Maxplus2 中的报告文件(*.rpt)或者QuartusII中的*.pin文件 详细说明了管脚的接法. 如不用的管脚与外电路相连,为保证不影响外电路,应将此管脚定义为输入脚,但不接逻辑.

7. EPM7000/3000的几个全局输入脚GCLK1,OE2(GCLK2),OE1,GLCRn都是干什么的?怎么在编程中使用?
 GCLK:全局时钟脚,这个脚的驱动能力最强,到所有逻辑单元的延时基本相同,所以如系统有外部时钟输入,建议定义此脚为时钟脚。如想用其他脚为时钟输入,必须在在菜单:Assign>Global project logic synthesis>Automatic global>把GCLK前面的勾去掉。这样任意一个I/O脚均可做时钟输入脚。
OE1:全局输出使能,如有三态输出,建议由此脚来控制(也可由内部逻辑产生输出使能信号),优点和用法同上。
OE2/GCLK2:全局输出使能/全局时钟脚,两者皆可。
GCLRn:全局清零,如有寄存器清零,建议由此脚来控制(也可由内部逻辑产生清零信号),优点和用法同上。
分配这些脚和分配普通I/O脚是一样的, 先在Assign>device中选好器件型号,再在Assign>pin中填入你想分配的管脚号和类型,或直接在原理图中选中input或output,点鼠标右键,选>assign pin,填入你想分配的管脚号,编译一遍即可。但要注意菜单:Assign>Global project logic synthesis>Automatic global>中的设置。
其他芯片的全局脚的意义与此相同。

8. 为什么Altera提供的下载电缆很短? 对3.3v器件下载时,下载电缆的电源接几伏?
由于Altera的下载电缆是并行电缆,长度太长会导致信号的反射,毛刺和过冲,影响数据传输的正确性,所以下载电缆一般在30cm左右。如要加长,应该用并口电缆(打印机电缆)加长。 对3.3v器件下载时,下载电缆可以接5v (因为Altera3.3v芯片I/O可以最大容忍5.7v的信号输入),如下载电缆中使用的是74HC244或用户使用原装MVbyteblaster,则下载电缆也可以接3.3v.

9. 为什么有时用通用编程器烧EPC1或EPC1441会出错?
通用编程器基本上都支持Altera的芯片,如:ALL07/ALL11, SuperIII , Labtools,Leap 等,但Altera芯片的工艺在

改进,所以要求使用编程器厂家提供的最新版本软件。并保证试配头清洁。在大批量烧录EPC1或EPC1441时,Altera公司只推荐使用三家公司的编程器:1。Altera公司生产的专用编程器 2。DATA I/O公司编程器 3。BP公司编程器。使用以上三家公司的编程器可以保证烧录的质量和极低的坏片率,(编程器价格也不菲,如Altera的MPU编程器在¥20,000左右)小批烧录EPC1或EPC1441时,一般的通用编程器都可,但烧录的质量和坏片率要差一些,会出现烧录出错的情况,但编程器价格较低(¥1,000-10,000),适合一般中小客户。用户应在编程器价格和烧录质量之间做出选择.

第六节 VHDL模块以及常见错误

11.其他
  属性、时钟的表示
  属性指的是关于实体、结构体、类型、信号的一些特征。有些属性对综合(设计)非常有用,如:值类属性、信号类属性、范围类属性。以下简单列出这些属性的含义:
 值类属性
  值类属性分为’left,’right,’low,’high,’length.其中用符号“,”隔开对象名及其属性.。Left表示类型最左边的值;right表示类型最右边的值;low表示类型中最小的值high表示类型中最大的值;length表示限定型数组中元素的个数。
    例:
sdown       : in  std_logic_vector(8 downto 0);
sup            : in   std_logic_vector(0 to 8);
则这两个信号的各属性值如下:
sdown’left=8; sdown’rigt=0; sdown’low=0; sdown’high=8; sdown’length=9; sup’left=0; suq’right=8; sup’low=0; sup’high=8; sup’length=9;
 信号类属性
  这里仅介绍一个对综合及模拟均很有用的信号类属性:’event,它的值为布尔型,如果刚好事件发生在该属性所附着的信号上(即信号有变化),则其取值为Ture,否则为False利用此属性可决定时钟边沿是否有效,即时钟是否发生。
 例:时钟边沿表示
  若有如下定义: signal  clk: in std_logic;
则:clk=’1’ and clk’event , clk’event and clk=’1’表示时钟的上升沿。即时钟变化了,且其值为1,因此表示上升沿。
此外,还可利用预定义好的两个函数来表示时钟的边沿。
Rising_edge(clk) 表示时钟的上升沿
Falling_edge(clk) 表示时钟的下降沿
 范围类属性
  ‘range属性,其生成一个限制性数据对象的范围。
例如:
  signal  data_bus  : std_logic_vector (15 downto 0);
  data_bus’range=15  downto 0;

12.VHDL的模块
  至此,我们已知道VHDL的大致构成。下面以VHDL的两个模块,回顾一下VHDL的结构,一个是基本结构,一个是详细结构。其中包含关键字。<>中内容为对用户不同设计所需要填写的内容。
—VHDL  Model  Temlate(Overview)
library〈library_name〉;
use〈library_name〉.〈package_name〉.all;
entity〈entity_name实体名〉is
 〈port  list  for  your  design,列出设计的输入/输出信号端口>
end〈entity_name〉;
architecture〈architectrre_name〉of〈entity_name〉 is
—构造体声明区域
—声明构造体所用的内部信号数据类型
—如果使用元件例化,则在此声明所用的元件
—以下开始构造体,用于描述设计的功能
begin    —并行语句信号赋值
—process 进程(顺序语句描述设计)
—component instantiations元件例化
end 〈architecture_name〉;
—VHDL  Model  Template (Detailed)
—列出用户定义的库及程序包
library 〈library_name〉;
use 〈library_name〉,〈package_name〉.all;
—实体描述了用