加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • 01、SPI的工作流程和时序
    • 02、AM62x处理器中SPI总线的特点
    • 03、AM62x的SPI应用
    • 04、总结
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

技术帖 | AM62x处理器SPI的详解与应用

03/15 10:50
1142
阅读需 9 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

SPI(Serial Peripheral Interface)通信总线以其高速、全双工、同步的特性而被广泛应用,它只需要四根线就能实现数据传输,有效地节约了芯片管脚的数量,同时为PCB布局带来了空间上的优化和便捷。正因为它简单易用的特点,现在越来越多的芯片选择集成SPI通信协议

作为TI Sitara™产品线新一代MPU产品,TI AM62x处理器特别配备了多达4路的SPI接口以及1路OSPI接口(有时也称为QSPI),丰富的SPI接口配置使得该处理器能够同时与多个设备进行通信连接,大大提高了系统的扩展性和灵活性。

在飞凌嵌入式推出的搭载了AM62x处理器的OK6254-C开发板上,NOR Flash存储器正是通过连接到处理器的OSPI总线上进行工作的。这样的设计充分利用了SPI通信协议的高速传输和全双工特性,保证了开发板在数据处理和存储方面的效率。本文就通过OK6254-C开发板为大家介绍一下AM62x的SPI。

01、SPI的工作流程和时序

我们首先需要了解一下SPI是如何工作的——通常SPI通过4个引脚与外部器件相连:

(1) MISO:主设备输入/从设备输出引脚

该引脚在从模式下发送数据,在主模式下接收数据;

(2) MOSI:主设备输出/从设备输入引脚

该引脚在主模式下发送数据,在从模式下接收数据;

(3) CLK:串口时钟

作为主设备的输出,从设备的输入;

(4) NSS:从设备选择

这是一个可选的引脚,用来选择从设备。

SPI的工作流程是这样的:

(1) 主机先将NSS信号拉低,这样保证开始接收数据;

(2) 当接收端检测到时钟的边沿信号时,将立即读取数据线上的信号,这样就得到了一位数据;

(3) 由于时钟是随数据一起发送的,因此指定数据的传输速度并不重要,尽管设备将具有可以运行的最高速度;

(4) 主机发送到从机时,主机产生相应的时钟信号,然后数据一位一位地将从MOSI信号线上进行发送到从机;

(5) 主机接收从机数据时,如果从机需要将数据发送回主机,则主机将继续生成预定数量的时钟信号,并且从机会将数据通过MISO信号线发送。

SPI工作时序图如下:

02、AM62x处理器中SPI总线的特点

在AM62x这款芯片中,TI将SPI的MISO与MOSI设计为d0和d1,具体哪一个作为输入,哪一个作为输出,是由设备树中的 ti,pindir-d0-out-d1-in= <1>来设置的。

默认属性值为0,即d0是输入,d1是输出;

当属性值为1时,d0为输出,d1为输入。

03、AM62x的SPI应用

1. menuconfig配置:

将该项选中,SPI驱动将编译进内核中。

makemenuconfiDeviceDrivers ->SPIsupport ->Usermode SPI device driver support

(注:在飞凌嵌入式OK6254-C开发板中,SPI驱动编译已进去。)

2. 设备树配置:

(1) 选择需要使用的spi,这里我们用spi0,节点为&main_spi0;

(2) 将该节点所用的引脚复用为相应的功能。

spi0_pins_default: spi0-pins-default {    pinctrl-single,pins = <            AM62X_IOPAD(0x1B4, PIN_OUTPUT, 0) /* (A13) SPI0_CS0 */            AM62X_IOPAD(0x1B8, PIN_OUTPUT, 0) /* (C13) SPI0_CS1 */            AM62X_IOPAD(0x1C0, PIN_INPUT, 0) /* (B13) SPI0_D0 */            AM62X_IOPAD(0x1BC, PIN_OUTPUT, 0) /* (A14) SPI0_CLK */            AM62X_IOPAD(0x1C4, PIN_INPUT, 0) /* (B14) SPI0_D1 */        >;    };

(3) 描述节点的属性,具体配置项的功能见注释。

