上一篇文章,我们规划了一下STM32开发板串口(UART),这一篇文章介绍剩下的通信接口。我们在第一课画STM32F103VET6单片机原理图的时候,我们就看到,它除了UART,还有SPI、CAN、I2C等通信接口。
一个单片机,为什么会有这么多的通信接口?一种接口不够用么!这是一部分小伙伴的疑问。
基于单片机的电子产品,从简单的到复杂的,基本上没有只用单片机就可以完成了。这一点,大家在看到很多电子产品的电路板之后就发现了,上面有若干个芯片。带有单片机的电路板上,其他的芯片都被称作单片机的外围芯片。
根据不同的应用,有不同的外围芯片。这些外围芯片有很多种,例如加速度传感器芯片、数字收音机芯片、存储芯片、无线通信芯片、放大器芯片、温度传感器芯片等等。当然,除了外围芯片,还会有很多的电子元件,诸如电阻电容三极管MOS管等。
下面就开始介绍我们开发板所要连接的一些如果芯片。
I2C通信芯片
STM32F103VET6有2个I2C口,分别是I2C1和I2C2,我们用I2C1口来学习。和它连接的芯片我们选择AT24C02,这是一个EEPROM类型的存储芯片。
EEPROM芯片是我们做任何产品时经常会用到的芯片,最常见的是Atmel公司的AT24XX系列。所以这个芯片也是我们开发板上必须要有的芯片。这个芯片说白了,就是个存储芯片。(一般的单片机由ROM和RAM构成,ROM用来放程序,RAM用来放程序运行时的数据,单片机运行完了关机后,ROM中的内容还是原来的程序,RAM中的内容也都没有了。如果想要保存数据,就需要外加一个存储芯片了。)
这个芯片的用途就是保存一些不允许掉电丢失的数据。举个例子,一个产品需要限定用户的使用次数,每开机一次,就记录一次,如果达到10000次,就需要维护,这里的使用次数,就需要掉电不丢失。
这里虽然连接的是硬件I2C口,但是也可以把I2C口的两个引脚配置为普通的IO口模拟I2C时序来学习I2C通信,作为单片机的初学者,强烈建议要先学习普通IO模拟I2C时序。
SPI通信芯片
STM32F103VET6有2个SPI接口,分别是SPI1和SPI2,我们用无线通信芯片NRF24L01和W25Q16来连接SPI1口,SPI2口用作和触摸屏芯片XPT2046通信。
作为初学者,看到SPI1口同时连接了W25Q16和NRF24L01两个芯片,感到诧异,为什么一个SPI口可以连接2个芯片?要理解这个原因,需要先简单的知道一下SPI通信的原理,SPI通信都会有一个CS片选引脚,听名字,片选引脚,也就是“选择哪一个芯片”的意思,也就是说,你的SPI口可以连接很多SPI通信的芯片,只要每个芯片的CS引脚连接到单片机不同的CS引脚就可以了。到时候,你要和哪个芯片通信,就把哪个芯片对应的CS引脚拉低就可以了。
W25Q16也是存储芯片,它与前面说的AT24C02的不同之处是,W25Q16是FLASH类型的存储芯片。你有机会的话,就会见到在实际的产品中,也有同时出现EEPROM和FLASH两种存储芯片的时候。FLASH类型的存储芯片一般要比EEPROM类型的芯片存储更多的内容,容量更大。
我们使用的时候,有一点非常重要,就是EEPROM可以一个字节一个字节的修改,而FLASH的话,即使你要修改一个字节,也需要先擦除一整页(256个字节)。所以,如果我们要存储字节为单位的数据的话,就用EEPROM,如果要存储很多数据的话,就用FLASH。
在这里,仔细的朋友会注意到,前面的原理图中,单片机引脚与芯片之间采用双排排针,利用短路帽连接,如果不接短路帽,单片机引脚就是独立的引脚,还可以用杜邦线引出和电路板之外的各种芯片模块连接,这就是开发板的一大功能,如果直接相连,那就失去了“开发板”的意义了。而在这里,SPI1实际上也没有与NRF24L01直接相连,因为我们这里使用的是一个NRF24L01的插座,拔掉模块以后,实际上就是不连接的。
(NRF24L01接口示意图)
(短路帽连接示意图)
CAN通信芯片
CAN通信使用TI公司的SN65HVD230。CAN通信一般用于汽车相关的产品。
好了,今天就到这里!
关键字:STM32开发板 通信接口
引用地址:
《如何制作STM32开发板》之通信接口部分
推荐阅读最新更新时间:2024-03-16 15:24
STM32开发板中如何点亮一个LCD
网络上配套STM32开发板有很多LCD例程,主要是TFT LCD跟OLED的。从这些例程,大家都能学会如何点亮一个LCD。但这代码都有下面问题: 分层不清晰,通俗讲就是模块化太差。 接口乱。只要接口不乱,分层就会好很多了。 可移植性差。 通用性差。 为什么这样说呢?如果你已经了解了LCD的操作,请思考如下情景: 1、代码空间不够,只能保留9341的驱动,其他LCD驱动全部删除。能一键(一个宏定义)删除吗?删除后要改多少地方才能编译通过? 2、有一个新产品,收银设备。系统有两个LCD,都是OLED,驱动IC相同,但是一个是128x64,另一个是128x32像素,一个叫做主显示,收银员用;一个叫顾显,顾客看金额。怎么办?这些例
[单片机]
单片机系统中的红外通信接口
摘要:本文结合复费率电能表中红外通信的设计实从事贸易,介绍了单片机系统中红外通信的软硬件设计方法,并给出了具体的电路原理和通信源程序。 在许多基于单片机的应用系统中,系统需要实现遥控功能,而红外通信则是被采用较多的一种方法。一般市场上的摇控器协议简单、保密性不强、抗干扰能力较弱。这里,我们介绍一种基于字节传输的红外遥控系统,可以适合于各种复杂的应用场合。 红外通信的基本原理 红外通信的基本原理是发送端将基带二进制信号调制为一系列的脉冲串信号,通过红外发射管发射红外信号。常用的有通过脉冲宽度来实现信号调制的脉宽调制(PWM)和通过脉冲串之间的时间间隔来实现信号调制的脉时调制(PPM)两种方法。本系统采用的为永时市制方法。数据比特的
[单片机]
单片机spi通信接口什么意思,spi接口干什么用的?
讲真,以前做开发的时候最怕就是调spi和iic。 因为公司没有逻辑分析仪,调起来全凭经验,一出问题找都找不到,只能仔细看代码盲调,看是不是哪个时序有问题。 说到这里,可能刚初学的小伙伴会问:单片机spi通信是什么鬼?spi接口是干什么用的? 一、单片机spi通信是什么鬼? 单片机是一个可编程的微控制器,和spi通信其实是两个独立的东西。 只不过我们用单片机可以去实现spi通信而已,但是实现spi通信不一定非要单片机。 我们人和人之间沟通,要靠说话,并且两个人语言要一样,比如说都用普通话。 那芯片和芯片沟通,它们又不会说话,怎么传递信息呢? 就是通过通信总线,通信总线有很多种,比如IIC、SPI、USART、CAN,它们的区别就像普
[单片机]
SEP3203处理器的FPGA数据通信接口设计
SEP3203处理器是由东南大学国家专用集成电路系统工程技术研究中心设计的16/32位RISC微控制器,面向低成本手持设备和其他通用嵌入式设备。该处理器内嵌ARM7TDMI处理器内核,为用户提供了面向移动终端应用的丰富外设、低功耗管理和低成本的外存配置,整个芯片可以运行在75 MHz。数据通信系统使用的主要功能模块如下:20 KB片上零等待静态存储器(eSRAM);外部存储器接口控制器(EMI);中断控制器(INTC);DMA控制器(DMAC)。 系统中使用的FPGA为Altera公司的Cyclone系列中的EP1C6Q240C8,拥有丰富的I/O资源和逻辑资源,外部接口遵循SRAM时序。它主要负责提供信号的A/D采样频率,并将A
[应用]
S5PV210串口通信接口-2
1、本来串口功能就是上节讲的部分,但是后来的技术发展给串口叠加了一些高级功能,在像210这类高级SOC的串口控制器中,都有这类高级功能。 2、FIFO模式及其作用 (1)、典型的串口设计,发送 / 接收缓冲区只有1个字节,每次发送 / 接收只有处理一帧数据。这样在单片机中设计没什么问题,但是到复杂SOC中(一般有操作系统)就会有问题,会导致效率低下,因为缓冲区太小CPU需要不断切换上下文。 (2)、解决方案就是想办法扩展串口控制器的发送 / 接收缓冲区,譬如将发送 / 接收缓冲区设置为64字节,CPU一次过来直接给发送缓冲区64字节的待发数据(后CPU可以空出时间去处理别的事),然后transmitter慢慢发,发完再找CPU
[单片机]
智能电控阀门的Profibus-DP通信接口的设计
现场总线是用于现场仪表与控制系统和控制室之间的一种全分散、全数字化、智能、 双向、互联、多变量、多点、多站的通信网络。工业现场总线是用来解决当前工业领域中“信 息孤岛”的必然方法。现在已经被广泛使用的工业现场总线的种类很多,有CANBUS、 DeviceNet、CClink、Modbus 等几十种现场总线 。
德国的西门子公司是进入中国市场较早的跨国公司。该公司的工业现场总线产品在国 内占有很大的市场份额。西门子公司的SIMATIC NET 工业通信网络结构可以分为三级:企 业级、车间级和现场级。PROFIBUS 是一种用于工厂自动化车间级监控和现场设备层数据通 信与控制的现场总线技术。
本文主要介绍开发工业用
[嵌入式]
STM32开发板学习日记-[3] TIM定时器输出比较
使用Timer进行周期定时 在STM32的某些应用中,用户有周期性执行某些程序的要求,使用定时器可以产生固定的时间周期,满足 这样的需求。 STM32相关特征: STM32高级定时器TIM1、TIM8,通用定时器TIM2、TIM3、TIM4、TIM5; 定时器最大时钟72MHz,配合预分频,提供灵活的时钟周期; 每个TIM有4个独立捕获/比较通道,DMA/中断功能; 通道工作在输出比较定时模式,一个TIM至多可以提供4个不同的定时周期。 原理 TIM某输出/捕获通道工作在输出比较定时模式 计数器计数至比较值时产生中断,在中断中刷新捕获比较寄存器,这样在相同时间间隔后可产生下一次中断 TIM2时钟设置为36MHz,预
[单片机]
单片机系统中的红外通信接口
摘要:本文结合复费率电能表中红外通信的设计实从事贸易,介绍了单片机系统中红外通信的软硬件设计方法,并给出了具体的电路原理和通信源程序。 关键词:单片机,红外通信,遥控 在许多基于单片机的应用系统中,系统需要实现遥控功能,而红外通信则是被采用较多的一种方法。一般市场上的摇控器协议简单、保密性不强、抗干扰能力较弱。这里,我们介绍一种基于字节传输的红外遥控系统,可以适合于各种复杂的应用场合。 红外通信的基本原理 红外通信的基本原理是发送端将基带二进制信号调制为一系列的脉冲串信号,通过红外发射管发射红外信号。常用的有通过脉冲宽度来实现信号调制的脉宽调制(PWM)和通过脉冲串之间的时间间隔来实现信号调制的脉时调制(PPM)两种方法。本系统
[单片机]