第7章TMS320C54 DSP最小硬件系统设计(上课用)_第1页
第7章TMS320C54 DSP最小硬件系统设计(上课用)_第2页
第7章TMS320C54 DSP最小硬件系统设计(上课用)_第3页
第7章TMS320C54 DSP最小硬件系统设计(上课用)_第4页
第7章TMS320C54 DSP最小硬件系统设计(上课用)_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第7章章 TMS320C54x DSP最小硬件系统设计最小硬件系统设计n7.1 TMS320C54x DSP系统的基本硬件设计系统的基本硬件设计n7.2 存储器接口设计存储器接口设计n7.3 Flash擦写擦写n7.4 Bootloader设计设计返回首页7.1.1 复位电路复位电路7.1.2 时钟电路时钟电路7.1.3 电源电路电源电路7.1.1 复位电路复位电路1. 上电复位上电复位电路是利用上电复位电路是利用RCRC电路的延迟特性来产生复位所需电路的延迟特性来产生复位所需要的低电平时间。要的低电平时间。由由RCRC电路和施密特触发器组成电路和施密特触发器组成。-t/CC=V(1-eCV

2、时间常数: = RC复位时间:t=-RC ln1-VC/VCC设VC=1.5V为阈值电压,选择R = 100k,C = 4.7F,电源电压VCC = 5V,可得复位时间t = 167ms,满足系统的晶体振荡器一般需要100-200ms的稳定期。 简单方便,但有时不能可靠复位。5首都师范大学信息工程学院TMS320C54xTMS320C54xRSRS1 11 1 C C R RV VCCCC7474HC14HC141lnCCCVVRCtTMS320C54xTMS320C54xRSRSC CR R V VCCCCR R1 1MAX706TMAX706TMR WDOMR WDO VCC RESET

3、VCC RESET GND WDIGND WDIPFI PFOPFI PFO1 12 23 34 45 56 6 7 78 8RSRSV VCC CC 3.3V3.3V至至DSPDSP的复位端的复位端CLKCLK来自来自DSPDSP的输出端的输出端MR:人工复位输入。当输入电压低于0.6V时,复位比较器输出有效的复位信号.Vcc:电源端当Vcc低于复位门限电压时,输出有效的复位信号,并且当Vcc上升至复位门限电压后,复位脉冲维持200msPFI:门限检测器输入端。当PFI端的输入电压低于1.25V时,PFO端输出低电平。PFI端不用时可与GND端相连。PFO:门限检测器输出端。当PFI端电压低

4、于比较器门限电压1.25V时,PFO为低电平,否则为高电平。WDI:看门狗输入当WDI端信号维持高电平或低电平的时间超1.6s时,看门狗定时器溢出,WDO端输出低电平。WDI端的任何一个跳变都使定时器清零。RESET:低电平复位输出受MR端和Vcc端控制,当MR端电压低于0.6V或Vcc端电压低于复位门限电压时,RESET输出低电平复位脉冲。WDO:看门狗输出当电源低于复位门限或看门狗定时器溢出时,WDO端输出低电平,否则为高电平7.1.2 时钟电路时钟电路采用封装好的晶体振荡器,将外部时钟信号直接加到采用封装好的晶体振荡器,将外部时钟信号直接加到TMS320C54x DSPTMS320C54

5、x DSP芯片的芯片的X2/CLKINX2/CLKIN引脚,而引脚,而X1X1引脚悬空。引脚悬空。 电路简单、体积小、频率范围宽电路简单、体积小、频率范围宽(1Hz400MHz)(1Hz400MHz)、驱动、驱动能力强、可为多个器件使用。价格便宜,因而得到广泛应能力强、可为多个器件使用。价格便宜,因而得到广泛应用。由于使用了电源,也有人称其为用。由于使用了电源,也有人称其为有源晶振电路有源晶振电路。16首都师范大学信息工程学院在芯片的在芯片的X1X1和和X2/CLKINX2/CLKIN引脚之间接入一个晶体引脚之间接入一个晶体, ,用于启动用于启动内部振荡器。内部振荡器。这种电路结构价格便宜、体

6、积小、能满足时钟信号电平这种电路结构价格便宜、体积小、能满足时钟信号电平要求,但驱动能力差,不可提供多个器件使用,频率范要求,但驱动能力差,不可提供多个器件使用,频率范围小围小(20KHz60MHz)(20KHz60MHz),由于其不需要使用外部电源,也叫,由于其不需要使用外部电源,也叫无源晶振电路无源晶振电路。17首都师范大学信息工程学院(1) 硬件配置硬件配置PLLn用于用于C541、C542、C543、C545和和C546芯片。芯片。n所谓所谓硬件配置硬件配置PLL,就是通过就是通过C54x的的3个引脚个引脚CLKMD1、CLKMD2和和CLKMD3的状态,选定时钟方式的状态,选定时钟方

7、式。上电复位时,。上电复位时,TMS320C54x DSP根据这三个引脚的电平决定根据这三个引脚的电平决定PLL的工作的工作状态,并启动状态,并启动PLL工作,其工作,其PLL的配置方式如表的配置方式如表7.1所示。所示。由表由表7.1可见,不用可见,不用PLL时,时,CPU的时钟频率等于晶体振荡的时钟频率等于晶体振荡器频率或外部时钟频率的一半;若用器频率或外部时钟频率的一半;若用PLL,CPU的时钟频的时钟频率等于晶体振荡器频率或外部时钟频率乘以系数率等于晶体振荡器频率或外部时钟频率乘以系数N(PLLN),),使用使用PLL可以使用比可以使用比CPU时钟低的外部时钟时钟低的外部时钟信号,以减

