位工业级通用单片机spmc75f2413a数据手册_第1页
位工业级通用单片机spmc75f2413a数据手册_第2页
位工业级通用单片机spmc75f2413a数据手册_第3页
位工业级通用单片机spmc75f2413a数据手册_第4页
位工业级通用单片机spmc75f2413a数据手册_第5页
已阅读5页,还剩211页未读 继续免费阅读

下载本文档

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

文档简介

V1.1–Feb.14,19,InnovationFirstRoadScienceParkHsin-Chu 300R.O.C.:886-3-578-6005Fax:886-3-578-4418E- 供之信息相信为正确且可靠之信息,但并不保证本文件中绝无错误。请于向凌阳有限公司提出订单前,自行确定所使用之相关技术文件及规格为之版本。若因贵公司使用本公司之文件或产品,而涉及第三人之专利或著作权等智能财之应用及配合时,则应由贵公司负责取得同意及,本公司仅单纯贩售产品,上述关于同意及,非属本公司应为保证之责任。又凌阳 目简 特 功能框 引脚描 80-PINQFP/64-PINQFP封装信号描 封 80-PinQFP封 64-PinQFP封 功能描 CPU内 空 Flash的组织和控 CPU和外设控制寄存器列 时钟发生模 时钟RC振荡 省电模 中 复位管 通用I/O端口 定时器 模 PDC定时器0和定时器 PDC定时计数的操 侦测位置改变(PDC)模式操 TPM定时器2模 TPM定时器2的计数操 MCP定时器3和定时器4模 MCP定时器3和定时器4计数操 比较匹配定时 时基模 串行通讯接 SPI标准外设接 SPI的运 通用异步串行通讯 模/数转换 看门狗定时器 电气特 极限参 封装/引脚位 封 80PIN 64PIN 订货信 简SPMC75F2413A是由凌阳科技公司设计开发的工业级的16位微控制器,其采用凌阳公司自主知识的’nSP™(发音为micro-n-SP)微处理器,集成了多功能I/O口、同步和异步串行口、ADC、定时计机驱动位置侦测接口、两相增量编接口、能产生各种电机驱动波形的发生器等特殊硬件模块。利用这些硬件模块支持,SPMC75F2413A可以完成诸特内32KW(32K×16)2KW(2K×16)40~85 通用异步串行通讯接口标准接口

