当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]高性能FLASH存储器在DSP电机智能保护中的应用

  摘要:DSP芯片以其高速、实时性等优点逐步被用到电机保护中,利用高性能外围器件尤其是外围存储器与DSP的硬件匹配是充分发挥其优点的必要条件。文中以基于TMS320C32高速CPU为核心芯片的智能型电机保护装置为模型,介绍了高性能FLASH芯片Am29F010B与DSP芯片的硬件接口电路、软件编程技术以及应注意的问题和设计技巧。

    关键词:Flash存储器 DSP 嵌入式算法 Am29F010B

国内的电动机保护装置种类繁多,但随着现代大中型电动机对保护要求的不断提高和VLSI技术的不断进步,传统的基于热敏电阻、机械式继电器和电子式等保护模式均因可靠性不高,容易出现误操作等缺点已不能满足需要;而以单片机为核心的数字或保护装置的运算速度不高、资源有限、数据处理能力和可扩展性不好等问题日益突出。新的相关理论和技术(如小波变换、自适应保护、故障诊断、模糊整定等)的出现加速了高性能和综合型微机保护的发展,但这不仅要求更高性能的CPU(如近年飞速发展的系列DSP芯片)的支持,而且还要有与之相适应的外围存储器的支持。鉴于此,笔者在开发基于DSP的大中型智能电动机保护装置(系统结构功能如图1)时,在外扩存储器方面采用了AMD公司生产的Flash芯片Am29F010B。该Flash memory因容量大、体积小、功耗低、成本低等优点而被广泛应用于消费类电子、军事、航空航天等领域。它可以在线更新,并具有较高的灵活性,因而可与高性能CPU芯片TMS320C32达到良好的配合,从而可显著提高系统性能和可靠性。

1 硬件设计

1.1 TMS320C32芯片的特点

美国TI公司生产的TMS320系列DSP芯片以其改进的哈佛总线结构、独立的指令系统、专用硬件乘法器、多种寻址方式等优点以及高速数据处理能力广泛应用在通讯、雷达、工业控制等领域。TMS320C32是TI的第一代浮点DSP芯片TMS320C3X系列中的一款高性能浮点芯片,是对TMS320C30、TMS320C31中的不常用资源进行简化、并对其性能进一步改进后的高性价比处理器。它具有增强的外部存储器接口,可以灵活方便地存取8/16/24/32位数据。它支持16/32位外部程序,从而为其外围接口电路设计提供了很大的灵活性;其硬件上增加的一个非常有用的程序引导(Bootloader)功能使其程序可以从低速EPROM、PROM或串口装入到系统的高速RAM中全速运行;它所配备的C编译器具有很高的效率,可直接用汇编语言或两者相结合使用,因而灵活性和实时性都很强;由于中断矢量表可重设位,因此,将其应用到电动机保护中可以大大提高整个保护装置的各项性能。

1.2 Flash Memory芯片Am29F010B

Am29F010B是AMD公司生产的多功能闪烁内存,它的主要技术特点如下:

*可单电压(5V)进行读、写操作;

*高性能,最大存取时间为45ns;

*可靠性极高,可重复编程不小于10万次,数据保持大于100年;

*低功耗(读操作,写/擦除操作以及空闲状态的电流典型值分别为12mA、30mA和1μsA);

*具有扇区擦除能力,对于所分成的8个完全一样的分扇区,既可以块擦除,也可以整个芯片一起擦除;

*嵌入式擦除算法可自动地预编程和擦除芯片,它可以将设好的扇区用嵌入式编程算法自动地编程以把数据写到特定的地址;

*带有JEDEC标准的Flash EEPROM管脚输出和命令集;

*具有编程周期结束检测功能,可缩短等待时间;

Am29F010B存储器采用PDIP,PLCC,TSOP封装,图2给出了Am29F010B的PDIP封装引脚图,各引脚的功能如下:

DQ7~DQ0:双向数据线,可用于输出数据或写入命令和数据。

A0~A16:地址线,其中A16~A14为扇区地址,可用000~111代表8个扇区,A13~A0为扇区内的字节地址。

CE:片选线,低电平有效,高电平时芯片处于空闲状态;

OE,WE:分别为读、写控制线。图3给出了对FLASH编程时,CE、OE和WE的状态时序。

其中,PD为编程数据,tch为CE持续时间,tcs为CE建立时间,tDS为数据建立时间,tDH为数据维持时间,twp为写脉冲宽度。

1.3 Am29F010B与TMS320C32的硬件接口

Am29F010B与TMS320C32的硬件接口电路原理图如图4所示。图中,Am29F010B的17根地址线A0~A16分别与TMS320C32的A0~A16相连。每片Am29F010B的容量为128k×8B。在本开发系统中,数据采用的是32位浮点数,连接方法是将四片8位数据宽的Am29F010B一起与TMS320C32连接,即将四片Am29F010B的D0~D7依次与TMS320C32的D0~D7、D8~D15、D16~D23及D24~D31连接,总容量为128k×32B。

