实时数据串行通信协议设计
双机之间的串行通信设计

双机之间的串行通信设计随着计算机技术的快速发展,双机之间的串行通信变得越来越重要。
无论是在数据传输、系统控制还是协同处理方面,双机之间的串行通信都扮演着关键角色。
本文将探讨双机之间的串行通信设计,包括串行通信的原理、串行通信的应用、串行通信的优势以及设计双机之间串行通信的步骤。
一、串行通信的原理串行通信是一种逐位传输数据的通信方式。
在双机之间的串行通信中,一台机器将数据一位一位地发送给另一台机器,接收方接收到数据后将其重新组装为完整的信息。
串行通信常用的协议有RS-232、RS-485、SPI等。
二、串行通信的应用1.数据传输:双机之间通过串行通信传输大量数据,例如在两台计算机之间传输文件、传输实时音视频数据等。
2.系统控制:双机之间通过串行通信进行系统控制,例如一个机器向另一个机器发送指令,控制其执行特定的任务。
3.协同处理:双机之间通过串行通信进行协同处理,例如在分布式系统中,各个节点之间通过串行通信共同完成复杂的任务。
三、串行通信的优势相比于并行通信,双机之间的串行通信具有以下几个优势:1.传输距离更远:串行通信可以在较长的距离上进行数据传输,而并行通信受到信号干扰和传输线损耗的限制。
2.更少的传输线:串行通信只需要一条传输线,而并行通信需要多条传输线。
3.更快的速度:串行通信在同等条件下具有更快的传输速度,因为每一位数据传输所需的时间更短。
4.更可靠的传输:串行通信可以通过校验位等方式来保证数据传输的可靠性。
四、设计双机之间串行通信的步骤设计双机之间的串行通信需要经过以下几个步骤:1.确定通信协议:首先需要确定双机之间的通信协议,例如RS-232、RS-485等。
不同的通信协议有着不同的特点和适用范围,需要根据具体的应用需求进行选择。
2.确定物理连接方式:根据通信协议的选择,确定双机之间的物理连接方式,例如使用串口线连接、使用网络连接等。
3.确定数据传输格式:确定数据传输的格式,包括数据的编码方式、数据的起始位和停止位等。
SPI协议解析高速串行通信的协议标准

SPI协议解析高速串行通信的协议标准SPI(Serial Peripheral Interface)是一种高速串行通信协议,被广泛应用于各种数字设备的通信接口传输中。
本文将对SPI协议进行详细解析,介绍其协议标准,以及相关的特性和应用。
I. 介绍SPI协议是一种同步协议,常用于微控制器和外部外设之间的通信。
它通过四根信号线(时钟线、数据线、主从选择线、片选线)实现全双工通信,并且支持多主机和多从机的通信方式。
SPI协议具有高速传输、简单易用、灵活性强等特点,被广泛用于各种应用领域。
II. 协议标准SPI协议的通信规范主要包括以下几个方面:1. 时钟极性与相位SPI协议定义了两种类型的时钟极性和相位设置,分别为CPOL和CPHA。
CPOL用于控制时钟信号的极性,可以是低电平为开始(CPOL=0),或高电平为开始(CPOL=1)。
CPHA用于控制数据采样的时机,可以是时钟信号的上升沿采样(CPHA=0),或下降沿采样(CPHA=1)。
根据不同的设备要求,可以通过组合CPOL和CPHA来实现精确的时序控制。
2. 数据传输顺序SPI协议支持全双工传输,数据通信可以是单向的,也可以是双向的。
数据传输的顺序由设备的主从模式决定,主机先发送数据,然后从机进行响应。
在全双工通信中,数据可以同时双向传输,主机和从机同时发送和接收数据。
3. 主从设备选择SPI协议使用一根主从选择线(SS)来选择通信的主机或从机。
当某个从机被选中时,通过使能该从机的片选线,使其进入工作状态,其他从机则处于非工作状态。
主机可以通过控制主从选择线来选择不同的从机进行通信。
4. 数据帧格式SPI协议的数据传输是以数据帧的形式进行的。
每个数据帧由一个字节(8位)的数据组成,包括发送的数据和接收的数据。
数据帧可以是单向的,也可以是双向的。
5. 传输速率SPI协议支持各种传输速率,可以根据需要进行调整。
传输速率由时钟信号频率决定,可以通过调整时钟频率来达到不同的传输速率。
实时系统中的数据通信与网络协议(一)

