am4379如何实现spi多从机通信

am4379如何实现spi多从机通信

此问题已被解答
All Replies
  • 举人670分

    目前我是用spidev实现一主一从通信方式,后续要接入多个从机进行通信,请问如何实现?

  • 榜眼9526分

    不同的从机使用不同cs不就可以了

  • 秀才40分

    你好 我想请教一下你实现一主一从是,设备树是怎么写的?

    我按照能查到的资料写成

    &spi1@0 {
                status = "okay";
                pinctrl-names = "default";
                pinctrl-0 = <&spi0_pins_s0>;
                spidev@0 {
                    spi-max-frequency = <24000000>;
                    reg = <0>;
                    compatible = "rohm,dh2228fv";
               };
          };
    但是连设备树编译都过不去。我在学校周围也没有用这个芯片的,结构一下子比单片机复杂好多。
    能否请您帮助一下,谢谢
  • 举人670分

    您好,编译dtb输出什么错误信息呢?

  • 秀才40分

    您好 显示

    DTC arch/arm/boot/dts/am437x-gp-evm.dtb
    Error: arch/arm/boot/dts/am437x-gp-evm.dts:1194.6-8 syntax error
    FATAL ERROR: Unable to parse input tree
    make[1]: *** [arch/arm/boot/dts/am437x-gp-evm.dtb] Error 1
    make: *** [am437x-gp-evm.dtb] Error 2

    如果节点只写成

    &spi1{
               status = "okay";

    }

    编译设备树可以通过,而且会在/sys/class/spi_master里增加新的spi,但是/dev里面一直不会有spi设备。

  • 举人670分

    应该是你的dts文件里面有哪些语法错误,看看拼写有没有错误的,把一个一个语句屏蔽试试看

  • 举人670分

    您好,一个从机的情况下,CS信号一直是低电平是否正确呢?可否控制CS输出高低电平呢,如下图那样。

  • 秀才40分

    您好,我现在还没到看硬件波形这一步,今天设备树修改了,但是开发板上/dev里面没有spi1.0或者类似的设备,只能在/sys/class/spi_master里面看到相应的变化,不知道问题出在哪,自循环测试现在也做不了。所以现在不清楚是我设备树写的有问题还是其他设置有问题,我也在看其他的资料,不知道您这边还有什么调试的建议吗,谢谢。

  • 举人670分

    现在您这段dts编译通过了么?我仔细看了一下,问题应该出在&spi1@0,改成&spi1试试看。其他地方没问题。在内核里面有选中User mode SPI device driver support这一项么?

    &spi1@0 {
                status = "okay";
                pinctrl-names = "default";
                pinctrl-0 = <&spi0_pins_s0>;
                spidev@0 {
                    spi-max-frequency = <24000000>;
                    reg = <0>;
                    compatible = "rohm,dh2228fv";
               };
          };
  • 举人670分

    您的问题就出在&spi1@0这里,语法不对,所以编译不过去。我已经验证了,你把@0去掉,然后在内核里把spidev驱动添加进去。就可以了

  • 秀才40分

    你好 修改之后已经在/dev下能找到相应的设备文件了,多谢您的帮助

  • 秀才60分

    您好,请问怎么实现一主一站的方式通信,我使用的是AM437x的板子,但是对spi不太了解。

    请问有可以参考的文档提供吗?

    谢谢!

  • 进士2950分

    SDK有SPI的资料

  • 秀才60分

    谢谢你的回答,

    我在/dev/下找不到spidev的设备节点,请问怎么加载spi驱动呢?

    我用的是AM437x的板子,我查找到的资料只有AM335x的,里面有一些对应的文件我找不到。

    请问sdk中有关spi的内容在哪里可以看到呢?

    谢谢!