S12系列MCU通用编程系统的改进设计_第1页
全文预览已结束

下载本文档

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

文档简介

1、s12系列mcu通用编程系统的改进设计通信流程的改进提高了囫囵编程系统的通信速率。进一步分析编程系统,从jm60发送数据到目标芯片,内存需要的时光在囫囵程序下载过程中占用比例比较大;而在1位发送过程中,7所示,从位开头时刻到目标芯片读取时刻的周期间隔是固定的1013个目标周期,但位与位之间的发送存在时隙。在原有编程系统的字节发送代码中,发送位1和位0是两个单独的子程序,需要通过推断来分离调用两个子程序。所用法的bcc、jsr、bra都是周期较长的命令,且每发送1位就调用1次jsr命令,就有一次rts命令返回,需要周期较多。在改进编程系统的字节发送代码中,将位1和位0的发送代码很好地结合在 1个

2、子程序之内,缩短了位与位之间发送的时隙。编程系统通过bdm硬件指令write_word发送1个字,需要调用5次字节发送程序。发送的5字节分离是1字节的指令操作码、2字节的内存地址、2字节的数据,同时硬件指令wrte_word的完成还需要延迟150个编程调试器时钟周期。所以如果从编程调试器发送100 kb的数据到目标芯片内存,其所需要花费的时光计算如下:在jb8的编程系统中,发送1个字节的周期为:2+(1+3+5+4+4+4+3+3+4+7)×8+4=310,100 kb的数据需要(100×1024÷2)个字×(5×310+150)个周期

3、7;(3×106)=2901 s。在改进的编程系统中,发送1个字节的周期为:2+2+4+3+1+1+2+4+(1+3+6+88)×8+2+4=809,100 kb的数据需要(100×1024÷2)个字×(5×809+150)个周期÷(24×105)=895 s。而jm60缓存中的数据是以延续存放的形式写入目标芯片内存的,因此可以选用bdm固件指令write_next,每次执行指令时寄存器x的值会先自动加 2,然后将1个字写入到x所指向的地址。所以只需要在写入开头时,对寄存器x举行一次地址赋值操作,将目标芯片内存地址

4、减2处的地址值赋给x即可,后续数据可以挺直调用write_next指令写入,不需要再发送地址信息。采纳write_next写1个字需要发送3个字节(1个字节的指令操作码、2个字节的数据),它的完成需要延迟32个编程调试器时钟周期。因而从编程调试器发送100 kb的数据到目标芯片内存需要花费的时光计算如下:(100×1024÷2)个字×(3×809+32)个周期÷(24×106)=525 s改进后的编程系统在编程调试器内存与目标芯片内存的数据通信速度上提高了55倍,大大提高了编程调试器的工作效率。222 编写目标芯片接收程序优化通信子程

5、序代码之后,从编程调试器内存向目标芯片内存发送数据的时光大大削减,但是用法bdm指令,除了发送2个字节的用户数据之外,还需要发送额外的字节,并且指令的完成都需要较长的延迟时光。因为bdm采纳单线引脚串行通信,因此可以自己编写一段模拟bdm串行通信的程序,目标芯片只从编程调试器接收用户目标代码,提高通信速度。另外将jm60的引脚ptbdo与目标芯片pta0引脚相连来传送数据,以便数据通信过程不影响bkgd引脚。过程如下:根据编程调试器发送1位时序,在编程调试器方编写以ptbd0为发送引脚的字节发送代码;根据目标芯片接收1位的过程,编写目标芯片以pta0为接收引脚的字节接收代码,进而编写好目标芯片

6、接收程序;将自定义的目标芯片接收程序编译成目标代码,通过基本的bdm指令发送到目标芯片内存;执行目标芯片中自定义的接收程序,将接收到的字节写入目标芯片指定的内存空间。因为目标芯片的接收程序是自己定义的,因此编程调试器不需要发送操作码与地址信息,也无需等待指令完成延迟时光。自定义的目标芯片接收程序代码量少于50字节,这部分时光很短。因而如果从编程调试器发送100kb的数据到目标芯片内存,需要花费的时光计算如下:(100×1024)个字节×809个周期÷(24×106)=3.45 s用法自定义目标芯片接收程序,在原有系统编程调试器内存与目标芯片内存的数据通信

7、速度上提高了8倍多。3 编程系统的通用性设计编程系统的通用性在于两点:一是可以按照不同型号的目标芯片猎取相应的mcu参数举行操作;二是可以按照不同型号mcu的总线频率调用相应的发送接收代码。31 mcu信息的存储s12系列mcu有无数型号,而且将来还会推出更多新型号。表1给出了数据库中mcu的信息。不同型号mcu属性参数不同,包括内部ram及 flash的大小和起始地址。这些参数在对目标芯片举行擦除、写入及调试操作时极为重要。为了便于通用性方面的设计,在pc方数据库中保存了每款mcu的相关信息,在用户建立工程的时候就可以猎取这些字段信息,对目标芯片举行正确的操作。32 目标芯片总线频率的测定不同型号的mcu总线频率不一样,因此编程系统的通用性还在于能使编程调试器自动猎取目标mcu的通信频率,使之适应不同型号的mcu。在hcs12中有一条比较特别的bdm命令sync,它用于探测目标mcu的bdm接口的通信频率。该命令没有详细的操作码,因此不要求知道详细的目标芯片bdm通信频率。表2给出了用法sync命令探测目标芯片bdm通信频率的过程。编程调试器是通过拉低起码128个目标芯片时钟周期来哀求sync命令的,为了能够测量全部的s12系列芯片bdm通信频率,需要设置一个缺省计时参数。当目标芯片总线频率低于1 mhz的时候,flash的擦除写入

温馨提示

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

最新文档

评论

0/150

提交评论