实时系统中的数据通信与网络协议在当今数字化时代,实时系统已经广泛应用于各个领域,如工业控制、航空航天、交通运输等。
实时系统的核心要求是能够高效地进行数据通信,并确保数据的及时性和可靠性。
在实时系统中,数据通信的实现离不开网络协议的支持,本文将探讨实时系统中的数据通信与网络协议。
一、实时系统中的数据通信实时系统中的数据通信主要包括控制命令的传输和实时数据的采集与传输。
控制命令的传输通常使用短消息或指令的方式,可以通过串口、以太网等传输媒介实现。
而实时数据的采集与传输则需要考虑更高的带宽和更低的延迟要求。
实时数据的采集与传输可以使用多种方式,如传统的模拟信号采集,以及数字传感器、无线传感器等技术的应用。
数据的传输则依赖于各种传输媒介和通信协议,如以太网、CAN总线、嵌入式总线等。
二、以太网在实时系统中的应用以太网是一种常用的局域网技术,其高带宽和灵活性使得它成为实时系统中数据通信的重要媒介之一。
以太网提供了丰富的物理层和数据链路层协议,如Ethernet、ARP、IP以及UDP等。
这些协议为实时系统中数据通信提供了可靠性和实时性的保障。
以太网的高带宽使得实时数据的传输更加高效,同时其广播性质也为数据的广播和多播提供了方便。
在实时系统中,可以使用以太网实现点对点的通信,也可以使用组播方式实现数据的分发。
此外,以太网还支持实时数据的优先级和流量控制。
通过配置交换机和路由器,可以为不同类型的实时数据设置不同的优先级,从而满足实时系统中对不同数据的延迟要求。
而流量控制则可以避免数据的丢失和拥塞,提高数据传输的可靠性。
三、CAN总线在实时系统中的应用CAN总线是一种专门设计用于实时控制系统的串行总线,其具有优秀的实时性和可靠性。
CAN总线支持多主设备和多从设备的连接,可以实现实时数据的采集和控制指令的传输。
在实时系统中,CAN总线广泛应用于汽车电子、工业自动化等领域。
CAN总线的优点包括低延迟、抗干扰性强以及支持高速数据传输等。
can中连续帧发送算法

can中连续帧发送算法CAN(控制器局域网)总线是一种用于实时控制的串行通信协议。
在CAN总线上,发送数据时可以采用多帧传输,即连续帧数据发送。
这种发送方式可以在保证通信效率的同时,确保数据的完整传输。
以下是CAN中连续帧发送算法的基本原理:1. 帧结构:CAN总线上的帧分为标准帧和扩展帧两种。
标准帧包含29位,扩展帧包含51位。
其中,标识符(ID)是区分不同帧的关键字段。
具有相同ID的帧属于同一消息。
2. 多帧发送:当数据超过8个字节时,可以通过多帧发送的方式进行传输。
多帧发送的帧数由控制字决定。
例如,控制字为11时,表示可以发送2个数据包。
3. 控制字:控制字用于指示帧的类型和传输数据的长度。
控制字的第2位表示帧的类型,第3位表示数据包个数。
例如,控制字为10时,表示请求发送数据;控制字为11时,表示响应发送请求;控制字为13时,表示消息结束。
4. 数据解析:在接收到连续帧时,需要根据ID、控制字和数据字节等信息进行解析。
首先判断帧的类型和数据包个数,然后根据数据包顺序解析数据。
例如,对于一个包含2个数据包的连续帧,需要依次解析这两个数据包。
5. 重装:在接收到连续帧后,需要将各个帧的数据重新组装成原始的数据结构。
这通常包括将数据字节重新组合成完整的数据包,以及将多个数据包组合成原始的消息。
综上所述,CAN总线中的连续帧发送算法主要包括帧结构设计、多帧发送、控制字设置、数据解析和重装等步骤。
通过这种算法,可以在保证通信效率的同时,实现数据的可靠传输。
在实际应用中,可以根据具体需求调整帧结构和控制字,以满足不同场景下的通信要求。
canbus协议