试和 能够产生三相六路可编程的波形(中提供 功能框ICESC64x16Embedded32Kx16EmbeddedCLK200ROS2Kx163-1SPMC75F2413A引脚描80-PinQFP64-PinQFP注意:I=输入,O=输出,P=PL=下拉,PH=管脚名管脚类描11I调试模式使3.3V:仿真/编程模2-仿真时钟输入(3V3-仿真的地址/数据复用脚,可用做输入或输出 42QFP64封装为IOD0/仿真时钟输入(3VIO)功能复用QFP80封装53QFP64封装为IOD1/仿真的地址/数据复用脚功能复用QFP80封装6475I外部复869--空--空789IOB2MCP3D或电机驱动U1NIOB5MCP3AU1IOB6/外部故障保护输入脚IOB7/过载保护输入脚IOB8PDC0输入/IOB9PDC定时器0输入/IOB10PDC0输入/IOB11/SPI时钟输 数据输入/异步通讯串行数据接收口IOB13/SPI数据输出/异步通讯串行数据发送口IOA10TPM2输入/IOA11/外部时钟AIOA11/外部时钟BIOA13/外部时钟CIOA14外部时钟D管脚IOA15/连接触发A/D转换的外部触发I电源I接地IOA0或模/数转换信道0的模拟量输IOA1或模/数转换信道1的模拟量输IOA2或模/数转换信道2的模拟量输IOA3或模/数转换信道3的模拟量输IOA4或模/数转换信道4的模拟量输IOA5或模/数转换信道5的模拟量输IOA6或模/数转换信道6的模拟量输IOA7或模/数转换信道7的模拟量输I模/数转换参考电I模拟I模拟电O外接电容引脚,接10µF-16VI在石英晶振模式下3-6MHz外部晶振O3-6MHz外部晶振输I接地空IOC0/异步通讯串行数据接收口IOC1/异步通讯串行数据发送口IOC2/外部中断输入IOC3/外部中断输入IOC4/蜂鸣器输IOC6/TPM1输入/IOC7/TPM1输入/IOC8/过载保护输入脚IOC9/外部故障保护输入脚IOC10MCP4AU2IOC11MCP4BV2IOC12MCP4CW2IOC13MCP4DU2NIOC14MCP4EV2NIOC15MCP4FW2N封

功能描CPUSPMC75F2413A16位微处理器’nSP™(发音为micro-n-SP)为内核,其具16位数据总线/22位地址总4M(8M64页,每页64K1316位寄存5个通用寄存器(R1-4个二级寄存器(SR1-3个系统寄存器寄存器10个中断1FIQ中断向

8IRQ中断向1个软件中断向支持中断嵌套模立即数寻址直接寻寄存器寄存器间接寄存器间接增量寻变址寻多重间接寻址(入栈三种乘法模式有符号x有符号有符号数x无符号数,无符号数x无符号有4位内积保护位,防止出现计算溢1位除需要进行16次连续除(DIVS,DIVQ)操作产生商数32位除16位操—面向所有单元、寄存器的位测试/设置/清空空间分SPMC75F2413A空间分为三部分:SRAM、外设控制寄存器和Flash。2K-WORD的SRAM,用于模块,内32K-WORD的Flash用于存贮程序。存储空间分配如图5-1所示,详细信息见表5-1:2K2KX16片内FlashFlash

数据规格化操作32位移位—用两次移位指令实现32位移位操MR寄存器执行长跳转指MR寄存器执行长调用指空操DS段地址指CPU内部标 指

0x0000-0x7000-0x7FFFFlash信息区:Flash通用区:5-1

映映SPI通讯控保电机控制中的定时器 功能控比较匹配定时器控32KW10000~简SPMC75F2413A的Flash分为两区:信息区和通用区,在同一时间只能其中的一区。信息区包64个字,寻址空间为0x8000~0x803F。地址0x8000P_System_Option,其余空间可由5-2,信息Flash被划162K字,每页再分为8个块,共可分成128个块。只有位于00F000~地址。如果CPU了这部分地址,就会发生地映2KW系统控控保I/O端口中断控时基控定时器保UART通讯保

00F7FF区域的页面在自由运行模式下可以设置为只块进行擦写操作。Flash的页和块的关系见图5-3.。SPMC75F2413A的地址总线为[21:0]位,因此可以寻址4M×16空间。64::::5-21681682Kx2Kx2Kx2562562KxFlashFlash模块有两个控制寄存器:P_Flash_RW($704D)P_Flash_Cmd($7555)。Flash模块的所5-1】14#define#define #define (0x4000>>P_Flash_RW->W=块擦单字写连续多字写第一第二[P_Flash_CMD][块擦单字写连续多字写第一第二[P_Flash_CMD][P_Flash_CMD][P_Flash_CMD]=第三设置擦除地写数写数第四20ms40us自动等待未写完则转向第二P_Flash_CMD0xFFFF5-2】:#define#defineCW_FlashCMD#defineCW_PageEraseP_Flash_Cmd->W=P_Flash_Cmd->W=CW_PageErase;P_WordAdr=(unsignedint*P_WordAdr=/*P_WordAdr145-3】:编程模式的例子:向地址0xF000#define//Flash#define//Flash程序命P_Flash_Cmd->W=P_Flash_Cmd->W=P_WordAdr=(unsignedint*(unsignedint*)P_WordAdr=/*0x1234首先执行Flash块擦除或者页擦除命令,这样就可以将数据从0“擦除”为1。#define//Flash块命#define//Flash连续编程命#define//Flash连续编程的结束P_Flash_Cmd->W={P_Flash_Cmd->W=P_WordAdr=(unsignedint//编程地址在i*(unsignedint*)P_WordAdr=//将uiData写入P_WordAdr}/*EndForLoopP_Flash_Cmd->W=例5- Flash器的连续编程模P_Flash_RW(0x704D):内嵌的Flash控制置14页为只读,或在自由运行模式下可读可写

该寄存器写入$5a5a,然16CPU时钟周期内再RRRRRRR00000000保保保保保保保RRRRRRRR11111111保保保保保保保保保BankF000h-F7FFh控0=读/ 1=只B13-保 (0x7555Flash控制寄Flash

用于进入Flash命令模式。详见表5-2.WWWWWWWW00000000WWWWWWWW00000000P_System_Option0x8000):0101010101010111保B15-校验方式,在仿真或烧录时写入信息保护使用通保低电压复位功能使 1:看门狗 1:时钟源0:外部时钟输入/晶体振荡器输连接到脚1:晶振输入,连接到XTAL1、XTAL2脚之都可擦除。假设信息区的信息保护选项有效,SPMC75F2413A在仿真或烧录时就不能从该区下,通过仿真环境,虽不可Flash的通用区,但可写)SRAM。如表5-3所示为在通用区和仿真模式下Flash/SRAM可列表。图5-4为Flash的信息保护表5-3通用模式和仿真模式下Flash/SRAM可列NormalSecuritySecurityICEICESecurityOn5-4Flash启动引导序Flash信息区的第一个选项字(=0x8000)。上电后,系统复位信号有效,直到上电复位计数器计满16384个辅助时钟周期后复

1638416384200KHzPower-on

5-5由堆栈指针(SP)来指示SRAM用于堆栈和各种数据的。堆栈用于存

为自顶向下,称 FILO(先进后出)结构,堆栈的地在SRAM中的数据是由用户设定的,可以直接、间接或用指针。需要注意

是堆栈区与数据区千万不能交迭,否则会发生程序复位中断向0xFFF5~0Xffff的空间用于复位和中断向量。复位时,强制程序计数器(PC)指向地址0xFFF7,0xFFF7即为“复位地址“。SPMC75F2413A10个中断向量地址,名称及地址见5-4。5-4中断地址 地址(TESTpin=CPU和外设控制寄存器CPU控制/状态寄存器(0x7006-地寄存器位——入0x551FE——该寄存器用CPU时钟状OSCSF写入“1”将清除该标—设置,必须向WDCHK写入“10101”R看门狗清除寄存器。该寄存器写 0xA005,清除看门狗定时等待模式寄存器。读出值为0x0001表明从wait状态唤醒,写wait0xA00Astandby模式(CPU关闭,PLL关闭),写入0x0001将清除standby标志E——地寄存器位该寄存器决定着省电模式下的唤———首先,向P_Flash_RW0x5A5A,然后在小于16个时钟周期内P_Flash_RW写入设置内嵌的Flash控制寄存器,该寄存器用于设置flashIO端口寄存器(0x7060-地寄存器复位位00A数据寄存器。读P_IOA_Data则从端口引脚处读出数据P_IOA_Data则将写入的数据输出到端口10端口A缓冲寄存器。读P_IOA_Buffer则从端口缓冲寄存器中数据,20A方向寄存器。设置IO口为输入或输出3A属性寄存器。属性的设置决定着引脚的特性:悬浮、上/下拉输40R80B数据寄存器。读P_IOB_Data则从端口引脚处读出数据P_IOB_Data则将写入的数据输出到端口引9端口B缓冲寄存器。读P_IOB_Buffer则从端口缓冲寄存器中数0B方向寄存器。设置IO口为输入或输出B属性寄存器。属性的设置决定着引脚的特性:悬浮、上/下拉输001020端口C方向寄存器。读/写向寄存器的方向向3地寄存器复位位80900端口D方向寄存器。读/写向寄存器的方向向00———PortA特殊功能使能寄存1—NNNNPortB特殊功能使能寄存20NNN——PortC特殊功能使能寄存40NN—IOA按键唤醒寄存中断和时基控制/状态寄存地功复位位00—40—PPP—P将中断源设置为IRQFIQ。只能有一个中断源设置成80EEE——按键唤醒和外部中断使能的综合设置寄80W时基复位寄90——蜂鸣器输出频率选择和输出使ADC控制/状态寄存地寄存器复位位00—N—。10——AD转换中断使能开关,手动启动AD转换,AD转换的信道选PADC—地寄存器复位位20WIOA[7:2]GPIO或模拟输入端20R10AD转换结果寄存UARTSPI控制/地功位—— 数据寄存器,在接收时还可用于标明错误状态R———接收时用于标明错误状态复——L—设置UART收/发引脚使能、停止位和奇偶校验选UART波特率设置寄存用于设置UART波特R——F——UART接受/发送状态标——LSPI模块设置寄存R——SPI发送中断使能和状态—SPI地功位———SPI接收中断使能和状态—SPI接收缓冲寄存PDC0/1定时器控制/状态寄存地功复位位0——PDC0/1、TPM2MCP3/4定时器启动/停止控制寄000—控制TIO0A、TIO0B和TIO0C引脚上的输出、输入捕获、0R—控制TIO1A、TIO1B和TIO1C引脚上的输出、输入捕获、0——使能/由TGRA比较匹配发出的AD转换请求,位置改变侦测的中TGRC输入捕获/—地功复位位—断请求、TCNT上/TGRA、TGRB、TGRC输入捕获/比较匹配——标明位置改变侦测、 上/下溢出、周期寄存器比较匹配TGRA、TGRB、 的输入捕获/比较匹——TGRA、TGRB、TGRC的输入捕获/0T控制来自TIO0A、TIO0BTIO0C位置侦测信号的采样设0TN控制来自TIO1A、TIO1BTIO1C位置侦测信号的采样设0R——锁存当前去除了噪声干扰的位置0R——锁存当前取除了噪声干扰的位置T0RT0R000R地功复位位0000R定时器0ATGRA的双功能寄存器。用于捕获输入时,TCNT的值在输入捕获端口产生下降沿时。0R定时器0BTGRB的双功能寄存器。用于捕获输入时,TCNT的值在输入捕获端口产生下降沿时。0R定时器0CTGRC的双功能寄存器。用于捕获输入时,TCNT的值在输入捕获端口产生下降沿时。0R定时器1ATGRA的双功能寄存器。用于捕获输入时,TCNT的值在输入捕获端口产生下降沿时。0R定时器1BTGRB的双功能寄存器。用于捕获输入时,TCNT的值在输入捕获端口产生下降沿时。0R定时器1CTGRC的双功能寄存器。用于捕获输入时,TCNT的值在输入捕获端口产生下降沿时。1周期寄存 位可读可写寄存器。用于设置定时器中断TPM2定时器控制/状态寄存地寄存器位20设置定时器时钟源、计数时钟边沿、计数清除源、计数清除边沿、捕输入采样时钟和定时器操作模式20—控制TIO2A和TIO2B引脚的输出和输入捕20———使能/由TGRA比较匹配引起的AD转换启动请求、周期寄存器比较匹配和来自TGRA/B的比较匹配的中断请求—地寄存器位70——标明周期寄存器比较匹配和TGRTGRB生20R定时器2计数寄存 位可读寄存器,通过输入时钟的触发进行递增/递减计60定时器2通用寄存器16位寄存器,可作为输出和捕获输入寄存70定时器2通用寄存器16位寄存器,可作为输出和捕获输入寄存60R270R27F定时器2周期寄存 位可读可写寄存器。用于设置定时器中断MCP3/4定时器控制/状态寄地寄存器复位位90--向该寄存器写入0x5A01/0x5A02使能定时器3/4输出波0-要正确设置LDOK位,必须写30—设置定时器时钟源的选择、计数边沿、计数清除源、 中断频率定时器的操作模40—设置定时器时钟源的选择、计数边沿、计数清除源、 中断频率定时器的操作模—地寄存器复位位30W控制TIO3A、TIO3B和TIO3C引脚的比较匹配输出类40—控制TIO4A、TIO4B和TIO4C引脚的比较匹配输出类30———比较匹配和来自TGRD的比较匹配的中断请求40———比较匹配和来自TGRD的比较匹配的中断请求80——F—90———80W—E—使能/MCP定时器3/4模块。时输出口为高阻态70—WVU设置MCP定时器3的波形输出模式80—WVU设置MCP定时器4的波形输出模地寄存器复位位00———MCP定时器3输出的死区时10———MCP定时器4输出的死区时60——TFTIN1的错误控制70——TFTIN2的错误控制01标志释放寄存连续写入0x55AA0xAA55P_Fault1_Ctr寄存器的标志0xAA550x55AAP_Fault1_Ctr寄存器的OSCSF标02标志释放寄存连续写入0x55AA0xAA55P_Fault2_Ctr寄存器的标志0xAA550x55AAP_Fault2_Ctr寄存器的OSCSF标80PTBM—TOL1的过载控制90—TOL2的过载控制30R40R80的占空比90W定时器3通用寄存器B16位可读可写寄存器,用于的占空比0的占空比地寄存器复位位0为ADC转换启动信号,或者作为通用比较匹配寄存器。0的占空比0定时器4通用寄存器B16位可读可写寄存器,用于的占空比。0的占空比。0为ADC转换启动信号,或者作为通用比较匹配寄存器。8R定时器3缓冲寄存器A。定时缓冲寄存器是TGRA的双功能缓90R定时器3缓冲寄存器B。定时缓冲寄存器是TGRB的双功能缓0R定时器3缓冲寄存器C。定时缓冲寄存器是TGRC的双功能缓0R定时器4缓冲寄存器A。定时缓冲寄存器是TGRA的双功能缓0R定时器4缓冲寄存器B。定时缓冲寄存器是TGRB的双功能缓0R定时器4缓冲寄存器C。定时缓冲寄存器是TGRC的双功能缓89CMT定时器控制/地寄存器复位位0——CMT0CMT1定时器启动/停止控制寄存0—FE—CMT0CMT1定时器中断使能和时钟选择寄存0R地寄存器复位位0R时钟发生模SPMC75F2413A的时钟发生模块有两个。一是内部RC1600Khz时钟经分频后为系统提供出,供系统使用。SPMC75F2413A系列单片机的时钟晶SPMC75F2413A运行时钟由一个振荡发生系统的输入作为锁相环(PLL)PLL电24Mhz。 5-6锁相环统复位或从就绪模式唤醒时,CPU16384个参考时钟周期,以等待振荡器和锁相环稳定。当振荡器

1MHz的时钟。如图5-7所示为振荡电路和锁相环电路的关系。5-7外部时寄存P_System_Option中的CLKS位可用来进行时钟源选择,频率从12MHz24MHz之间。如图5-8所示为外部时钟输入方式电路连接。Y1NCVCC RGNDOUT5-8时钟如果监测到时钟停止,12路的 (TIO3A~F和断通知CPU。特别注意的是,当 输出置为高阻5-9P_Clk_Ctrl0x7007):系统时钟控制寄存器用于监视CPU时钟状态。RRRRRR00000000保RRRRRRRR00000000保振荡器状态读出0:振荡器运行正 读出1:振荡器错1:振荡器失效中断使能0:1:B10-保RC1600KHzRC200KHz的辅助时钟源。它为片内Flash模块(片内Flash模块的擦除和

Standby振荡器被关省电模种节电模式(Wait和Standby)。标准模在标准模式下运行耗电最所有的外设都用Wait模式下,只有CPU掉电停止工作以降低功耗

Standby模式下所有的模块都变为无效,此时功耗如果MCP定时器3或定时器4已经处于 下时,不会进入Wait或Standby。向向P_Wait_Enter写入0x5005,进入WaitWait使能外部中断1为Wait写入“1”写入“1”图5- Wait模式时1638416384个时钟周P_Stdby_Enter写入0xA00AStandby.KEYWE 使能键唤醒功键唤系统复写入”1"清除这写入”1"清除这个标5-11Standby表5-5节电模式和各模块运行状态的关系关关工关唤醒下一条唤醒醒有以下28个来源:定时器/模0TPR_0,TGRA_0,TGRB_0,TGRC_0,改变侦测、上溢、下1:TPR_1,TGRA_1TGRB_1,TGRC_1,改变侦测、上溢、下2TPR_2TGRA_23TPR_34TPR_4

比较匹配定0CMT_0比较匹配定时器1:CMT_1比较匹配键唤外部中串行通讯接P_Wakeup_Ctrl(0x700F):唤醒控制寄存00000000保00000000保键唤醒使能0:使UART端口唤醒使能0:使SPI端口唤醒使能0:使外部中断1唤醒使能0:使外部中断0唤醒使能0:使B10-保TPM定时器2唤醒使能0:使PDC定时器1唤醒使0:使PDC定时器0唤醒使0:使比较匹配定时器唤醒使能0:使B3-保 (0x700C):等待模式寄存WWWWWWWW00000000WWWWWWW00000000B15-等待模式/状态标读出若为”0001h”说明从等待模式唤醒MCP34不能设置为输出状态。仿真时SPMC75F2413A不能进入就绪模式。 (0x700E):就绪模式寄存WWWWWWWW00000000WWWWWWW00000000B15-读出为”0001h”说明从就绪模式唤醒注意若要进入就绪模式,MCP34不能设置为中BREAK(软件中断、FIQ(快速中断请求)和IRQ0-先级为:BREAKFIQIRQ0IRQ1IRQ2IRQ3>IRQ4>IRQ5>IRQ6>IRQ7。IRQFIQBREAK中断可以打断任何套,意即高优先级IRQ断中以打断低优先级IRQ中断

中FIQ和BREAK中断仍有最高优先级,可以打断任何IRQ中断服务的执行。表5-5中给出了现有的中断,包括中断源、中断名称、IRQ号和FIQ选择。注意:BREAK在任何模式下均有最高优先级,而FIQ。中断SPMC75F2413A的IRQ有IRQ0-IRQ78中向量。这8个中断向量被分配给系统的35个中断源。5-6IRQ中断向量的中断源分配情况。5-6IRQ等级的中断等寄存器查询中断标名描 故障输入引脚1 故障输入引脚2 输出短路1 输出短路2 过载引脚1 过载引脚2P_INT_Status.OSCSFP_Clk_Ctrl振荡器故障P_INT_Status.PDC0IF0TPRP_INT_Status.PDC0IF0TGRAP_INT_Status.PDC0IF0TGRBP_INT_Status.PDC0IF0TGRCP_INT_Status.PDC0IF定时器0位置改变侦测P_INT_Status.PDC0IF定时器0计数器溢出中P_INT_Status.PDC0IF定时器0计数器下溢中P_INT_Status.PDC1IF1TPRP_INT_Status.PDC1IF1TPRAP_INT_Status.PDC1IF1TPRBP_INT_Status.PDC1IF1TPRCP_INT_Status.PDC1IF定时器1位置改变侦测P_INT_Status.PDC1IF定时器1计数器溢出中P_INT_Status.PDC0IF定时器1计数器下溢中P_INT_Status.MCP3IF3TPRP_INT_Status.MCP3IF3TGRDP_INT_Status.MCP4IF4TPRP_INT_Status.MCP4IF4TGRDP_INT_Status.TPM2IF2TPRP_INT_Status.TPM2IF2TGRAP_INT_Status.TPM2IF2TGRB外部中断外部中断P_INT_Status.UARTIFUART接受完成中P_INT_Status.UARTIFUART发送就绪中 SPI接受中 SPI发送中IO 模/数转换完成中 比较匹配定时器0 比较匹配定时器1中断过

那幺CPU就会响应该中断,具体步骤如下

5-12。5-12中断过程中中断状态寄存器P_INT_Status

5-6KEYIFEXT1IFEXT0IF这几个标志是用RRRRR00000000RRRRRRRR00000000保按键唤醒中断状态标未发已发UART中断状态标未发已发SPI中断状态标未发已发外部中断1的状态标未发已发外部中断0的状态标未发已发模/数转换器中断的状态标未发已发MCP定时器4的中断的状态标未发已发MCP定时器3的中断的状态标未发已发TPM定时器2的中断的状态标未发已发PDC定时器1的中断的状态标未发已发PDC定时器0的中断的状态标未发已发比较匹配定时器(CMT)中断的状态标未发已发保过载中断的状态标未发已发振荡器的状态标0:振荡器运行1:故障保护中断的状态标 “1P_INT_Priority(0x70A4):IRQFIQ优先权选此寄存器可将中断源设为IRQ或FIQ。默认

IRQ。注P_INT_Priority中,只能有一个中断FIQ。R00000000保RR00000000保按键唤醒中断优先权选择0:1:UART中断优先权选择0:1:SPI中断优先权选择0:1:保外部中断优先权选择0:1:ADC中断优先权选择0:1:MCP定时4的中断优先权选择0:1:MCP定时3的中断优先权选择0:1:TPM定时2的中断优先权选择0:1:PDC定时器1的中断优先权选择0:1:PDC定时器0的中断优先权选择0:1:CMT中断优先权选择0:1:保过载中断优先权选择0:1:振荡器故障中断优先权选0:1:故障保护中断优先权选择0:1:P_MisINT_Ctrl0x70A8):设置该寄存器可以允许中断。向某位写入‘1’即可允许相应的中RRR00000000保RRRRRRRR00000000保按键唤醒中断允许0:1:使外部中断1触发器边沿0:下降沿触 1:上升沿触外部中断0触发器边沿选择0:下降沿触 1:上升沿触外部中断1的允许0:1:使外部中断0的允许0:1:使B10-保复位管SPMC75F2413A复位逻辑电路用于将该微控上电复位0.5V

且上升到默认限定值时,上电复位R)电路开始工184,LL上电复位延时上电复位延时16384外部复位延时16384个辅助200KHz向P_Reset_Status向P_Reset_Status外部复

SPMC75F2413A提供了外部复位管脚RESET(低有效)5-15所示,RESET连号将持续16384个辅助时钟周期后完成整个复位过

22

115-15低电压复位4.09V以下时,低电压复位电路就会使CPU4.19V以上后,低电压复位信号解除,同时,系统在16384个辅助时钟周期后恢复正常运行。图5-16描述了典型的低电压复VDDVDDVLVRVDD恢复到5向P_Reset_Status写入$5508清5-16看门狗复位SPMC75F2413A运行到未知的状态下而没有清除存器P_System_Option$8000)B1位和P_WatchDog_Ctrl($700A)B15位使能看门狗复位功能。用P_WatchDog_Ctrl控制寄存器的B[2:0]设置溢

出时间。向P_WatchDog_Clr(W)($700B)控制寄存器写入“0xA005”,看门狗计数器就会自动并重新计数。如果在看门狗计数器溢出前没有向CPU或是系统复位。在仿真模式下看门狗复位功能被。看门狗定时器的工作时序如图5-17所示。P_WatchDog_Clr向P_Reset_Status写入$5504清除5-17地址复位SPMC75F2413A提供了非法地址访问复向P_Reset_Status5-(IAR),一旦了向P_Reset_Status5-指令复位CPU得到指令译码,CPU会复位(IIR),并设

指令了这些区域系统会立即产生信号复位CPU。向地CPU复位。图5-18描述了的地址复位时序。向P_Reset_Status$5540清图5-19指令复位时表5-7复位源及复位的模块复位CPU内核复外设模块复外部复√√上电复√√看门狗√可选低电压√√地址复√-指令复√-※注:CPU内核复位是指CPU核的复位,CPU内核CPU核内的所有寄存器初始化为复位默认值;外块复位主要是指外设模块(如ADC模块、定时器模块)的复位,外设模块复位会使所有外设模块的控制寄存器初始化为复位默认值;复位状态寄存器(P_Reset_Status)会根据复位源初始化相应的复位标志;Flash控制器只 复位状态寄存该寄存器表示了各种复位状态的标志,用于软件00000000RR00000000保保B15-保错误指令复位标志未发发生地址陷阱复位标未发发生保低电压复位未发发生看门狗复位未发发生上电复位标未发发生外部复位标I/O端口SPMC75F2413A4IO端口:IOA、IOB、IOCIOD16I/O引脚都可通D外,其它端口的I/O引脚都可通过编程来实现特殊功能。换句话说,这些I/O端口与许多功能控制信号是复用的,例如端口 I/O口的特殊功能寄存器是通过设

IOI/O引脚的功能设置有特殊要求。例如AD转换输入引脚和SPI接口。此时,I/O的方向与属性寄存器应设置为特IO5-8IO5-8I/O方属数功唤描000下拉是带下拉电阻的输001上是带上拉电阻的输010悬浮是悬浮的011悬否悬浮的100反否数据反向输出(在数据端口写入0I/O端口输出101反否数据反向输出(在数据端口写入1”,则在I/O端口输出“0”)110非反否缓冲输出(数据不反向111非反否缓冲输出(数据不反向※默认:上电后为悬浮输pullpullpull 5-20IOA的P_IOA_Buffer,端口的输出数据即保存在这个寄存器向端口缓冲器P_IOx_Buffer(x=A,B,C,D)写入数P_IOx_Buffer中,还可以写入P_IOx_Data(W)(x=A,B,C,D)中。从

而读P_IOx_Data(R)(x=A,B,C,D)则读出的是输入端口引脚上的电平状态,原理5-20。输入端口都没的输入/输出时序见5-21。大电流驱动

5-21GPIO输入/能IO端口作为按键唤醒源。然后P_IOA_Latch(R)IOA[15:8],IOB[15:12],IOB[5:0],IOC[3:0],LED.按键唤醒中断引8I/OIOA[15:8]支持按键唤醒功能。

存住端口A的当前状态AIO状态异于锁存寄存器P_IOA_Latch的内容即触发了键唤醒功能。只有在相异后,才能发生一次按键唤醒。图5-22是一个键唤醒 一次响向P_INT_Status.KEYIF写入1,清除5-22P_IOA_Data(0x7060):IO端口A数据寄存器

器, 则是读管脚状态0000000000000000P_IOA_Buffer(0x7061):IOA缓冲寄存器P_IOA_Buffer与写P_IOA_Data而读

现单个I/O口的独立控制。0000000000000000PIOA注:读P_IOA_Data和读P_IOA_Buffer从不同的物理路径数据。读P_IOA_Data时的内容来自I/O端口的引脚电平,而读P_IOA_Buffer内容则来自I/OA的输出缓冲寄存器P_IOA_Dir(0x7062):IOA方向寄存端口A各I/O的方向设定寄存当相应的位

00000000PIOA00000000PIOAP_IOA_Attrib(0x7063):IOA属性寄存器

P_IOA_Data相互配合可以将I/O设为多种属性1111111111111111P_IOA_Latch(0x7064):IOARRRRRRRR00000000RRRRRRRRRRRR00000000RRRRRRRR00000000保P_IOA_SPE(0x7080):IOA特殊功能寄存

的I/O态保存。当键唤醒功能的I/O态发生改变(与P_IOA_Latch时锁存的数据不相符)时,就会置键中断标志,以标识这一的发生。RR00000000保保RRRRRRRR00000000保保外部时钟D输入引0:使外部时钟C输入引0:使外部时钟B输入引0:使外部时钟A输入引0:使P_TMR2_TGRB捕获输入输出0:使P_TMR2_TGRA输入捕获输出0:使B8-保P_IOA_KCER(0x7084):IOA按键唤醒寄存00000000RRRRRRRR00000000保端A15按键唤醒使0:使端A14按键唤醒使0:使端A13按键唤醒使0:使端A12按键唤醒使0:使端A11按键唤醒使0:使端A10按键唤醒使0:使端A9按键唤醒使0:使端A8按键唤醒使0:使B7-保P_IOB_Data(0x7068):IO端口B数据寄存器

器, 则是读管脚状态0000000000000000PIOBP_IOB_Buffer(0x7069):IOB缓冲寄存器P_IOB_Buffer与写P_IOB_Data而读

现单个I/O口的独立控制。00000000PIOB00000000PIOB注:读P_IOB_Data和读P_IOB_Buffer从不同的物理路径数据。读P_IOB_Data时的内容来自I/O端口的引脚电平,P_IOB_Buffer内容则来自I/OB的输出缓冲寄存器P_IOB_Dir(0x706A):IOB方向寄端口B各I/O的方向设定寄存当相应的位

00000000PIOB00000000PIOBP_IOB_Attrib0x706B):IOB属性寄存器

P_IOB_Data相互配合可以将I/O设为多种属性11111111PIOB11111111P_IOB_SPE(0x7081):IOB特殊功能寄存RRRRR00000000保00111111B15-保P_TMR0_TGRA捕获输入/0:1:P_TMR0_TGRB捕获输入/0:1:P_TMR0_TGRC捕获输入/0:1:过载保护输入10:1:外部故障保护输入10:1:U1模式0:1U1V1模式选0:1V1W1模式0:1:W1U1N模式选0:1U1NV1N模式0:1V1NW1N模式0:1:W1NP_IOC_Data(0x7070):IOC数据寄向P_IOC_Data写入数据是写入IO的输出缓冲寄存器, 则是读管脚状态0000000000000000P_IOC_Buffer(0x7071):IOC缓冲寄存器P_IOC_Buffer与写P_IOC_Data而读

现单个I/O口的独立控制。0000000000000000注:读P_IOC_Data和读P_IOC_Buffer从不同的物理路径数据。读P_IOC_Data时的内容来自I/O端口的引脚电平,P_IOC_Buffer内容则来自I/OC的输出缓冲寄存器P_IOC_Dir(0x7072):IOC方向寄端口C各I/O的方向设定寄存当相应的位

00000000PIOC00000000PIOCP_IOC_Attrib(0x7073):IOC属性寄存器

P_IOC_Data相互配合可以将I/O设为多种属性11111111PIOC11111111P_IOC_SPE(0x7082):IOC特殊功能寄存1111110000000000保保W2N模式0:1:W2NV2N模式0:1V2NU2N模式选0:1U2NW2模式0:1:W2V2模式选0:1V2U2模式0:1U2外部故障保护输入20:1:过载保护输入20:1:P_TMR1_TGRC输入捕获 0:1:使位置侦测输入使P_TMR1_TGRB输入捕获/输出引脚和0:1:P_TMR1_TGRA输入捕获/输出引脚和0:1:保外部中断输入10:1:使外部中断输入00:1:使B1-保P_IOD_Data(0x7078):IOD数据寄向P_IOD_Data写入数据是写入IO的输出缓冲寄存器, 则是读管脚状态0000000000000000P_IOD_Buffer(0x7079):IOD缓冲寄存器P_IOD_Buffer与写P_IOD_Data而读

现单个I/O口的独立控制。0000000000000000注:读P_IOD_Data和读P_IOD_Buffer从不同的物理路径数据。读P_IOD_Data时的内容来自I/O端口的引脚电平,P_IOD_Buffer内容则来自I/OD的输出缓冲寄存器P_IOD_Dir(0x707A):IOD方向寄端口D各I/O的方向设定寄存当相应的位

0000000000000000PPIODP_IOD_Attrib0x707B):IOD属性寄存器

P_IOC_Data相互配合可以将I/O设为多种属性1111111111111111PIOD定时器 模SPMC75F2413A提供5个通用定时器(PDC0、都有独立的三相六路波形输出;每个PDC定时器包含3个可编程的特殊功能引脚,用来进行捕获、比较输出、输出和位置侦测;TPM2是一个通用定多达20个的可编程配置 0-4)/8个捕获输入引脚(定时器0-定时器3/4可同时驱动(输出三相六路 8个可编程的时钟源。AD转换触发。出和输出功能。PDC0/1支持两相增量编脉冲输入的相位计数模PDC0/1为实现电机控制支持位置改变侦

TPM2能够处理捕获输入、比较输出和 MCP3/4可以输出 PDC定时0和定简PF13A提供了两个P(hsecinor)C0和DC定DC定时器非直流电机,侦测无刷直流电机(转子)位置而控制其换C0和PDC1-3C-。向上_向上_和和 位16侦测位置输入捕获5-9PDC定时器的规格说功PDCPDC定时时钟内部时钟 FCK/1,FCK/4,FCK/16,FCK/64,FCK/256,外部时钟 IO定时通用寄定时缓冲寄定时周期和计数寄存TT捕获采样时内部时钟FCK/1FCK/2FCK/4FCK计数边上升下降双计数清 TIO1A、TIO0BTIO0C捕获输 TIO1ATIO0BTIO0C捕获输功PDCPDC定时 P_POS0_DectData侦测位置改P_TMR0_TPR比较匹配清 P_POS1_DectData侦测位置改P_TMR1_TPR比较匹配清输入捕获功比较匹配输10输出保边沿中相位计数模Yes相位输入为Yes,定时器缓冲ADP_TMR0_TGRAP_TMR1_TGRA比较中断0TPR0TGRA0TGRB0TGRC0PDC001TPR1TGRA1TGRB1TGRC1PDC11PDC定时计数的操PDC定时器具有以下5种工作模式00相位计数模式 依靠外部时钟输入引脚TCLKA或计0边沿模式(连续计数,输出模0中心模式(递增/递减计数,边沿输出方式的连续递增计PDC时器都可P_TMRx_Ctrlx0,1)输出的标准操作模式。计数器0x0000为止,在这种模式下,用户需要设P_TMRx_TPRx0,1)寄存器,并将计数清除源(CCLS)设置成由周期PDC定时器进行连续递增计数,其输入时钟源

断标志TPRIF置位,定时计数器。如果P_TMRx_INTx0,1TPRIEP_TMRx_INTx0,1)寄存器中的下溢中断使能TCUIE置位时计数寄存器变化到0x0000将产生计数下溢中断请求;当P_TMRx_INT(x=0,1TCVIETGRA、TGRB或TGRCTGAIE、TGBIETGCIEP_TMRx_TPR(x=0,1)外部时钟输入也可以选择内部时钟源。PDC定时器的标准递增计数模式如图5-24所示。333 计数时钟5-24连续递增计数模式(CCLS111’bCKEGS00’bTMRPS在边沿模式下,用户必须设置P_TMRx_TPRx=0,1)周期寄存器和P_TMRx_TGRyyABC)通用寄存器,然后将计数清除源(CCLS)设置为定时器周期比较匹配清除。P_TMRx_IOCtrl(x=0,1)控制寄存器中。PDC0的边沿标准连续可完成总计6路比较匹配输出功能。当

T(x0,1))与P_TMRx_TGRB,P_TMRx_TGRC(x=0,1)寄存器比较匹配时,TIOxATIOxB,TIOxC(x=0,1)引脚输出5-26所示为5-27所示为边沿 中, 输出与P_TMR0_IOCtrl设置、寄存器TGRx和中断状态标志TGxIF(x=A,B,C)之间的关系。3333 计数时钟TIO0APin

图5-25边

IOAMODE=1

描述设置 的值,用于设定波形宽度CCLS111’b确定了计数周期和计数清除源。P_IOB_SPETIO0AENTIO0CEN1,将相应的IO引脚配置成输出模式P_TMRx_IOCtrlx01)寄存器选择比较匹配输P_TMR_StartTMR0STTMR1ST1,图5- P_TMR0_TGRA[152P_TMR0_TGRB[157P_TMR0_TGRC[15AP_TMR0_TPR[15FT[150123456789ABCDE 3456789ABCDEF0P_TMR0_Status 向TMR0_Satus.TGAIF写入1写P_IOB_Dir设置IOB[10:8]图5-27PDC定时器P_TMR0_Status 向TMR0_Satus.TGAIF写入1写P_IOB_Dir设置IOB[10:8]定时器模式向TMR0_Status.TGAIF写入1清除这个标写P_IOB_Dir设置I/O,使其适应特殊功能的IOB设置为初始为0,匹配后输出IOC设置为初始为1,匹配后输出P_TMRx_Ctrlx=0,1).中向TMR0_Status.TGAIF写入1清除这个标写P_IOB_Dir设置I/O,使其适应特殊功能的IOB设置为初始为0,匹配后输出IOC设置为初始为1,匹配后输出

—个比较匹配,输出方式由OAOD,TOOD和TOCOD生比较匹配,则比较匹配中断标志置位,但-8所示为定时器模式5-28

P_TMRx_TPR(x=0,1)中设置值的两倍。连续递增/递减计数模式如5-29所示。PDC定时器周期寄存器的初始值可以是0x0000到0xFFFF中的任何数值,当计数寄存器的值与周期定时寄存器的值相等的时候,PDC定

下溢中断的发生情况与递增计数模式的描述相同。计数的方向由P_TMRx_Status(x0,1)寄存器的TCDF位显示。定时器的时钟源既可以选择外部时钟输递增/递减计数模式下的中 模式。图5-31所

为PDC定时器0中心模式时序P_TMRx_TPR=5P_TMRx_TPRP_TMRx_TPR=P_TMRx_TPR=33 2 计数时钟5-29连续递增/(CCLS111’bCKEGS00’bTMRPSP_TMR0_TPR= P_TMR0_TPR P_TMR0_TPR= P_TMR0_TPR=333222221111100T计数时钟TIO0A

P_TMR0_TGRA=

P_TMR0_TGRA=

IOAMODE=1图5-30中 27AF 123456789ABCDEFEDCBA987654321012向TMR0_Status.TGAIF写1清除这个标写P_IOB_Dir设置I/O,使其适应特殊功能的P_TMR0_IOCtrl121:1IOA设置为初始为0,匹配后输出IOB设置为初始为1,匹配后输出IOC设置为初始为0,匹配后输出图5- PDC定时器0中 模式时输入捕获操输入捕获操作可以对连接在TIOxA、TIOxB、存器 T的值将被存入P_TMRx_TGRA、P_TMRx_TGRB或P_TMRx_TGRC中;下降沿时,计数寄存 T的值将被存入P_TMRx_TBRA、

通过设置P_TMRx_Ctrl(x01)中的CLEGS位,来选择计数清除边沿,设置CCLS位来设置计数清除源,通过P_TMRx_IOCtrl(x=0,1)寄存器的IOAMODE,IOBMODEIOCMODE位选择捕获边沿

-334252515输入捕获设描结输入捕获设描结上升上升上升沿清除计数器,上升沿触发P_TMR0_TGRA=period(40ms)P_TMR0_TBRA=T1(25ms)上升下降上升沿清除计数器,下降沿触发P_TMR0_TGRA=period(40ms)PTMR0TBRA=T1(25ms)上升双上升沿清除计数器,双沿触发中P_TMR0_TGRA=period(40ms)P_TMR0_TBRA=T1(25ms)下降上升下降沿清除计数器,上升沿触发P_TMR0_TGRA=T2(15下降下降下降沿清除计数器,上升沿触发P_TMR0_TGRA=T2(15下降双下降沿清除计数器,双沿触发中P_TMR0_TGRA=T2(15PTMR0TBRA=period双上升双沿清除计数器,上升沿触发中P_TMR0_TGRA=T2(15ms)P_TMR0_TBRA=T1双下降双沿清除计数器,下降沿触发中P_TMR0_TGRA=T2(15ms)P_TMR0_TBRA=T1双双双沿清除计数器,双沿触发中P_TMR0_TGRA=T2(15ms)P_TMR0_TBRA=T1通过向P_TMRx_Ctrl(x01)CCLS位写入设定的数TIOxA、TIOxB或TIOxC(x=0,1)作为计数清除源。CLEGS位,设定计数清除边IOxMODE(x=A,B,C)位,选择捕获输入中断触发边沿 上升沿,下降沿或双沿P_TMR_StartTMR0STTMR1ST1,计数器5-33012000000捕获延0在下降的值到T在上升T注在下降的值到T在上升T注意 这里设置了P_TMR0_Ctrl.CCLS[2:0],选择P_TMR0_TGRA输入为计数器清除0和定1控制寄寄存器P_TMRx_Ctrl(x=0,1)设置时钟源的选择、计获采样时钟和时钟操作模式。TCLKA,TCLKB引脚的时钟输入将由系统时钟FCK采样任何小于四倍采样时钟输入时钟频率加倍。每个PDC定时器都可由

P_TMRx_Ctrl(x=0,1)寄存器的MODE位设置为输出模式或没有输出的标准操作模式。当MODE0的输入是TCLKA/TCLKB的信号,定时器1的输入是TCLKC/TCLKD的信号。相位计数模式下时钟源应为P_TMR0_Ctrl0x7400):0P_TMR1_Ctrl0x7401):10000000000000000B15-00:01:10:B13-模式选0000:定时器模0100:0101:0110:1x0x:边沿模1x1x:中心模B9-输入捕获模式下计数器清除边沿00:01:10:11:B7-000:进行TCNT清001:由TIOxA(x=0,1)清除010:TIOxB(x01)011:由TIOxC(x=0,1)清除100:6(x01)1101:3(x01)1110:P_POSx_DectData(x=0,1)变化清除一次TCNT111:P_TMRx_TPR(x=0,B4-时钟边沿选00:01:1X:B2-定时器分频000FCK/1001FCK/4010FCK/16011FCK/64100FCK/256101FCK/1024111:TCLKB定时器0和定时器1周期寄存器P_TMRx_TPR(x=0,1)是一个16位可读可写寄存器, T(x=0,1)寄存器的计数达到P_TMRx_TPR(x=0,1)寄存器的值时, T(x=0,1)寄存器会根据P_TMRx_Ctrl(x=0,1)寄存器中的模式位清除计数器

(递增计数模式)或者转为向下计数(连续递增/递减计模式)。P_TMRxRx=,是0xFFF当为0, Tx=,计持0P_TMR0_TPR0x7435):0P_TMR1_TPR0x7436):11111111111111111016个定时通用寄存器,定时器0和定时器1各占3个。TGR寄存器为可读可写的16位双功能寄存器,既可以 输出也可以作为捕获输入。TGR与TCNT的值不断的互相比较,当TGR寄存器用作输出寄存器功能时,一旦两值相等,相应定时中断状态寄存器里的以由P_TMRx_IOCtrl(x=0,1)中的IOAMODE、IOBMODE和IOCMODE来选择。当TGR寄存器用于输入捕获寄存器时,TCNT的值会在外部信号侦测后下来,这时,相应定时中断状态寄存器里的TGAIF、TGBIF、TGCIF位就会置1。捕获输入的侦测边沿可以由TIOxA、TIOxB和TIOxC(x=0,1)进行选择并且可通过P_TMRx_Ctrl(x=0,1)寄存器里的CCLS位进行编程。

在模式下无论是选择边沿模式或中心时,TGR寄存器初始值0x0000。,TIOxATIOxBTIOxCx=0,1)管脚上。TCNTCCLS的设置情TGRACLEGS位应设置在双沿会被锁存入TGRA,同时TCNT寄存器被复位为0x0000。用户可以应用这个信息读出TGRA的正确值并输入捕获寄TBRA、TBRB、TBRCTGRA、TGRB、TGRC构成双缓冲结构比较匹配寄存器可被同步更新。P_TMR0_TGRA0x7440):0P_TMR0_TGRB0x7441):0P_TMR0_TGRC0x7442):0P_TMR1_TGRA0x7443):1P_TMR1_TGRB0x7444):1P_TMR1_TGRC0x7445):10000000000000000P_TMR0_TBRA0x7450):0P_TMR0_TBRB(0x7451):0P_TMR0_TBRC(0x7452):0P_TMR1_TBRA0x7453):1P_TMR1_TBRB(0x7454):1P_TMR1_TBRC(0x7455):1RRRRRRRR00000000RRRRRRRR0000000001P_TMRx_IOCtrlx0,1)TIOxA、TIOxB、TIOxCx01)引脚上的输出或捕获输P_TMRx_Ctrlx01)寄存器中的CCLS位和MODE位可以确定定时器输入输出

