首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

未来汽车中的终端节点通讯2

未来汽车中的终端节点通讯2


图7:VCT LIN开发工作流程


LIN 2.0和LIN1.3规范包可以在http://www.lin-subbus.org.上注册后免费订购。
通过比较LIN1.3和LIN 2.0规范包,我们可以看到两个最重要的改变就是对配置和诊断的标准化支持,以及规定的节点能力文件。它们的目标都是简化现有节点的使用。
其它重要的改变包括:
LIN API(LIN规范包的一部分)是所有用C语言编程的节点所必需的。
增加了改进型校验和(LIN2.0的校验和还包括PID字节)。
增加了节点配置命令。
标准化和必备的LIN产品识别符(供应商ID/功能ID/版本ID)是配置的一部分。
增加了诊断和诊断API。
定义了新的帧和信号类型,从而可以使用零星的帧和字节阵列信号。
增加了必需的响应错误(Response_error)从状态监控。
将休眠(goto_sleep)和唤醒(wake_up)信号分离。
规范中增加了自动比特率检测。
LIN2.0是LIN 1.3的扩展集,因此LIN2.0主节点可以处理包含LIN 1.3和/或LIN 2.0从节点的集群。自然,一些LIN2.0的特殊特性(包括增强的校验和、重新配置和诊断等)不能从LIN1.3从节点中请求。但是,LIN2.0从节点不能与LIN1.3主节点一同运行(因为LIN2.0从节点需要配置)。
SAE J2602 LIN工作组
SAE J2602的目标是通过满足LIN2.0的模糊、矛盾或可选的要求来提高网络中不同LIN设备之间的可互操作性和可交互能力。J2602的规定与LIN2.0规范的主要不同之处包括:
波特率固定在10.417Kbps。
由于斜率针对固定的波特率进行了优化,可以实现更好的EMC。
不推荐从节点之间的通讯。
不允许基于事件的消息。
除了休眠和有目标的复位(Sleep and Targeted Reset)外,所有配置和诊断服务都是可选的。
SAEJ2602还提出了LIN2.0中没有的其它要求(如容错操作、网络拓扑和内置的标准化报告等)。
一般来说,SAEJ2606的设计考虑了实施定制从节点的长期目标,而LIN2.0假设使用基于MCU的实施。因此,J2602期望通过定制从节点来进一步节约成本。
硅元件上的可能实施
根据目标MCU提供的功能,可以采用几种LIN驱动器实施策略。
对于没有UART模块的MCU,需要位响应(Bit-Bang)解决方案,使用一个定时器和两个通用IO引脚将UART功能构建到软件中。主要优势是没有UART的MCU一般是最便宜的处理器。另一方面,这样的CPU使用非常精密,需要为每个字节都发送中断请求。最后,这种解决方案与基于UART的解决方案相比一般需要更多内存,比如,在飞思卡尔68HC908QY器件中就可以找到这类LIN驱动器。
带有标准的UART(SCI)模块的MCU一般意味着驱动器的软件安装更加简单,但另一方面,UART模块会增加最终解决方案的MCU成本。与需要位响应(Bit-Bang)解决方案相比,这种解决方案的优势在于CPU的负荷更低,因为基于LIN通讯的中断只对接收到的每个字节进行。
LIN优化UART模块的MCU是减少驱动器软件部分而增加功能/特性的下一个步骤。飞思卡尔68HC908EY 或 68HC908GR设备中采用的增强型SCI模块提供波特率调节和仲裁模块选项,无需额外的定时器就能测量输入信号(对LIN同步消息有用)。另一方面,这种方法可能会增加最终设计的成本。
最后一点,也是很重要的一点,理想的解决方案应使用LIN专用的UART模块。飞思卡尔MCU(如68HC908QL设备)的SLIC(LIN 从接口控制器)模块就是一个范例。与标准的UART解决方案相比,这种解决方案的成本和复杂性更高,并且要求实施SLIC优化的驱动器。另一方面,SLIC提供如下功能:自动同步、自动波特率调整、与上述任何解决方案相比中断数大大减少、自动校验和的生成与验证。因此,它允许将MCU专用于用户应用。
此外,还有一种非常有趣的解决方案是将所有与LIN有关的计算转移到支持LIN的协处理器模块上。飞思卡尔的MC9S12X系列采用了这种方案。这些产品配备有完全独立于核心的X-gate RISC协处理器,可将整个LIN通讯负载从CPU核心中释放,从而保证CPU在所有时间内都可用于用户应用。
LIN2.0应用实例
如前所述,LIN通讯协议设计用于汽车传感器和执行器应用。但是,其使用并不限于这些领域。此处介绍的支持LIN的无刷直流电机(BLDC)发动机风扇控制应用就是LIN应用于其它领域的一个实例。
无刷直流电机(BLDC)在汽车应用中越来越常见,主要用在空调控制和发动机冷却风扇中。与有刷直流电机相比,无刷直流电机(BLDC)使用电子交换,而不是机械交换器,因此能提高整个系统的可靠性和效率。并且,由于无刷直流电机(BLDC)转子可产生转子磁通量,能够实现更高的机电转换效率。
支持LIN的无刷直流电机(BLDC)发动机风扇控制应用在闭环、支持PWM的无刷直流电机(BLDC)应用中采用LIN2.0通讯协议。无刷直流电机(BLDC)由霍尔传感器驱动,用于转子位置检测,并且,应用中还嵌入了电流和过压检测功能。此应用的主要部分见图8:


