LIN总线技术在汽车智能灯控系统中的应用
以下为文章全文:(本站微信公共账号:cartech8)

汽车零部件采购、销售通信录 填写你的培训需求,我们帮你找 招募汽车专业培训老师
(1)发送同步间隔场; (2)接收同步间隔场和发送同步场; (3)接收同步场和产生/发送ID域; (4)接收ID域(报文过滤),拷贝数据到缓冲器(LIN transfer buffer) 并发送第一个数据字节; (5)接收第一个数据字节和发送第二个数据字节; (6)接收第二个数据字节和发送第三个数据字节; (7)接收第三个数据字节和发送第四个数据字节; (8)接收第四个数据字节和发送第五个数据字节; (9)接收第五个数据字节和发送第六个数据字节; (10)接收第六个数据字节和发送第七个数据字节; (11)接收第七个数据字节和发送第八个数据字节; (12)接收第八个数据字节和计算/发送校验和域; (13)接收校验和域。 为了传输汽车智能灯控模块中所需要的信息,定义了7个字节变量a0、a1、a2、a3、a4、a5和a6,用于存储车灯故障状态信息;另外还定义了两个字节变量key_result0和key_result1,用于存储仪表盘的车灯按钮扫描信息。 车灯故障状态信息的定义分为数字量诊断组和模拟量诊断组:数字量诊断组包括驻车灯、示警灯和尾灯等20盏灯;模拟量诊断组包括前照灯、雾灯等6盏灯。每盏灯的故障状态有三种情况,用两个“位”来表示:正常状态(DIAG_OK),用“00”表示;断路状态(DIAG_OPEN_LOAD),用“01”表示;过载状态(DIAG_OVERLOAD),用“10”表示。例如,左驻车灯用a2的低两位表示,定义为static sbit parklightfrontleft_lowbit=a2^0、static sbit parklightfrontleft_highbit=a2^1;a2^1=0,a2^0=1,则表示驻车灯处于断路故障状态。如此推算,模拟量诊断组 6盏车灯,故障状态信息需要占用12位,我们用字节存储器a0和a1表示;数字量诊断组20盏车灯,故障状态信息需要占用40位,我们用字节存储器a2、 a3、a4、a5和a6表示。车灯故障状态信息共计7字节,采用字节数为8的报文帧格式传输,第8个字节用0补齐。 仪表盘车灯按钮共计16个开关量,每个开关量有两种状态,用一个“位”表示:按钮关断,用“1”表示;按钮打开,用“0”表示。我们用两个字节存储器key_result0和key_result1存储按钮信息,报文帧含有两个字节的数据量。 发送数据字节过程如图7所示。以发送车灯故障状态信息为例,这个状态机制用于把数据字节发送到总线上去,ID被定义为发送ID(SEND_ID)。 子状态及相应的收发器状态如下。 子状态1~8:节点用于发送数据字节 接收中断 LIN_vRxd_Interrupt; 子状态9:节点用于发送数据字节 接收中断 LIN_vRxd_Interrupt; 子状态10:校验和域已经被正确接收 接收中断 LIN_vRxd_Interrupt。 其中,子状态1接收中断中调用功能函数UCB_Txd,该函数获取用户数据存储的首地址。 接收数据字节过程如图8所示。以接收仪表盘车灯按钮信息为例,这个状态机制用于接收来自总线的数据,ID被定义为接收ID(REC_ID)。 子状态及相应的收发器状态如下。 子状态1:节点用于接收数据字节 接收中断 LIN_vRxd_Interrupt ; 子状态2:节点用于接收数据字节 接收中断 LIN_vRxd_Interrupt; 子状态3:节点用于接收数据字节 接收中断 LIN_vRxd_Interrupt; 子状态4:节点用于接收数据字节 接收中断 LIN_vRxd_Interrupt。 其中,子状态4接收中断中调用功能函数UCB_Rxd,该函数将接收到的数据存储入用户缓冲器。 结论 本文结合汽车智能灯控系统,对于LIN总线技术在汽车智能灯控系统中的具体实施应用,包括LIN总线模块的硬件接口电路设计和软件设计做了深入研究。实验证实:LIN总线凭借其结构简单、配置灵活、性价比高等方面的独特优势,不仅能够满足汽车智能灯光控制系统对数据信息传输的要求,而且节省成本,完全达到了期望的性能、价格要求,具有广阔的应用前景。 1 0 (请您对文章做出评价) |
文章网友提供,仅供学习参考,版权为原作者所有,如侵犯到
你的权益请联系542334618@126.com,我们会及时处理。
会员评价:
共0条 发表评论