历史上的今天
返回首页

历史上的今天

今天是:2025年12月15日(星期一)

正在发生

2022年12月15日 | STM32的SPI外设片选只有一个,怎么破?

2022-12-15 来源:zhihu

之前用STM32的SPI需要控制很多外部芯片,可是一个SPI的外设只有一个片选,要实现独立片选一主多从,怎么实现呢?

SPI总线拓扑

一般地,SPI总线按照下图方式进行连接,一主多从。

如上图:

  • 每个从设备都有独立的片选引脚,主机同一时间段内,与一个从设备进行通信,也即选中一个从设备。

  • MOSI/MISO/SCLK并联在一起

  • MISO须是三态门,当从设备未选中时,该脚须设置为高阻态,而不能是输出态,否则会影响总线

  • 对于MOSI/SCLK,虽然并联在一起,但是由于仅一个输出,多输入。

但是你看STM32的SPI外设,一个SPI仅有一个NSS信号,以STM32F407的SPI2为例:

那么要实现前面说的一主多从,怎么办呢?有朋友说,直接用GPIO去模拟不就可以了。

不错,SPI总线要用GPIO模拟还是很容易的,但是这样做波特率做不高,需要占用CPU时间,效率比较低!而用SPI外设控制器,底层bit流的收发由外设控制器实现,用GPIO模拟则需要CPU参与。

怎么破呢?

菊花链拓扑

这种方案,省引脚。但是要移位控制,相对独立片选效率还是低不少。

独立片选拓扑

SPI外设的MOSI、MISO、SCK还是照用不误,但是片选我们不用,设置成通用输出模式,再用其他的GPIO片选从芯片即可。

上代码看看:

初始化SPI外设

从而原来SPI的收发函数前后加上片选信号即可:

如此一来,一个SPI外设就可以控制多个从芯片了。你如果有兴趣,不妨照这个思路试试看。


推荐阅读

史海拾趣

Eastman Kodak Company公司的发展小趣事

随着技术的不断进步,伊士曼柯达公司不断推出新的产品和服务,以满足市场的多样化需求。在20世纪初,柯达已成为全球最大的胶卷供应商,并占据了美国摄影市场的绝大部分份额。此外,公司还积极向国际市场扩张,通过设立分支机构和办事处,将产品销往全球各地。这一时期,柯达不仅凭借其优质的产品赢得了广泛的客户基础,还树立了良好的品牌形象。

ARCOTRONICS公司的发展小趣事

在电子行业的早期,ARCOTRONICS公司凭借其卓越的研发团队,成功开发出一种新型的高效能电子元件。这一技术突破不仅大幅提升了电子设备的性能,还降低了生产成本,使公司在市场上迅速获得了竞争优势。这一技术突破为ARCOTRONICS公司奠定了坚实的基石,为其后续发展打下了坚实的基础。

D3公司的发展小趣事

在环保意识日益增强的今天,D3公司积极响应国家号召,将绿色环保理念融入企业的生产经营中。公司采用环保材料和清洁能源进行生产,减少了对环境的污染。同时,公司还加强了对废弃物的处理和回收利用,实现了资源的循环利用。这种绿色环保的生产方式,不仅降低了企业的生产成本,也提高了企业的社会责任感。在消费者的心中,D3公司也因此树立了环保、负责的良好形象。

中移物联网(Chinamobile)公司的发展小趣事

2022年12月,中移物联网的OneNET城市物联网平台在2022中国移动全球合作伙伴大会上亮相。该平台以城市为核心,整合了各类物联网资源,为城市管理、公共服务等领域提供了全方位的物联网解决方案。OneNET城市物联网平台的推出,标志着中移物联网在物联网领域的技术实力和市场地位得到了进一步提升。

依必安派特(ebmpapst)公司的发展小趣事

为了进一步深耕中国市场并加强本土化战略的实施,依必安派特在2024年宣布正式启用其大中华区新总部“一个上海”(ONE Shanghai)。这一新总部占地33000平方米,将原本分散在上海的四处基地整合到了新总部。这一举措不仅提高了公司的运营效率和管理水平,也进一步强化了依必安派特在中国市场的创新领导地位和长期发展态势。新总部的启用标志着依必安派特在中国市场的又一次飞跃发展,为其未来的发展奠定了坚实基础。

