硬件常用接口和通信协议
UART
通用异步收发器。UART是应用于两个设备之间的通信,用两根线作为传输,TX用于数据输出,RX用于数据输入。如用单片机做好的设备和计算机的通信。这样的通信可以做长距离的。UART的速度最高达100K左右,用与计算机与设备或者计算机和计算之间通信,但有效范围不会很长,约10米左右。
RS232
串行数据通信的接口标准,在RS232标准中,字符是以一串行的比特串来传输,优点是传输线少,配线简单,发送距离可以比较远。最常用的编码格式是异步起停格式,它使用一个起始比特后面紧跟7或8个数据比特,然后是可选的奇偶校验比特,最后是一个或两个停止比特。所以发送一个字符至少需要10比特,带来的效果是使全部的传输速率、发送信号的速率以10划分。
串行通信在软件设置里需要做多项设置,最常见的设置包括波特率、数据位、奇偶校验和停止位。
波特率:是一个衡量通信速度的参数。它标识每秒传送的比特的个数。波特率和距离成反比。高波特率常用于放置很近的仪器之间的通信。
数据位:衡量通信中实际数据位的参数。标准的值使5位、7位和8位。
奇偶校验:验证数据的正确性。奇偶校验是通过修改每一发送字节来工作。如果不做奇偶校验,那么数据是不会被改变的。在偶校验中,因为奇偶校验位会被相应的置1或0,所以数据会被改变使得所有传送的数位中“1“的个数位为偶数。奇校验则数位为奇数。奇偶校验可以用于接收方检查传输是否发生错误。
停止位:表示单个包的最后一位。典型的值为1位、1.5位和2位/由于数据是在传输线上定时的,并且每一个设备有自己的时钟,所以很可能在通信中两台设备间出现小小的不同步。因此停止位不仅仅表示传输的结束,并且提供计算机校正时钟同步的机会。
串口设置通常都是8/N/1,也就是8位数据,无校验位(O为奇,E为偶),停止位1。
RS232和TTL的区别:其实就是电平上的区别,RS232的电平通常为+12V和-12V,通过MAX232一类的电平转换芯片,就能转换为0-5V的TTL电平,本质上通信协议标准都是一样的。
详细介绍:http://blog.csdn.net/mrdingjie/article/details/8126062
RS485/RS422
在工业应用中,RS232因为传输距离的问题,通常使用传输距离更远的RS485或者RS422。
它的电气特性和RS232不一样。用缆线两端的电压差值来表示传递信号,逻辑“1“以两线间的电压差为+(2-6)V表示;逻辑”0“以两线间的电压差为-(2-6)V表示。两端的电压差最小为0.2V以上时有效,任何不大于12V或者不小于-7V的差值都被接收端认为时正确的。
IIC
集成电路总线。IIC总线是双向、两线(SCL、SDA)、串行、多主控(multi-master)接口标准。IIC串行总线一般有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL。所有接到IIC总线设备上的串行数据SDA都接到总线的SDA上,各设备的时钟线SCL接到总线的SCL上。
详细介绍:http://blog.csdn.net/zailushangha/article/details/8233448
SPI
串行外设接口。一种用于短程通信的同步串行通信接口规范,主要应用于单片机系统。
通信原理:以主从方式工作,通常有一个主设备和一个或多个从设备,需要至少4根线,单向传输时3根也可以。
SCLK:串行时钟,由主机发出。
MOSI:主机输出从机输入信号,由主机发出。
MISO:主机输入从机输出信号,由从机发出。
SS:片选信号,由主机发出,低电平有效。
详细介绍:http://blog.csdn.net/ce123_zhouwei/article/details/6897293
CAN
控制器局域网通信协议,是国际上应用最广泛的现场总线之一。特点是允许网络上的设备直接互相通信,网络上不需要主机控制通信。即时的信息传输为CAN的特色之一,所以很多工业控制和需要即时传递信息的应用场景,都是用CAN。例如汽车。在工业、医疗、航空航天领域也是非常重要的。
CAN的特色就是仲裁和封包。CAN总线的仲裁机制决定了数据包的优先级,封包格式决定了传输的这些数据到底有什么含义。基本上每个厂商的CAN数据帧格式都不同,这就是为什么有些汽车故障只能找4S店。
ModBus
是一种串行通信协议,是一个比较古老的通信协议,但在工业控制领域占老大地位。是一个上层协议,重点和CAN一样在于数据帧的解析。
ProFiBus
过程现场总线。在多种自动化领域中占据主导地位。它由三个兼容部分组成:ProFiBus-DP、ProFiBus-PA、ProFiBus-FMS。
ProFiBus-DP用于现场级,是一种高速低成本通信,用于设备级控制系统与分散式I/O之间的通信,总线周期一般小于10ms,使用协议第一层、第二层和用户接口,确保数据传输的快速和有效进行。
ProFiBus-PA适用于过程自动化,可使传感器和执行器接在一根共用的总线上,可应用于本征安全领域。
ProFiBus-FMS用于车间级监控网络,是令牌结构的实时多主网络,用来完成控制器和智能现场设备之间的通信及控制器之间的信息交换,主要使用主-从方式,通常周期性地与传动装置进行数据交换。
RJ45
网络最基本的接口。布线系统中信息插座(即通信引出端)连接器的一种,连接器由插头(接头、水晶头)和插座(模块)组成,插头有8个凹槽和8个触点。RJ是Registered Jack的缩写,意思是“注册的插座”。RJ45模块的核心是模块化插孔。
特殊接口
一些大厂或者实验室,为了安全会定制自己的特殊接口。如苹果的Lighting接口添加了TI定制的“认证芯片“所以其数据线都必须从指定经销地购买,无法山寨,直到最后被破解。
参考连接
《硬件安全攻防大揭秘》