lichonglbj 发表于 2018-10-1 12:12:58

初识数字电路的接口

      数字电路中的接口主要有两大类作用,其一就是传递信息,其二就是控制和监测外设。
控制和监测类接口相对来说比较简单,譬如用GPIO控制LED的亮灭或者用GPIO产生PWM来控制电机。通信类接口种类就比较五花八门了,都是用来传递比较大量的数据的,譬如常用的串口,网口,USB以及PCIE等等,但是总结起来无非就是传递数据的吞吐量,接口之间用的导线数量以及接口之间的电压值的区别,理解这些区别后,在接口设计的时候就不会有选择恐惧症了。其实控制类接口也可以看成是一种简易的信息类接口,但是只能传递简单的逻辑电平组合信息。历史上曾今用烽火台去传递军事情况,虽然能得知有敌军入侵,但是无法知道敌军主帅是谁,人马多少等等信息。控制类接口就类似烽火台,而通信类接口是能传递大量数据的接口,不仅仅只是逻辑电平的高低状态。接口种类虽然有很多种,但是大部分使用起来区别不大,因此总结了以下几种接口,来看看分别在哪些场景中可以使用(具体的技术细节后面再分析)。
[*]GPIO
在电路设计中,比较常见的需求就是板卡上设计一个指示灯来表明目前板卡上的MCU处于运行状态,那么通常就是用MCU的一个GPIO管脚来控制一个LED不停的闪烁。因为LED要求的驱动电压比较低,对电流的需求也不大,所以GPIO(3.3V~5V,4mA~20mA)完全可以应付。
[*]UART
UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用于主机与辅助设备通信。小编曾今做电子设计大赛的时候要用一个51单片机(主机)控制液晶显示测量数据,用另外一个51单片机(从机)来获取传感器的数据。这样就要求把从机获取到的数据发送给主机来显示,而我们知道UART是51单片机的入门必学知识,用起来就会比较顺手,并且传感器的数据量也不大,显示的实时性也要求不高,所以可以考虑使用UART来传递数据。
[*]SPI
SPI是串行外设接口(Serial Peripheral Interface)的缩写。是一种高速的,全双工,同步的通信总线。与UART的使用场景比较类似,但是速度要快些,因此在相同时间内可以传输更多的数据,适合大数据的传输。
[*]I2C
I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。与UART(简易版)类似,只有2根导线,但是I2C的两根导线分别是时钟线和数据线,因此不能进行同时收发操作(所谓的半双工),而UART的两根导线分别是发送线和接收线(所谓的全双工),因此可以同时进行收发操作。I2C最大的特点是可以多点连接,也是能存活下去最主要的原因,如下图。这次只是初步了解有哪些接口以及这些接口大概会用到什么类型场景,但是接口设计最重要的是要搞清楚每种接口的特点是什么以便能在具体设计时候灵活运用.

教授Kayden 发表于 2018-10-8 11:06:14

Very nice article

Jane_tang 发表于 2018-10-24 10:43:30

非常好,谢谢楼主
页: [1]
查看完整版本: 初识数字电路的接口