SPI,全程Serial Peropheral Interface,译为串行外围设备接口,是一种高速的、全双工的、同步通信总线。
SPI常用于单片机和E2PROM、FLASH、实时时钟、数字信号处理器等器件的通信。SPI通信原理主要是主从方式通信,这种模式通常只有一个主机和一个或多个从机。
标准的SPI有4根线,分别是SSEL、SCLK、MISO、MOSI。
SSEL:从设备片选使能信号。若从设备为低电平使能,则当此引脚拉低后,从设备被选中,主机同被选中的从机进行通信。
SCLK:时钟信号。 由主机产生,类似于I2C中的SCL。
MOSI:主机给从机发送指令或者数据的通道。
MISO:主机读取从机的状态或者数据的通道。
实际应用中,存在只使用2根或3根线的SPI。用户可以根据自己的实际需求,取舍SPI功能线。
SPI的读写时序过程有四种模式。在接触他们之前,需要学习两个名词。
CPOL:Clock Polarity,时钟的极性。整个通信过程分为空闲时刻和通信时刻。若在数据发送之前和之后SCLK的空闲状态是高电平,则CPOL = 1,若为低电平,则CPOL = 0;
CPHA :Clock Phase,时钟相位。
同步通信的一个特点是所有数据的变化和采集都伴随着时钟沿进行。一个时钟周期必定包括一个上升沿和一个下降沿。数据从产生到稳定需要一定时间,故一般来说同一个周期内,上升沿产生的数据,在下降沿收集,下降沿产生的数据,在上升沿收集。
CPHA = 1,表示在一个时钟周期的第一个沿上,进行数据输出。CPOL = 1,该沿是下降沿。CPOL = 0,该沿是上升沿。
CPHA = 0,表示在一个时钟周期的第一个沿上,进行数据采集。CPOL = 1,该沿是下降沿。CPOL = 0,该沿是上升沿。
这里可能出现这样的情况:在第一个时钟沿就采集了第一帧数据传输的第一个bit,这个数据是何时输出的呢?情况有二:一在SSEL使能的边沿,二上一帧数据的最后一个时钟沿。有时两种情况会同时生效。
以下是这四种模式的通信时序图:
上一篇:#51单片机#DS18B20硬件原理以及通信的工作时序
下一篇:#51单片机# I2C时序初步认识和寻址模式
推荐阅读
史海拾趣
随着物联网、可穿戴设备等新兴领域的兴起,Goldentech敏锐地捕捉到了市场的新机遇。公司迅速调整战略方向,加大在微型化、低功耗半导体器件的研发投入。通过引入先进的制造工艺和封装技术,Goldentech成功推出了一系列适用于物联网和可穿戴设备的高性能离散半导体产品。这些产品凭借出色的性能和稳定性,在市场中获得了广泛认可,为公司的持续发展注入了新的动力。
ANYSOLAR始终关注企业的社会责任和可持续发展。在生产过程中,公司严格遵守环保法规,采用先进的环保技术和设备,确保生产过程中的废弃物排放达到国家标准。同时,公司还积极参与社会公益活动,捐赠光伏产品支持贫困地区的能源建设。
此外,ANYSOLAR还致力于推动清洁能源的普及和应用,通过技术研发和市场推广等方式,降低清洁能源的使用成本,提高其在能源结构中的占比。这些举措不仅体现了ANYSOLAR的社会责任感,也为公司的可持续发展奠定了坚实的基础。
以上便是关于ANYSOLAR LTD.的五个发展故事。虽然这些故事是虚构的,但它们基于电子行业的常见趋势和企业发展的普遍规律,旨在展示一个企业在发展过程中可能面临的挑战和机遇。希望这些故事能够为您提供一些启发和参考。
1993年,Transico公司收购了EECO Switch部门,这标志着EECO Switch公司进入了一个全新的发展阶段。在被收购后,EECO Switch获得了更多的资源和支持,进一步加速了其业务拓展的步伐。公司不仅在原有的人机界面产品领域继续深耕细作,还积极拓展新的业务领域,如智能家居、物联网等。
AEL Crystals Ltd公司成立于1960年,最初专注于石英频率控制元件的研发与生产。在创立初期,公司面临着技术挑战和市场竞争的双重压力。然而,凭借创始人的远见卓识和团队的不懈努力,AEL Crystals逐渐在石英频率控制领域站稳了脚跟。公司通过持续改进生产工艺和提高产品质量,逐渐赢得了客户的信任和支持。
随着数字化转型的深入,CET Technology紧跟时代步伐,成功研发出数字化安全生产管控平台。该平台通过整合配电、给水、电梯、消防、空调、安防等各系统,建立统一的安全物联感知平台,实现对安全生产各要素的在线监测。利用3D可视化技术,关键信息得以直观呈现,为企业的安全生产管理提供了有力支持。此外,CET还引入了AI技术,对安全风险进行精准预测,助力企业防范和应对各类安全事件。
在电子行业的发展过程中,Bogen Communications Inc公司意识到单打独斗难以取得长久的成功。因此,公司积极寻求与其他企业和机构的合作,共同开发新技术、新产品。通过与合作伙伴的紧密合作,公司不仅获得了更多的资源和技术支持,还成功地将产品推向了更广阔的市场。
单片机应用编程技巧100问 1.C语言和汇编语言在开发单片机时各有哪些优缺点? 答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所 ...… 查看全部问答∨ |
|
1。我用VC++编写了一个汇编代码生成DLL,控制IO口,无参数传递。编译的时候提示insufficient number of arguments to a function,后来在定义函数的时候特意加上2个参数,可以编译成功。 2。调用这个函数的时候,提示the program has caused a \'p ...… 查看全部问答∨ |
|
RMS Power Dissipation (TA = 70°C) =1.8W这个说明该电源芯片工作时的功耗吗? RMS Power Dissipation (TA = 70°C) =1.8W 这个说明该电源芯片工作时的功耗吗? 它和芯片输出能力有关系吗 来自EEWORLD合作群:arm fpga linux 嵌入1(63762526) 群主:wangkj… 查看全部问答∨ |
|
求助:ADDRESS SPACE OVERFLOW SPACE: DATA *** ERROR 107: ADDRESS SPACE OVERFLOW SPACE: DATA SEGMENT: _DATA_GROUP_ LENGTH: 005AH 请问我用51单片机做开发,上边的这个编译错误应该怎么解决?谢谢各位。帮忙说出 ...… 查看全部问答∨ |
|
菜农升级发布适应于STM32的CRC32的网上演算器及正确算法 JavaScript语言的CRC32代码摘要,点击直接在网上运行"菜农的CRC网上在线演算器"/*左移crc32算法: CRC32=X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X1+1 初值:crcvalue = 0xFFFFFFFF权值:crcval &nb ...… 查看全部问答∨ |
如题,已经安装了IAR6.1 和 PDL-LM3S-3223 驱动库 ,编译调试1138的程序没有任何问题的, 但是如何开发9B96这个芯片呢? 有没有9B96的工程模板呢?… 查看全部问答∨ |