canbus协议CAN(Controller Area Network)总线是一种串行通信协议,广泛应用于汽车和工业控制系统中。
它是一种多主、多从、广播、冲突检测和冲突处理的通信系统。
CAN总线协议的设计目标是实现高可靠性和实时性的数据传输。
CAN总线采用双线双向通信方式,允许多个控制器同时传输数据。
它的低成本、高可靠性和强大的抗干扰能力,使得CAN总线得以广泛应用于汽车领域。
CAN总线的通信是基于帧(Frame)的。
每一帧由起始位(Start Bit)、标识符(Identifier)、控制位(Control)、数据域(Data)和校验位(CRC)组成。
其中标识符是帧的唯一标识,用于区分不同的帧。
数据域用于承载实际的数据。
CAN总线使用广播模式进行通信,即发送一条消息的控制器将消息发送到总线上,其他控制器都可以收到这条消息,但只有匹配标识符的控制器才会处理这条消息。
这种广播模式的通信方式使得CAN总线可以实现高效的数据交互,提高系统的实时性。
CAN总线还具有强大的冲突检测和冲突处理能力。
当两个控制器同时发送消息时,CAN总线可以检测到冲突,并采用非破坏性的冲突处理算法将两个消息进行合并。
这种冲突处理机制使得CAN总线可以在高负载的环境下保持良好的通信性能。
另外,CAN总线还具有较高的容错性和抗干扰能力。
CAN总线采用了差分信号传输方式,能够抵抗较强的电磁干扰。
此外,CAN总线还通过CRC校验位来验证数据的正确性,提高了通信的可靠性。
CAN总线的数据传输速率可以根据实际需求进行调整。
标准CAN总线的速率通常为1Mbps,而高速CAN总线的速率可以达到10Mbps。
通过调整总线速率,可以满足不同场景下的数据传输需求。
总之,CAN总线协议是一种高可靠性、实时性和抗干扰能力强的串行通信协议。
它的广泛应用使得汽车和工业控制系统得以实现高效的数据交互和实时的数据传输。
CAN总线在现代汽车中广泛应用,可以实现车内各个控制模块之间的信息交流,提高整车的性能和安全性。
基于VHDL的串行同步通信SPI设计

基于VHDL的串行同步通信SPI设计串行同步通信(SPI)是一种常用的通信协议,用于在集成电路中进行片内通信。
它是一种全双工的通信方式,通过四根信号线来传输数据:SCLK(时钟线),MOSI(主设备输出从设备输入线),MISO(主设备输入从设备输出线)和SS(片选线)。
SPI采用主从架构,其中主设备控制通信时序,并负责发起数据传输。
从设备在主设备的指令下进行相应操作并传输数据。
以下是一个基于VHDL的串行同步通信SPI的设计,包括主设备和从设备两部分。
主设备部分:```library ieee;use ieee.std_logic_1164.all;entity spi_master isportCLK: in std_logic; -- 时钟线MOSI: out std_logic; -- 主设备输出从设备输入线MISO: in std_logic; -- 主设备输入从设备输出线SS: out std_logic; -- 片选线data_out: out std_logic_vector(7 downto 0); -- 发送数据data_in: in std_logic_vector(7 downto 0); -- 接收数据valid: out std_logic -- 有效数据标志位end spi_master;architecture behavioral of spi_master istype state_type is (idle, send_data, receive_data); signal state: state_type;signal count: integer range 0 to 7;signal tx_data: std_logic_vector(7 downto 0);signal rx_data: std_logic_vector(7 downto 0);beginprocess (CLK)beginif rising_edge(CLK) thencase state iswhen idle =>if SS = '0' thenstate <= send_data;count <= 0;tx_data <= data_out;end if;when send_data =>MOSI <= tx_data(count); -- 发送数据位count <= count + 1;if count = 7 thenstate <= receive_data;end if;when receive_data =>rx_data(count) <= MISO; -- 接收数据位count <= count - 1;if count = 0 thenstate <= idle;valid <= '1';data_in <= rx_data;end if;end case;end if;end process;end behavioral;```从设备部分:```library ieee;use ieee.std_logic_1164.all;entity spi_slave isportCLK: in std_logic; -- 时钟线MOSI: in std_logic; -- 主设备输出从设备输入线MISO: out std_logic; -- 主设备输入从设备输出线SS: in std_logic; -- 片选线data_in: in std_logic_vector(7 downto 0); -- 接收数据data_out: out std_logic_vector(7 downto 0); -- 发送数据valid: in std_logic -- 有效数据标志位end spi_slave;architecture behavioral of spi_slave istype state_type is (idle, receive_data, send_data);signal state: state_type;signal count: integer range 0 to 7;signal tx_data: std_logic_vector(7 downto 0);signal rx_data: std_logic_vector(7 downto 0); beginprocess (CLK)beginif rising_edge(CLK) thencase state iswhen idle =>if SS = '0' thenstate <= receive_data;count <= 0;end if;when receive_data =>rx_data(count) <= MOSI; -- 接收数据位count <= count + 1;if count = 7 thenstate <= send_data;valid <= '1';data_in <= rx_data;end if;when send_data =>MISO <= tx_data(count); -- 发送数据位count <= count - 1;if count = 0 thenstate <= idle;tx_data <= data_out;end if;end case;end if;end process;end behavioral;```在主设备部分,设计了一个状态机来控制 SPI 的通信过程。
can通信协议

