文稿分析教案rsnb6y_第1页
文稿分析教案rsnb6y_第2页
文稿分析教案rsnb6y_第3页
文稿分析教案rsnb6y_第4页
文稿分析教案rsnb6y_第5页
已阅读5页,还剩129页未读 继续免费阅读

下载本文档

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

文档简介

V1.1–Feb.14,19,InnovationFirstRoadScienceParkHsin-Chu 300R.O.C.:886-3-578-6005Fax:886-3-578-4418E- 限公司提出订单前,自行确定所使用之相关技术文件及规格为之版本。若因贵公司使用本公司之文件或产品,而涉及第三人之专利或著作权等智能财之应用及配合时,则应由贵公司负责取得同意及,本公司仅单纯贩售产品,上述关于同意及,非属本公司应 目简 特 封 64-PinQFP封 CPU内 空间分 复位中断向 晶 锁相环 外部时 唤醒 中 中断 中断过 上电复位 外部复 低电压复位 看门狗复位 地址复位 指令复位 通用I/O端口 定时器 PDC定时器0和定时器 简 相位计数模式操 TPM定时器2模 简 MCP定时器3和定时器4模 简 通用异步串行通讯 UART的运 封 80PIN 64PIN SPMC75F2413A是由科技公司设计开发的工业级的16位微控制器,其采用公司自主产生各种电机驱动波形的发生器等特殊硬件模块。利用这些硬件模块支持,SPMC75F2413A可以完 16位u’nSP处理器32KW(32K×16)2KW(2K×16)40~85

