DSP开发与应用
基于SPIFlash的Sharc系列DSP程序加载
TheProcedures-loadofSharcSeriesofDSPBasedonSPIFlash
(四川大学)
雷春梅周群刘谋云应俊
LEIChun-meiZHOUQunLIUMou-yunYINGJun
摘要:DSP是针对数字信号处理需要而设计的一种具有特殊结构的微处理器。它需要通过程序加载来进行信号处理,本文通过具体实例介绍了sharc系列的DSP通过其SPI口的程序加载,同时也介绍了相关系统的硬件设计和软件的调试。该技术可靠性高,使用灵活方便,具有很强的实用性。关键词:程序加载;SPI接口;数字信号处理;调试中图分类号:TP319文献标识码:B
Abstract:DSPisdesignedtomeettheneedofDigitalSignalProcessingasaspecificstructuralizedmicroprocessor,inwhichthesignalprocessesthroughtheprocedures-load.Inthispaper,weintroducethecourseofloadingtheproceduresviaSPIportofDSP,whichbelongstothesharcline,andalsotherelevantsystem’sdesignofhardwareandthedebuggingofsoftwareisintroduced.Withflexibleandconvenient,thismethodisofhighreliabilityandhighlypractical.Keywords:Procedures-load;SPIport;DigitalSignalProcessing;degug
1引言
DSP芯片主要用于数字信号处理。当前占据市场大部分份额的DSP生产厂商是美国的德州仪器与模拟器件两家公司。在国内,尤以德州仪器生产的芯片使用更加广泛。
使用DSP进行信号处理,就涉及到程序加载问题,不同厂家
现在应用得生产的不同系列DSP的程序加载方式也大同小异。
比较广泛的是从flash中加载程序。因为flash是一种可在线编程的存储器,而且具有掉电后数据不丢失、功耗低、容量大、读取快、价格低、操作简单等优点。Flash存储器芯片又分为并口
对于并口flash,操作更为简单,数据并行传输,flash和串口flash。
但占用较多的外围接口资源,因此这种程序加载方式比较适合芯片接口资源比较丰富的系统设计;而串口flash,虽然对其进行编程等操作相对复杂一些,但在接口资源比较紧张时却具有其他编程方式无可比拟的优势。
对flash芯片的烧写,一般有两种方法:编程器烧写和在线编程。编程器烧写,即是通过硬件编程器,将工程文件经过编译链接后得到的输出文件写入flash芯片中,这种程序烧写方式实现起来比较简单,但需要额外的硬件编程器,因而一定程度上提高了开发成本。另一方面,表贴式封装的flash芯片不可能使用编程器烧写,只能采用在线编程。本文将通过一个AD公司生产的sharc系列DSP通过其SPI口的程序加载的具体实例来详细介绍。后面将通过硬件设计和软件架构来介绍其硬件和软件结构并总结了一些调试经验。
2Mbit的存储空间,即256Kbytes。存储空间被分成四段,每段56Kbytes,并且每段存储空间由256页组成,每页大小为
对该芯片进行编程,一次性连续写入最多256Bytes。该256Bytes。
芯片具有一个状态寄存器,通过对其编程,可以实现芯片存储空间的保护,以及芯片写使能等操作。另外,状态寄存器中也具有
除了读写BUSY标志位,通过该标志位,可以查询芯片当前状态。
状态寄存器以外,该存储器芯片还具有读、写、整片擦除、段擦除等命令。其器件编程的指令时序见参考文献[2]。
2.2flash芯片与DSP芯片的硬件连接
使用的flashM25P20芯片具有与工业标准SPI接口兼容的外部引脚,我们使用的Sharc系列DSP芯片也具有同样的SPI接口,因此,只需要将两个芯片SPI接口的引脚对应连接即可。这就大大的节省了DSP芯片的外部接口资源。由于Sharc系列DSP芯片的外设接口资源相当的丰富,而外部引脚数却极其的有限,因此,该系列DSP芯片的引脚复用情况相当严重。
技术创新
2硬件设计
2.1flash芯片M25P20-VMN6简介
m25p20是美国ST公司生产的一款flash存储器芯片。该芯片具有与工业标准SPI接口兼容的外部引脚。该芯片具有
雷春梅:硕士研究生
图1
Sharc系列DSP的外设接口分为两个部分:DAI与DPI。每个部分都含有各种类型的外设接口,比如,DAI中有PCG(精确时钟产生器),DPI中包括Timer(定时器)、我们使UART(串口)等。
用的SPI接口就包含在DPI中。DPI,即数字外设接口,其占有的14个外部引脚可以使用SRU宏分配给它包括的任意一个外设接口。Sharc系列DSP包含两个SPI接口,分别是DPI中的SPI和DAI中的SPIB。在我们的硬件设计中,使用DPI中的SPI。SPI通信具有主从两种工作模式,在实例中,DSP的SPI接口工作于主模式,flash芯片工作于从模式。对于sharc系列DSP,根据
邮局订阅号:82-946360元/年-115-
《PLC技术应用200例》
DSP开发与应用
时钟极性和相位的不同,其SPI接口时钟有四种不同的组合,具
将DPI的1,2,3,5号体设置见参考文献[3]中的SPICTL寄存器。
引脚分别指定为SPIMOSI、SPIMISO、SPICLK、SPIDS功能。具体硬件连接示意图如图1所示。
另外,在连接好SPI接口后,我们还需注意Sharc系列DSP程序加载方式的硬件设置。对于Sharc系列DSP,具有三种程序加载方式,分别是:SPI接口主模式程序加载、SPI接口从模式程序加载以及并行flash程序加载。具体使用的是哪种程序加载方式,需要通过DSP芯片命名为BOOTCFG0、BOOTCFG1的两个引脚的状态设置来判断。每种启动方式引脚状态的详细设置请参考文献。在我们的应用中,使用的程序加载方式为SPI接口主模式程序加载。
《微计算机信息》(嵌入式与SOC)2010年第26卷第4-2期
3软件设计
3.1SPI接口的两种数据传输模式
DSP通过其SPI接口向Flash写入数据,具有两种方式:DMA方式与核控制方式。DMA方式,即是直接存储器存取方式,此方式可在不受CPU核的控制下完成存储器中一个数据块的读写。在数据读写的时间内,CPU可工作于其他任务中。DMA方式可以显著提高CPU的利用率。而核控制方式是指在CPU核的控制下,通过查询指定寄存器的特定位,完成一次数据的传输,而且每次只能传送一个数据字。对于Sharc系列DSP,一个数据字可以是8位,16位,也可以是32位。数据字长度的设置是通过设置特定寄存器(SPICTL寄存器)的特定位来实现的。具体寄存器配置,请参考文献[7]。在CPU核控制方式下,在进行下一次数据传输之前,为了保证数据传输的正确性,CPU必须查询状态位,因此,CPU会不断的查询SPI接口状态寄存器SPISTAT中的状态位,因此,CPU的利用率较DMA方式低。
技术创新
都会产生相应的中断。但是,DSP芯片的中断号以及其对应的中断向量表是有限的,这就导致了中断向量的复用,即同一个中断号,可以被分配给不同的中断源。另外,该系列DSP的中断号对应的中断源也只是部分能被重分配。并且每一个中断号都有一默认中断源。所以,在DMA与核控制方式下,SPI口的四个接口在数据传输时占用相同的中断号,因此也具有相同的中断向量。
3.3软件流程及各模块功能
从SPIFlash中加载程序,必须先把工程文件编译链接得到的ldr文件写入SPIFlash存储器中。对flash编程的程序流程图
写数据等写操作前,必须如图2所示。在对M25P20进行擦除、
设置状态寄存器中写使能位以使能写操作。在擦除M25P20后,写使能被自动禁止,因此,在继续写数据之前,必须重新设置存储器的状态寄存器,以写使能其状态。
在我们的系统中,程序被分成了三个模块,分别是:系统初始化模块、对Flash操作模块和数据写入与校对模块。系统初始化模块主要包括实现设置系统锁相环参数、设置系统中断向量等初始化系统功能的子函数;对Flash操作模块则主要包括实现一些对Flash状态查询、设置以及擦出等功能的子函数;数据写入与校对模块则是实现将工程的ldr文件写入Flash,然后读出并与原始数据进行校对等功能的子函数。
4结束语
在这提出几个值得注意的问题。一是关于使用的SPIFlash的存储结构组织问题,具体的组织结构请参考文献,需要注意的是在对该存储器进行编程时,需要小心一次性写入的数据量大小,这由存储器每块(sector)的容量决定。当一次性写入的数据量超过该容量时,会发生数据覆盖,从而导致得不到正确的写入。二是注意该Flash芯片的写使能与片或段擦除之间的相互影响,这在前文中已给出了叙述。三是在对Flash芯片进行操作时,无论是擦出操作,还是写入操作,在相应操作完成后必须读取该存储器芯片的状态寄存器,根据某些状态位的状态判断操作是否完成。四是通过DMA方式对该存储器进行数据写入或者擦除操作时,在根据SPI状态寄存器中状态标志判断操作已完成后必须延迟一定的时间,因为判断DMA传输是否完成无论采用的是DMA中断方式,还是DMA状态寄存器状态查询方式,当DSP根据上述条件作出判断时,实际情况是数据并没有完成传输。最后,希望通过本文,能对从事ADI公司DSP开发与应用的相关人员提供一些帮助。
本文作者创新点:基于SPIFlash的Sharc系列DSP程序加载,在整个系统的设计与调试过程中,无论是硬件上,还是软件部分都遇到的问题,都一一提出了解决方案。参考文献
[1]STMicroelectronics.M25P20[M].STMicro-electronicsgroupofcompanies,2004.
[2]AnalogDevice.ADSP-21368SHARCProcessorHardwareReference[M].AnalogDevices,Inc,2006.
[3]AnalogDevice.VisualDSP++5.0GettingStartedGuide[M].AnalogDevices,Inc,2006.
[4]AnalogDevice.GettingStartedWithSHARCProcessors[M].AnalogDevices,Inc,2006.
[5]薛东方,尚朝轩,何强,周相阳等。基于VisualDSP++环境Flash在线编程实现[J]。科学技术与工程,2008,4:1095-1097。
[6]陈英,刘海昌。基于FLASH的多ADSP-TS101S程序加载[J]。科技广场,2007,5:156-158。(下转第190页)《现场总线技术应用200例》
图2
3.2Sharc系列DSP中断系统
在Sharc系列DSP中,外设接口较多,每种类型的外设接口
-116-360元/年邮局订阅号:82-946电子设计
电阻并联得到,300V时165Ω电阻上的电压为161.7mV。以上所选用的电阻都为1206封装。
电流检测———电流传感器2、
检测系统中一共使用三种不同电流传感器。首先,110V输入电流的检测。由于输入平均电流为35A,因此选用LEM的100A电流传感器LA100-P,其为电流型输出;第二,逆变器1(压缩机和室外风机用)输出电流检测,输出线电流大小约为7.5A,可选用2个LEM的LTS15-NP型电流传感器,其最大测量电流有效值为15A,电压型输出,两个传感器分别测量任意两相,然后计算出第三相的值;最后,逆变器2(室内风机用)只需检测其中间直流电流(其功率较小,只有120W),电流小于1A,可选用LEM的LTS6-NP型电流传感器,LTS6-NP量程可变,用时将其配制成2A的量程。
《微计算机信息》(嵌入式与SOC)2010年第26卷第4-2期
3实验
由于电机采用恒压频比调速,故改变频率后,输入电压也会
但在频相应的改变,而电压的改变是通过改变调制比来实现的。
率达到50Hz时再向60Hz调频时便采用弱磁调速,即保持输入电压200V不变。如图8为频率为50Hz和60Hz时室外风机的电流波形
技术创新
图8频率为50Hz和60Hz时室外风机的电流波形
从图中我们得出当工作频率在50Hz时,室外通风机的电流峰值为2A,则其有效值为1.41A,而输入电压为200V,通过计算可以得到输入功率为480W。当工作频率在60Hz时,室外风机的输入电流峰值为2.5A,有效值为1.77A,输入电压为200V,故通过计算可以得出通风机此时输入功率为612W。
析与讨论,经过实验取得了满意的实验结果。设计完成后的电源系统能够长时间满负载工作,带动空调机组运行并且制冷。
本文作者创新点:本文讨论的是机车空调逆变电源系统的设计与研究。本文的重点在于对硬件电路的分析与研究。参考文献
[1]Tasi-FuWu,Yu-KaiChen“,ModelingPWMDC/DCConverters
,IEEETransactionsonPowerOutofBasicConverterUnits”
Electronics,Vol.13,No.5,September1998,Pag.870-881
“CircuitmodelsofPWM[2]D.CzarkowskiandM.K.Kazimierczuk,
dc-dcconverters,”inProc.IEEENat.AerospaceandElectronicsConf.(NAECON’92),Dayton,OH,May18-22,1992,Pag.407-413[3]J.W.Nilsson,ElectronicCircuits,4thed.NewYork:Addison-Wesley,1993,ch.20
[4]SabateJ.A.,etal.DesignConsiderationsforHigh-VoltageFullBridgeZero-voltage-switchedPWMConverter.IEEEAPEC’90,1990,274-284
[5]张占松,蔡宣三,开关电源的原理与设计,电子工业出版社,1998.7
[6]刘志刚,叶斌,梁晖,电力电子学,清华大学出版社,北京交通大学出版社,2004.6
[7]叶斌,电力电子应用技术,清华大学出版社,2006.5
[8]钟美,张侃,王生学,电力机车空调电源技术,微计算机信息,2006,9-2.
[9]LM193,LM293,LM293A,LM393,LM393A,LM393Y,LM2903,LM2903Q,DUALDIFFERENTIALCOMPARATORS,SLCSOO5E--JUNE1976-REVISEDNOVEMBER1999
[10]HCPL-31500.5AmpOutputCurrentIGBTGateDriveOptocouplerTechnicalData.
作者简介:解枫(1984-),女(汉族),吉林省长春市人,现就读于北京交通大学电气工程学院硕士。
Biography:XIEFeng(1984-),female(theHannationality),JilinProvince,StudyinBeijingJiaotongUniversitytheSchoolofElectricalEngineering,Master.(100044北京北京交通大学电气工程学院)解枫
通讯地址:(100044北京交通大学电气工程学院)解枫
(收稿日期:2009.04.21)(修稿日期:2009.07.21)
图9频率为50Hz和60Hz时压缩机的电流波形
从图中我们得出当工作频率在50Hz时,压缩机的电流峰值为8A,则其有效值为5.66A,而输入电压为200V,通过计算可以得到输入功率为1957W。当工作频率在60Hz时,室外风机的输入电流峰值为8.5A,有效值为6.01A,输入电压为200V,故通过计算可以得出通风机此时输入功率为2080W。
(上接第116页)[7]AnalogDevice.VisualDSP++5.0LoaderandUtilitiesManual[M].AnalogDevices,Inc,2006.
[8]蔡慧,王百江,康通博,张骋,蔡惠智.基于DSP芯片阵列的实时操作系统的研究[J].微计算机信息,2009,2-2:3-4。
作者简介:雷春梅(1986-),女(汉族),湖北荆州人,硕士研究生,主要研究方向:电工理论与新技术。
Biography:LEIChun-mei(1986-),Female(theHannationality),HubeiProvince,graduatestudent(SichuanUniversity)Researcharea:ElectricalTheoryandNewTechnology.(610065四川成都四川大学电气信息学院)雷春梅周群
刘谋云应
俊
4结论
本文的主要工作是机车空调电源系统的硬件设计,其重点在于对电路的设计以及元器件的选择和对电路的调试。在提出了电源系统整体实现方案的基础上,分别对电源系统DC/DC部分,DC/AC部分以及检测电路与辅助电源部分进行了详细的分
-190-360元/年邮局订阅号:82-946(SchoolofElectricalEngineeringandInformation,SichuanUniversity,Chengdu,610065,China)LEIChun-meiZHOUQunLIUMou-yunYINGJun
通讯地址:(610065四川省成都市四川大学电气信息学院07级硕士研究生)雷春梅
(收稿日期:2009.05.08)(修稿日期:2009.08.08)
《现场总线技术应用200例》
因篇幅问题不能全部显示,请点此查看更多更全内容