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

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

3天内不再提示

AM62x的SPI总线怎么用?让我告诉你

飞凌嵌入式 2022-10-28 17:14 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

来源:飞凌嵌入式官网

SPI是一种高速的、全双工、同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。

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

poYBAGNbmxWAMTOkAAM-LiXEnJU103.pngOK6254-C开发板

1. SPI的工作流程和时序

在介绍AM62x的SPI之前,我们先来了解一下SPI是如何工作的。通常SPI通过4个引脚与外部器件相连:

MISO:

主设备输入/从设备输出引脚。该引脚在从模式下发送数据,在主模式下接收数据;

MOSI:

主设备输出/从设备输入引脚。该引脚在主模式下发送数据,在从模式下接收数据;

CLK:

串口时钟,作为主设备的输出,从设备的输入;

NSS:

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

SPI的工作流程是这样的——

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

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

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

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

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

SPI工作时序图如下:

pYYBAGNbmxOALFoHAAC5-W9dIiM108.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)将该节点所用的引脚复用为相应的功能。

poYBAGNbmxOAXFYAAAAh_Frr7ZI064.png

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

pYYBAGNbmxOAUpwTAAAlXscv_uU945.png

3. 编译烧录

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

poYBAGNbmxOAKbw8AAAFFAw0bOM719.png

没有报错即为编译成功。

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

4. SPI测试

将spi0_D0和spi0_D1短接

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

使用我们的测试程序

poYBAGNbmxSAV817AAAFUZfsQf0915.png

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

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. 总结