能够产生三相六路可编程的波形(中心对称或边沿方式如三相的SSV Clock3~6MHzVEXTREFRESETBICESDAInformationBlock64x16EmbeddedFlashMainBlock32Kx16EmbeddedFlashCLK200ROSFLASH2Kx16CompareMatchTPMResetSerial注意:I=输入,O=输出,P=PL=下拉,PH=11I2-3-42536475I869--空--空789IIIIIOIOI空

123456789123456789807978777675747372717069686766652425262728293031323334353637383940

123456789123456789646362616059585756555453521920212223242526272829303132SPMC75F2413A使用公司设计开发的16位4M8M

SPMC75F2413A空间分为三部分:SRAM、储空间分配如图5-1所示,详细信息见表5-1:2K2KX16片内FlashFlash

Flash信息区:Flash通用区:

I/O地址(16I/O地址(16进制 用区,在同一时间只能其中的一区。信息区包含P_System_Option,其余空间可由5-2,信息个块,共可分成128个块。只有位于00F000~I/O地址(16I/O地址(16进制2KW

00F7FF块进行擦写操作。Flash的页和块的关系见图5-3.。SPMC75F2413A的地址总线为[21:0]位,因此可以寻址4M×16空间。:::: 8 8::::::::FlashFlash模块有两个控制寄存器:P_Flash_RW($704D)P_Flash_Cmd($7555)。Flash模块的所:#defineCB_BK14WDIS

[P_Flash_CMD][P_Flash_CMD[P_Flash_CMD][P_Flash_CMD][P_Flash_CMD]=P_Flash_CMD0xFFFF:#define#defineCW_FlashCMD#defineCW_PageEraseP_Flash_Cmd->W=P_Flash_Cmd->W=CW_PageErase;P_WordAdr=(unsignedint*P_WordAdr=/*P_WordAdr14FlashP_Flash_Cmd->W=P_Flash_Cmd->W=P_WordAdr=(unsignedint/*0x1234首先执行Flash块擦除或者页擦除命令,这样就可以将数据从0“擦除”为1。P_Flash_Cmd->W={P_WordAdr=(unsignedint//编程地址在i将uiData写入P_WordAdr}/*EndForLoopP_Flash_Cmd->W=例5-4Flash器的连续编程模P_Flash_RW(0x704D):内嵌的Flash控制

RRRRRRR00000000RRRRRRRR11111111BankF000h-F7FFh控0=读/1= (0x7555Flash控制寄Flash

用于进入Flash命令模式。详见表5-2.WWWWWWWW00000000WWWWWWWW00000000):0101010101010111Flash区0:1:使0:1:使0:外部时钟输入/1:晶振输入,连接到脚都可擦除。假设信息区的信息保护选效,SPMC75F2413A在仿真或烧录时就不能从该区通过仿真环境,虽不可Flash的通用区,但可写)SRAM。如表5-3所示为在通用区和仿真模式下表5-3通用模式和仿真模式下Flash/SRAM可列NormalICEICESecuritySecurityOSRAMChipSecurityOFlash信息区的第一个选项字(=0x8000)。上电后,系统复位信号有效,16384个辅助时钟周期后复

1638416384200KHzPower-onCPUSystem设置I/OAll

SRAM用于堆栈和各种数据的。堆栈用于存为自顶向下,称为FILO(先进后出)结构,堆栈的地址

SRAM中的数据是由用户设定的,可以直接、间接或用指针。需要注意的是堆栈区0xFFF5~0Xffff的空间用于复位和中断向量。复即为“复位地址“。SPMC75F2413A10个中断向量地址,名称及地址见表5-4。 地址(TESTpin 地址(TESTpin=——入0x55和指定清除位写入“1FE———设置,必须向WDCHK写入“10101”Rwait0x0001standbyE—————00102034h0R8090001020380900BbFW00———1—20NNN—N—40NN—00—40——80EEE——80W90——00—G—。10——PADC—20W20R——R——————R—————TS—R———SPI————0——000—0R—0—EE—ETGRC输入捕获/比较匹配W——TGRC输入捕获/比较匹配—F———0TN0T0R——0R——T0RT0R000R0B0W00R用于捕获输入时,TCNT的值在输入捕获端口产生下降沿时。0R用于捕获输入时,TCNT的值在输入捕获端口产生下降沿时。0R用于捕获输入时,TCNT的值在输入捕获端口产生下降沿时。0R用于捕获输入时,TCNT的值在输入捕获端口产生下降沿时。0R用于捕获输入时,TCNT的值在输入捕获端口产生下降沿时。0R用于捕获输入时,TCNT的值在输入捕获端口产生下降沿时。2020—20————70——生20R607060R70R790--0-030—40——30W40—30——E—40———比较匹配和来自TGRD的比较匹配的中断请求。80——F—90——F—80W—E—70—WVU80—WVU00———10———60——T70——T0080—T90NTBM—T30R40R8090000000为ADC转换启动信号,或者作为通用比较匹配寄存器。8R90R0R0R0R0R89CMT定时器控制/0——0FE—FE—0R0RFWSPMC75F2413A的时钟发生模块有两个。一是内部RC1600Khz时钟经分频后为系统提供出,供系统使用。SPMC75F2413A系列单片机的时钟SPMC75F2413A运行时钟由一个振荡发生系统的输入作为锁相环(PLL)PLL电则统工作时钟将是24Mhz。

当振荡器故障停止时,锁相环会输出频率1MHz的时钟。如图5-7所示为振荡电路和锁相环电路的关系。1212~3~6MHz10CrystalP_System_Op5-7寄存器P_System_OptionCLKS位可用来进12MHz24MHz之间。如图5-8所示为外部时钟输入方式电路连接。C1 C2Y11NCVCC R2GNDOUT统复位或从就绪模式唤醒时,CPU16384个参考时钟周期,以等待振荡器和锁相环稳定。当振荡器

5-8如果监测到时钟停止,12路的 (TIO3A~F和通知CPU。特别注意的是,当 MCP 5-9用于监视CPU时钟状态。RRRRRR00000000RRRRRRRR00000000读出0:振荡器运行正 读出1:振荡器错:0: 1:使能振荡器失效中断使

Standby种节电模式(Wait和Standby)。

MCP34已经处于输出模式下时,不会进入Wait或Standby。Wait.EXT1WE EXT1IF CPU.B0 System图5- 200KHzSystemP_Stdby_Enter写入0xA00AStandby.KEYWE 5-11Standby表5-5节电模式和各模块运行状态的关系醒有以下28个来源:定时器/模0TPR_0TGRA_0TGRB_0TGRC_0,1TPR_1TGRA_1TGRB_1TGRC_1,2TPR_2TGRA_23TPR_34TPR_4

0:CMT_0比较匹配1:CMT_1比较匹配(00000000000000000:1:0:1:0:1:0:1:0:1:0:1:0:1:0:1:0:1:WWWWWWWW00000000WWWWWWW00000000MCP34不能设置为输出状态。仿真时SPMC75F2413A不能进入就绪模式。WWWWWWWW00000000WWWWWWW00000000注意若要进入就绪模式,MCP34不能设置为BREAK(软件中断、FIQ(快速中断请求)和IRQ0-先级为:BREAKFIQIRQ0IRQ1IRQ2IRQ3>IRQ4>IRQ5>IRQ6>IRQ7。IRQFIQBREAK中断可以打断任何

括中断源、中断名称、IRQ号和FIQ选择。FIQ。5-6IRQ中断向量的中断源分配情况。 P_INT_Status.OSCSFP_Clk_CtrlP_INT_Status.PDC0IFP_INT_Status.PDC0IFP_INT_Status.PDC0IFP_INT_Status.PDC0IFP_INT_Status.PDC0IFP_INT_Status.PDC0IFP_INT_Status.PDC0IFP_INT_Status.PDC1IF1TPRP_INT_Status.PDC1IFP_INT_Status.PDC1IFP_INT_Status.PDC1IFP_INT_Status.PDC1IFP_INT_Status.PDC1IFP_INT_Status.PDC0IFP_INT_Status.MCP3IFP_INT_Status.MCP3IFP_INT_Status.MCP4IFP_INT_Status.MCP4IFP_INT_Status.TPM2IFP_INT_Status.TPM2IFP_INT_Status.TPM2IFP_INT_Status.UARTIFP_INT_Status.UARTIF IO

中断过程的堆栈操作见图5-12。5-12(

RRRRR00000000RRRRRRRR000000000:1:0:1:0:1:0:1:0:1:0:1:0:1:0:1:0:1:0:1:0:1:0:1:0:1::1:0:1:P_INT_Priority(0x70A4):IRQFIQ优先权选

源可被设为FIQ。R00000000RR000000000:1:1:1:0:0:0:1:1:1:1:1:1:1:1:0:0:0:0:0:0:0:0:1:1:1:0:0:):RRR00000000RRRRRRRR000000000:1:使0:下降沿触 1:上升沿触0:下降沿触 1:上升沿触0:1:使0:1:使SPMC75F2413A复位逻辑电路用于将该微控0.5V

且上升到默认限定值时,上电复位(POR)电路开始工作。上电复位过程将持续16384个辅助时钟周期,以等待晶体振荡器和PLL稳定。复位周期过后,所有的寄存器重新初始化。200KHz写入向P_Reset_Status设置I/O11

R4有效)5-15所示,RESET连号将持续16384个辅助时钟周期后完成整个复位过

22

4.09V以下时,低电压复位电路就会使CPU4.19V以上后,16384个辅助时VDDVDDVLVRVDD恢复到5所有I/O5-16SPMC75F2413A运行到未知的状态下而没有清除存器P_System_Option$8000)B1位和P_WatchDog_Ctrl($700A)B15位使能看门狗复位功

P_WatchDog_Clr(W$700B)控制寄存器写入“0xA005”,看门狗计数器就会自动并重新计数。如果在看门狗计数器溢出前没有向能被。看门狗定时器的工作时序如图5-所示。E 7E0P_WatchDog_Clr.WDRF 5-17SPMC75F2413A提供了地址复

地址$700C$700E数值,也会产生信号导CPU5-18描述了的地址复位时序。向P_Reset_Status5-

向P_Reset_Status$5540清表5-7复位源及复位的模块√√√√√√√√-√-※):00000000RR000000000:1:0:1:0:1:0:1:0:1:SPMC75F2413A4IO端口:IOA、IOB、IOCIOD16I/O引脚都可通D外,其它端口的I/O引脚都可通过编程来实现特殊功能。换句话说,这些I/O端口与许多功能控制信号是复用的,例如端口

IOI/O引脚的功能设置有特殊要求。例如AD转换输入引脚和SPI接口。此时,I/O的方向与属性寄存器应设置为特IO5-8IO5-8I/O000是001是010是011否100否101否I/O端口输出“0”)110否111否5-20IOAP_IOA_Buffer,端口的输出数据即保存在这个寄P_IOx_Buffer中,还可以写入P_IOx_Data(W)(x=A,B,C,D)中。从

P_IOx_Data(R)(x=A,B,C,D)则读出的是输入端5-20。输入端口都没A的输入/输出时序见图5-21。

IOA[15:8],IOB[15:12],IOB[5:0],IOC[3:0],IOC[15:10]28个引脚具有大电流输出能力,可以用来直接驱动LED.8I/OIOA[15:8]支持按键唤醒功能。

AIO状态异于锁存寄存器P_IOA_Latch的内容即触发了键唤醒功能。只有在 5-22P_IOA_Data(0x7060):IO端口A数据寄存器

0000000000000000P_IOA_Buffer0x7061):IOA缓冲寄存器

现单个I/O口的独立控制。0000000000000000PIOA

00000000PIOA00000000PIOAP_IOA_Attrib0x7063):IOA属性寄存器

1111111111111111P_IOA_Latch0x7064):IOA

RRRRRRRR00000000RRRRRRRR00000000RR00000000RRRRRRRR000000000:1:0:1:0:1:0:1:0:1:0:1:00000000RRRRRRRR000000000:1:0:1:0:1:0:1:0:1:0:1:0:1:0:1:P_IOB_Data(0x7068):IO端口B数据寄存器

0000000000000000PIOBP_IOB_Buffer0x7069):IOB缓冲寄存器

现单个I/O口的独立控制。00000000PIOB00000000PIOB

00000000PIOB00000000PIOBP_IOB_Attrib0x706B):IOB属性寄存器

11111111PIOB11111111RRRRR0000000000111111P_TMR0_TGRA捕获输入/0:1:P_TMR0_TGRB捕获输入/0:1:P_TMR0_TGRC捕获输入/0:1:0:1:0:1:0:1U10:1V10:1:W10:1U1N0:1V1N0:1:W1N0000000000000000P_IOC_Buffer0x7071):IOC缓冲寄存器