8、少高速开关时钟所造成的高频噪声。从而降低信号,以减少高速开关时钟所造成的高频噪声。从而降低干扰的影响。干扰的影响。表7.1 硬件PLL的配置方式引脚状态引脚状态 时时 钟钟 方方 式式* CLKMD1 CLKMD2 CLKMD3 选择方案 1选择方案 2000用外部时钟源, PLL3用外部时钟源, PLL5110用外部时钟源, PLL2用外部时钟源, PLL4100用内部振荡器, PLL3用内部振荡器, PLL5010用外部时钟源, PLL1.5 用外部时钟源, PLL4.5001用外部时钟源,频率除以 2用外部时钟源,频率除以 2111用内部振荡器,频率除以 2用内部振荡器,频率除以 210

9、1用外部时钟源, PLL 1用外部时钟源, PLL 1011停止方式*停止方式*根据不同器件,选择方案 1 或者方案 2。*停止方式:其功能等效于 IDLE3省电方式;但是,要省电还是推荐用 IDLE3指令而不用停止方式,因为 IDLE3使 PLL 停止工作,复位或非屏蔽中断到来时可以 恢复工作。 缺点:进行硬件配置时,其工作频率是固定的,不能灵活改变。(2) 软件可编程软件可编程PLLn软件可编程软件可编程PLL具具有高度的灵活性,其时钟定标器提供各种有高度的灵活性,其时钟定标器提供各种时钟乘法器系数,并能直接接通和关断时钟乘法器系数,并能直接接通和关断PLL。PLL的锁定定的锁定定时器可以

10、用于延迟转换时器可以用于延迟转换PLL的时钟方式,直到锁定为止的时钟方式,直到锁定为止。通。通过软件编程,可以使过软件编程,可以使软件软件PLL实现实现两种工作方式两种工作方式(如表(如表7.2 7.4、图、图7-3所示)。所示)。 nPLL方式方式,即倍频方式。,即倍频方式。 芯片的工作频率芯片的工作频率= =输入时钟输入时钟CLKIN CLKIN PLL PLL的乘系数的乘系数(N).(N).共共有有3131个乘系数,取值范围为个乘系数,取值范围为0.25150.2515。 这是靠这是靠PLLPLL电路来完电路来完成的。成的。nDIV方式方式,即分频方式。,即分频方式。 对输入时钟对输入时

11、钟CLKINCLKIN进行进行2 2分频或分频或4 4分频。当采用分频。当采用DIVDIV方式时,方式时,所有的模拟电路,包括所有的模拟电路,包括PLLPLL电路都关断,以使功耗最小。电路都关断,以使功耗最小。n上述两种工作方式通过读上述两种工作方式通过读/ /写时钟方式寄存器写时钟方式寄存器(CLKMD)(CLKMD)(地址:(地址:0058H0058H)来完成。)来完成。 表7.2 复位时的时钟方式(C5402)CLKMD1CLKMD2CLKMD3CLKMD寄存器时钟方式000E007H乘15,内部振荡器工作,PLL工作0019007H乘10,内部振荡器工作,PLL工作0104007H乘5

