我们的LIN收发器为车辆和工业系统中的数据交换提供了始终如一的可靠性,有助于更安全、更高效的旅程。
A
A
硬件概览
它是如何工作的?
Dual LIN Click基于英飞凌的TLE7268,这是一个集成了唤醒和保护功能的双LIN(局域网互连)收发器。Dual LIN Click设计用于车辆网络,支持高达20 kbps的数据传输速率。它包括两个独立的收发器,作为协议控制器和LIN网络之间的总线驱动器。Dual LIN Click通过使用UART RX和TX信号与MCU通信。RX和TX信号也被路由到Click板边缘的标头上,因此它们可以独立于mikroBUS™插座使用。其最重要的特性是它是一个双单线LIN收发器总线,支持高达20 kbps的传输速率,并符合ISO 17987-4和LIN规范2.2A。EN1和EN2引脚用于启用设备的BUS 1或BUS 2的功能。当EN1引脚设置为高电平时,设备的BUS 1设置为以正常模式工作,TXD到LIN和LIN到RXD的传输路径都处于活动状态。当EN2引脚设置为
高电平时,设备的BUS 2设置为以正常模式工作,TXD到LIN和LIN到RXD的传输路径都处于活动状态。当EN1引脚设置为低电平时,设备的BUS 1被置于静默模式,取决于TX引脚的状态。EN1引脚具有下拉电阻,因此如果它被漂浮,则被拉到地面。当EN2引脚设置为低电平时,设备的BUS 2被置于静默模式,取决于TX引脚的状态。EN2引脚具有下拉电阻,因此如果它被漂浮,则被拉到地面。Dual LIN Click支持两个收发器的不同操作模式,以最小化低功耗模式中的ECU电流消耗,通用的INH输出可以用于控制外部电路,例如电压调节器。基于英飞凌BiCMOS技术。它提供了优异的ESD鲁棒性以及非常高的电磁兼容性(EMC)。TLE7268在广泛的频率范围内达到非常低的电磁发射(EME)水平,与电池电压无
关。TLE7268通过AEC认证,并经过量身定制,能够抵御汽车环境的恶劣条件。TLE7268中包含的一些关键特性包括过温保护、欠压检测等。Dual LIN Click的数字I/O电平兼容3.3V和5V微控制器,它针对高电磁兼容性(EMC)进行了优化,具有非常低的电磁发射和高抗干扰能力。它还具有一个设备中的两个独立的单线LIN收发器,并提供高达20 kbps的传输速率。考虑到该收发器中包含的特性,Dual LIN Click可用于车身控制模块(BCM)和网关。此Click板™可以通过VCC SEL跳线选择3.3V或5V逻辑电压级别。这样,既支持3.3V又支持5V的MCU可以正确使用通信线路。此外,该Click板™配备有一个包含易于使用的函数和示例代码的库,可用作进一步开发的参考。
功能概述
开发板
Flip&Click PIC32MZ 是一款紧凑型开发板,设计为一套完整的解决方案,它将 Click 板™的灵活性带给您喜爱的微控制器,使其成为实现您想法的完美入门套件。它配备了一款板载 32 位 PIC32MZ 微控制器,Microchip 的 PIC32MZ2048EFH100,四个 mikroBUS™ 插槽用于 Click 板™连接,两个 USB 连接器,LED 指示灯,按钮,调试器/程序员连接器,以及两个与 Arduino-UNO 引脚兼容的头部。得益于创
新的制造技术,它允许您快速构建具有独特功能和特性的小工具。Flip&Click PIC32MZ 开发套件的每个部分都包含了使同一板块运行最高效的必要组件。此外,还可以选择 Flip&Click PIC32MZ 的编程方式,使用 chipKIT 引导程序(Arduino 风格的开发环境)或我们的 USB HID 引导程序,使用 mikroC、mikroBasic 和 mikroPascal for PIC32。该套件包括一个通过 USB 类型-C(USB-C)连接器的干净且调
节过的电源供应模块。所有 mikroBUS™ 本身支持的 通信方法都在这块板上,包括已经建立良好的 mikroBUS™ 插槽、用户可配置的按钮和 LED 指示灯。Flip&Click PIC32MZ 开发套件允许您在几分钟内创建新的应用程序。它由 Mikroe 软件工具原生支持,得益于大量不同的 Click 板™(超过一千块板),其数量每天都在增长,它涵盖了原型制作的许多方面。
微控制器概述
MCU卡片 / MCU