现单个I/O口的独立控制。0000000000000000

00000000PIOC00000000PIOCP_IOC_Attrib0x7073):IOC属性寄存器

11111111PIOC1111111111111100000000000:1:W2N0:1V2N0:1U2N0:1:W20:1V20:1U20:1:0:1:0:1:1:1:1:1:P_TMR1_TGRA输入捕获P_TMR1_TGRB输入捕获0000000000000000P_IOD_Buffer0x7079):IOD缓冲寄存器

现单个I/O口的独立控制。0000000000000000

0000000000000000PIODP_IOD_Attrib0x707B):IOD属性寄存器

1111111111111111PIOD定时器/模SPMC75F2413A5个通用定时器(PDC0、PDC1、TPM2、MCP3MCP4)MCP定时器较输出、输出和位置侦测;TPM2是一个通用定多达20个的可编程配置的输出引脚(定时8个可编程的时。出和输出功能。PDC0/1支持两相增量编脉冲输入的相位计数模

SPMC75F2413A提供了两个PDC(PhaseDetectionControl)定时器,PDC定时器0PDC定时器1,用于捕获功能和产生波形输出,同时具有侦测无刷直流电机位置改变的特性。PDC定时器非直流电机,侦测无刷直流电机(转子)位置而控制其换流。PDC定时器0PDC定时器1的整体框图如图5-23所示。PDC定时器的详细规格说明见表5-9。 16侦测位置时 IOTT内部时钟FCK/1FCK/2FCK/4FCK P_POS0_DectData侦测位置改 P_POS1_DectData侦测位置改比较匹配输1Yes,AD0TPR0TGRA0TGRB0TGRC0PDC001TPR1TGRA1TGRB1TGRC1PDC依靠外部时钟输入引脚TCLKA或PDCP_TMRx_Ctrlx0,1)0x0000=0,1)寄存器,并将计数清除源(CCLS)设置周期

中断标志TPRIF置位,定时计数器。如果P_TMRx_INTx0,1)TPRIEP_TMRx_INTx0,1)寄存器0,1)TCVIETGRA、TGRBTGRCTGAIE、TGBIETGCIEP_TMRx_TPR(x01)择外部时钟输入也可以选择内部时。PDC定时器的标准递增计数模式如图5-24所示。87875454654 5-

在边沿模式下,用户必须设置P_TMRx_TPRx=0,1)周期寄存器和P_TMRx_TGRyyABC)通用寄存器,然后将计数P_TMRx_IOCtrl(x=0,1)控制寄存器中。PDC定时器0的边沿标准连续可完成总计6路比较匹配输出功能。当

T(x0,1))与P_TMRx_TGRB,P_TMRx_TGRC(x=0,1)寄存器比较匹配时,TIOxA,TIOxB,TIOxC(x0,1)引脚输出5-26所示为比较匹配操作的编程流程图。如图5-27所示为边沿中,输出与P_TMR0_IOCtrlTGRx和中断状态标志TGxIF(x=A,B,C)之间的关系。87875454654 TIO0APin

图5-25边沿模

IOAMODE=1

