您当前的位置:五五电子网电子知识单片机-工控设备DSP/FPGA技术可在线更新应用程序代码的DSP自举模块分析 正文
可在线更新应用程序代码的DSP自举模块分析

可在线更新应用程序代码的DSP自举模块分析

点击数:7481 次   录入时间:03-04 11:52:58   整理:http://www.55dianzi.com   DSP/FPGA技术

  BCLKR0=1; Delaynum(20); BCLKR0=0; BFSR0=1; Delaynum(20); BCLKR0=1; Delaynum(20); BCLKR0=0; Delaynum(20); for(i=0;i<16;i++) { BDR0= (w & (0x8000 >> i)) > 0; BCLKR0=1; BFSR0=0; Delaynum(20); BCLKR0=0; Delaynum(20); } 3.2.3 USB驱动函数、FLASH读写函数 USB中断函数通过调用BLOCk_Read()函数接收来自GUI软件的代码数据,并存入TempStorage[]数组。ReadStageLength为每次所读取的文件大小,最大为64字节(一个数据块大小)。因GUI软件每次发送512字节,FLASH中每512字节为一页,故下位机中每读取512字节后写入FLASH。如下代码所示BytesRead为已读取数据的大小,当C8051F340通过USB接收了一页FLASH可容纳最大数据512字节(Block_PR_Page为每页FLASH可容纳最多数据块= 512/64)或者GUI软件发送的最后一组数据,写入FLASH。PageInDICes[0]为下位机自举的基指针,指向FLASH中0x2000开始的地址,其中0x2000~0x2200用来存放接收数据信息(大小、所含数据块量);PageIndex为当前操作的Flash相对于基页0x2000的偏移量,PageIndICes[0]+PageIndex*0x200指向Flash当前操作地址,自举程序代码从0x2200地址处开始。 BytesRead+= Block_Read((BYTE*)(&TempStorage[BlockIndex]), ReadStageLength); BlockIndex++; if((BlockIndex==(Block_PR_Page))||(BytesRead==BytesToRead)) { Page_Erase((BYTE*)(PageIndices[0]+PageIndex*0x200)); Page_Write((BYTE*)(PageIndices[0]+PageIndex*0x200)); PageIndex++; } 4 实验验证 为测试该模块的可行性,以TMS320VC54x目标板为基础,设计了如下实验进行验证。 实验第一步首先需要验证GUI软件控制代码格式转换,和移植的可行性。利用DSP开发软件CCS编写一段LCD显示程序并编译生成.out文件。通过JTAG仿真后,LCD上显示“DSP自举模块液晶显示自举测试”等信息。之后去除JTAG进行自举试验。通过USB将PC机与C8051F340相连。待GUI软件成功获取USB器件编号并打开USB器件后,设置自举文件路径,点击 “下载更新DSP自举代码”按键开始更新代码。图8、图9为试验结果。 图8为GUI前面板的实验数据。图中两个USB检测灯在USB连接成功并被功打开时被点亮表明。状态显示区中的“文件转换执行信息”由GUI调用Hex500.exe软件之后产生、“DSP自举代码文件路径”为所转换生成的.dat文件路径,通过路径转换为字符串产生、“DSP自举代码文件内容”,由“读取文本文件VI”读取生成的.dat文件产生。实验数据与设想的一致,表明该模块已成功完成了程序代码的格式转换。最下方的灯被点亮并显示“DSP自举代码下载更新完成”表示GUI软件成功的通过USB将代码数据更新给C8051F340,DSP自举代码更新完成。  

  图9为GUI软件控制DSP代码文件格式转换部分的框图在高亮运行模式下截取的数据。探针[1]为转换完成后所获得.dat文件的路径,探针[2]为所得到.dat文件的大小。表明上位机已成功完成代码文件格式的转换得到.dat格式文件  

  第二步需验证C8051F340利用FLASH存储DSP代码并通过标准串行自举控制DSP自举的可行性。实验第一步成功之后,将C8051F340与DSP通过标准串行总线,C8051F340自动控制DSP开始自举。图10为C8051F340在获取GUI软件传送的更新代码并成功通过标准串行自举控制完成DSP自举的实物照片。LCD显示数据与通过JTAG仿真情况下完全一致,证明了该DSP自举模块的有效性,且该自举模块可实现一键更新DSP代码文件,方便快速。  

  5 结语 本文提出了一种可在线更新程序的自举模块。该模块在GUI软件中将DSP程序代码进行格式转换并通过利用USB将代码数据导入C8051F340单片机的片内FLASH中存储。C8051F340通过标准串行总线控制DSP进行自举。利用该模块,用户更新DSP程序代码可完全在计算机上操作,无需了解自举的具体细节,实现一键更新代码;同时该自举模块可在短短数秒内完成代码更新,从而大大减轻了开发难度和缩短开发周期。另外,由于单片机FLASH存储量为64kb,除去单片机的程序占用空间,从0x2200地址开始,共可存储55.5kb左右的DSP程序代码,满足大多数中小DSP应用程序的自举需求,因此该系统可广泛用于程序代码不超过55.5k字节的DSP系统中。



上一页  [1] [2] 


本文关键字:在线  应用程序  DSP/FPGA技术单片机-工控设备 - DSP/FPGA技术

《可在线更新应用程序代码的DSP自举模块分析》相关文章>>>