您好,欢迎访问三七文档
LSDMCUTECHNOLOGYCO.,LTD.利尔达单片机技术有限公司公司地址:杭州市登云路425号杭州利尔达科技大厦Tel:0571-88800000Fax:0571-89908519第1页共214页第1章系统的复位、中断、工作模式和系统控制模块系统控制模块在不同的器件里集成了不同的特性。它提供一些公共服务功能,如设备器件的ID号,也有一些TI自己的功能。下面概括了SYS的一些基本功能:l上电复位(BOR/POR)功能l上电清除(PUC)功能lNMI(SNMI/UNMI)事件来源选择和管理l地址译码l提供通过JTAG邮箱(JMB)的用户数据交换机制l引导装载区(BSL)的引导机制l配置管理(见具体设备描述)l为复位和NMIs提供中断向量发生器l看门狗定时器(WDT_A)LSDMCUTECHNOLOGYCO.,LTD.利尔达单片机技术有限公司公司地址:杭州市登云路425号杭州利尔达科技大厦Tel:0571-88800000Fax:0571-89908519第2页共214页1.1系统控制模块介绍SYS模块负责整个系统中各种模块之间的相互作用和关系。SYS提供的功能对于模块本身不是固定的。地址译码,总线仲裁,中断事件管理及优先级排序和复位发生器就是SYS提供的众多功能中的一些。1.2操作原理SYS模块提供一系列可以由应用程序使用的服务。然而其中一些服务可以被禁止以满足代码保护的需要。在个别的芯片中,当一些通用功能未被使用时,与此功能相关的一些位将被定义为保留位;这可以最大限度的允许MSP430系列的设备与SYS模块的兼容性。1.2.1设备描述符每个MSP430可以在存储器中提供一种数据结构,它允许对芯片定义一个明确的标识。在一个给定的芯片中,芯片的自适应SW工具和库需要可用模块的更加详细的描述。SYS模块提供这些信息,自适应SW工具和库可以使用这些信息来清楚地识别芯片型号,和这个芯片中的的所有模块/功能。设备描述符的有效性可以通过CRC(循环冗余校验)来检验。1.2.1.1设别设备类型地址00FF0h的值用来识别设备的系列号。以80h开始的值是一个层次结构,它由信息块和一个包换各种描述的TLV(标记长度值)结构组成。该信息块包含设备ID号,版本号,启动代码的SW版本号,以及其它的制造商和和相关工具的信息。描述符包含关于有效外设,子类型和地址的信息。它允许为操作系统建立自适应的HW设备。如果在地址00FF0h读出为非80h的值则表示该设备为早期的系列,包含一个开始于地址0FF0h的设备描述表。1.2.1.2MSP430校准描述MSP430有一个用来校验数据的通用数据结构。该结构开始于包含长度的预定义的头,从该长度可以提取一些像芯片ID,硬件版本号等的一些基本信息,接着是一个包含芯片所需要的用于各种校正信息的灵活的TLV结构。1.2.2启动代码启动代码常常在BOR之后被执行。启动之后首先进行振荡器和参考电压的校验。另外,它还校验现有的指示当前客户定义的启动引导装载区(BSL)的信号(预定义的数据模式)。1.2.3启动引导装载区(BSL)MSP430的BSL是一个特定的BSL进入机制发生后执行的一段代码。它允许用户在前期的项目规划、中期的生产以及后期的服务中访问430微控制器内的内存。所有被映射的存储器资源,包括可编程存储器器(flash存贮器),数据存储器器(RAM)和外设,均可根据需要通过BSL进行修改。用户可以根据具体的需要定义自己的BSL代码(特定的芯片类型),来防止flash的擦除和未经授权的访问。LSDMCUTECHNOLOGYCO.,LTD.利尔达单片机技术有限公司公司地址:杭州市登云路425号杭州利尔达科技大厦Tel:0571-88800000Fax:0571-89908519第3页共214页TI提供一个基本的内置BSL程序。它通过RS232接口支持常用的UART协议。要启用BSL时需要使用器件的特定引脚来启动一个特定的BSL启动时序。如果需要响应特定的功能请求则需要一个特定的命令序列。通过持续执行一个用户自定义的编程地址操作或者复位就可以退出BSL装载区。用户还可以自定义一个口令来防止通过BSL非法访问MSP430的内存。1.2.4JTAG邮箱系统(JMB)SYS模块通过JTAG接口来交换用户数据。建立JTAG邮箱系统的用意是希望在调试、编程、和测试的过程中有一个接口可以直接访问CPU,它对所有的430系列的器件是相同的,并且它几乎不占用用户的应用资源。选用JTAG接口的原因是它兼容所有的430器件,对调试、编程和测试来说它是一个独立的资源。JTAG邮箱系统的应用:I.快速的flash编程J.为使用安全熔丝提供软件进入口令K.实时的数据交换(RTDX)1.3存储器映射的使用和功能下图是MSP430F5438的内存映射图。尽管不同的器件的地址范围不同,但整体上是相同的。(1)对于SYS和PMM,访问权限是可编程的。(2)在空闲的内存地址中,访问数据总线将得到03FFFh值。1.3.1空白的存储器空间访问空白的存储器空间将产生一个NMI中断。从空白地址读得到的结果是3fffh。在CPU取指令过程中,它就相当于JMP$。访问空白的外设空间将产生一次PUC。启动代码执行之后,访问空白外设空间就和访问空白LSDMCUTECHNOLOGYCO.,LTD.利尔达单片机技术有限公司公司地址:杭州市登云路425号杭州利尔达科技大厦Tel:0571-88800000Fax:0571-89908519第4页共214页内存地址一样,将会产生一次NMI。1.3.2JTAG的关闭机制在BOR之后01BFEh处的值将被当成复位向量去启动引导代码。引导代码查询了BSL的标志,应用程序可以根据这个标志选择关闭还是打开JTAG的调试。1.3.3SYS的中断向量发生器SYS模块集中了所有用户NMI(UNMI)源、系统NMI源及其他模块的BOR/POR/PUC源。他们合并成三个中断向量。中断向量寄存器SYSRSTIV,SYSSNIV,SYSUNIV用来确定哪个标志位请求了中断服务要求或者引发了BOR/POR/PUC复位。当最高优先级的中断发生时,并且其使能,会在相应的寄存器SYSRSTIV、SYSSNIV、SYSUNIV产生一个数字偏移量。这个偏移量被直接加到程序计数器(PC),形成一个分支选择进入中断处理程序。关闭中断不会影响SYSRSTIV、SYSSNIV、SYSUNIV寄存器的值。读寄存器SYSRSTIV、SYSSNIV,SYSUNIV,会在这些寄存器中自动复位挂起最高优先级的中断标志。如果有另外的中断标志位置位,在响应原先的中断服务后被立即响应。对寄存器SYSRSTIV、SYSSNIV、SYSUNIV的写操作将会自动复位相应寄存器里的所有挂起的中断标志位。1.3.3.1SYSSNIV软件示例下面的软件示例是建议使用寄存器SYSSNIV的方法。SYSSNIV里的值被加到PC指针里,自动跳转到相应的中断服务程序。对于SYSRSTIV和SYSUNIV,效果类似。下面是一个应用在MSP430x5xx器件的一个例子。中断向量的优先级在具体的器件中可能不一样,要具体参考它的数据手册。所有的向量应该用符号编码,可以很方便代码移植。SNI_ISR:ADD&SYSSNIV,PC;AddoffsettojumptableRETI;Vector0:NointerruptJMPSVML_ISR;Vector2:SVMLIFGJMPSVMH_ISR;Vector4:SVMHIFGJMPDLYL_ISR;Vector6:DLYLIFGJMPDLYH_ISR;Vector8:DLYHIFGJMPVMA_ISR;Vector10:VMAIFGJMPJMBI_ISR;Vector12:JMBINIFGJMBO_ISR:;Vector14:JMBOUTIFG...;Task_EstartshereRETI;ReturnSVML_ISR:;Vector2...;Task_2startshereRETI;ReturnSVMH_ISR:;Vector4...;Task_4startshereRETI;ReturnDELL_ISR:;Vector6...;Task_6startshereRETI;ReturnDELH_ISR:;Vector8...;Task_8startshereRETI;ReturnVMA_ISR:;VectorALSDMCUTECHNOLOGYCO.,LTD.利尔达单片机技术有限公司公司地址:杭州市登云路425号杭州利尔达科技大厦Tel:0571-88800000Fax:0571-89908519第5页共214页...;Task_AstartshereRETI;ReturnJMBI_ISR:;VectorC...;Task_CstartshereRETI;Return1.4中断中断的优先级是固定的,并且是以各个模块的连接链来排列定义的,如图1-1所示。中断的优先级决定了当系统同时有多个中断时,哪一个中断先执行。有三种类型的中断:L.系统中断M.不可屏蔽中断(NMI)N.可屏蔽中断图1-1中断优先级1.4.1不可屏蔽中断(NMI)MSP430x5xx系列支持两级的不可屏蔽中断(NMI),系统不可屏蔽中断(SNMI)和用户不可屏蔽中断(UNMI)。一般来说,不可屏蔽中断不能被一般的中断使能位(GIE)所屏蔽的。用户NMI源只能通过独立的中断使能位(NMIIE、ACCVIE、OFIE)来使能.当一个用户NMI中断响应后,其他的和与它处于同一优先级的NMI被自动禁止,这样来防止同一优先级的NMI发生嵌套。程序执行的开始地址存储在不可屏蔽中断向量里,如表1-2所示。为了兼容早期msp430系列的所开发的软件代码,软件无需重新使能用户NMI源。NMI中断源的方框示意图如图1-2所示。发生用户NMI中断的中断源如下:O.当RST/NMI配置成NMI模式时的一个边沿信号P.发生晶体失效Q.对Flash存储器的非法访问发生系统NMI中断的中断源如下:R.电压管理模块(PMM)SVMH/SVMH供应电压故障LSDMCUTECHNOLOGYCO.,LTD.利尔达单片机技术有限公司公司地址:杭州市登云路425号杭州利尔达科技大厦Tel:0571-88800000Fax:0571-89908519第6页共214页S.PMM超时T.对空白内存的访问U.JTAG邮箱事件1.4.2SNMI时序连续的系统NMI中断发生的频率高于它们被处理的速度时(中断风暴),这时允许主程序在系统NMI中断处理RETI指令结束后和下一次系统中断处理程序开始前执行一条指令。在这种情况下连续的系统NMI是不能被用户NMI所中断的。这就避免了在高频率的系统NMI中断下产生封锁操作。图1-2带可重入保护的NMI中断1.4.3可屏蔽中断可屏蔽中断由具有中断能力的外设所产生。每一个可屏蔽中断源可以通过中断使能位单独所禁止,也可以通过状态寄存器(SR)中的总中断使能位(GIE)所禁止。每个独立外设中断将在各自的模块章节中进行具体的讨论。中断处理当有一个外设中断请求发生后,并且外设中断使能位和GIE位都置位的情况下,中断服务将被调用。而不可屏蔽中断只需相应的使能位被置位就可以了。1.4.4.1中断响应从检测到中断请求到第一条中断服务子程序指令被执行需要延迟时间6个时钟周期,图1-3所示。中断的逻辑执行过程如下:1.完成当前正在执行的指令。2.将指向下一条指令的PC指针压入堆栈。3.程序状态寄存器(SR)压入堆栈。LSDMCUTECHNOLOGYCO.,LTD.利尔达单片机技术有限公司公司地址:杭州市登云路425号杭州利尔达科技大厦Tel:0571-88800000Fax:0571-89908519第7页共214页4.当执行完最
本文标题:F5438中文全集
链接地址:https://www.777doc.com/doc-6241760 .html