描述源。P_TMR_StartTMR0STTMR1ST1,图5- P_TMR0_TGRA[15 P_TMR0_TGRB[15 P_TMR0_TGRC[15 P_TMR0_TPR[15 T[150]0123456789ABCDE 3456789ABCDEF0P_TMR0_Status P_TMRx_Ctrlx=01).中输出)相同。当定时计数器的值与TGRA,TGRB或TGRC值匹配时,通用寄存器发生第

—个比较匹配,输出方式由IOAMOD,TIOBMODTIOCMOD分别设定。如果再次发生比较匹配,则比较匹配中断标志置位,但5-28心 输出连续增/减计模式续递模作计基相寄定始定周存器PTMxPR(x=,中设值的倍。续递/图-9所示。

PDC定时器周期寄存器的初始值可以是0x00000xFFFF中的任何数值,当计数寄存器的值与周期定时寄存器的值相等的时候,PDC定时器开始递减计与递增计数模式的描述相同。计数的方向由P_TMRx_Status(x01)TCDF位显示。定

P_TMRx_TPR=54444 P_TMRx_TPR=3P_TMRx_TPR=3 222 110005-29连续递增/(CCLS111’bCKEGS00’bTMRPSP_TMR0_TPR=4444 2P_TMR0_TPR=32P_TMR0_TPR=32211110001122TTIO0A

P_TMR0_TGRA=

P_TMR0_TGRA=

IOAMODE=1图5-30中 123456789ABCDEFEDCBA98765432101 .TCDF

IOB10/TIO0A P_TMR0_IOCtrl=121:1IOA设置为初始为0,匹配后输出IOB设置为初始为1,匹配后输出IOC设置为初始为0,匹配后输出图5- 寄存器 T的值将被存入P_TMRx_TGRA、 T的值将被存入P_TMRx_TBRA、

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

252515P_TMR0_TGRAP_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)PTMR0TBRA=periodP_TMR0_TBRA=T1P_TMR0_TBRA=T1P_TMR0_TBRA=T1P_TMRx_Ctrl(x01)CCLS位写入设定的 P_TMR_StartTMR0ST或TMR1ST1,计数器 120000 0T注意 这里设置了P_TMR0_Ctrl.CCLS[2:0],选择P_TMR0_TGRA输入为计数器清除图5- 寄存器P_TMRx_Ctrl(x=0,1)设置时的选择、计时,输入时钟频率加倍。每个PDC定时器都可由

P_TMRx_Ctrl(x=0,1)寄存器的MODE位设置为输出模式或没有输出的标准操作模式。当MODE0的输入是TCLKA/TCLKB的信号,定时器1的输入是TCLKC/TCLKD的信号。相位计数模式下时应为P_TMR0_Ctrl0x7400):0P_TMR1_Ctrl0x7401):1000000000000000000:01:10::::1x0x:边沿模1x1x:中心模00:01:10:11: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,00:01:1X:000FCK/1001FCK/4010FCK/16100FCK/256101FCK/1024111TCLKB定时器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_TMRx_TPR(x=0,1)的默认值是0xFFFF,当它的值设定为0x0000时, T(x=0,1)计数器会停止计数并保持0x0000的值。):):111111111111111101TGR16能时,一旦两值相等,相应定时中断状态寄存器里的TGAIF、TGBIF、TGCIF1。比较匹配的输出可时,TCNT的值会在外部信号侦测后下来,这时,相应定时中断状态寄存器里的TGAIF、TGBIF、TGCIFTIOxCx01)P_TMRx_Ctrl(x=0,1)寄存器里的CCLS位进行编程。

时,TGR寄存器初始值0x0000。0,1)管脚上。TCNTCCLS的设置情TGRACLEGS位应设置在双沿会被锁存入TGRA,同时TCNT寄存器被复位为0x0000TGRA的正确值P_TMR0_TGRA0x7440):0P_TMR0_TGRB0x7441):0P_TMR0_TGRC0x7442):0P_TMR1_TGRA0x7443):1P_TMR1_TGRB0x7444):1P_TMR1_TGRC0x7445):10000000000000000P_TMR0_TBRA0x7450):0P_TMR0_TBRB0x7451):0P_TMR0_TBRC0x7452):0P_TMR1_TBRA0x7453):1P_TMR1_TBRB0x7454):1P_TMR1_TBRC0x7455):1RRRRRRRR00000000RRRRRRRR0000000001P_TMRx_IOCtrlx0,1TIOxA、TIOxB、TIOxC(x=0,1)引脚上的输出或捕获输P_TMRx_Ctrlx0,1)

动作的模式。当选择输出模式时,IOAMODE/IOBMODE/IOCMODE这些位决定着波形输出模P_TMR0_IOCtrl0x7410):0):RRRR00000000000000000/1端口C设置 : 01xx:1000:上升沿发生捕获中1001:下降沿发生捕获中 101x:双沿发生捕获中 11xx:当侦测到位置改变时口B设置 : 01xx:1000:上升沿发生捕获中断1001:下降沿发生捕获断101x:双沿发生捕获中 11xx:当侦测到位置改变时 : 01xx:1000:上升沿发生捕获中1001:下降沿发生捕获中 101x:双沿发生捕获中 11xx:当侦测到位置改变时 TP_TMR_Start寄存器用来启动/停止 T(x反之写入0则立即停止T或):RRRRRRRR00000000RRR00000000:1::1::1::1::1:定时器0和定时器1中断使能寄存器P_TMRx_INTx0,1)寄存器用来设置以下功能:当

P_TMR0_INT0x7420):0P_TMR1_INT0x7421):1RRRRRRR00000000R000000000:1:完成后是否需要进行A/D转换。0:1:0:1:0:1:0:1:0:1:0:1:0:1:中断状态寄存器指明了如下的发生:侦测位置改变TCNT下溢/TGRA、