AM62x上有着丰富的SPI资源,而SPI又可以作为许多设备的总线,这使得AM62x能够接入许多SPI接口的设备。因此在那些对SPI有着比较多需求的应用场景下,基于TI AM62x设计开发的OK6254-C开发板无疑是一个非常好的选择。

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

    关注

    135

    文章

    9499

    浏览量

    388731
  • 嵌入式
    +关注

    关注

    5186

    文章

    20150

    浏览量

    328873
  • ti
    ti
    +关注

    关注

    114

    文章

    8054

    浏览量

    218173
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    AM62x开发板的常见接口问题及排查思路(第2期)

    AM62x处理器作为TI新一代高性能、低功耗处理器,在工业控制、人机交互、边缘计算等领域有着广泛应用。此前,小编整理过大家在OK62xx-C开发板的开发过程中常见的部分问题,得到了很多朋友的关注
    的头像 发表于 11-07 08:06 4962次阅读
    <b class='flag-5'>AM62x</b>开发板的常见接口问题及排查思路(第2期)

    TI AM62x开发板的常见接口问题及排查思路(第2期)

    AM62x处理器作为TI新一代高性能、低功耗处理器,在工业控制、人机交互、边缘计算等领域有着广泛应用。此前,小编整理过大家在OK62xx-C开发板的开发过程中常见的部分问题,得到了很多朋友的关注。本篇文章将继续针对开发过程中可能遇到的各类接口问题,为大家提供系统化的排查思
    的头像 发表于 11-06 16:41 7661次阅读
    TI <b class='flag-5'>AM62x</b>开发板的常见接口问题及排查思路(第2期)

    AM625微控制器技术参考手册(TRM)摘要

    低成本的 AM62x Sitara™ MPU 系列应用处理器专为 Linux® 应用开发而构建。凭借可扩展的 Arm® Cortex-A53® 性能和嵌入式功能,例如:双显示器支持和 3D 图形加速,以及广泛的外设集,使 AM62x 器件非常适合广泛的工业和汽车应用,同时
    的头像 发表于 10-10 10:28 1893次阅读
    <b class='flag-5'>AM</b>625微控制器技术参考手册(TRM)摘要

    AM625-Q1用于数字集群的嵌入式安全的汽车显示 SoC技术手册

    低成本的 AM62x Sitara™ MPU 系列应用处理器专为 Linux® 应用开发而构建。凭借可扩展的 Arm® Cortex-A53® 性能和嵌入式功能,例如:双显示器支持和 3D 图形加速,以及广泛的外设集,使 AM62x 器件非常适合广泛的工业和汽车应用,同时
    的头像 发表于 09-30 11:14 954次阅读
    <b class='flag-5'>AM</b>625-Q1用于数字集群的嵌入式安全的汽车显示 SoC技术手册

    AM620-Q1 具有嵌入式安全性的汽车计算 SoC技术文档总结

    低成本的 AM62x Sitara™ MPU 系列应用处理器专为 Linux® 应用开发而构建。凭借可扩展的 Arm® Cortex-A53® 性能和嵌入式功能,例如:双显示器支持和 3D 图形加速,以及广泛的外设集,使 AM62x 器件非常适合广泛的工业和汽车应用,同时
    的头像 发表于 09-30 11:05 1517次阅读
    <b class='flag-5'>AM</b>620-Q1 具有嵌入式安全性的汽车计算 SoC技术文档总结

    AM62Ax处理器技术文档总结

    AM62Ax 是 Sitara™ 汽车级异构 Arm® 处理器系列的扩展,具有嵌入式深度学习 (DL)、视频和视觉处理加速、显示接口以及广泛的汽车外设和网络选项。AM62Ax 专为一系列成本敏感型
    的头像 发表于 09-30 10:02 1847次阅读
    ‌<b class='flag-5'>AM62</b>Ax处理器技术文档总结

    德州仪器AM62x Sitara™处理器技术解析

    Texas Instruments AM62x/AM62x-Q1是基于ARM ^®^ 的低成本MPU,专为Linux^®^ 应用开发而设计,具有可扩展ARM^®^ Cortex ^®^ -A53性能
    的头像 发表于 09-03 11:40 760次阅读
    德州仪器<b class='flag-5'>AM62x</b> Sitara™处理器技术解析

    德州仪器AM62Ax Sitara™处理器技术解析

    Texas Instruments AM62A/AM62A-Q1基于ARM ^®^ 的处理器是车规级异构ARM处理器系列的一部分。这些处理器包括嵌入式深度学习 (DL)、视觉处理加速和视频、显示器
    的头像 发表于 08-13 10:25 1022次阅读
    德州仪器<b class='flag-5'>AM62</b>Ax Sitara™处理器技术解析

    如何在米尔TI AM62开发板上部署流媒体服务实现监控功能

    AM62x开发板除了可以官方的CSI摄像头,还可以直接使用第三方的USB摄像头,手头正好有几个个USB摄像头: 经过实测,可以很好的在米尔-TI AM62x开发板上使用。 这篇分
    发表于 07-03 18:32

    如何部署流媒体服务实现监控功能--基于米尔TI AM62x开发板

    本文将介绍基于米尔电子MYD-YM62X开发板(米尔基于TIAM62开发板)的部署流媒体服务实现监控功能方案的开发测试。摘自优秀创作者-HonestQiao米尔-TIAM62x开发板除了可以
    的头像 发表于 07-03 08:03 2048次阅读
    如何部署流媒体服务实现监控功能--基于米尔TI <b class='flag-5'>AM62x</b>开发板

    飞凌嵌入式AM62x核心板驱动微电网智能化创新

    飞凌嵌入式基于TI AM62x处理器打造的FET6254-C核心板,以多核协同处理能力、实时响应与工业级可靠性,能够为微电网协调控制器提供强有力的支撑,助力分布式能源高效协同。
    的头像 发表于 06-06 14:57 1791次阅读
    飞凌嵌入式<b class='flag-5'>AM62x</b>核心板驱动微电网智能化创新

    效率提升,飞凌AM62x开发板的常见接口问题及排查思路(第1期)

    AM62x处理器作为TI新一代高性能、低功耗处理器,在工业控制、人机交互、边缘计算等领域有着广泛应用。飞凌嵌入式基于AM62x处理器设计开发的OK62xx-C开发板为开发者提供了丰富的硬件接口资源
    的头像 发表于 06-06 14:33 1692次阅读
    效率提升,飞凌<b class='flag-5'>AM62x</b>开发板的常见接口问题及排查思路(第1期)

    AM625SIP 通用系统级封装,采用 Arm® Cortex-A53® 和集成 LPDDR4数据手册

    AM625SIP 是 ALW 封装的 AM6254 器件的系统级封装 (SIP) 衍生产品,增加了集成的 LPDDR4 SDRAM。本文档仅定义了 AM62x Sitara 处理器数据表 (修订版
    的头像 发表于 04-15 09:22 1196次阅读
    <b class='flag-5'>AM</b>625SIP 通用系统级封装,采用 Arm® Cortex-A53® 和集成 LPDDR4数据手册

    AM62P-Q1 具有高级3D图形、4K视频编解码器和嵌入式安全性的汽车显示SoC数据手册

    AM62Px (P = Plus) 是现有 Sitara™ AM62x 低成本系列应用处理器的扩展,专为高性能嵌入式 3D 显示应用而构建。可扩展的 Arm® Cortex-A53® 性能和嵌入式
    的头像 发表于 04-14 10:20 860次阅读
    <b class='flag-5'>AM62</b>P-Q1 具有高级3D图形、4K视频编解码器和嵌入式安全性的汽车显示SoC数据手册

    必看!基于AM62x平台的TSN高精度对时方案,解锁工业通信新高度!

    工业自动化与智能控制飞速发展,数据传输的准确性与实时性尤为重要,时间敏感网络(TSN)技术应运而生,为解决这一核心需求提供了有效途径。今天和大家分享一个TSN高精度对时方案,基于TI AM62x四核
    的头像 发表于 02-27 10:49 943次阅读
    必看!基于<b class='flag-5'>AM62x</b>平台的TSN高精度对时方案,解锁工业通信新高度!