基于SPMC75单片机的LIN Bus系统
帧的第一个场是一个同步间隔。同步间隔场(SYNCH BREAK FIELD)是由主机任务发送,它使所有的从机任务与总线时钟信号同步。同步间隔场有两个不同的部分如图 1-6所示。第一个部分是由一个持续TSYNBRK或更长时间(即最小是TSYNBRK不需要很严格)的显性总线电平。接着的第二部分是最少持续TSYNDEL 时间的隐性电平,作为同步界定符。第二个场允许用来检测下一个同步场(SYNCH FIELD)的起始位。最大的间隔和界定符时间没有精确的定义,但必须符合整个报文头THEADER_MAX 的总体时间预算,THEADER_MAX在表 1-1中定义。
图 1-6 同步间隔场
表 1-1 报文的定时
同步间隔场的显性电平长度至少为TSYNBRK(可以更长),这个时间是用主机位定时来测量。最小值应根据连接从机节点指定的最小本地时钟频率所要求的阀值而得出。
在SPMC75F2313A上,同步间隔里的各个时间测量都是通过捕获输入实现的。SPMC75F2313A的捕获输入可以很方便的测量TSYNBRK和TSYNDEL,并在检测完成后与TSYNDEL的下降沿同步。
■ 波特率测量
波特率测量是在LIN总线的同步场(SYNCH FIELD)进行的。同步场包含了时钟的同步信息。同步场的格式如图 1-7所示,它通过使UART发送"0x55"来实现,表现在8 个位定时中有5 个下降沿(即:"隐性"跳变到"显性"的边沿)。使用SPMC75F2313A的捕获输入功能可以很方便的测量出相邻两个下降沿之间的时间间隔,利用这个时间间隔就可以算出波特率。
图 1-7 同步场示意图
1.5 系统设计
系统电路原理框图如错误!未找到引用源。所示。电路由MCU控制核心电路和LIN接口两部分构成。
MCU控制核心电路主要由SPMC75F2313A实现,它主要完成LIN协议的实现和整个系统的控制。SPMC75F2313A集成有实现LIN总线结点的必要硬件,包括UART、捕获输入和足够的定时器。特别是其捕获输入功能,为LIN的帧头识别、帧同步和波特率测量提供了极大的便利。
LIN接口部分主要是由LIN物理层接口芯片TJA1020构成,它主要完成MCU通信信号与LIN物理总线信号之间的相互转换。为MCU提供一个与LIN物理总线的接口。
图 1-8 硬件原理图
1.6 结语
凌阳科技公司新推出SPMC75是一系列功能强大的工业级MCU,具有极强的抗干扰能力。其内部集成有高性能的ADC、增强型的定时计数器等功能部件,强大捕获比较功能和PWM生成功能使其在如LIN、RF Mode、IrA等通信领域有非常杰出的表现。用SPMC75系列MCU可以方便的构成各种简洁高效的通信系统。
- REDIce-Linux--灵活的实时Linux内核(11-12)
- 分析内核初始化时根内存盘的加载过程(init/main.c)(11-12)
- linux文件系统基础(02-09)
- Linux标准趋向统一(11-12)
- linux基础技术(02-09)
- LINUX的目录树(02-09)