建筑
PIC32
MCU 内存 (KB)
2048
硅供应商
Microchip
引脚数
100
RAM (字节)
524288
使用的MCU引脚
mikroBUS™映射器
“仔细看看!”
Click board™ 原理图

一步一步来
项目组装
软件支持
库描述
该库包含 Dual LIN Click 驱动程序的 API。
关键功能:
duallin_bus1_status- 设置RST引脚的状态duallin_bus2_status- 设置CS引脚的状态duallin_send_command- 发送命令
开源
代码示例
完整的应用程序代码和一个现成的项目可以通过NECTO Studio包管理器直接安装到NECTO Studio。 应用程序代码也可以在MIKROE的GitHub账户中找到。
/*!
* \file
* \brief DualLin Click example
*
* # Description
* This example reads and processes data from Dual LIN Clicks.
*
* The demo application is composed of two sections :
*
* ## Application Init
* Initializes driver, and sets bus.
*
* ## Application Task
* Reads the received data.
*
* ## Additional Function
* - duallin_process ( ) - The general process of collecting presponce
* that sends a module.
*
* \author MikroE Team
*
*/
// ------------------------------------------------------------------- INCLUDES
#include "board.h"
#include "log.h"
#include "duallin.h"
#include "string.h"
#define PROCESS_COUNTER 10
#define PROCESS_RX_BUFFER_SIZE 500
#define TEXT_TO_SEND "MikroE\r\n"
// ------------------------------------------------------------------ VARIABLES
#define DEMO_APP_RECEIVER
// #define DEMO_APP_TRANSMITER
static duallin_t duallin;
static log_t logger;
static char current_rsp_buf[ PROCESS_RX_BUFFER_SIZE ];
// ------------------------------------------------------ APPLICATION FUNCTIONS
void application_init ( void )
{
log_cfg_t log_cfg;
duallin_cfg_t cfg;
/**
* Logger initialization.
* Default baud rate: 115200
* Default log level: LOG_LEVEL_DEBUG
* @note If USB_UART_RX and USB_UART_TX
* are defined as HAL_PIN_NC, you will
* need to define them manually for log to work.
* See @b LOG_MAP_USB_UART macro definition for detailed explanation.
*/
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, "---- Application Init ----" );
// Click initialization.
duallin_cfg_setup( &cfg );
DUALLIN_MAP_MIKROBUS( cfg, MIKROBUS_1 );
duallin_init( &duallin, &cfg );
duallin_bus1_status( &duallin, DUALLIN_PIN_STATE_HIGH );
duallin_bus2_status( &duallin, DUALLIN_PIN_STATE_LOW );
Delay_ms ( 100 );
}
void application_task ( void )
{
#ifdef DEMO_APP_RECEIVER
int32_t rsp_size = duallin_generic_read( &duallin, current_rsp_buf, PROCESS_RX_BUFFER_SIZE );
if ( rsp_size> 0)
{
log_printf( &logger, "%s", current_rsp_buf );
}
#endif
#ifdef DEMO_APP_TRANSMITER
duallin_send_command( &duallin, TEXT_TO_SEND );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
#endif
}
int main ( void )
{
/* Do not remove this line or clock might not be set correctly. */
#ifdef PREINIT_SUPPORTED
preinit();
#endif
application_init( );
for ( ; ; )
{
application_task( );
}
return 0;
}
// ------------------------------------------------------------------------ END
额外支持
资源
类别:局部互连网络
