动作的模式。当选择 输出模式时,IOAOD/IBMDEIOMOE这些位决定着波形输出模IOAOD/IBMDEIOMOE这些位则对包括侦测位置改变在内的捕获操作进设置。P_TMR0_IOCtrl0x7410):0P_TMR1_IOCtrl0x7411):1RRRR00000000保00000000B15-保B11-0/1端口C设置比较匹配输出模式::时输出时输出0010:1时输出00111时输出01xx:输入捕获模1000:上升沿发生捕获中1001:下降沿发生捕获中101x:双沿发生捕获中11xx当侦测到位置改变时捕B7-口B设置比较匹配输出模式::时输出时输出0010:1时输出00111时输出01xx:输入捕获模1000:上升沿发生捕获中1001:下降沿发生捕获中101x:双沿发生捕获中11xx当侦测到位置改变时捕B3-比较匹配输出模式:A:时输出时输出0010:1时输出00111时输出01xx:输入捕获模1000:上升沿发生捕获中1001:下降沿发生捕获中101x:双沿发生捕获中11xx当侦测到位置改变时捕定时器启动寄存P_TMR_Start寄存器用来启动/停止 (x=0-4)的计数。一旦停止工作, T(x=0-4)会自动。将TMR0ST或TMR1ST位写入1