图8:支持LIN的无刷直流电机(BLDC)发动机风扇控制


如图所示,支持LIN的无刷直流电机(BLDC)发动机风扇控制硬件设计非常简单,包含四个部分:
发动机风扇控制LIN 主节点 - 为LIN集群提供所需的风扇速度信息,以及运行/停止命令和错误跟踪。
MC68HC908QB8 LIN 开发包 - 是一个LIN从节点,处理的无刷直流电机(BLDC)控制功能,并为集群提供实际风扇转速信息和风扇运行/错误状态信息。评估板的LIN开发包系列 (EVB)是开发者轻松开发他们各自基于LIN的项目而无需关注硬件开发的一种方法。目前,这些评估板可用于飞思卡尔半导体的各种8/16位MCU:从非常小型、便宜的MC68HC908QY4 MCU到功能强大的MC68HC908S12C32。在本应用中,我们选择了MC68HC908QB8,它是低成本、小型的8位MCU系列的一员。
MC33395 EVB - 用于功率设计。飞思卡尔半导体的评估板概念不只限于这种基于MCU的板,还包括基于飞思卡尔SMARTMOS系列的评估板。MC33395 EVB非常适合各种12V的电机控制应用,包括零交叉和背EMF (zero crossing and back EMF)无刷直流电机(BLDC)转子位置检测方法,使用户可以轻松使用先进的电机控制程序。
无刷直流电机(BLDC)风扇-- 这种应用使用EBM-Papst W3G300-EQ22-90轴向风扇。
以下是发动机风扇系统的功能。主节点发送有关要求的无刷直流电机(BLDC)负载循环、开/关命令和复位信号(用来清除从节点上的电流过高和过压信号)的信息。所需的速度可以直接在主板上设置,也可以通过高级CAN总线发送给主节点。从节点为主节点提供实际无刷直流电机(BLDC)速度、电流过大和电压过高标志。
将LIN2.0链接增加到"独立"发动机风扇中的第一步是创建集群消息策略。它完整描述了集群中不同设备之间的通讯。它包括所有帧的一个列表,带有定义的帧ID、帧发行者和用户以及数据字段内容(包括信号结构)。为集群创建一份日程表也非常重要。这些都应该包含在LIN描述文件(*.ldf)中,它的结构由LIN规范包(LIN配置语言说明)规定。
对于项目的软件部分,Volcano(访问www.volcanoautomotive.com了解更多信息)LIN 目标包(LTP)用作LIN 2.0驱动器。这种工具可以从集群LDF文件中生成LIN特定的C代码文件。然后,这些文件被直接添加到用户编译器/链接器中,以在项目中增加LIN链接程序。因此,应用开发人员只需编写用户的特定程序而无需花时间来开发与LIN通讯有关的程序。欲了解这方面的更多信息,请参见飞思卡尔半导体应用指南AN2767, "使用Volcano LTP的飞思卡尔8/16位MCU上的LIN 2.0链接"。它是一篇简单、易读的文章,描述和介绍了LIN2.0的实施主题。
支持LIN的无刷直流电机(BLDC)发动机风扇控制在飞思卡尔半导体AN2983应用指南中进行了详细描述。该应用指南包括完整的软件代码,可从飞思卡尔网站上免费下载。图9显示了该应用的真实图片。


图9:支持LIN的无刷直流电机(BLDC)发动机风扇控制的实际安装


飞思卡尔半导体提供广泛的LIN产品系列,包括8/16/32位主MCU和8/16位从节点MCU。而且,模拟产品部(Analogue Product Group)也提供多种产品,包括LIN物理层接口、LIN/CAN SBC(系统基础芯片)和IDC(智能分布式控制)。IDC产品是高度集成的单一封装芯片,包含一个8位MCU、LIN物理层接口、电压调节器和各种功率驱动(SMARTMOS)组件,如半桥、高/低端开关、霍尔传感器输入等。此解决方案非常适合空间有限的应用,如后视镜或车窗升降器。
返回列表