你好,看到MSP430F5438A功能介绍里面有提到3个独立16位的计数器:TIMER0_A5、TIMER1_A3、TIMER_B7,初次想用你们的MSP430F5438A设计做一个3路不同输入频率段的脉冲信号(流量计信号)进行测频和计数,频率输入分别0-1KHZ、0-3KHZ、0-20KHZ,分别接入到MCU的P1.0/TA0CLK/ACLK、P2.0/TA1CLK/MCLK、P4.7/TBCLK/SMCLK,进行测频计数,同时又想利用P4.1/TB1、P4.2/TB2、P4.3/TB3 PWM输出3路频率可变(脉宽不重要)的远传脉冲信号,其余4个UART口分别做一些外围设备的通讯连接,有加臭机、迪文液晶屏、变频器、串口打印机。其余IO口再外挂一些FALSH\EEPROM存储器之类!以及6路的AD采样输入!
问题是MSP430F5438A 3个16位的计数器真的能够对3路脉冲信号进行独立测频和计数吗?因为我看到你们的资料里面提到说明的只有TIMER A和TIMER B这两个模块的配置使用,TIMER0_A5、TIMER1_A3是不是内部就是公用TIMER A一个模块来使用的呀?还有TIMER B在做脉冲信号测频和计数的同时,又用P4.1/TB1、P4.2/TB2、P4.3/TB3 做PWM输出会有冲突影响吗?
最后就是想问问就用一个MSP430F5438A芯片能胜任处理上述的这些控制需求吗?如果这种设计方案不行,请推荐别的好方案来改善!是不是需要多添加一个MCU来分工处理呀?但是由于成本控制要求,尽量想用一个MSP430F5438A来处理就最好了!不想额外增加预算!
ZhaoF:
技术手册TA和TB是作为一个整块来讲的。TIMER0_A5、TIMER1_A3有各自的控制寄存器,比如说技术手册讲的时候用的是TAXCTL1,实际上有有TA0CTL1和TA1CTL1两个不同的16位寄存器,完全可以满足你独立控制的目的。剩下的我能力还不够回答
SHUBIAO CHEN:
回复 ZhaoF:
非常感谢这位仁兄的技术回答!期望着你有更再接再励的精彩回复!
Hardy Hu:
你好!
1)TIMER0_A5应该说是TIMER0_A 5CCR,意思是有5个独立比较器寄存器的定时器模块A(代表其IP版本)。
2)F5438A有3个独立的定时器模块。
3)可以使用TIMER B 即做脉冲输入又做PWM输出,每个CCR都有对应的CCR配置寄存器,可设置其独立的行为。
4)这些外设资源是可以满足你的要求的,但是要注意系统性能的消耗。