资源描述:
《xs128中文资料》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、飞思卡尔智能汽车竞赛XS128XS128主要模块主要模块实验指导书实验指导书于喆编写2009年4月Ver:1.0第一章端口整合模块端口A,B和K为通用I/O接口端口E整合了IRQ,XIRQ中断输入端口T整合了1个定时模块端口S整合了2个SCI模块和1个SPI模块端口M整合了1个MSCAN端口P整合了PWM模块,同时可用作外部中断源输入端口H和J为通用I/O接口,同时可用作外部中断源输入端口AD整合了1个16位通道ATD模块大部分I/O引脚可由相应的寄存器位来配置选择数据方向、驱动能力,使能上拉或下拉式装置。当用作通用I
2、O口时,所有的端口都有数据寄存器和数据方向寄存器。对于端口T,S,M,P,H,和J有基于每个针脚的上拉和下拉控制寄存器。对于端口AD有基于每个针脚的上拉寄存器。对于端口A、B、E和K,有一个基于端口的上拉控制寄存器。对于端口T,S,M,P,H,J,和AD,有基于每个针脚的降额输出驱动控制寄存器。对于端口A,B,E,和K,有一个基于端口的降额输出驱动控制寄存器。对于端口S、M,有漏极开路(线或)控制寄存器。对于端口P、H和J,有基于每个针脚的中断标志寄存器。纯通用IO端口共计有41个,分别是:PA[7:0]PB[7:0]
3、PE[6:5]PE[3:2]PK[7,5:0]PM[7:6]PH[7:0](带中断输入)PJ[7:6](带中断输入)PJ[1:0](带中断输入)第二章脉冲宽度调制模块XS128具有8位8通道的PWM,相邻的两个通道可以级联组成16位的通道。PWME:PWM通道使能寄存器。PWMEx=1将立即使能该通道PWM波形输出。若两个通道级联组成一个16位通道,则低位通道(通道数大的)的使能寄存器成为该级联通道的使能寄存器,高位通道(通道数小的)的使能寄存器和高位的波形输出是无效的。PWMPOL:PWM极性寄存器。PPOLx=1,
4、则该通道的周期初始输出为高电平,达到占空比后变为低电平;相反,若PPOLx=0,则初始输出为低电平,达到占空比后变为高电平。PWMCLK:PWM时钟源选择寄存器。0、1、4、5通道,PCLKx=0使用ClockA,PCLKx=1使用ClockSA;2、3、6、7通道,PCLKx=0使用ClockB,PCLKx=1使用ClockSB。ClockA、ClockB由下面的PWMPRCLK设置。PWMPRCLK:PWM预分频时钟源选择寄存器。控制ClockA、ClockB的值。PWMCAE:PWM中心对齐使能寄存器。CAEx=
5、1,该通道为中心对齐;CAEx=0,该通道为左对齐。PWMCTL:PWM控制寄存器。CONxx=1,则相应的两个通道级联使用,否则单独使用。级联后,整个级联通道由低位通道(通道数大的)的各个寄存器控制,高位通道(通道数小的)不起作用。级联模式下,向高位通道或低位通道计数器寄存器写值,等同于向16位级联计数器寄存器写值,也即重置为0。PWMSCLA:PWM标度A寄存器。用于控制ClockSA的值,ClockSA=ClockA/(2*PWMSCLA),当PWMSCLA=0x00时,相当于PWMSCLA=256。PWMSCL
6、B:PWM标度B寄存器。用于控制ClockSB的值,ClockSB=ClockA/(2*PWMSCLB),当PWMSCLB=0x00时,相当于PWMSCLB=256。PWMCNTx:PWM通道计数寄存器。每个通道都有一个独立的8位计数器,其计数速率由所选择的时钟源决定。计数器的值可以随时读取而不影响计数器运行,也不影响PWM波形输出。在左对齐模式时,计数器从0计数至周期寄存器的值减1;在中心对齐模式,计数器从0计数至周期寄存器的值,然后再倒计数至0。向计数器写入任何值都将导致计数器复位至0、计数方向重置为向上。在有效周
7、期末,计数器同样会被清零。只有当通道使能时计数器才进行计数。改变计数器的值应该在该通道禁止时进行。若某个通道正在执行PWM功能,使用PWMEx=0禁止该通道,则该通道的计数器将“冻结”,下次使能该通道时,计数器将接着上次停止的地方继续计数,而不是重新从0开始。若要开始一个新的PWM脉冲波形,则应在使能前写一次计数器。PWMPERx:PWM通道周期寄存器。每个通道都有一个独立的8位周期寄存器,它的值将间接决定该通道的PWM波形周期。该寄存器采用双缓冲器设计,即写入的新值不立即生效,直到本次有效周期结束或者计数器寄存器清零
8、或者该通道被禁止。读该寄存器将返回最近一次写入的值(不一定是当前生效的值)。复位将重置值为0xFF。下面给出了如何由周期寄存器的值计算最终PWM输出波形的周期与频率:左对齐输出:(CAEx=0)PWMxPeriod=Clock(A,B,SA,orSB)*PWMPERxPWMxFrequency=Clock(A,B,SA,orSB)