can通信协议CAN通信协议。
CAN(Controller Area Network)是一种串行通信协议,最初由德国Bosch公司设计用于汽车中的内部通信。
CAN通信协议具有高可靠性、实时性强、抗干扰能力强等特点,因此被广泛应用于汽车、工业控制、航空航天等领域。
本文将对CAN通信协议进行详细介绍,包括其基本原理、通信特点、应用场景等内容。
首先,我们来了解一下CAN通信协议的基本原理。
CAN通信协议采用的是多主机、多从机的分布式控制方式,所有节点都可以发送或接收数据。
它采用了非彻底的CSMA/CD(Carrier Sense Multiple Access/Collision Detection)技术,即在发送数据前先监听总线上的信号,若检测到总线上有信号存在,则暂停发送数据,待总线上没有信号时再发送数据。
这种机制可以有效避免数据冲突,保证数据传输的可靠性。
其次,CAN通信协议具有较高的实时性。
CAN通信协议采用了时间分割多路访问技术,可以在总线上实现多个节点之间的数据传输。
在CAN总线上,每个节点都有自己的标识符,通过标识符的优先级来确定数据传输的优先级,从而保证了数据传输的实时性。
这种特点使得CAN通信协议在需要高实时性的应用场景中得到了广泛的应用,比如汽车中的发动机控制、车载信息系统等。
此外,CAN通信协议还具有较强的抗干扰能力。
CAN总线上的数据传输采用差分信号传输方式,可以有效抵抗外部干扰,保证数据传输的稳定性。
此外,CAN通信协议还采用了CRC校验技术,可以对数据进行校验,保证数据的完整性。
这些特点使得CAN通信协议在工业控制、航空航天等领域中得到了广泛的应用。
总的来说,CAN通信协议具有高可靠性、实时性强、抗干扰能力强等特点,因此被广泛应用于汽车、工业控制、航空航天等领域。
它的基本原理是采用多主机、多从机的分布式控制方式,采用了非彻底的CSMA/CD技术,具有较高的实时性和抗干扰能力。
基于单片机的智能传感器CAN总线接口硬件设计