T 反之写入0则立即停 TP_TMR_Start0x7405):RRRRRRRR00000000保RRR00000000保B15-保定时器4计数启动设0:计数器停止1:启动计定时器3计数启动设0:计数器停止1:启动计定时器2计数启动设0:计数器停止1:启动计定时器1计数启动设0:计数器停止1:启动计定时器0计数启动设0:计数器停止1:启动计定时器0和定时器1中断使能寄存器P_TMRx_INTx0,1)寄存器用来设置以下功能:当TGRA比较匹配完成后是否启动A/D转换、发生侦

P_TMR0_INT0x7420):0P_TMR1_INT0x7421):1RRRRRRR00000000保保R00000000保B15-保侦测位置改变中断使能位0:使A/D转换启动请求使能位。使能或完成后是否需要进行A/D转换。TGRA比较匹0:1:下溢中断使0:1:上溢中断使0:使定时器周期寄存器中断使0:使保定时器通用寄存器C中断使0:使定时器通用寄存器B中断使能0:使定时器通用寄存器C中断使0:使定时器0和定1中断状态寄存变,TCNT下溢/上溢,周期寄存器比较匹TGRA、TGRB、TGRC的输入捕获/比较匹配等。这些标

志了中断源。当P_TMRx_INT(x=0,1)中相应中断使能位设置后,就可以产生中断。TCDF位表示了在中心模式或相位计数模式下计数器的计数方向。P_TMR0_Status0x7425):0P_TMR1_Status0x7426):1RRRRRRR00000000保R00000000保B15-保侦测位置改变标位置无位置有定时计数器方向标递增计递减计定时计数器下溢标未发生发生下定时计数器上溢标未发生定时器周期寄存器比较匹配标未发生比较匹发生比较匹保定时器通用寄存器C输入捕获/比较0未发生输入捕获/比较1发生输入捕获/比较匹定时器通用寄存器B输入捕获/比较0未发生输入捕获/比较1发生输入捕获/比较匹定时器通用寄存器A输入捕获/比较0未发生输入捕获/比较1发生输入捕获/比较匹※:写“10和定1计数寄PDC定时器有两个16位只读TCNT计数器 T和 递增/递减计数,分别负责定时器0和定时器1的计数。TMRPS钟及分频,在中心模式 T