&main_spi0 {  status = "okay";  pinctrl-names = "default";  pinctrl-0 = <&spi0_pins_default>; /* 描述引脚复用节点 */  ti,spi-num-cs = <2>;      /* 描述片选的数量 */  ti,pindir-d0-out-d1-in = <1>; /* 描述输入输出分别是哪个 */    /* 描述子节点spidev0设备 */  spidev@0 {              spi-max-frequency = <24000000>; /* 描述spidev0设备的最大频率 */              reg = <0>;   /* 描述spidev0设备所用的片选,这里是第0个 */              spi-cs-high;  /* 描述spidev0设备高有效 */              compatible = "rohm,dh2228fv";  /* 描述spidev0设备所用驱动 */  };  /* 描述子节点spidev1设备 */  spidev@1 {              spi-max-frequency = <24000000>;              reg = <1>;              compatible = "rohm,dh2228fv";  };};

3. 编译烧录:

在源码路径下输入以下命令:

. build.shsudo ./build.sh kernel

没有报错即为编译成功。

将源码路径下的image中的OK6254-C.dtb文件放到开发板的/boot目录中,重启开发板即可。

4. SPI测试:

将spi0_D0和spi0_D1短接

重启开发板后,在/dev目录下看到多出两个spidev设备。

使用我们的测试程序

fltest_spidev_test -D /dev/spidev3.0 -s 42000

有如下打印信息即为成功:

spimode: 0bitsper word: 8maxspeed: 42000 Hz (42 KHz)FFFF FF FF FF FF4000 00 00 00 95FFFF FF FF FF FFFFFF FF FF FF FFFFFF FF FF FF FFDEAD BE EF BA ADF00D

04、总结

TI AM62x处理器有着丰富的SPI资源,而SPI又可以作为许多设备的总线,这使得AM62x能够接入许多SPI接口的设备,因此在那些对SPI有着比较多需求的应用场景下,TI AM62x无疑是一个非常好的主控选择。

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
AT27C512R-70JU-T 1 Microchip Technology Inc IC OTP 512KBIT 70NS 32PLCC
暂无数据 查看
SN74LVC2G17DCKRE4 1 Texas Instruments 2-ch, 1.65-V to 5.5-V buffers with Schmitt-Trigger inputs 6-SC70 -40 to 125

ECAD模型

下载ECAD模型
$0.53 查看
LTC6994IS6-2#TRMPBF 1 Analog Devices Inc LTC6994IS6-2#TRMPBF

ECAD模型

下载ECAD模型
$4.15 查看
飞凌嵌入式

飞凌嵌入式

保定飞凌嵌入式技术有限公司,创建于2006年,是一家专注嵌入式核心控制系统研发、设计和生产的高新技术企业,是国内较早专业从事嵌入式技术的企业之一。 经过十几年的发展与积累,公司拥有业内优秀的软硬件研发团队,在北京及保定建立两大研发基地,在苏州、深圳设有华东、华南技术服务中心,并在北美、欧洲以及亚太等其他国家和地区拥有国际业务网络。公司研发的智能设备核心平台广泛应用于物联网、工控、轨道交通、医疗、电力、商业电子、智能家居、安防、机器人、环境监测等诸多领域。

保定飞凌嵌入式技术有限公司,创建于2006年,是一家专注嵌入式核心控制系统研发、设计和生产的高新技术企业,是国内较早专业从事嵌入式技术的企业之一。 经过十几年的发展与积累,公司拥有业内优秀的软硬件研发团队,在北京及保定建立两大研发基地,在苏州、深圳设有华东、华南技术服务中心,并在北美、欧洲以及亚太等其他国家和地区拥有国际业务网络。公司研发的智能设备核心平台广泛应用于物联网、工控、轨道交通、医疗、电力、商业电子、智能家居、安防、机器人、环境监测等诸多领域。收起

查看更多

相关推荐

电子产业图谱

秉承专业态度,专注智能设备核心平台研发与制造,以技术研发创新为主导,以客户实用化,产品化为目标,把握嵌入式行业的前沿发展需求,利用核心技术为客户提供稳定、可靠、功能优异的高品质产品。合作联系:17713286011