志了中断源。当P_TMRx_INT(x=0,1)中相应中断使能位设置后,就可以产生中断。TCDF位表示了在中心模式或相位计数模式下计数器的计数方向。P_TMR0_Status0x74250P_TMR1_Status0x74261RRRRRRR00000000R000000000:0:0:0:0:0:未发生输入捕获/配0:未发生输入捕获/配0:未发生输入捕获/配※:写“1PDC定时器有两个16位只读TCNT计数器(T和 TMRPS分频,在中心模式 T

T为递增/递减计数,在其它模式下,只数清除源包括TGRATGRBTGRCP_TMR0_TPRP_POSx_DectData(x01)TCNT计数器发生上溢时,相应信道的中断状态寄存器中的TCUIF标志位将会置1。T0x7430):0):RRRRRRRR00000000TRRRRRRRR00000000T1中设置,这种模式通常用于两相积分编脉冲输至图5-4所示为四相位计数模式的操作。在相位计数模式1下,当时TCLKB/TCLKD滞 90度时, T(x=0,1)将是一直向下计数。这种模式适用于带编的电机的应用。图5-11列出

5-111TCLKCTCLKDHLLHHLHLTCLKA(PDC0)TCLKCTCLKB(PDC0)TCLKDCountingdirectionP_TMRx_Status.TCDF(x=0,1) T(x=0, 0

10图5- 在相位计数模式2中, T(x=0,1)计数方向是由TCLKB/TCLKD的逻辑电平决定的。当沿同步。图5-36为相位计数模式2的例子。221103TCLKA221103TCLKB(PDC0)TCLKDCountingdirection(x=0,1)

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

TCLKCTCLKDH—L—L—HHL—H—L—Countingdirection(x=0,1)3 T(x=0, TCLKCTCLKDHLL—H—HLH—L—

10在相位计数模式4T(x0,1)计数方向是由TCLKx(xA,BC,D)的逻辑电平和边沿的选择联合决定的。当TCLKx(xA,C)为逻辑高/低电平,在TCLKy(yB,D)时钟上升/下降沿时TCLKxxA,C)为逻辑高/TCLKy(yB,D)时钟下降/上升沿触发计式4的例子。

433 433 0TCLKDCountingdirection(x=0,1)T(x=0,5-4

相位计数模式1~4。)值,选择内部时FCK。P_TMR_StartTMR0STTMR1ST1,计数器BLDCP_TMRx_Ctrl(x0,1CCLS100’b101’b110’bT(x=0,1)的值会自动传递给TGRA,这 变发生,寄存器 T(x=0,1)就会将

0x0000P_TMRx_INTx0,1)中的位置侦测通过对T,SPLCKSPLMODP_POS0_DectData中的噪声干扰,以使P_POS0_DectData能够锁存住正确的位置数据。PDC模式的编程流程图如图5-40所示。使能PDCPDR作为

P_TMRx_Ctrl(x01)CCLS位设置为100’b101’b110’b,.来选择位置数据改变作为计数清除(x=0,1)寄存器中的CLEG位设置为11’b。P_POSx_DectCtrl(x01)T置1,使能PDC中断P_TMR_StartTMR0STTMR1ST1,P_POS1_DectCtrlTIOxA,TIOxBTIOxC(x0,1)引脚上的位置侦测信号采

SPLMOD位决定着位置信号的采样条件,有以下三种模式可选择:有输出时采样、周期性采样、下相(UN,VN,WN)导通时采样。T在采样完成但仍有输出或下相(UN,VN,WN)导通的000166012346634注1:如果P_POS0_DectCtrlSPLMOD=0,延迟计数器将在MCP定时器3根据P_TMR3_OutputCtrlPOLP的设置输出有效后自动 注2:采样电路在延迟计数器计数到P_POS0_DectCtrlSPDLY的设置值之前将不会工作。图5- ():():00000000T00000000位00:01:10:00:若P_TMRx_OutputCtrl(x3,01: 位被置 10:下相样VN,WN)11:T0:1:

P_POSx_DectCtrl(x0,1):):RRRRRRRR00000000RRRRRRRR00000000]:]:]:

TIO2A,

时FCK/1,FCK/4,FCK/16,FCK/64,FCK/256,FCK P_TMR2_TPR比较匹配时清除持依靠外部时钟输入TCLKA或中心模式(递增/递减计数,输出模式)式位设置为边沿输出模式或没有任何输出TPM定时器进行连续递增计数,其输入时钟TPRIF1数器。如果P_TMR2_INT中PPRIE使能,产

P_TMR2_TPR的初始值可是从0x0000到器2的标准递增计数模式如图5-43所示。在边沿模式下,用户必须设置P_TMR2_IOCtrl2的标准连续递增计数模式如图5-44示。引脚的输出的波形有高有效、低有效、输出保持。图5-45为比较匹配操作的编程流程寄存器和中断状态寄存器TGxIF(x=A,B)之间的关系如图5-46所示。P_TMR2_TPR=8P_TMR2_TPR=

7P_TMR2_TPR= T 5-43

6555444333872872221110000TIO2A

TGR和计数器

边沿模

IOAMODE=

图5- 27F0123456789ABCDEF0123456789ABCDEF0

IOA10/TIO2B 发生第一个比较匹IOA10/TIO2B 可以通过设置寄存P_TMR2_Ctrl中的MODE位来TGRA,TGRBTPR内容比较匹配,通用寄存器

5-47所示为定时器模式下的输出时序。 123456789ABCDEF0123456789ABCDEF0WriteTMR2_Status.TGAIF=1toclearthisWriteP_IOA_DirtoconfigureIOsofspecialfunctionasP_TMR0_IOCtrl=12:1.IOAasinitial1output,0outputatcompare2.IOBasinitial0output,1outputatcompare5-47 5

时周期寄存器设定值后开始递减。设置寄存器P_TMR2_CtrlCKEGS位,TPM2定时器的周期是P_TMR2_TPR计算刻度的两倍。连续递增/递减计数模式的运行如图5-48所示。44443333222222111111000图5- TPM定时器2周期寄存器的初始值可以是0x00000xFFFF中的任何数值,当定时计数寄存器的值与周期定时寄存器的值相等的时候,TPM2开始与递增计数模式的描述相同。计数的方向由

模式。图5-50所示中心5443443333222222111111000

P_TMR2_TGRA=

P_TMR2_TGRA=

P_TMR2_TGRA=

TIO2APin

.TCDF .TCDF IOA9/TIO2A 27F01346789ABCDEFEDCBA987654321012

