第十一节 电的连接线 通讯协议 总线 接口

明确一件事情,此篇不写很准确的名词定义,而是用通俗易懂的方式理解一些电气概念,有了基本的轮廓概念之后,请大家回溯所学过的知识,进行批判性理解。

任何事情正确性都是相对的,也都有一定的适用范围。知识是有边界的。

我们还是在入门级别讲一些东西,打基础。

电是需要用电线之类的导体(可以通过电的物体)来输送。犹如水用水管来输送。

像水车这个靠水驱动的设备,大家试想下,水不流动了,水车也就不动了。但是水车是不知道自己不动了的。也就是它是一个完全被动型的设备。

 

实际上,大部分物体都是这种,环境、外部物体对它施加一个力量,它就做出个简单的反应。

很多童鞋,被填鸭式的教育,死记硬背式的教育变得很像水车了,而是我们要深层次的理解下,我们已经被教育成这个样子的,是否需要做出一些思维模式的改变?

这里说两个比较有名的句子,具体那位老大说的,自行搜索。

1、大胆假设、小心求证

2、没有调查就没有发言权

保持好奇心,要记得我们见到的任何见怪不怪的东西,都不简单。任何一个名词、经验、名句、公式、定理、定律延伸开来思考会是无穷无尽。

 

“一定是这样,因为公式就是这样的。”

”你一定错了,因为爱因斯坦早就说过了。”

经常我们听到类似以上两句的言论,很多人喜欢先列个权威,让人无从质疑,然后巴拉巴拉一通。爱因斯坦一生说了很多话,不是每句话都是对的,公式定理就是用来打破的,不然科学也不会再进步。

但是往往你确认一件事情的时候,你已经错了,大部分情况实际都是薛定谔的猫,是死是活?

所以我们所学的任何知识只是一种参考,而非绝对。

现在我们知道了有种东西是被动式的物体。这个概念很重要,你对着石头说话,它一般是不会给你反馈的。

妈妈说:“小明”,小明回答:“听到了”。两个人的对话,是有反馈的,这叫做应答。

你对旺财说:“过来”,旺财摇着尾巴跑了过来,这也是一个主动的反馈。

 

实际上相互交流,智能点就是有问有答,输入输出。

对付呆瓜,不需要回答,那就是下命令,输出

还有一种情况是,你很忙,不想回答,有个话痨在你耳朵旁边喋喋不休,很烦,这个就是输入

上面就是通讯最基本的三种方式。

你是中国人,你的朋友是俄罗斯人,你不懂俄语,朋友不懂中文,但都懂点英语。

你们约定好,用英语交流,这就是通讯协议

我们看书上的通讯协议,有长短码,包头、包尾,结束符之类的东西(设备、智能芯片等等),实际就是用电线连接的两头的设备,不把协议规定好,相互之间通讯不说统一的语言,根本没法交流。现在我们要跑出来,先不管书上犹如密码一样的各种字符、图形,就依照实际我们的生活去理解,简单。

电一般需要用电线来传输。较真的开始说了,手机不用电线也能打电话接收发送电信号。

好,我服你较真的性格,那么换种说法,电需要能够导电的物质(介质)来传输,再较真,为什么太空也能传输电,去问麦克斯韦、爱因斯坦、特斯拉、波尔等等老人家吧!他们最近在平行宇宙另一边比较闲,与他们相比犹如蝼蚁与太阳的差距,所以就不深入下去,我们继续入门学习。

简单点,两个物体需要通讯,那么仅仅围绕线这个问题。学是为了用,那么我们继续通讯的话题。

以目前个人理解,除去无线电(无线传输电)再除去两边都是呆瓜的设备之间的连线。

稍微智能点的电器设备(芯片)之间连接,比较复杂点,相互间有通讯协议的连线,就是总线

实际总线这个名词是经不起推敲的,任何连线几乎都得有协议(电流、电压、功率、频率等等)个人理解,就是设备之间的连线电线,有些需要几根线相互配合才能正常传输特定的电信号。然后给这组线起了个名字叫总线。

