物理信号 CAN2.0B规范定义了两种互补的逻辑数值:“显性”和“隐性”,同时传送“显性”和“隐性”位时,总线结果值为“显性”。“显性”(“Daminant”)数值表示逻辑“0”,而“隐性”(“Recessive”)表示逻辑“1”。 在CAN规范中并未定义代表逻辑电平的物理状态(例如电压),iCAN网络使用符合ISO11898-2标准的电平信号,典型地,CAN总线为“隐性”(逻辑1)时,CAN_H和CAN_L的电平为2.5V(电位差为0V);CAN总线为“显性”(逻辑0)时,CAN_H和CAN_L的电平分别是3.5V和1.5V(电位差为2.5V)。
由此可见,无论从实时性、适应性、灵活性,还是可靠性上来看,CAN总线都是一种比RS-232更为优秀的串行总线。当两台串口设备的相距较远,不能直接用RS-232把它们连接起来时,就可以把RS-232转换为CAN,通过CAN总线来实现串口设备的网络互连。
但是,RS-232和CAN在电平和帧格式上都是很大的不同。具体表现如下:RS-232标准电平采用负逻辑,规定+3V~+15V之间的任意电平为逻辑“0”电平,-3V~-15V之间的任意电平为逻辑“1”电平。而CAN信号则使用差分电压传送,两条信号线称为“CAN_H”和“CAM_L”,静态时均为2.5V左右,此时的状态表示为逻辑“1”,也可以叫做“隐性”;用CAN_H比CAN_L高表示逻辑“0”,称为“显性”。显性时,通常电压值为:CAN_H=3.5V,CAN_L=1.5V。差分电压定义: Vdiff = CAN_H - CAN_L那个图中黄线为CAN_H波形,绿线为CAN_L在波形左,右两端时,CAN_H=CAN_L=2.5v,称为"隐性" (差值为"0v")在波形中间时,CAN_H=3.5V,CAN_L=1.5V,称为"显性" (差值为"2v")
但是,RS-232和CAN在电平和帧格式上都是很大的不同。具体表现如下:RS-232标准电平采用负逻辑,规定+3V~+15V之间的任意电平为逻辑“0”电平,-3V~-15V之间的任意电平为逻辑“1”电平。而CAN信号则使用差分电压传送,两条信号线称为“CAN_H”和“CAM_L”,静态时均为2.5V左右,此时的状态表示为逻辑“1”,也可以叫做“隐性”;用CAN_H比CAN_L高表示逻辑“0”,称为“显性”。显性时,通常电压值为:CAN_H=3.5V,CAN_L=1.5V。差分电压定义: Vdiff = CAN_H - CAN_L那个图中黄线为CAN_H波形,绿线为CAN_L在波形左,右两端时,CAN_H=CAN_L=2.5v,称为"隐性" (差值为"0v")在波形中间时,CAN_H=3.5V,CAN_L=1.5V,称为"显性" (差值为"2v")