文档详情

STM32开发板通信接口规划.pdf

发布:2017-05-25约1.94千字共5页下载文档
文本预览下载声明
STM32开发板通信接口规划 作者:瑞生(微信公众号:科技老顽童) 上一篇文章,我们规划了一下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 是FLAS 类型的存储芯片。你有机会的话,就会见到在实际的产品中,也有同 时出现EEPROM和FLAS 两种存储芯片的时候。FLAS 类型的存储芯片一 般要比EEPROM类型的芯片存储更多的内容,容量更大。 我们使用的时候,有一点非常重要,就是EEPROM可以一个字节一个字节的修 改,而FLAS 的话,即使你要修改一个字节,也需要先擦除一整页(256个 字节)。所以,如果我们要存储字节为单位的数据的话,就用EEPROM,如果 要存储很多数据的话,就用FLAS 。 在这里,仔细的朋友会注意到,前面的原理图中,单片机引脚与芯片之间采用双 排排针,利用短路帽连接,如果不接短路帽,单片机引脚就是独立的引脚,还可 以用杜邦线引出和电路板之外的各种芯片模块连接,这就是开发板的一大功能, 如果直接相连,那就失去了“开发 ”的意义了。而在这里,SPI1实际上也没有 与NRF24L01直接相连,因为我们这里使用的是一个NRF24L01的插座, 拔掉模块以后,实际上就是不连接的。 (NRF24L01接口示意图) (短路帽连接示意图) CAN通信芯片 CAN通信使用TI公司的SN65HVD230。CAN通信一般用于汽车相关的产 品。 好了,今天就到这里! 这里是正在免费直播的《如何做一个STM32开发板》,如果想看前面的文章 或者要看后面的文章,请关注微信公众号:科技老顽童。
显示全部
相似文档