IOAMODE=P_TMR2_CtrlCCLST计数寄存器的值将被存入TGRA、IOBMODE位选择捕获边沿为上升沿、下降沿或者双

沿。信号上升沿时计数寄存器的值将被存入TGRx(x=A,B)中。计数寄存器P_ T的清除源通TIO0A、TIO0B)选择通过P_TMR2_Ctrl寄存器中的

252515图5- 连接到TIO2A上的输入捕获信P_TMR2_TBRA=T1PTMR2TBRA=T1P_TMR2_TBRA=T1P_TMR2_TBRA=T1P_TMR2_TBRA=T1P_TMR2_TBRA=T1

数值来选择TGRA,或TGRB作为计数清除源P_TMR2_Ctrl寄存器的CLEGS位写入设定的0012000 0 注意:这里设置了P_TMR2_Ctrl.CCLS[2:0],选择P_TMR2_TGRA5-53

FCK采样。当设置为双沿触发计数):000000000000000000:01:01:11:011:101:件发生,清除1TCNT01:001FCK/4101FCK/102410:0xxx:1x1x:中心模00:10:000:进行TCNT清100:110:00:1X:000FCK/1010FCK/16100FCK/256:P_TMR2_TPR是一个16位可读可写寄存器,用于设定波形的周期。当 T寄存器的计数达到P_TMR2_TPR寄存器的值的时候TP_TMR2_Ctrl

中的模式位的编程清0x0000(递增计数模式)或者转为向下计数(连续递增/递减计数模式)。P_TMR2_TPR的默认值是0xFFFF,当它的值设定为0x0000时,T寄存器计数器会停止计数并保持0x0000):11111111111111112个定时器通用寄存器。TGR16当TGR寄存器用作比较匹配输出寄存器时,TGRTCNT的值不断的互相比较,一旦两值相等,相应的定时器中断状态寄存器中的TGAIF或TGBIF位就被置1。比较匹配的输出有TIO2A和TIO2B。当TGR寄存器用于输入捕获寄存器时,在外部信号侦测

TIO2ATIO2B的捕获边沿和在模式下,无论是选择边沿模式或中心模式,TGR寄存器都用作占空比值寄存器。通过复位,TGR0x0000。输入捕获寄存):0000000000000000):):0000000000000000的输出和捕获输入操作方式。通过设置位于

形式的时钟跳变沿。当选择捕获输入模式时,IOAMODE/IOBMODE位对捕获进行了设置。):RRRRRRRR00000000000000000000:0,当比较0001:0 : 01xx:1000:上升沿发生捕获 1001:下降沿发生捕获 101x:双沿发生捕获中11xx:侦测到位置改变时捕 0000:0,当比较0001:0 : 01xx:1000:上升沿发生捕获 1001:下降沿发生捕获 101x:双沿发生捕获中11xx:侦测到位置改变时捕 P_TMR_Start寄存器用来启动/停

将TMR2ST置为1将会立即启动 之写入0则立即停止 ):RRRRRRRR00000000RRR00000000Timer40:1:Timer30:1:Timer20:1:Timer10:1:Timer00:1:定时器2的中断使能寄存器P_TMR2_INT寄存器用于使能或以下中断请求:TGRAA/D转换

或TGRB的输入捕获/比较匹配的中断请求。):RRRRRRRR00000000RRRR000000000:1:使0:1:使0:1:0:1:较匹配和TGRA或TGRB的输入捕获/

器中相应中断使能位被置位后,就可以产生中断。TCDIF位表明了在中心模式下计数器的计数方):RRRRRRRR00000000RRRR000000001:1:0:未发生输入捕获/比较1:发生输入捕获/比较匹 0:未发生输入捕获/比较1:发生输入捕获/比较匹 :TPM定时器2有一个16位可读计数寄存器相应定时器控制寄存器中TMRPS位可以选择输入时钟。在中心模式下, T可以递增/

递减计数,在其它模式下,只能递增计数。当TTGRA、TGRB T复位为0x0000,或在输入捕 T存入TGRA、TGRB。):RRRRRRRR00000000TRRRRRRRR00000000T)34。MCP定时器有两套独立的三相六路波形输出。MCP定时器3

1联合能完成无刷直流电机和交流感应电机应用中的速度反馈环控制。MCP12路定时器输出5-54MCP3和定时器4的整体框图。详细规格说明见表5-17。

QDQ

QDQQ

4时 波形ddActiveActiveP_POS0_DectData寄存器变P_POS1_DectData寄存器变换MCPSPMC75F2413AMCP定时器有以下几种计数操作3,4)寄存器的MODE位设置为输出模式或没有任何输出的标准操作模式。在此模式下,定时器从0x0000开始递增计数,直到与周期寄存器设置值相等为止。用户须配置P_TMRx_TPR(x=34)寄存器,将计数器清除源(CCLS)位设置定时器周期比较匹P_TMRx_Ctrl(x3,4)PRDINT

