当前位置:首页 > 电源 > 数字电源
[导读]文中以基于TMS320C32高速CPU为核心芯片的智能型电机保护装置为模型,介绍了高性能FLASH芯片Am29F010B与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电动机智能保护装置系统中,而且效果理想。

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

利用数控机床进行机测时可以通过机床本体与测头来完成。

关键字: DSP 数控机床

【2024年5月10日, 德国慕尼黑讯】全球功率系统和物联网领域的半导体领导者英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)针对要求严苛的24/48 V市场推出适用于无刷直流电机的MOTIX™...

关键字: 电机 栅极驱动器 电子压缩机

尼得科精密部件基于自创立以来在相机产业培育起来的“精密”制造技术,利用精致且高水平的小型振动电机技术,从零开始重新设计与薄型最为适合的磁路,最终实现了厚度仅为1.4mm的*全球超薄型线性致动器“TapSense”。由此,...

关键字: 线性振动致动器 电机

伴随现代科技的飞速发展,日常生活用品也在经历着翻天覆地的变化,随着消费者对口腔健康的日益重视,电动牙刷市场呈现出持续增长的态势,据统计,到2025年,全球电动牙刷市场的规模有望达到数十亿美元。然而,市场上的电动牙刷产品种...

关键字: 电动牙刷 电机

尼得科株式会社开发的电机产品被太阳诱电株式会社(以下简称“太阳诱电”)推出的可支持再生制动系统的电动助力自行车——充满一次电可最多骑行1000km*1的再生电动助力系统 “FEREMO™”*2所采用。

关键字: 电机 自行车

数字信号处理器(DSP)在通信、控制、图像处理等多个领域扮演着越来越重要的角色。TMS320F2808PZA作为德州仪器(Texas Instruments)推出的一款高性能DSP控制器,其独特的架构和强大的功能使其在众...

关键字: tms320f2808pza 数字信号处理器 DSP

在电力电子和机械工程领域,电机作为转换和传递能量的关键设备,其稳定运行至关重要。然而,电机运行过程中,有时会出现过电流现象,这不仅影响电机的性能,还可能造成严重的设备损坏甚至安全事故。因此,深入理解电机报过电流的原因,并...

关键字: 电机 过电流

在科技迅猛发展的今天,履带机器人在诸多领域展现出了广泛的应用前景,从现代农业的采摘、喷药,到消防领域的救援,再到现代化防疫中的喷雾消毒,甚至是复杂地形的运输任务,它们都能出色地完成任务。而驱动这些履带机器人的核心部件,便...

关键字: 履带机器人 机器人 电机

随着各行各业自动化程度的提高,运动控制的重要性日益凸显。为了有效地驱动电机,描述速度和位置的控制输入必不可少。然而,实现这种感测的技术有多种,每种技术都有不同的特点和应用场景。

关键字: 传感器 电机 自动化

从世界上第一颗DSP诞生至今30年来,国际一线老牌芯片厂商长期占据领先技术和市场地位,国内芯片厂商在DSP上的声量很小。然而经过了6年的沉心打磨之后,湖南进芯电子开始在这一领域崭露头角。凭借着更贴近中国本土特色的差异化产...

关键字: DSP MCU 电机控制 进芯电子
关闭
关闭