基于AT89C51CC01單片機的CAN-LIN網(wǎng)關(guān)設(shè)計
伴隨著總線技術(shù)的發(fā)展,LIN(Local Interconnect Network)總線作為一種低成本的串行通信網(wǎng)絡(luò),其目標(biāo)是為現(xiàn)有的現(xiàn)場總線控制網(wǎng)絡(luò)提供輔助功能,特別是汽車控制網(wǎng)絡(luò)中的總線應(yīng)用,因此必然存在一個LIN總線和其它總線的通信接口實現(xiàn),本文以CAN總線為例,提出了一種基于AT89C51CC03單片機的CAN-LIN網(wǎng)關(guān)設(shè)計方案。
LIN是一種低成本的串行通訊網(wǎng)絡(luò)用于實現(xiàn)汽車中的分布式電子系統(tǒng)控制,LIN的目標(biāo)是為現(xiàn)有汽車網(wǎng)絡(luò)(例如CAN總線)提供輔助功能,因此LIN總線是一種輔助的總線網(wǎng)絡(luò),在不需要CAN總線的帶寬和多功能的場合比如智能傳感器和制動裝置之間的通訊,使用LIN總線可大大節(jié)省成本。LIN通訊是基于SCI(UART)數(shù)據(jù)格式,采用單主控制器/多從設(shè)備的模式,僅使用一根12V信號總線和一個無固定時間基準的節(jié)點同步時鐘線。
網(wǎng)關(guān)硬件設(shè)計
整個網(wǎng)關(guān)模塊包括LIN接口、CAN接口、CAN波特率設(shè)置、LIN波特率設(shè)置、電源模塊、狀態(tài)燈六個子模塊(圖1)。
圖1 系統(tǒng)結(jié)構(gòu)框圖
AT89C51CC03是Atmel公司的一款內(nèi)嵌CAN控制器的8位單片機。本設(shè)計中以AT89C51CC03單片機為基礎(chǔ),選擇TJA1020作為LIN總線收發(fā)器,采用單片機的UART接口,在CAN模塊設(shè)計部分選擇PCA82C250作為CAN總線收發(fā)器,具體的電路連接如圖2、圖3、圖4所示。
評論