SPI是串行外设接口(Serial Peripheral Interface)的缩写,SPI是高速的全双工同步通讯总线,英创公司的所有工控主板都提供了一路4线SPI总线接口,4线包括片选信号(SPI_CSn)、时钟信号(SPI_SCLK)、数据输入(SPI_MISO)和数据输出(SPI_MOSI)信号。
SPI以主从方式工作,英创主板SPI接口工作在主模式,SPI_CSn是SPI从设备的使能控制信号,当从设备被SPI_CSn使能时,通过SPI总线对此设备的操作才有效,因此可以在同一条SPI总线上增加片选信号来连接多个SPI设备。
一个简单的增加片选的方法是使用GPIO来模拟SPI_CSn信号,在每传输一个数据之前,将相应的GPIO置低(假设从设备片选信号为低有效),选中对应的SPI从设备,传输结束后再将GPIO置高。SPI总线的连接如下图:

由于每传输一个字(8 - 32bits)都需要操作一次GPIO,所以使用GPIO模拟SPI片选的效率不高。同时这种方法不适用于SPI的DMA传输,仅适合数据量少、对传输速度要求不同的场合。
当SPI采用DMA模式进行高速数据传输时,数据传输过程由硬件控制,片选信号也由SPI硬件直接产生输出,所以无法实现利用GPIO模拟SPI片选,此时可通过硬件电路来扩展SPI片选信号。下面是采用3 - 8译码器扩展8路SPI的原理示意图。在与一个SPI Slave通讯之前,先设置好参与译码的GPIO,然后直接调用SPI读写API函数,当SPI_CSn由驱动程序置低时,相应的YX输出低电平,当SPI_CSn为高时,所有的YX都输出高电平。在与同一SPI设备进行批量数据传输时,只需要设置一次GPIO,与使用GPIO直接模拟片选信号相比,效率大大提高了。

英创工控主板的SPI接口可以支持60Mbps甚至更高的波特率,所以需要选择低延时的逻辑器件,同时英创工控的GPIO电平范围是0 - 3.3V,因此选择的器件也应该使用3.3V供电。上图所用的74LVC138A使用3.3V供电,而且输入与输出的延时小于3nS(Typ),满足SPI高速通讯的应用。最后附上74LVC138A的真值表如下:

-
嵌入式主板
+关注
关注
7文章
6107浏览量
36948
发布评论请先 登录
龙芯中科助力2025教育信息技术应用创新大赛成功举办
诚迈科技信创电脑助力2025第二届教育信息技术应用创新大赛圆满收官
宝马南京信息技术有限公司开业
2025年第11届阿尔及利亚电力 发电 信息技术展览会
LP5899 SPI兼容连接设备技术文档总结
易华录入选国家级信息技术应用创新典型解决方案
佛瑞亚如何通过信息技术推动业务增长
飞腾主板为信创产业发展提高硬实力
DEKRA德凯成为沙特通信和信息技术设备技术法规认证机构
科普|信创是什么?一文读懂“信息技术应用创新”战略

英创信息技术多路SPI从设备连接方法简介
评论