T为递增/递减计数,在其它模式下,只数清除源包括TGRATGRBTGRCP_TMR0_TPR寄P_POSx_DectData(x0,1)中TCNT计数器发生上溢时,相应信道的中断状态寄存器中的TCUIF标志位将会置1。T0x7430):0T0x7431):1RRRRRRRR00000000TRRRRRRRR00000000T相位计数模式操SPMC75F2413APDC定时器支持四种相位计数模式。减计数。该模式可以在PDC定时器0PDC定时器1中设置,这种模式通常用于两相积分编脉冲输定时器1的时钟源是TCLKCTCLKD引脚。如图5-35至图5-4所示为四相位计数模式的操作。1TCLKB/TCLKD T(x=0,1)将是90度时, T(x=0,1)将是一直向下计数。了相位计数模式1的关系。相位的分辨率将

1的例子表5- 相位计数模式1的关TCLKCTCLKB(PDC0)TCLKDH上递L下上L下HH下递L上上H下LTCLKA(PDC0)TCLKCTCLKB(PDC0)TCLKDCountingdirectionP_TMRx_Status.TCDF(x=0,1) (x=0,

图5- 相位计数模式在相位计数模式2中, T(x=0,1)计数方向是由TCLKB/TCLKD的逻辑电平决定的。当系见表5-12。计数器的动作与TCLKA/TCLKC的下降沿同步。图5-36为相位计数模式2的例子。TCLKA(PDC0)TCLKCTCLKDCountingdirection(x=0,1)

表5- 相位计数模式2的关TCLKA(PDC0)TCLKCTCLKDH上—L下—上L—下H递H下—L上—上H—下L递T(x=0,

图5- 相位计数模式相位计数模式在相位计数模式3中,当TCLKB/TCLKD保持逻辑高电平时,在TCLKA/TCLKC的下降沿 1)递增计数;当TCLKA/TCLKC保持逻辑高电平状态,在TCLKB/TCLKD的下降沿 T(x=0,1)递5-135-33的3221132211TCLKD

表5- 相位计数模式3的关TCLKCTCLKDH上—L下—上L—下H递H下递L上—上H—下L—Countingdirection(x=0,1) (x=0,1)相位计数模式

05-3表5- 相位模式4TCLKCTCLKDH上递L下递上L—下H—H下表5- 相位模式4TCLKCTCLKDH上递L下递上L—下H—H下递L上递上H—下L—21TCLKA(PDC0)TCLKC21TCLKB(PDC0)TCLKDCountingdirection(x=0,1)T(x=0,5-4

P_IOA_SPETCLKAENTCLKBENTCLKCENTCLKDENP_TMRx_Ctrl(x01)MODE位,来选择1~4。P_TMRx_Ctrl(x01)TMRPS正确的FCK。P_TMR_StartTMR0STTMR1ST1,计数器5-39数据传到TGRA,将PDCIF中断标志位置1,之后复位侦测位置改变(PDC)模式操BLDCP_TMRx_Ctrl(x0,1)CCLS100’b,101’b110’bT(x=0,1)TGRA,这样寄存器T(x=0,1)就可以将每隔6次、3次或每次将位置数据都存入TGRA只要有侦测位置改变发生,寄存器 T(x=0,1)就会将

0x0000P_TMRx_INTx01)中的位置侦测中断使能位PDCIE1,PDC就会向CPUPDC中断通过对T,SPLCKSPLMOD置,可以避免在霍尔信号输入和位置侦测数据寄存器P_POS0_DectData中的噪声干扰,以使P_POS0_DectData能够锁存住正确的位置数据。PDC模式的编程流程图如图5-40所示。操开操开始计选择输入捕获设置计数清除计数器清除

P_TMRx_Ctrlx01)CCLS位设置为100’b101’b110’b,.来选择位置数据改变作为计数清除设置计数清除边沿为位置信号的双沿。将P_TMRx_Ctrl0,1)CLEG11’bIOAMODE应设置成P_POSx_DectCtrl(x01)T置1,使能PDC中断P_TMR_StartTMR0STTMR1ST1,5-40PDC定时器0和定时器1侦测位置改变控制寄存在SPMC75F2413A中有两个位置侦测控制寄存器:PDC定时器0P_POS0_DectCtrlPDC定时器1P_POS1_DectCtrlTIOxA,TIOxBTIOxC(x0,1)引脚上的位置侦测信号采