P_TMRx_INT(x3,4)PPRIEP_TMRx_TGRD(x34)P_TMRx_TPR(x=3,4)的初始值可是0x0000到时钟输入也可以选择内部时FCK。标准连续递增或异步以及周期采样。如图5-55所示为MCP在边沿模式中,用户必须设置P_TMRx_TPRx=3,4)周期寄存器和P_TMRx_TGRyyABC)通用寄存器的值,并且将P_TMRx_IOCtrl(x=3,4)寄存器中设置。如图5-56所示为定时器3边沿标准连续87875454654 5-55连续递增计数模式(CCLS111’bCKEGS00’bTMRPS87 T TIOxAPinTIOxBPin

图 边沿模

可以通过设置寄存P_TMRx_Ctrl(x=3,4).中的MODE位来设置定时器模式。除了输出波形不同外,相同。当定时计数器的内容与TGRATGRBTGRC

期寄存器设定值后开始递减。设置寄存器P_TMRx_Ctrl(x34)CKEGS位,MCP定时器的如图5-57所示连续递增/递减计数模式的操作。54444 33 111000图5- 定时器周期寄存器的初始值可以从0x0000到0xFFFF

P_TMRx_Status(x34)TCDF位记录着择内部时FCK。如图5-58所示为MCP定时器3中心模式的递增/递减计数模式。5 TTIOxA

图5-58中 定时器 波形,用户就必须向P_T _Write寄来使能MCP定时器4P_T _Write寄存器用来保证MCP定时器3和MCP定时器4不会因CPU的异常而被错误的改写和设置。要修改MCP定时器3和关于在寄存器中TMR3WE和TMR4WE的功能见下表。建议采用如下的方式操作P_T _Write寄存器:读出的值做“或”操作;最后再将操作结果写入

_Write寄存器中。TMR3WE和TMR4WE各自独立的控制着TPM寄存器,具体如下:TMR3WE位控制着如下寄存器的写操作: TMR4WE位控制着如下寄存器的写操作: P_TMR4_Status,P_TMR4_DeadTime,P_TMR_Start, _Write(0x7409):定时器 RRRRRRRR00000000RRRRRR000000001,读出值仍为“0”。0:1:0:1:P_TMRx_Ctrl(x=3,4)配置了时的选择,计数时钟边沿,计数器清除源,TPR中断频率和定时器操作模式。TCLKA、TCLKB时钟输入是由系统时钟):):

FCK4倍2倍频。.0000000000000000:01:21181x0x:边沿模10:40xxx:1x1x:000TCNT001:010:011:100:101:110:111:TCNT与00:01:1X:000FCK/1001FCK/4011FCK/64101FCK/1024:010FCK/16100FCK/256:34器,用于设置定时器或波形的周期。当T(x=3,4)寄存器的值达到了P_TMRx_TPR(x=3,4)设定值时, T(x=3,4)将会根据

0xFFFFP_TMRx_TPR(x3,4)0x0000T(x=3,4)寄存器停止计数并保持在):):1111111111111111在输出模式下,为了防止占空比不能同时载

无法得到更新。例如,为了将LDOK0置1,必须向P_TMR_LDOK写入0x00A9。):RRRRRRRR00000000WWWWWWWW00000000要改变P_TMR_LDOK的设置,必须向这些位的写入读出值为0。P_TMR4_TGRA-C载入完P_TMR4_TGRA-C的值是否已经准备好载入P_TMR3_TGRA-C载入完P_TMR3_TGRA-C的值是否已经准备好再入34写寄存器,用于输出比较或寄存器。TGRD寄存器启动ADTGR

寄存器时,TGRTCNT器初始化为0x0000。P_TMR3_TGRA0x74483P_TMR3_TGRB0x7449):3P_TMR3_TGRC0x744A):3P_TMR3_TGRD0x744B):3P_TMR4_TGRA0x744C):4P_TMR4_TGRB0x744D):4P_TMR4_TGRC0x744E):4):0000000000000000):):):):P_TMR4_TBRB0x745D):4):0000000000000000P_TMRx_IOCtrl(x=3,4)寄存器控制着TIOxA、P_TMRx_Ctrlx3,4)寄存器

的值1xxx’b为无效。):):RRRR0000000000000000:,:,:,00111,01xx:3/4:,:,:,00111,01xx:3/4:,:,:,00111,01xx: T(x=0-

或TMR4ST位设置成1将会立即启 T0TT):RRRRRRRR00000000RRR00000000:1::1::1::1::1:):):RRRRRRRR00000000RRRRR000000000:1:使0:1:使0:1:使※

P_TMRx_INTx34)寄存器里相应中断1后就会发生中断。当定时器设置在中心模式下,TCDF位表示计数器当前的计数方向。P_TMR3_Status0x74283P_TMR4_Status0x74294RRRRRRRR00000000RRRRR000000000:递增计 1:递减计0:比较匹配没有发生1:比较匹配已发0:比较匹配没有发生1:比较匹配已发

T T),TCNTT ):):

RRRRRRRR00000000TRRRRRRRR00000000T

4)输出管脚强制高、强制低,用于和P_TMRx_TGRA、P_TMRx_TGRB、P_TMRx_TGRCx3,4)寄存器分别比较匹配,如图5-59所示为操作的编程流程。写设置IO控制和P_IOB_SPE

[1]必要,在 向P_T _Write寄存器写入控制字使能写访P_TMRx_IOCtrl(x=3,4)寄存器选择比较存器设定波形。图5- MCP3和MCP4的输出功

TIO3A-TIO3FTIO4A-P_TMR_Output(0x7406):定时器输出使能寄存器 MCP定时器的输出特殊 意,该寄存器只有当TIO3A~TIO3F或者

TIO4A~TIO4F在特殊功能模式中被配置为输出引脚时RR00000000RR000000000:1:0:1:0:1:0:1:0:1:0:1:0:1:0:1:0:1:0:1:0:1:0:1:MCP定时器3和MCP定时器4输出控制寄存器的设 120度模式下,采用共享P_TMRx_TGRA(x=3,4)模式既只需要设置占空比的值在180度模式下下, P_TMRx_TGRA/P_TMRx_TGRB/P_TMRx_TGRC(x=3,4)

POLP位设定了对/MOSFET平。可以通过设置U,V和W强制输出为高/低电平或在特定引脚以波形方式输出。POLP,W/VWPM/U和WOC/VOC/UOC这些位决定了波形发生的种类。图5-61显示的极性.占空比由占空比由 5-61202032320101.TGBIF 12图5- P_TMR3_OutputCtrl0x7407):3P_TMR4_OutputCtrl0x7408):4RRR00000000WVU000000000:TGRA0:WWVV

U

0HL00:

