应选择带硬件IIC的MCU,硬件IIC的使用复杂,进程多,但通信速度快,稳定性好。市面上的单片机基本上都有自己的硬件IIC。比如新塘科技的N76E003单片机STM8S003F3单片机等等。一些具有硬件IIC通信端口的微控制器有自己的SDASCL端口,而其他没有硬件IIC通信端口的微控制器没有SDASCL端口。

电子项目开发中,如何确定使用I2C总线还是SPI总线或者CAN总线?

电子项目开发中,如何确定使用I2C总线还是SPI总线或者CAN总线

电子项目开发中经常用到通讯功能,包括板子上芯片间的通讯和设备间的通讯。而常用的有线通讯方式无非就这几种,如I2CSPIRS232RS485接口CANUSB等。其中I2C也叫IIC,对于题目中提到的几种通讯方式,I2C和SPI是芯片间的短距离通讯,无法长距离通讯。而CAN适合长距离通讯,根据不同的波特率通讯长度可达几公里。

什么时候选用I2C总线IIC由于只用到SCL和SDA两根通讯总线,所以应用广泛,目前有很多数字输出的芯片都是通过IIC传输数据的,比如EEPROM芯片AT24C系列,比如温度传感器芯片SHT20,比如气压传感器芯片BMP280,还有很多AD采样的芯片也是通过IIC传输的。所以,根据所使用的芯片是不是IIC通讯来确定。

IIC具有地址总线,可以挂接多个设备。什么时候选用SPI总线SPI总线也是很常用的芯片间的通讯总线,通常用3线SPI和4线SPI。3线SPI包括SCLK,SDA,SS等。4线SPI包括SCLK,MISO,MOSI,SS。也有很多数字量输出的芯片是通过SPI接口通讯的,一般3线SPI和4线SPI兼容。

如下图所示。SPI通过片选来确定所挂接设备的数量,占用单片机的GPIO口,不适用于挂接多个设备的情况,除非GPIO完全够。什么时候选用CAN总线CAN总线是设备间的通讯总线,具有两根线CANH和CANL,通讯距离非常远,可以达到数公里甚至更远,经常用于工业控制和汽车工业中。现在很多单片机带CAN片上资源,只需要选用一颗电平转换芯片即可实现CAN数据的传输。

由于CAN通讯传输距离远,可以扩展很多个CAN节点,所以设备间长距离通讯用的非常多。总结如果是芯片间的通讯可以选用IIC或者SPI,如果GPIO口有线且要挂接多个通讯芯片,则使用IIC。如果是设备间长距离的通讯可以选用RS485接口和CAN通讯,如果通讯距离只有一两公里可以选用RS485接口,如果通讯距离达到数公里则用CAN通讯总线。

单片机没有SDA怎么办?

单片机没有SDA怎么办

这个问题在我以前的工作中经常遇到,解决方法非常简单。一种是软件模拟IIC实现另一种是换带有硬件IIC的单片机其实在项目开发中,由于成本的考虑,会经常性的换不同价格的单片机。有的有硬件IIC通信端口单片机自带SDA SCL端口,有的没有硬件IIC通信端口单片机不带SDA SCL端口。具体说明如下1单片机不带硬件IIC通信口。

比如早期的51单片机,PIC单片机。可以通过软件模拟IIC总线的方式实现通信。模拟IIC总线基本包括六个函数总线初始化启动信号应答信号停止信号写数据读数据。在使用时,只需正确调用各个函数就可方便的实现功能。2如果你的系统对IIC通信速率要求高,或者传输的数据量大,这时不建议用模拟IIC通信。

应该选择具有硬件IIC的单片机,而且硬件IIC用法比较复杂,流程比较多,但是通信速度快,稳定性好。目前市面上的单片机基本都自带硬件IIC。比如新塘科技的N76E003单片机 STM8S003F3单片机等等很多很多。最后总结单单就题目所问的问题如果单片机没有SDA,SCL管脚,,那么就用软件模拟的方式解决。

什么叫单片机?

什么叫单片机

什么是单片机?答:单片机因将其主要部件集成在一块芯片上而得名。具体来说,它将CPU(中央处理器)、RAM(随机存取存储器)、ROM(只读存储器)、中断系统定时器/计数器和I/O(输入/输出)接口电路等主要微机部件集成在一个芯片上。


文章TAG:哪些单片机具有硬件iic总线控制器  单片  iic  总线  控制器  硬件  
下一篇