12、,内部振荡器工作,PLL工作1001007H乘2,内部振荡器工作,PLL工作110F007H乘1,内部振荡器工作,PLL工作1110000H乘1/2,内部振荡器工作,PLL不工作101F000H乘1/4,内部振荡器工作,PLL不工作011保留时钟方式寄存器(CLKMD)各位的定义151211103210PLLMULPLLDIVPLLCOUNT PLLON/OFFPLLNDIVPLLSTATUSR/WR/WR/WR/WR/WR表7.3 时钟方式寄存器CLKMD各位域功能位位 名名 称称 功功 能能 1512PLLMULPLL 乘数。读/写位。与 PLLDIV以及 PLLNDIV 一起决定频率的乘

13、数11PLLDIVPLL 除数。读/写位。与PLLMUL以及 PLLNDIV一道定义频率的乘数103PLLCOUNT PLL 减法计数器。读/写位。每16个输入时钟CLKIN 到来后减 1。对 PLL 开始工作之后到 PLL 成为处理器时钟之前的一段时 间进行计数定时。PLL 计数器能够确保在 PLL 锁定之后以正确的时钟信号加到处理器 2PLLON/OFF PLL通/断位。读/写位。与 PLLDIV 位一道决定时钟发生器的PLL部件的通/断: PLLON/OFFPLLDIVPLL状态00断开01工作10工作11工作1PLLNDIV PLL时钟发生器选择位。读/写位。决定时钟发生器的工作方式:

