基于TJA1080的FlexRay总线接口设计
发布时间:2008/6/3 0:00:00 访问次数:549
摘要 介绍基于tja1080的flexray总线在数字信号处理器(dsp)c5509上的实现。整个系统以dsp为核心,采用tja1080总线控制器实现flexray通信协议,进行数据收发;制造简单,集成度高,功耗低,适用于车内多种电子设备的局域总线实现。
引言
现今的汽车电子设备越来越多,早期的can总线已经不能很好地解决众多电子设备之间的通信,通信速度更高和通信更安全的车内总线成为汽车电子的迫切需求。flexray总线是最近推出的一种先进高速串行同步和异步通信系统。该总线具有故障容限,可提供500 kbps~10 mbps的确定数据传输速率和24位crc(循环冗余)校验码。其通信速度和安全机制均满足目前车内电子设备的需求。
本文介绍一种在数字信号处理器(dsp)c5509上实现flexray总线的方法。使用恩智浦半导体公司(nxp,原飞利浦半导体公司)的 flexray总线控制器tja1080。tja1080负责将各个设备的数据传输到dsp,由dsp对数据进行分析和处理。由于系统采用dsp作为核心,故可以对车载电子的数据进行复杂的处理。
1 flexray总线及其控制器
tja1080flexray总线是一种全新的总线系统。其主要特性有:
① 支持双通信通道,每个通道的速度均达到10 mbps。与can协议相比,可用的带宽提高了10~40倍。
② 总线数据的访问是基于同步时基的。该时基通过协议自动建立和同步,并提供给应用层。时基的精确度介于0.5 μs和10 μs之间。由于采用同步时基,消息在通信周期中拥有固定位置,接收器已经提前知道了消息到达的时间,因此可以可靠、准时地传送安全应用相关的信息。
③ flexray总线提供消息冗余传输和非冗余传输两种选择,系统可以进行优化,以提高可用性或吞吐量。用户无需调整现有节点中的软件就可以扩展整个系统;同时,支持总线或星型拓扑结构。flexray总线提供了大量配置参数(如通信周期的持续时间、消息长度等),可以支持对系统进行调整,以满足不同应用场合的需求。
④ flexray总线在重负载下可以关闭部分节点,使其仅接收数据而不发送数据,减少数据重发次数,使得总线负载很快下降。
flexray总线的这些特性使其可以替代can总线,适合车载骨干网络、分布式控制系统以及安全系统等应用场合。目前,已有多家公司生产flexray总线控制器。本文选用恩智浦半导体公司的tja1080总线控制器,介绍其内部结构以及与dsp的软硬件连接方法。
tja1080总线控制器的内部结构如图1所示。tja1080总线控制器主要由状态机、信号路由器、输入/输出管理模块、收发模块以及发送器等组成。
物理层通道有一个独立的接收发送通道,速度最高可以达到10mbps。在工作状态下,主机可以访问tja1080的接收模块和发送器,通过对其操作实现对物理层数据的收发。总线上的数据帧都将到达总线上所有的tja1080,每一个tja1080在收到总线数据帧后,都将经过接收滤波器;滤波器将不属于自己地址的数据帧滤除,只将属于自己的数据帧和广播帧存储到接收fifo中。
tja1080的温度检测模块用于检测设备温度,超过一定温度将自动关闭总线收发。唤醒模块负责将处于sleep状态的总线节点唤醒,但超过一定时间仍无数据收发后重新进入sleep状态,从而降低整个系统功耗。总线失效检测器负责检测整个总线的状态,当发现总线负载较重时,将自动关闭发送器,此时该节点只能接收数据而不能发送数据,这样总线上的数据帧将很快被相应节点接收,迅速减轻总线负载。低功耗收发模块负责低功耗工作模式下数据的收发,采用减少数据重发机制,虽然降低了数据安全性,但同时也降低了整个系统功耗;配合温度检测模块,可以从软件上实现降低总线温度。
主机对tja1080的管理主要是通过输入/输出管理模块进行数据的收发操作,下面结合dsp介绍接收数据的软硬件实现方法。
2 系统硬件结构
整个系统由c5509、tja1080、adc/dac以及flash等组成,其硬件连接如图2所示。dsp是核心控制单元;adc用于采集模拟信号,转变成数字信号;dac负责将数字信号转换成模拟信号;flash用于保存dsp所需的程序,供dsp上电调用。此外,使用dsp的hpi接口连接到pc机,这样所有的总线数据均可以通过pc机存储和显示,pc机的数据也可以通过dsp发送到总线上。
图2 系统硬件结构框图
adc负责采集电子设备的数据,可以是温度传感器数据、颜色传感器数据、语音信号、图像信号或者其他信号。dsp对这些数据进行处理后,将处理后的结果根据不同的情况通过tja1080发送到总线上的其他节点;相反,dsp通过tja1080读取总线上其他节点发送的数据帧,并对这些数据帧进行处理,将结果发送到dac,
摘要 介绍基于tja1080的flexray总线在数字信号处理器(dsp)c5509上的实现。整个系统以dsp为核心,采用tja1080总线控制器实现flexray通信协议,进行数据收发;制造简单,集成度高,功耗低,适用于车内多种电子设备的局域总线实现。
引言
现今的汽车电子设备越来越多,早期的can总线已经不能很好地解决众多电子设备之间的通信,通信速度更高和通信更安全的车内总线成为汽车电子的迫切需求。flexray总线是最近推出的一种先进高速串行同步和异步通信系统。该总线具有故障容限,可提供500 kbps~10 mbps的确定数据传输速率和24位crc(循环冗余)校验码。其通信速度和安全机制均满足目前车内电子设备的需求。
本文介绍一种在数字信号处理器(dsp)c5509上实现flexray总线的方法。使用恩智浦半导体公司(nxp,原飞利浦半导体公司)的 flexray总线控制器tja1080。tja1080负责将各个设备的数据传输到dsp,由dsp对数据进行分析和处理。由于系统采用dsp作为核心,故可以对车载电子的数据进行复杂的处理。
1 flexray总线及其控制器
tja1080flexray总线是一种全新的总线系统。其主要特性有:
① 支持双通信通道,每个通道的速度均达到10 mbps。与can协议相比,可用的带宽提高了10~40倍。
② 总线数据的访问是基于同步时基的。该时基通过协议自动建立和同步,并提供给应用层。时基的精确度介于0.5 μs和10 μs之间。由于采用同步时基,消息在通信周期中拥有固定位置,接收器已经提前知道了消息到达的时间,因此可以可靠、准时地传送安全应用相关的信息。
③ flexray总线提供消息冗余传输和非冗余传输两种选择,系统可以进行优化,以提高可用性或吞吐量。用户无需调整现有节点中的软件就可以扩展整个系统;同时,支持总线或星型拓扑结构。flexray总线提供了大量配置参数(如通信周期的持续时间、消息长度等),可以支持对系统进行调整,以满足不同应用场合的需求。
④ flexray总线在重负载下可以关闭部分节点,使其仅接收数据而不发送数据,减少数据重发次数,使得总线负载很快下降。
flexray总线的这些特性使其可以替代can总线,适合车载骨干网络、分布式控制系统以及安全系统等应用场合。目前,已有多家公司生产flexray总线控制器。本文选用恩智浦半导体公司的tja1080总线控制器,介绍其内部结构以及与dsp的软硬件连接方法。
tja1080总线控制器的内部结构如图1所示。tja1080总线控制器主要由状态机、信号路由器、输入/输出管理模块、收发模块以及发送器等组成。
物理层通道有一个独立的接收发送通道,速度最高可以达到10mbps。在工作状态下,主机可以访问tja1080的接收模块和发送器,通过对其操作实现对物理层数据的收发。总线上的数据帧都将到达总线上所有的tja1080,每一个tja1080在收到总线数据帧后,都将经过接收滤波器;滤波器将不属于自己地址的数据帧滤除,只将属于自己的数据帧和广播帧存储到接收fifo中。
tja1080的温度检测模块用于检测设备温度,超过一定温度将自动关闭总线收发。唤醒模块负责将处于sleep状态的总线节点唤醒,但超过一定时间仍无数据收发后重新进入sleep状态,从而降低整个系统功耗。总线失效检测器负责检测整个总线的状态,当发现总线负载较重时,将自动关闭发送器,此时该节点只能接收数据而不能发送数据,这样总线上的数据帧将很快被相应节点接收,迅速减轻总线负载。低功耗收发模块负责低功耗工作模式下数据的收发,采用减少数据重发机制,虽然降低了数据安全性,但同时也降低了整个系统功耗;配合温度检测模块,可以从软件上实现降低总线温度。
主机对tja1080的管理主要是通过输入/输出管理模块进行数据的收发操作,下面结合dsp介绍接收数据的软硬件实现方法。
2 系统硬件结构
整个系统由c5509、tja1080、adc/dac以及flash等组成,其硬件连接如图2所示。dsp是核心控制单元;adc用于采集模拟信号,转变成数字信号;dac负责将数字信号转换成模拟信号;flash用于保存dsp所需的程序,供dsp上电调用。此外,使用dsp的hpi接口连接到pc机,这样所有的总线数据均可以通过pc机存储和显示,pc机的数据也可以通过dsp发送到总线上。
图2 系统硬件结构框图
adc负责采集电子设备的数据,可以是温度传感器数据、颜色传感器数据、语音信号、图像信号或者其他信号。dsp对这些数据进行处理后,将处理后的结果根据不同的情况通过tja1080发送到总线上的其他节点;相反,dsp通过tja1080读取总线上其他节点发送的数据帧,并对这些数据帧进行处理,将结果发送到dac,