0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

飞凌嵌入式 2024-03-15 08:01 次阅读

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。

wKgZomXzvB-AKTm0AAFtT0h6wIw54.jpeg

1、SPI的工作流程和时序

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

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

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

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

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

(3) CLK:串口时钟

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

(4) NSS:从设备选择

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

SPI的工作流程是这样的:

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

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

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

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

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

SPI工作时序图如下:

wKgaomXzvB-ASN8oAAHOmqe753k000.png

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

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

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

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

3、AM62x的SPI应用

(1)menuconfig配置:

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

makemenuconfi

DeviceDrivers ->

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.sh

sudo ./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: 0

bitsper word: 8

maxspeed: 42000 Hz (42 KHz)

FFFF FF FF FF FF

4000 00 00 00 95

FFFF FF FF FF FF

FFFF FF FF FF FF

FFFF FF FF FF FF

DEAD BE EF BA AD

F00D

4、总结

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM
    ARM
    +关注

    关注

    134

    文章

    8653

    浏览量

    361825
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1615

    浏览量

    89602
  • 嵌入式技术
    +关注

    关注

    10

    文章

    349

    浏览量

    34276
收藏 人收藏

    评论

    相关推荐

    基于TI AM62xSPI接口配置

    了空间上的优化和便捷。正因为它简单易用的特点,现在越来越多的芯片选择集成SPI通信协议。 作为TI Sitara™产品线新一代MPU产品,TI AM62x处理器特别配备了多达4路的SPI
    发表于 03-22 15:52

    AM335x继任者?AM6254性能解析

    ****一、AM335x VS AM62x ****相较于经典的AM335x处理器AM62x有着更丰富的功能以及更强大的其性能,参数对比如
    发表于 08-08 14:59

    TI AM62x处理器SPI总线怎么用

    。TI [AM62x]处理器拥有4路[SPI]以及1路QSPI,丰富的SPI接口可以同时接多个设备,[飞凌]OK6254-C[开发板]的NOR Flash就接在了OSPI(QSPI)总
    发表于 10-31 09:06

    AM62x相比AM335x,到底升级了什么?

    正式推出极有可能引领未来10年工业潮流的最新明星处理器平台-AM62x,创龙科技作为TI的官方合作伙伴,亦紧跟潮流正式推出搭载AM62x处理器的工业核心板-SOM-TL
    发表于 05-03 23:37

    专用M4F+四核A53,异构多核AM62x让工业控制“更实时、更安全”

    Cortex-M4F + Cortex-A53异构多核给工业控制带来何种意义?创龙科技SOM-TL62x工业核心板搭载TI AM62x最新处理器,因其Cortex-M4F + Cortex-A53
    发表于 06-15 17:18

    搭载TI Sitara AM62x系列工业级处理器的FET6254-C核心板

    6月21日,嵌入式行业知名展会Embedded World 2022在德国纽伦堡拉开帷幕。在德州仪器(TI)的展位上,一款搭载TI Sitara™ AM62x系列处理器的嵌入式板卡受到现场观众的驻足围观,其三屏显示更是成为吸睛亮点。
    发表于 06-22 08:59 573次阅读

    搭载TI AM62x处理器,飞凌FET6254-C核心板震撼发布

    搭载TI AM62x处理器,飞凌FET6254-C核心板登陆展台首发!
    的头像 发表于 06-24 14:16 719次阅读
    搭载TI <b class='flag-5'>AM62x</b><b class='flag-5'>处理器</b>,飞凌FET6254-C核心板震撼发布

    AM62xSPI总线怎么用?让我告诉你

    TI AM62x处理器拥有4路SPI以及1路QSPI,丰富的SPI接口可以同时接多个设备,飞凌OK6254-C开发板的NOR Flash就接在了OSPI(QSPI)总线上。
    的头像 发表于 10-28 17:14 591次阅读
    <b class='flag-5'>AM62x</b>的<b class='flag-5'>SPI</b>总线怎么用?让我告诉你

    【正式发售】TI AM335x升级平台-AM62x,强势来袭!主频1.4GHz

    【正式发售】TI AM335x升级平台-AM62x,强势来袭!主频1.4GHz
    的头像 发表于 05-04 09:24 461次阅读
    【正式发售】TI <b class='flag-5'>AM</b>335x升级平台-<b class='flag-5'>AM62x</b>,强势来袭!主频1.4GHz

    再续AM335x经典,米尔TI AM62x核心板上市,赋能新一代HMI

    。随着信息技术的快速发展,TI推陈出新,发布新一代64位MPU通用工业处理器平台-AM62x,用于满足AM335x用户实现更高性能的功能需求。米尔作为领先的嵌入式
    的头像 发表于 08-04 17:40 439次阅读
    再续<b class='flag-5'>AM</b>335x经典,米尔TI <b class='flag-5'>AM62x</b>核心板上市,赋能新一代HMI

    TI AM62x接替AM335x,米尔核心板开发板

    TI AM62x接替AM335x,续写下一个十年 AM62x是TI在智能工控领域新一代高性能、超高效处理器
    的头像 发表于 08-08 11:58 766次阅读
    TI <b class='flag-5'>AM62x</b>接替<b class='flag-5'>AM</b>335x,米尔核心板开发板

    AM62x基于GPMC的ARM+FPGA通信方案

    。 GPMC是AM62xAM64x、AM437x、AM335x、AM57x等处理器专用于与外部
    的头像 发表于 09-25 12:18 600次阅读
    <b class='flag-5'>AM62x</b>基于GPMC的ARM+FPGA通信方案

    米尔AM62x核心板续写AM335x经典 助力新一代工业4.0升级

    续写AM335x经典;米尔AM62x核心板176元起 在过去的十几年中,TI Sitara系列推出了很多优秀的处理器,其中在工业、电力、医疗等领域有着广泛应用的AM335x系列
    的头像 发表于 10-27 19:52 608次阅读
    米尔<b class='flag-5'>AM62x</b>核心板续写<b class='flag-5'>AM</b>335x经典 助力新一代工业4.0升级

    米尔AM62x核心板,高配价低,AM335x升级首选

    、医疗等领域的应用面临迫切的升级需求,AM62x处理器作为TI Sitara™产品线新一代MPU产品,相比上一代经典处理器AM335x具备更高性能及功能扩展性,在内核、GPU、存储、显
    的头像 发表于 11-20 11:32 370次阅读
    米尔<b class='flag-5'>AM62x</b>核心板,高配价低,<b class='flag-5'>AM</b>335x升级首选

    “进口”双核A53@1.4GHz,超高性价比!“邮票孔”AM62x工业核心板,正式发布!

    创龙科技作为TI官方合作伙伴,在2022年9月即推出搭载TI最新明星处理器AM62x的工业核心板-SOM-TL62x(B2B版本)。为了让工业客户进一步降低产品成本,并提高产品连接的可靠性,我们再次
    的头像 发表于 01-11 15:57 230次阅读
    “进口”双核A53@1.4GHz,超高性价比!“邮票孔”<b class='flag-5'>AM62x</b>工业核心板,正式发布!