14、PLLNDIV=0采用分频器(DIV)方式,PLLNDIV=1采用 PLL方式。与 PLLMUL以及 PLLDIV一道定义频率的乘数0PLLSTATUSPLL的状态位。 指示时钟发生器的工作方式只读位。:PLLSTATUS=0分频器(DIV)方式PLLSTATUS=1PLL方式151211103210PLLMULPLLDIVPLLCOUNT PLLON/OFFPLLNDIVPLLSTATUSR/WR/WR/WR/WR/WR表7.4 PLL的系数组合PLLNDIVPLLDPLLMULPLL乘系数乘系数0X0140.50X150.2510014PLLMUL+110151110或偶数或偶数(PLLM

15、UL+1)211奇数奇数PLLMUL4n对时钟方式寄存器(对时钟方式寄存器(CLKMD)进行编程,可以进行编程,可以:n(1) 提供各种时钟乘法器系数n(2) 控制PLL的接通和关断n(3) 控制时钟发生器的工作方式n(4) 自动延迟定时,直到PLL锁定n在在PLL锁定之前,它是不能用作锁定之前,它是不能用作C54x时钟的。时钟的。所所以,通过对以,通过对CLKMD寄存器中的寄存器中的PLLCOUNT位域位域编程实现自动延时,直到编程实现自动延时,直到PLL锁定为止。锁定为止。PLL的的锁定定时器锁定定时器是一个计数器,它从是一个计数器,它从PLLCOUNT位域位域加载初始值(加载初始值(02

16、55),每),每16个输入时钟个输入时钟CLKIN到来后减到来后减1,直到减为,直到减为0为止。因此,为止。因此,锁定时间锁定时间设设置范围为置范围为(0255)*16CLKIN周期周期。图7-3PLL锁定时间和CLKOUT频率的关系返回本节根据锁定时间根据锁定时间Lockup Time可以求得可以求得PLLCOUNT的数值:的数值:PLLCOUNT(十进制)(十进制) Lockup Time( 16TCLKIN)为了降低芯片功耗,为了降低芯片功耗,TMS320C54xTMS320C54x系列系列DSPDSP芯片大部分都采芯片大部分都采用低电压设计,并且采用用低电压设计,并且采用双电源供电双电

17、源供电,即,即内核电源(内核电源( Cvdd Cvdd )和)和 I/O I/O 电源(电源( Dvdd ) Dvdd ) ,其中,其中I/OI/O电源一般采用电源一般采用 3.3V 3.3V 电压,而内核电源电压分为电压,而内核电源电压分为 3.3V 3.3V 或或 2.5V 2.5V 甚至更甚至更低低,降低内核电压的主要目的还是降低功耗。理想情况,降低内核电压的主要目的还是降低功耗。理想情况下,两电源应同时加电。若不能做到同时加电,应先对下,两电源应同时加电。若不能做到同时加电,应先对DvddDvdd加电,然后再对加电,然后再对CvddCvdd加电。加电。32首都师范大学信息工程学院7.1

18、.3 电源电路电源电路采用专门的采用专门的DC-DC芯片进行电平转换芯片进行电平转换n产生电源的芯片:(产生电源的芯片:(nTMS320C54x DSP电源解决方案有几种:电源解决方案有几种:MaximMaxim公司的公司的MAX604MAX604、MAX748MAX748。 NC 1RESETNC 1RESETNC NCNC NC1GND NC1GND NC1EN FB/SENSE1EN FB/SENSE1IN 1OUT1IN 1OUT1IN 1OUT1IN 1OUTNC 2RESETNC 2RESETNC NCNC NC2GND NC2GND NC2EN 2SENSE2EN 2SENSE2

19、IN 2OUT2IN 2OUT2IN 2OUT2IN 2OUTNC NCNC NCNC NCNC NCC3C33333 F F3 3.3 3V V1 12 23 34 45 56 67 79 910101111121213131717151516168 81414CVCVDDDD TMS320VC5402TMS320VC5402DVDVDDDDGNDGND&181819192020212122222323242425252626272728281 1.8 8V VD2D2D3D3C2C23333 F FC1C11 1 F FC0C01 1 F F5 5V VR1R1100k100kR2R210

20、0k100kPGPGRESET to DSPRESET to DSPTPS73HD318TPS73HD318DL5817DL5817DL4148DL4148DL4148DL4148D1D1TPS73HD318提供的双电源供电应用图存储器接口类型存储器接口类型可分为:可分为:异步存储器接口异步存储器接口和和同步存储器接口同步存储器接口两大类型。两大类型。异步存储器接口类型是最常见的。相应的存储器有:异步存储器接口类型是最常见的。相应的存储器有:SRAMSRAM、FlashFlash、NvRAMNvRAM等,另外许多以并行方式接口的模拟等,另外许多以并行方式接口的模拟数字数字I/OI/O器件,如器

21、件,如A/DA/D、D/AD/A、开入开出等,也采用异步存、开入开出等,也采用异步存储器接口形式实现。储器接口形式实现。同步存储接口相对较陌生,一般用于高档的微处理器中,同步存储接口相对较陌生,一般用于高档的微处理器中,TI DSPTI DSP中只有中只有C55xC55x和和C6000C6000系列包含同步存储器接口。相应系列包含同步存储器接口。相应的存储器有:同步静态存储器,的存储器有:同步静态存储器,SBSRAMSBSRAM和和ZBTSRAMZBTSRAM,同步动,同步动态存储器:态存储器:SDRAMSDRAM,同步,同步FIFOFIFO等。等。SDRAMSDRAM可能是最熟知的同可能是最

22、熟知的同步存储器件,它被广泛用步存储器件,它被广泛用于于PCPC机的内存。机的内存。35首都师范大学信息工程学院7.2 存储器接口设计存储器接口设计存储器接口存储器接口是是DSP芯片与外界交换数据的重要关口,其优劣芯片与外界交换数据的重要关口,其优劣程度直接影响程度直接影响DSP的适应性和控制功能。的适应性和控制功能。TMS320C2000TMS320C2000、TMS320C3xTMS320C3x、TMS320C54xTMS320C54x系列系列DSPDSP只提供异步只提供异步存储器接口,所以它们存储器接口,所以它们只能与异步存储器直接接口只能与异步存储器直接接口,如果,如果想要与同步存储器

23、接口,则必须外加相应的存储器控制器想要与同步存储器接口,则必须外加相应的存储器控制器,从电路的复杂性和成本的考虑,一般不这么做。,从电路的复杂性和成本的考虑,一般不这么做。TMS320C54x DSPTMS320C54x DSP的的外部程序或数据存储器以及外部程序或数据存储器以及I/OI/O扩展扩展的的地地址和数据总线复用址和数据总线复用,完全,完全依靠片选和读写选通配合时序控依靠片选和读写选通配合时序控制制完成外部程序存储器、数据存储器和扩展完成外部程序存储器、数据存储器和扩展I/OI/O的的操作操作。36首都师范大学信息工程学院TMS320C54x DSPTMS320C54x DSP在访问

24、存储器时,是由控制信号在访问存储器时,是由控制信号/MSTRB/MSTRB 和和R/R/W/W 控制下进行的;如果访问程序存储器空间,则还控制下进行的;如果访问程序存储器空间,则还有有/PS/PS信号;如果是访问数据存储器空间,则还有信号;如果是访问数据存储器空间,则还有/DS/DS信信号。而在访问号。而在访问I IO O口时,则在控制信号口时,则在控制信号/IOSTRB/IOSTRB和和R R/W/W 的作用下进行。的作用下进行。R/R/W/W信号控制访问的方向。信号控制访问的方向。37首都师范大学信息工程学院在选择外部存储器时在选择外部存储器时1 1、要考虑到存储器存取时间的问题。要考虑到

25、存储器存取时间的问题。 对于快速的存储器,即存取时间对于快速的存储器,即存取时间20ns20ns的器件,可以直的器件,可以直接与接与TMS320C54xTMS320C54x系列系列DSPDSP接口;而对于慢速存储器器件,接口;而对于慢速存储器器件,则则TMS320C54x DSPTMS320C54x DSP在访问时需要插入等待状态。在访问时需要插入等待状态。2 2、存储器容量问题,外部存储器的容量应该由系统需求决存储器容量问题,外部存储器的容量应该由系统需求决定,在选择芯片时应尽量选择内部容量大的芯片。定,在选择芯片时应尽量选择内部容量大的芯片。3 3、数据总线位数问题数据总线位数问题。 在系

26、统设计时,尽量选用与在系统设计时,尽量选用与DSPDSP芯片相同数据总线位数的芯片相同数据总线位数的外部存储器,这样有助于简化软件设计,如外部存储器,这样有助于简化软件设计,如TMS320C54x TMS320C54x DSPDSP采用采用1616位数据总线,选择时要尽量选用位数据总线,选择时要尽量选用1616位的外部存位的外部存储器。储器。38首都师范大学信息工程学院一、RAM接口设计根据系统设计需要,外扩根据系统设计需要,外扩RAMRAM可用来做数据存储器,也可可用来做数据存储器,也可用来做程序存储器,如程序代码大于用来做程序存储器,如程序代码大于16k16k或或32k32k时,常常时,常

27、常需要进行外部扩展。需要进行外部扩展。39首都师范大学信息工程学院TMS320C5416TMS320C5416与与IS61LV25616AL-10TIS61LV25616AL-10T的连接示意图的连接示意图40首都师范大学信息工程学院二、FLASH接口设计FLASHFLASH接口的设计比较简单,这里介绍一种接口的设计比较简单,这里介绍一种SSTSST公司的公司的FLASH(SST39VF400A)FLASH(SST39VF400A)与与TMS320C5416 DSPTMS320C5416 DSP的接口连接。的接口连接。SST39VF400ASST39VF400A是是256K256K16bit1

28、6bit的的FLASHFLASH存储器,存储器,工作电压为工作电压为3.3V3.3V,可以直接与,可以直接与TMS320C5416 DSPTMS320C5416 DSP相连。访问时间是相连。访问时间是70-90ns70-90ns。41首都师范大学信息工程学院42首都师范大学信息工程学院1.DSP与与FLASH的硬件连接图的硬件连接图2.DSP与与FLASH的软件连接的软件连接nDSP对对FLASH的读操作由的读操作由DSP上电后的自举程序上电后的自举程序控制。控制。nDSP对对FLASH的写操作:将用户所编写的的写操作:将用户所编写的DSP程程序写入序写入FLASH,供供DSP上电调用。上电调

29、用。要想使用要想使用FLASHFLASH存储器,用户需要存储器,用户需要通过向特定地址中写入通过向特定地址中写入特定的指令序列,通过这些命令用户即可启动内部写状态特定的指令序列,通过这些命令用户即可启动内部写状态机机,从而实现,从而实现FLASHFLASH自动完成指令序列要求的内部操作,自动完成指令序列要求的内部操作,包括:复位、整片擦除、块擦除、扇区擦除、操作字写入包括:复位、整片擦除、块擦除、扇区擦除、操作字写入等。等。通常,在对通常,在对FLASHFLASH进行编程之前,必须将进行编程之前,必须将FLASHFLASH中待写的区中待写的区域进行擦除,然后才能进行编程操作。域进行擦除,然后才

30、能进行编程操作。 FLASHFLASH内部的编程或擦除算法可自动完成编程或擦除操作内部的编程或擦除算法可自动完成编程或擦除操作,但必须了解其内部的操作检测机制,以便知道操作是否,但必须了解其内部的操作检测机制,以便知道操作是否完成或正确。即,完成或正确。即,每次对每次对FLASHFLASH发出操作命令后,必须等发出操作命令后,必须等到到FLASHFLASH完成本次操作才能发送下一个操作命令。完成本次操作才能发送下一个操作命令。44首都师范大学信息工程学院7.3 Flash擦写擦写45首都师范大学信息工程学院FLASH写入检测操作流程:以数据位以数据位D6D6判断操作完成与否,说明判断操作完成与

31、否,说明TMS320C5416 DSPTMS320C5416 DSP对对SST39VF400ASST39VF400A写操作的具体过程,其它操作过程与该过程写操作的具体过程,其它操作过程与该过程基本相同。基本相同。VoidFlash_Program(uint*Ad,uintDA)/Ad为编程地址,DA为编程数据#defineOFFSET0 x8000uint*Ad_Temp,Temp1,Temp2;/定义临时地址指针和数据变量Ad_Temp=(uint*)(0 x55555+OFFSET);/第一个写周期*Ad_Temp=0 x00AAH;/给地址0 x5555,写数据0 x00AAHAd_Te

32、mp=(uint*)(0 x2AAA+OFFSET);/第二个写周期*Ad_Temp=0 x0055H;/给地址0 x2AAA,写数据0 x0055HAd_Temp=(uint*)(0 x5555+OFFSET);/第三个写周期*Ad_Temp=0 x00A0H;/给地址0 x5555写数据0 x00A0*Ad=DA;/给编程地址写编程数据46首都师范大学信息工程学院Again;Temp1=*Ad&0 x0040;/两次读D6(ToggleBit)Temp2=*Ad&0 x0040;If(Temp1!=Temp2)/判断是否命令执行结束,否则继续读ToggleBitgotoAgain;需要注意

33、的是,在DSP将数据写入FLASH之前,只有先删除数据所在块,然后才能重新写入。擦除和写操作之前都要执行表7.6所示的相应命令字序列。而其前提是FLASH地址在DSP中是可见的。47首都师范大学信息工程学院见教材P161表7.6TMS320C5416 DSPTMS320C5416 DSP如何实现如何实现对外部对外部FLASHFLASH进行操作进行操作(即地址映(即地址映射方式)射方式)TMS320C5416TMS320C5416在加电后是在加电后是以数据空间来寻址以数据空间来寻址FLASHFLASH的,只能的,只能寻址寻址80008000FFFFHFFFFH外部地址范围的数据。外部地址范围的数

34、据。在在MP/MC=1MP/MC=1和和OVLYOVLY1 1的情况下,地址的情况下,地址5555H5555H和和2AAAH2AAAH是位是位于于TMS320C5416 DSPTMS320C5416 DSP内部,在外部是不可见的,因此对于内部,在外部是不可见的,因此对于写写AAHAAH到到5555H5555H和写和写55H55H到到2AAAH2AAAH的操作,其实根本的操作,其实根本未未对对FLASHFLASH进行操作。进行操作。由于由于5555H5555H和和2AAAH2AAAH中真正起作用的是中真正起作用的是A0A0A14A14位,位,A15A15A17A17位可以是任意值,于是加一个偏移

35、量位可以是任意值,于是加一个偏移量8000H8000H。则此时。则此时5555H5555H变为变为D555H,D555H,而而2AAAH2AAAH变为变为AAAAHAAAAH,在外部可见,这样在外部可见,这样就可以通过就可以通过TMS320C5416 DSPTMS320C5416 DSP对外部对外部FLASHFLASH进行操作。进行操作。48首都师范大学信息工程学院一、Bootload的过程BootloadBootload就是程序的引导加载就是程序的引导加载DSPDSP内部没有可编辑的程序存储器内部没有可编辑的程序存储器,片上的程序存储器就是,片上的程序存储器就是ROMROM存储器,它必须在复

36、位期间将外部的程序加载到内部存储器,它必须在复位期间将外部的程序加载到内部RAMRAM之后才能运行。之后才能运行。在在DSPDSP芯片内部的芯片内部的ROMROM中,固化有一段小程序,通过这段小中,固化有一段小程序,通过这段小程序初始化硬件设备、建立内存空间的映射图,最终将用程序初始化硬件设备、建立内存空间的映射图,最终将用户程序加载到户程序加载到RAMRAM中,并跳转到用户程序的入口地址开始执中,并跳转到用户程序的入口地址开始执行程序。行程序。1、MS320C54x DSP芯片内ROM的引导加载共有并行EPROM(Flash)、并行I/O、串行口、HPI口和热自举五种方式。49首都师范大学信

37、息工程学院7.4 Bootloader 设计设计TMS320C5402 DSPTMS320C5402 DSP片内片内ROMROM分配表分配表起始地址起始地址内内 容容F000HF000H预留预留F800HF800H自举引导程序自举引导程序FC00HFC00H256256字字律扩充表律扩充表FD00HFD00H256256字字A律扩充表律扩充表FE00HFE00H256256字正弦查找表字正弦查找表FF00HFF00H预留预留FF80HFF80H中断向量表中断向量表50首都师范大学信息工程学院在在BOOTBOOT程序的开始,是一小段初始化程序,其程序片段如下程序的开始,是一小段初始化程序,其程序

38、片段如下: :00000000:FF80FF80SSBX INTM ; SSBX INTM ; 屏蔽所有中断屏蔽所有中断LD #0, DP ; LD #0, DP ; 数据页指向数据页指向0 0页页STM #0FFFFH,IFR ; STM #0FFFFH,IFR ; 清空清空 IFR IFR 寄存器寄存器ORM #02b00H,ST1 ORM #02b00H,ST1 ; ; 设置设置ST1ST1寄存器,其中寄存器,其中XF=1, INTM=1, OVM=1, SXM=1XF=1, INTM=1, OVM=1, SXM=1ORM #020H, PMST ORM #020H, PMST ; ;

39、设置设置PMSTPMST,OVLY=1OVLY=1使片内使片内RAMRAM映射到程序映射到程序/ /数据区。数据区。STM #07fffH,SWWSR STM #07fffH,SWWSR ; ; 设置设置SWWSRSWWSR,等待状态为,等待状态为7 7个周期个周期51首都师范大学信息工程学院初始化程序功能是:使中断无效(INTM = 1),内部RAM映射到程序/数据区(OVLY=1),对程序和数据区均设置7个等待状态。DROM = 0,这样数据空间的0 x8000H- 0 xFFFFH映射到外部FLASH使用。随后BOOT程序开始选择BOOT方式,它是根据外部设置的不同条件来选择的,并且有一

40、个先后的次序引导加载方式的选择流程如下图52首都师范大学信息工程学院53首都师范大学信息工程学院并行加载过程:54首都师范大学信息工程学院2、自举表自举表把从把从8000H8000H(假设为(假设为8000H8000H)开始的烧录到)开始的烧录到flashflash中的代码中的代码称为称为BOOTBOOT表表(自举表),其数据存放格式已被(自举表),其数据存放格式已被BootBoot程序约程序约定好定好,格式如表格式如表7.87.8所示(见教材所示(见教材P166P166)。自举表的首地址内容是关键字(自举表的首地址内容是关键字(08AA08AA或或10AA10AA),加载程序),加载程序就是

41、根据它来判断是就是根据它来判断是1616位还是位还是8 8位加载方式;接着的两个位加载方式;接着的两个字是字是SWWSRSWWSR和和BSCRBSCR的值;第四和第五个字是程序代码执行的值;第四和第五个字是程序代码执行的入口点(即加载以后程序执行的首地址);接着是第一的入口点(即加载以后程序执行的首地址);接着是第一段代码的长度以及它段代码的长度以及它BOOTBOOT到内部到内部RAMRAM程序空间的目的地址程序空间的目的地址;紧跟着是另一段代码;依此类推,最后是;紧跟着是另一段代码;依此类推,最后是0000H0000H,这是,这是自举表的结束标志。自举表的结束标志。55首都师范大学信息工程学

42、院3、在这种并行加载的过程中,需要注意以下几点要求用户要求用户程序程序事先事先按按TITI规定的格式烧写到外部规定的格式烧写到外部FLASHFLASH中中,而,而且在且在上电时必须把上电时必须把FLASHFLASH配置在数据空间配置在数据空间;如果设计的如果设计的DSPDSP系统需要系统需要外接外接SRAMSRAM作为外部数据存储空间,作为外部数据存储空间,就会就会和和FlashFlash产生地址冲突产生地址冲突。另一方面,当程序全部从。另一方面,当程序全部从Flash BootFlash Boot到所指定的目的地址以后,用于存放程序的到所指定的目的地址以后,用于存放程序的FlashFlash

43、在系统的运行过程中就不再起任何作用。在系统的运行过程中就不再起任何作用。引导程序所能加载的用户程序最大只能是引导程序所能加载的用户程序最大只能是48K48K。如果如果在实际在实际应用中遇到应用中遇到大程序、大数据量大程序、大数据量, , 超过了这个超过了这个存储空间存储空间,用用户户就必须自己重新编写就必须自己重新编写Boot-loaderBoot-loader程序程序,这可以参考,这可以参考TMS320C54xTMS320C54x的的BootloaderBootloader程序进行编写。程序进行编写。56首都师范大学信息工程学院二、Bootload的实现1、并行引导方式的实现有两种一种是自己

44、重新编写所有引导代码一种是自己重新编写所有引导代码,并和用户程序一起烧,并和用户程序一起烧写在外部程序存储器写在外部程序存储器FLASHFLASH中,在脱机复位时,令中,在脱机复位时,令MP/MC=1MP/MC=1,这样直接从片外,这样直接从片外FF80HFF80H处开始执行自编写代码,将用户代处开始执行自编写代码,将用户代码搬移到内部或外部码搬移到内部或外部RAMRAM程序存储空间中运行,或者完全不程序存储空间中运行,或者完全不用引导程序搬移,直接在用引导程序搬移,直接在FLASHFLASH中运行用户程序,后者已不中运行用户程序,后者已不属于并行引导的范畴属于并行引导的范畴。一种是利用片内一

45、种是利用片内ROMROM自带的引导程序自带的引导程序,在脱机复位时,令,在脱机复位时,令MP/MC=0 MP/MC=0 来实现。来实现。57首都师范大学信息工程学院2、FLASH的烧写方法一种是基于专用编程器的烧写方式,一种是基于专用编程器的烧写方式,这需要把用户的这需要把用户的.out.out程序转成程序转成.hex.hex格式的加载表,然后烧录到非易失性格式的加载表,然后烧录到非易失性存贮器中,由于现在的存贮器中,由于现在的FLASHFLASH大多是贴片的,无法将大多是贴片的,无法将FlashFlash存储器等元器件从电路板上取下来单独进行编程。存储器等元器件从电路板上取下来单独进行编程。

46、专用编程器的方式已经很少采用;专用编程器的方式已经很少采用;一种是基于仿真器连接的一种是基于仿真器连接的JTAGJTAG接口的在线编程方式接口的在线编程方式,有,有的也叫在系统编程,这种在系统带电编程的方式不受时的也叫在系统编程,这种在系统带电编程的方式不受时间和空间的限制,随时随地都可进行,且产品软件版本间和空间的限制,随时随地都可进行,且产品软件版本升级容易,目前应用比较普遍。升级容易,目前应用比较普遍。58首都师范大学信息工程学院3、BOOT表的组织一种是利用一种是利用CCSCCS自带的自带的hex500.exehex500.exe应用程序来实现应用程序来实现BOOTBOOT表表的数据格式的数据格式。一种是在一种是在FLASHFLASH烧写的过程中,人为组织烧写的过程中,人为组织BOOT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论