Fullywell Semiconductor Co Ltd公司的发展小趣事

面对市场需求的不断变化和技术的不断进步,Fullywell始终保持着对研发的重视和投入。在2020年,公司研发团队经过数年的努力,成功攻克了多项关键技术难题,推出了新一代的智能电源管理芯片。这款芯片在能效比、集成度和可靠性等方面均达到了行业领先水平,赢得了市场的广泛好评。Fullywell借此机会实现了产品的迭代升级,进一步巩固了其在电源管理芯片市场的领先地位。

问答坊 | AI 解惑

LCD数字温湿度传感器/温湿度采集器Link-Max LM-410

LM-400不带显示屏的网络型温度湿度采集模块(自带传感器) LM-410带显示屏的网络型温度湿度采集模块(自带传感器) LM-420带显示屏的网络型温度湿度采集独立报警模块(自带传感器,可独立控制声光报警器) LM-400、LM-410、LM-420是一种新型的温度或 ...…

查看全部问答>

并联开关电源储能电感的计算 开关电源原理与设计(连载十)

1-4-3.并联开关电源储能电感的计算 与前面计算反转式串联开关电源中储能电感的数值方法基本相同,计算并联式开关电源储能电感也是从流过储能电感的电流为临界连续电流状态着手进行分析。并联式开关电源中的储能电感与反转式串联开关电源中的储能 ...…

查看全部问答>

关于调用汇编函数的问题

小弟在写个bsp,cpu的mips32的,用得是Tornado2.2在cacheALib.s的里写了几个关于cache的函数(如cache_reset),在cacheLib.c中使用IMPORT void cache_reset(void)申明后调用,但最后老是报错说该函数无法识别,基本可以保证不是cacheALib.s的问题 ...…

查看全部问答>

上海招聘驱动开发

主要针对磁盘驱动以及网络驱动 要求熟悉汇编 C++以及DDK 针对windows平台,有还原穿透经验证优先考虑。…

查看全部问答>

请问在哪可买到pxa310的JTAG 下载器啊, 要支持xdb的..!!

就像2440的那种jtag小板那样的, 有吗>?? 谢谢!!…

查看全部问答>

被假冒伪劣产品惹火了,决定自造!!!

有没有做过胎压计的朋友,在坛子上逛了很久都没找到相关信息。之前买的两个胎压计(如下图),右边的“大棒”是在一家买五金电动工具商店买的,商标上写着——汽车轮胎压力表882型(南京汽车附件厂制造)。似乎挺好用,但回来一试,尾巴(标尺)一冲 ...…

查看全部问答>

瑞泰创新ICETEK-F2812-A求助

我把单位的瑞泰创新ICETEK-F2812-A开发板弄丢了,有偿,好的坏的都行, 光板也行,顶账。联系QQ:1332430115,,qq加我好友时注明一下 谢谢…

查看全部问答>

EPWM 关闭输出问题

本帖最后由 eeacc 于 2014-6-14 09:53 编辑 在互补输出模式下怎么关闭B相输出,使之为高电平呢?我将A相置高后        EPwm1Regs.AQCSFRC.bit.CSFA = AQ_SET; 互补的B相依旧是低电平EPwm1Regs.AQCSFRC.bit.CSFB = ...…

查看全部问答>

TI的ZigBee协议栈的定时器接口函数无法使用?定时器在协议栈无法使用?

TI的大神们,我使用协议栈的定时器接口函数准备操作定时器,搞不懂了,就是不进中断,回调函数也没用编译TIMER=TRUE在SampleApp_Init()里面定义的了定时器的配置函数HalTimerConfig(HAL_TIMER_0,HAL_TIMER_MODE_CTC, HAL_TIMER_CHANNEL_A,HAL_TIM ...…

查看全部问答>

Ubuntu14.04安装搜狗/谷歌拼音输入法

本帖最后由 通宵敲代码 于 2016-1-24 11:11 编辑 系统平台:Ubuntu14.04 所需文件(以最新版本为准):      ibus-googlepinyin-0.1.2-11.1.noarch.rpm      sogoupinyin_2.0.0.0068_amd64.deb      sogoupinyin_2.0.0.0068_i38 ...…

查看全部问答>