TMS320C32的外扩存储器的寻址空间范围由三组相互独立的控制信号STRB0、STRB1和IOSTRB来控制,可用于对相互独立的存取空间进行操作而不会出现端口冲突。所不同的是,IOSTRB只能用32位宽的程序或数据存储器进行存操作;STRB0和STRB1由各自的四个控制引脚来实现,可以用8/16/32位宽的存储器存取8/16/32位数据,还可以用16或32位宽的程序存储器进行存取操作,因而比较灵活。

图4的设计中使用的是STRB0,Flash所占的128k×32B存取空间的地址范围为000000H~01FFFFH,外围程序存储器配置为32位,可由PRGW置低电平来实现。此时各片的片选信号CE分别由STRB0-B0、STRB0-B1、STRB0-B2、STRB0-B3控制。上电复位后,外部总线接口控制寄存器STRB0可根据PRGW引脚电平的高低来决定存储器的宽度控制位和数据位数控制位的复位值。

2 Am29F010B的在系统编程技术

2.1 Am29F010B的基本编程操作

对FLASH的基本操作主要有读、字节编程、复位、扇区擦除、片擦除等。Am29F010B闪烁存储器的读操作与普通的存储器操作相同,它不需要特定的时序,在电路上电或内部编程等操作后可自动进入读数据状态。而擦除和写操作相对复杂一些,它不能简单的直接写入,同时,out文件不能load到FLASH中,且CCS和CSource Debugger中的load命令均不能对flash写入,而需要专门的程序才能写入一系列Flash Memory的命令寄存器中,然后调用嵌入式算法的内部程序来完成相应的命令。Am29F010B编程的一般步骤是复位、擦除、字节编程等。

(1)复位操作

复位命令用以取消擦除或写入操作而使存储器复位。复位操作不影响各单元的数据。在编程、擦除或正常操作出现错误时都要使用复位命令。向FLASH存储器的任意一个地址写入0F0H均可使其复位并进入读数据状态。

(2)擦除操作

擦除操作的具体软件命令序列如表1所列。该操作包括按扇区擦除和整片擦除两种方式。二者均为6总线周期操作。使用片擦除操作则可一次清除FLASH芯片内的所有数据。扇区擦除操作则用于清除某一个扇区的所有数据,这在仅需要改动少量数据而不是整片数据时特别方便。

(3)字节编程操作

该操作是一个4总线周期指令,可将任意数据写入Am29F010B独立使用的编程,只能写入8位宽的数据,而本开发系统每次可写入32位宽数据。具体软件命令序列如表1所列。

    2.2 Am29F010B的编程注意事项及操作技巧

在对Am29F010B进行编程操作时,三条关键控制检测线OE、CE和WE都必须处于正确状态,当CE或WE不是低电平或OE不是高电平时,编程操作将被禁止。

由于在32位浮点芯片TMS320C32进行硬件连接时,采用的是4片数据宽度为8位的Flash来作为一片数据宽度为32位的Flash使用,所以在实际的总线操作过程中,向对应地址写入的数据应为8位16进制数据。例如芯片复位操作时,写入某一地址的数据应该是0xF0F0F0,而不应是单片时写入的0xF0。其软件命令序列可同时参见表1。

表1 Am29F010B编程命令序列表

命令序列 Flash复位 扇区擦除 整片擦除 Flash烧录
总线写周期1 地址 5555H 5555H 5555H 5555H
数据 0AAAAAAAAH 0AAAAAAAAH 0AAAAAAAAH 0AAAAAAAAH
总线写周期2 地址 2AAAH 2AAAH 2AAAH 2AAAH
数据 55555555H 55555555H 55555555H 55555555H
总线写周期3 地址 xxxx 5555H 5555H 5555H
数据 0F0F0F0F0H 80808080H 80808080H 0A0A0A0A0H
总线写周期4 地址   5555H 5555H  
数据   0AAAAAAAAH 0AAAAAAAAH  
总线写周期5 地址   2AAAH 2AAAH  
数据   55555555H 55555555H  
总线官周期6 地址   SA 5555H  
数据   30303030H 10101010H  

在Am29F010B擦除及编程操作中使用检测机制可确保操作的正确性和有效性。其核心代码如下:

flash_rase:

……

check_rase:LDI *AR0,R0

NOP

NOP

XOR *AR2,R0

BNZ check_rase

……

RETS

flash_prog:

……

check_prog:LDI * -AR1,R0

NOP

NOP

XOR *-AR1,R0

BNZ check_prog

……

RETS

在将数据或程序烧写到Am29F010B时,应先单步执行烧写程序,同时应观察烧写程序执行过程中有无异常。笔者曾遇到过的FLASH的操作指令代码执行后变成.word XXH的情形,后来经检查发现是由于芯片Am29F010B的地址线引脚再现虚焊所致;另一方面,还要观察在仿真开发环境的存储区查看窗口,以观察FLASH内相应单元内容的变化有否异常。

图4 Am29F010B与TM320C32的硬件接口电路原理图

3 结束语

本文讨论的方法在软、硬件上均已得到实现,对高性能Flash存储器芯片Am29F010B和高速DSP处理器TMS320C32优点的充分利用,使得在硬件和软件上保证了装置的先进性和高可靠性;目前,该装置已成功用于WSM2000电动机智能保护装置系统中,而且效果理想。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