This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430F247芯片的SPI问题

Other Parts Discussed in Thread: MSP430F247

我现在的问题是:使用MSP430F247做一个项目,期间有好几个SPI外设(4个),我在设计原理之初进行端口分配时,查看datasheet 发现F247有USCI A and USCIB,USCI A底下有有A0 A1,USCI B底下又有B0 B1,然后手册描述USCI A和USCI B的区别在于可扩展功能不同,如USCIA 支持 UART、IrDA、LIN、SPI,USCI B支持IIC、SPI。

1、那是不是意味着一个F247就具备了4个SPI功能口,A0 B0 A1 B1?

2、如果我只想使用SPI功能,那请问能同时使用A0 A1 B0 B1不?  那这岂不是和手册上说的两个SPI多出2个了?希望指点迷津~~~~

3、当做PSI使用时USCIA 和USCIB是否还有其他差异呢?

  • 没用过那么多的spi,也没测试过。

    看了下io引脚,A0 B0 A1 B1分别作spi时的io是独立的,不知道寄存器有没有共用的。

  • 楼主您好,对于SPI模式来说,我觉得这4个应该都是可用的。但我也不是很确定,等我确定了之后再来告诉你。

    不过在数据手册中有这么一个介绍,相同功能的模块被以数字命名,不同功能的模块被以字母命名,也就是说,USCI_A跟USCI_B 的功能不太一样,但是USCI_A0跟USCI_A1的功能应该是一样的。

    The USCI_Ax modules support:
    • UART mode
    • Pulse shaping for IrDA communications
    • Automatic baud rate detection for LIN communications
    • SPI mode
    The USCI_Bx modules support:
    • I2C mode
    • SPI mode

  • 你好,

    你的理解有偏差:

    如Datasheet里面有一页框图所述,所有资源一目了然:

    回答你的问题

    1.没有4个SPI

    2.MSP430F247只有USCI A0和A1没有B0,B1.

    3.没有,只是寄存器的一个字母A变成了B,A可以做更多的第二选择,B的选择少。

  • hi,kqian0327

    请教,难道说这里的A0和B0是同一个资源,只是名称不同?

  • 1、可是具体看到datasheet的SPI章节处,明显有关于USCIB的寄存器配置位;(意思就是包含USCIB0 USCIB1),我现在是使用USCIA0和USCIB0能同时访问两个SPI外设了(这就证明F247有USCIA 和USCIB),但是追加上USCIB1后,USCIB1口的SPI无法正常的访问或读取外设数据。

    2、还有就是手册中说USCIA处时描述波特率用的是“baud rate”,但是描述USCIB时却是“bit rate”,请工程师帮我解释下了,到底有没有差别?

    3、是不是F247只能同时使用USCIA0 +USCIB0,或者USCIA1+USCIB1?又能否同时使用USCIA0+USCIA1或USCIB0+USCIB1?

  •  我问了TI的相关专家,专家的回复是说,4个SPI都可以用,而且都可以同时使用。

    http://e2e.ti.com/support/microcontrollers/msp430/f/166/p/407769/1448229#1448229

  • 楼主你好,关于这个问题:

    还有就是手册中说USCIA处时描述波特率用的是“baud rate”,但是描述USCIB时却是“bit rate”,请工程师帮我解释下了,到底有没有差别?

    我觉得baud rate 跟Bit rate对于串口而言是一样的。给个链接供参考: 

    http://blog.sciencenet.cn/blog-331690-362375.html

  • baud rate 和Bit rate的概念是不同的,但他们的单位以及所表达的实质都是一样的

  • 你好,

    见谅,我没有注意B0在A0下面,B1在A1下面。

    所以按照图示所述,该芯片有4个模块,都可以配置为SPI模式。

  • 十分感谢Vio Liu及其他网友的热心回复!

    最后一处问题再请教下VioLiu:按照TI工程师的回复,那MSP430F24X的datasheet中描述功能模块个数时是否应该描述成SPI Nums=4 ?呵呵~~

  • 你好,

    我觉得描述为2或者4取决于客户关系什么。

    有些客户关心IIC,要配置为IIC模块。

    有些客户关心SPI,要配置为SPI模块。

    有些客户关心UART,要配置为UART模块。

    : )

  • 楼主你好,

    楼上 说的很对,取决于用户需要什么。这个地方也不能叫做写错了。因为如果你是这个页面的编辑者,如果你把SPI个数改成了4,那么同样会有人问,为什么I2C的两个接口跟SPI的四个接口不能同时工作,是不是写两个SPI会更好些^_^

    可能是因为这个原因,这个页面的编辑者把SPI写成了两个,表示在两个I2C的情况下,SPI还可以同时使用两个。

    一家之言,供参考。