(x01) 与PDCx(x=0,1) 11:与PDCx(x=0,1)TGRB寄存器比较匹配同 TGRC寄存器比较匹配同WOC[1:0] =1 输出) =0(H/L电平出W WN W WUN POLP=0(低有效) VOC[1:0] =1 =0(H/L电平出V VN V VN POLP=0(低有效) UOC[1:0] =1 =0(H/L电平出U UNUUN LLLLHLHL POLP=0(低有效) 3和定时器4的死区及其控制寄存

免在有效时间内高/低重迭,补偿模式中必须5-63MCP3中心补偿模式下插入了死区时间的例子。TIO3ATIO3D图5- SPMC75F2413A有两个死区定时控制寄存器:

P_TMR3_DeadTime0x74603):RRRRR00000000R000000000:1:使0:1:使0:1:使FCK/4时钟周期之间设置。电平,而使输输出处于高阻态,起到保护作用,而高阻状态下直到解除该状态。图5-64显示了IOC9/FTIN2错误保护输入时序。还需要注意的是P_Faultx_Ctrlx1,2)寄存

确的选择保护电平,保证目标系统驱动电路的安5-70显示了输出比较错误保护时序。系统复位不能初始化其值。错误保护状态(高阻态) U1,V1,W1,U2,输出引脚都将被设置成高阻态。V2,W2, 入可设置成在FCK/4x(1~15)下的低电平保持

向P_Fault2_Release先后写入"55AAh""AA55h"可以清除5-64向P_Fault2_Release先后写入"AA55h""55AAh"可以清除图5- .OSCSF MCPMCP晶振失效锁定,并使MCP定时器3和MCP定时器4 IOC11/TIO5-66RRRR00000000R00000000T0:1:使0:1:使0:比较低电 1:比较高电OCE1TFCK/4*n,n=1~※:P_Faultx_Release(x12)写入“AA55h”再写入“55AAh”将清除该标志,重新使能该引脚的错误保护功能需要软件将OCE再一次置1。*:P_Faultx_Release(x12)写入“55AAh”后再写入“AA55h”将清除该标志,重新使能错误保护功能需要软件将FTPINE位再置1。位是否置位,然后向相应的错误解除寄存器P_Faultx_Releasex12)“55AAh”P_Faultx_Ctrlx1,2OSF

路标志是否置位,然后向相应的错误解除寄存器P_Faultx_Release(x1,2)连续写入“AA55hP_Faultx_Releasex1,2)连续写入“5555h”和“AAAAh”。):):WWWWWWWW00000000WWWWWWWW00000000FTRR:SPMC75F2413A包含有过载保护电路。当过载输入采样时钟为FCK/4,采样个数可以从1到15。常输出、所有相位输出、相位输出或禁止上/下相输出。所有相位输出、相位输

表519和表520描述了POLP位(P_TMRx_OutputCtrl(x3,4)寄存器中)OLMD的不同设置对应的发生过载保护的不同状态。图5-67显示了过载停止时序。 .OLIF TSP=0则计数器边续计.CNTSP 1如果P_OL2_Ctrl.OLMD=15-19过载保护状态(POLPPOLP=TIOxA~TIOxF(x300 0110相位输出参见寄存器11(1)当检测到上相的任意两相为高电平则所有下相。(2)当检测到下相的任意两相为高电平则所有上相。止相位,正常输出。5-20过载保护状态(POLPPOLP=TIOxA~TIOxF(x300 011011则所有下相。00000000RRRR00000000T0:1: 0:1:00:10:相位禁11:0:1:P_TMRx_TGRB(x01)寄存器0:1:OLx(x=1,2)P_TMRx_TGRB(x=0,1)寄存0:1:OLx(x=1,2)引脚恢复到高电0:1:OL0:1:使0:没发 1:发生T过载保护采样次数FCK/4* n=1:SPMC75F2413A的比较定时器(CMT)包含两个计数到设定值后产生中断。可选择8种计数时:FCK/1,FCK/2,FCK/4,FCK/8,FCK/16,FCK/64,FCK/256,

P_CMTx_TPRx=01)相匹配则发生214214 12 2457805-69(RRRRRRRR00000000RRRRRR00000000 T计数器停止计数并为0x0000 T计数器停止计数并为0x0000 RRR00000000RRR00000000※CMT10:1:000:FCK/001:FCK/010:FCK/011:FCK/100:FCK/101:FCK/110:FCK/111:FCK/※0:1:000:FCK/ 001:FCK/010:FCK/011:FCK/100:FCK/101:FCK/111:FCK/ 写入“1始值为0x0000。在定时器停止或向周期寄存器

P_CMTx_TPR(x=0,1)中写入新值时自动RRRRRRRR00000000TRRRRRRRR00000000T 值时 T(x=0,1)就自动000000000000000003P_BZO_Ctrl.BZOCK=3选择蜂鸣器输出频率为03P_BZO_Ctrl.BZOCK=3选择蜂鸣器输出频率为

存器(P_TMB_Reset)0x5555清空时基计数器。通过时基模块的分频,可以产生50%占空比的脉冲,以5-70(WWWWWWWW00000000WWWWWWWW00000000(00000000000000000:1:使 /01:FCK/10:FCK/ 11:FCK/标准外设接口和UART-通用异步串行通讯接口。SPMC75F2413ASPI3引脚允许SPI支持在主从设备之间的全双工同步传输,SPMC75F2413A可通过对P_SPI_Ctrl寄存器的SPIMS位的设定来选择主机模式或从机模式。一些参相位和极性等。SPI模块的特性如下:SCK时钟输入/(IOB11复用

SDO:(IOB13复用SDI:数据输入(IOB12复用波特率:6CPU图5-71是SPI模块的功能框图:SPIRSPIRRXSPIRTXIR(FSM)ShiftRIOB13/SDO/TXDFERR SerialClockShiftRIOB12/SDI/RXD001在P_SPI_Ctrl寄存器中有两位用作对时钟相位(SPIPHA)和极性(SPIPOL)位的控制。在软件向

行数据移位(由P_SPI_TxStatusSPITXBF位发送完成后,P_SPI_TxStatusSPITXIF

‘1SII8据将被锁存到接收缓冲器

温馨提示

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

评论

0/150

提交评论