总线又通分为两种串行总线、并行总线

我们可以把总线看成车道,轿车看成电信号数据,单行道、双向单车道都属于串行,只能一辆辆车跟随通过。

多车道属于并行,可以并排着过车。

 

记得所有的名词都是特例,例如当我们说到总线时,仅仅代表某一类的连接线路。还是那句话,电气设备需要我们提供什么,我们就给他什么,最终组合起来能够工作,就证明我们的连接线,元器件选型是对的。不必纠结于名词。

举例,例如两个设备需要I2C总线通讯,那我们就按照I2C总线的协议,要求连上就好了。

说到这里,就得说几种常用的总线了。

先说几种串行总线(连接线数少,容易实现,速度比并行线慢)

总结常用的就是一根线、两根线、三根线、四根线、八根线

一根线:单总线

两根线:I2C总线,CAN总线,485总线,USB等

三根线:RS232(常用连接三根线 TX RX GND)

四根线:SPI总线(SCK MISO MOSI CS)

八根线:网线(实际网线省掉4根,只用其中四根线也可以,速度慢一些,千兆网必须8根线)

对电子工程师,实际上相对简单,就是把这几根线连接到两个设备或者芯片上,总线对嵌入式软件工程师,就是比较头痛的操作,首先必须了解协议细节,才能写出可以通讯的程序来。

I2C 连接设备的接线方式

以I2C 接口为例,对硬件来说,就是两根线,可以连接到很多设备上,并且需要在每根线上接上一个电阻到电源(必须有)

I2C连接芯片的方式,实际把芯片看出设备,设备看出芯片也一样

STM32F407ZGT6 芯片实物图

焊在板子上的样子

画的焊接的位置(这是pcb的图面 2D 方式 上图是3D方式,实际代表一个东西)

放大后就可以看到SCL SDA两个引脚

这是一个芯片 stm32F407ZGT6

 

放大之后,看到它的139 140是I2C的引脚,也就是这两个脚支持I2C通讯

 

将上面两个芯片的 SCL SDA用走线连起来,然后在这两根线上焊上两个电阻 R417 R477 (这两个电阻一边接5V 两位一边分别接SCL SDA),对硬件来说实际工作已经完成了,制作出完整的板子后,交给软件工程师写嵌入式程序(往STM32F407 里面写程序,具体方式后续开源平台会讲)。

实物是这样的

无论是pcb(印制电路板实际就是在一个板子两面都有铜皮,把铜皮用药水腐蚀掉不用的,留下有用的一根根线)上的走线还是排线,目的就是把一堆器件连在一起,能够通过电信号。

最后,就是接口了,对硬件来说,所有的插座都是接口,排线或者其他种类的线材就是连接接口的。接口、接口就是相互能够连接的开口(插座口)非常直白的表示。

但是对软件来说,接口不是像实物这样,你可以理解程序接口是两段程序相互通讯的中间一段程序代码。

 

你可能存在的疑问:

1、I2C SPI 到底是什么?

2、pcb是什么,pcb上的走线是怎么走的?

3、很多图,但是感觉图总是和自己隔着一层,不好理解。

 

总结下:

任何设备能够正常通讯大部分需要线连接,通讯协议就是两个设备能够应答定义的共同语言,总线就是一类连接线路的统称,接口就是接口,连接口的意思。

学习带着问题去学,永远是会有疑问的,你可以网上搜索下这些接口的英文名词,加深理解,对比思考,看起来简单的一个名词,实际上都需要一个大部头的书籍才能讲清晰,特别是涉及通讯协议的内容。

例如下面的书:

 

很多时候大家看书看不懂,最主要的原因是,一个自然段大量的抛出专业名词,实际大部分专业名词可能倾尽一位科学大家的毕生精力,不是你理解能力差,而是功夫下的少

贴近硬件的嵌入式工程师,大部分时间查询资料就是在看通讯协议,与各种接口打交道。你对各种协议了解的越多,出错越少。水平也会越来越高。

本节结束。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值