和采样延时,这些都是可编程的SPLMOD位决定着位置信号的采样条件,有以下三种模式可选择:有输出时采样、周期性采样、下相(UN,VN,WN)导通时采样。T位选择采样的延时,用于在采样完成但仍有输出或下相(UN,VN,WN)导通的PDEN 000166012346634注1:如果P_POS0_DectCtrlSPLMOD=0,延迟计数器将在MCP定时器3根据P_TMR3_OutputCtrlPOLP的设置输出有效后自动 注2:采样电路在延迟计数器计数到P_POS0_DectCtrlSPDLY的设置值之前将不会工作。图5- 带噪声滤波的位置侦测数据输P_POS0_DectCtrl0x7462):0P_POS1_DectCtrl0x7463):100000000T00000000B15-00: 01:10: B13-00:若P_TMRx_OutputCtrl(x=3,4)寄存器中的 位被置1则进行采样,并输出01:10:下相(UN,VN,WN)导通时采11:B11-T采样次数设采样次数的有效值为从115次。注意01都将被认为是1次0:1:B6-采样延可用于避免在输出开启瞬间的噪声干扰导致的错误侦测PDC定时器位置侦测数据寄存当 到的经过噪声滤波的位置侦测数据锁

P_POSx_DectCtrl(x0,1)P_POS0_DectData0x7464):0P_POS1_DectData0x7465):1RRRRRRRR00000000保RRRRRRRR00000000保B15-保B3-PDR[2]:来自引脚TIO0C的经过噪声滤波的位置侦测数据PDR[1]:来自引脚TIO0B的经过噪声滤波的位置侦测数据PDR[0]:来自引脚TIO0A的经过噪声滤波的位置侦测数据TPM2简SPMC75F2413A有一个16位通用定时器TPM2,支持捕获输入 输出功能。定时器2为捕

输入 输出操作提供两个输入/输出引脚。如51516Bits16BitsCounterControlandTimerCounterControlandTimerGeneralRegisterControl

图5- TPM定时器2的功能示意框

TIO2A,

表5- TPM定时器2的规功TPM时钟内部时FCK/1,FCK/4,FCK/16,FCK/64,FCK/256,FCK外部时IOTIO2A,定时器通用寄存P_TMR2_TGRA,定时器缓冲寄存P_TMR2_TBRA,定时器周期与计数器寄存 捕获采样时内部时钟:FCK/1,FCK/2,FCK/4,计数边在上升沿、下降沿、双沿(上升、下降)计数器清除P_TMR2_TGRA,P_TMR2_TGR

温馨提示

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

评论

0/150

提交评论