基于单片机的智能传感器CAN总线接口硬件设计随着智能化技术的不断发展,人们越来越关注智能系统的搭建,传感器技术的应用也越来越广泛,单片机技术更是在这个背景下广受关注。
在实现智能传感器的联网和信息处理方面,CAN总线作为一种主要网络协议,已经被广泛应用。
在这种情况下,智能传感器必须具有相应的CAN总线接口设计。
本文将介绍基于单片机的智能传感器CAN总线接口硬件设计。
1、 CAN总线介绍CAN(Controller Area Network)总线是一种串行通信协议,主要用于多个控制节点之间的实时数据传输。
CAN总线的通讯速度高,误码率低,具有自适应性等特点。
CAN总线的应用包括工业控制系统、汽车电子控制系统等。
2、硬件设计原理基于单片机的智能传感器CAN总线接口硬件设计需要根据自己的实际需求进行选择。
以STM32单片机为例,STM32单片机的CAN总线接口包括CAN1和CAN2,这两个接口在硬件电路上都有Rx和Tx引脚和节点电阻。
3、硬件设计流程(1)选择STM32单片机在选取单片机的时候,需要根据实际应用场景来选择。
STM32单片机有许多系列,每个系列又有不同的型号,不同型号的单片机内置了不同的外设,需要根据实际需求进行选择。
同时,要根据芯片性价比、性能、功耗等因素进行考虑。
(2)CAN总线选择在硬件设计中,需要选择CAN总线芯片,这个芯片需要支持CAN2.0A和CAN2.0B协议,并且需要支持高速通讯。
同时,要注意芯片的封装和额定工作温度等特性。
(3) CAN总线硬件连接在硬件连接中,需要将CAN总线芯片的Rx和Tx引脚和单片机的CAN1或CAN2接口相连,同时还需添加适当的电流限制电阻和终端电阻。
(4) CAN总线软件调试最后,需要对硬件电路进行软件调试,包括使用标准的CAN总线协议进行通信、CAN总线的数据传输、接收和发送数据、调试CAN中断等。
4、总结基于单片机的智能传感器CAN总线接口硬件设计需要根据实际需求进行选择,在硬件设计中需要选择合适的单片机、CAN总线芯片,并进行正确的硬件连接。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图2
SCPBus 协议最小通信单元
linux 操作系统 在与 linux 操作系统的交互层中, 读取主站采集上来的从站信息 ( 从站的属性, 比如是 实时数据站还是非实时数据站等 ) , 读取从站上传上 写入需要发送到从站的数据。 来的数据, Bus 协议实现层中, 主站 SCP主要完成以下任 务: ①从站设备的设备属性的扫描; ② 实时数据通信 与非实时数据通信的调度; ③ 实时数据通信强制定 时通信; ④非实时数据通信轮询通信; ⑤ 总线出错处 理机制的实现; ⑥与数据发送与接收层交互; ⑦ 将数 据写入 linux 操作系统交互层; ⑧从 linux 操作系统交 互层读取数据。 Bus 协 数据发送与接收层中, 主要完成从 SCP议实现层中接受命令和数据, 对数据进行组帧, 加入 CRC16 校验值, 对每一个字节加入起始位, 奇偶校验 位, 停止位后, 发送到总线上。 SCPBus 协议从站协议在层次结构上分为 ① 交 互层; ②命令响应层; ③ 数据发送与接收层。 交互层 主要任务是将收到的数据存入双口 Ram, 并且在从 站数据得到更新后, 给出一个脉冲信号, 表示数据更 新一次。命令响应层根据主站下发的命令, 做出相 应响应。从站数据发送与接收层跟主站的数据发送 与接收层行使一样功能, 而且代码也是一致的。
2014 年 1 月
李
松, 等: 实时数据串行通信协议设计
· 97·
Bus 协议采 协议采用多从站串行通信的结构。 SCP[3 ] 用星形连接 , 设计从 因为考虑到数控系统的需求, 站负载量为 15 个。 如图 1 所示, 主站和每个从站都 Altera FPGA 包含有一个 公司的 和高速 485 芯片, FPGA 用于 SCPBus 协议的实现和与 linux 驱动层交 互, 高速 485 芯片用于接收和发送差分信号。
实时数据串行通信协议设计
李 宋 松, 唐小琦, 宝
( 华中科技大学 机械科学与工程学院 , 武汉 430074 )
*
摘要: 文章结合嵌入式数控系统的需求 , 设计一种兼容实时数据和非实时数据传输的高速 、 高可靠性 — —SCPBus, 解决了嵌入式数控 在基于 FPGA 和高速 RS485 接口芯片的硬件平台上, 串行通信协议— 系统数据的实时性问题、 异步通信中接收方与发送方波特率时钟相位对准问题、 工业现场应用的干 SCPBus 串行通信协议 能够满足 嵌入式数控系统与 外部 设 备 扰问题等。试验和现场使用结果表明, 之间通信的要求。 关键词: 实时; FPGA; 串行通信 中图分类号: TH165 ; TG65 文献标识码: A The Design of Real Time Serial Communication Protocol LI Song,TANG Xiaoqi,SONG Bao ( School of Mechanical Science and Engineering ,HuaZhong University of Science and Technology ,Wuhan 430074 ,China) Abstract : Considering the requirement of the Embedded NC System ,this paper designs a high speed and reliable serial communication protocolSCPBus,w hich is compatible w ith the transmission of real time data and nonreal time data. Based on hardw are platform composed of PFGA and high speed RS485 chip ,this paper solves the problem of data’ s instantaneity in Embedded NC System ,and the problem of baud rate clock’ s phase alignment betw een the receiver and the sender in asynchronous communication , the problem of disturbance in industrial field, and etc. The result of experiment and field application indicates that SCPBus can meet the demands of communication betw een the Embedded NC System and peripheral equipment. Key words: embedded NC System ; real time; FPGA ; serial communication
1
SCPBus 通信物理结构
在嵌入式数控系统中, 因为各个设备与主站之 Bus 间的数据传输是一点对多 点 的 形 式, 因 此 SCP-
收稿日期: 2013 - 05 - 14 ; 修回日期: 2013 - 06 - 20 * 基金项目: “高 档 数 控 机 床 与 基 础 制 造 装 备 ” 科技重大专项 科 技 重 大 专 项 ( 2012ZX04001012) ; “高 档 数 控 机 床 与 基 础 制 造 装 备 ” ( 2012ZX04001041 ) ; 高等学校博士学科点专项科研基金( 新教师基金课题) ( 20090142120035 ) ( E - mail ) 374985119 @ qq. 华中科技大学硕士研究生, 主要研究方向为数控技术、 嵌入式系统, 作者简介: 李松( 1986 —) , 男, 四川乐山人, com。
N Max ( baud) = T Interpolation max{ T Read ( baud) , T Write ( baud) , T ReadWrite ( baud) } ( 1) L Read + L ReplyRead ms baud × 10 - 3 L Write + L ReplyWrite T Write ( baud) = ms baud × 10 - 3 L ReadWrite + L ReplyReadWrite T ReadWrite ( baud) = ms baud × 10 - 3 T Read ( baud) = ( 2) ( 3) ( 4)
· 98· 3. 2 SCPBus 实时通信机制
组合机床与自动化加工技术
第1 期
为了保证实时数据( 数控系统中的轴数据 ) 能够 在期望的时间内得到更新, 非实时数据也能在相对 宽松的时间内也得到更新, 需要一个强有力的调度 — — 机制来保证, 另外还需要添加一个必要的限制— 实时性从站的数目的限制。 实时性从站的个数限制 可以通过下列公式进行计算:
第1 期 2014 年 1 月
组合机床与自动化加工技术 Modular Machine Tool & Automatic Manufacturing Technique
DOI: 10. 13462 / j. cnki. mmtamt. 2014. 01. 027
No. 1 Jan. 2014
文章编号: 1001 - 2265 ( 2014 ) 01 - 0096 - 04
linux 下的驱动复杂, 如果应用在嵌入式数控系统中 不经济。 针对嵌入式数控系统, 本文设计了一套简单的, 满足实时数据与非实时数据的传输要求, 兼容一般 MCU 的 UART 或 者 USART 的 串 行 通 信 协 议— — — SCP-Bus( Serial Communication Protocol bus) 。在基于 [2 ] 现场可编程逻辑阵列 ( FPGA ) 和 RS485 接口芯片 硬件平台上, 实现了数控系统到伺服驱动器、 远程 I / O 模块、 MCP 键盘之间的数据通信, 解决了资源消耗 大, 驱动复杂的问题, 同时轴数据的实时性与误码率 也能满足嵌入式数控系统的要求。
为了增强对外界干扰的抗干扰能力, 减少总线误 SCPBus 以差分信号为载体进行数据传输, 码率, 在主 从站的两端, 加入终端匹配电阻, 在高波特率或者是长 [ 4 ] 距离传输的情况下, 减少对信号的反射干扰 。除此 以外, 为了使总线在空闲时期和主从站断开时期有一 个确定的电平, 在两端加入了偏置电阻。 考虑到数控系统轴数据的通信周期一般为 8ms、 4ms、 1ms, 也就是说轴数据需要很高的通行速度, 需 要在一个插补周期内完成一次轴数据刷新, 所以对 485 芯片通信速度要求较高。 另一方面, 因为要实现 多从站通信, 所以从站的 485 芯片的发送端需要有 [5 ] 与总线断开的功能 , 也就是说在同一时间, 只能有 一个从站挂在总线上, 并与主站通信。 综上, 在选择 485 接口芯片时, 主要需要考虑这两个要求, 故选择 了 TI 公司 SN65HVD36 高速 485 芯片。 该芯片最高 速度 20Mbps, 完全满足嵌入式数控系统的速度要求 , 而且该芯片有发送和接收使能端, 满足多从站星形 连接要求。
3
3. 1
SCPBus 通信协议设计
SCPBus 通信协议框架设计
图1
SCPBus 协议物理结构
SCPBus 协议是基于 FPGA 实现的, 主要工作是 Bus 协议 IP 核, 设计 SCP在设计协议 IP 核时, 采用主 Bus 协议 从分开, 自上而下的层次化设计方案。SCP的通信模式是: 所有通信都是由主站发起, 从站被动响 应。所以主站与从站的协议 IP 核是不相同的。把主 从分开来设计, 设计思路更加清晰。而在分别设计主 从站协议时, 运用自上而下分层设计的方案, 每个层次 完成独立的工作, 各层之间的交互都是通过访问寄存 器的方式进行, 这样就划清了层次之间的界限。这对 协议的后期维护和修改是有重要意义的。 SCPBus 协议主站协议在层次结构上分为 1 : 与 linux 操作系统的交互层; 2 : SCPBus 协议实现层; 3 : 数据发送与接收层。这三层的关系如图 3 所示。