新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于CAN總線技術(shù)在車站信號(hào)系統(tǒng)中的應(yīng)用

基于CAN總線技術(shù)在車站信號(hào)系統(tǒng)中的應(yīng)用

作者: 時(shí)間:2013-09-06 來源:網(wǎng)絡(luò) 收藏


  在性能方面,除了SJAl000在軟件和引腳上與它的前—款PCA82C200獨(dú)立CAN控制器兼容之外,其還增加了很多新的功能。在具體應(yīng)用中,SJAl000采用了兩種工作方式:Basic CAN方式(PCA82C200兼容方式)和PeliCAN方式(擴(kuò)展特性方式),這是SJAl000實(shí)現(xiàn)其兼容性的基礎(chǔ)。SJAl000的兩種工作方式是通過時(shí)鐘分頻寄存器中的CAN方式位來選擇的,其中上電復(fù)位的默認(rèn)工作方式是Basic CAN方式。在PeliCAN方式下,SJAl000有一個(gè)重新設(shè)計(jì)的含很多新功能的寄存器組。SJAl000包含PCA82C200中的所有位,同時(shí)增加了一些新的功能位。PeliCAN方式支持CAN2.0B協(xié)議規(guī)定的所有功能(29位的標(biāo)識(shí)符)[2]。

  3、SAJ1000與Atmega128單片機(jī)接口技術(shù)的實(shí)現(xiàn)

  在SJA1000的主要特性介紹中,提到其支持多種微處理器接口,在具體設(shè)計(jì)中,我們主要研究了其與Atmega 128單片機(jī)的接口,設(shè)計(jì)了用于CAN通信的最小單片機(jī)系統(tǒng)(以下簡(jiǎn)稱CAN通信系統(tǒng))接口方式如圖3所示。系統(tǒng)的通信部分主要有Atmega 128單片機(jī)、SJA1000CAN控制器、光電隔離部分和收發(fā)芯片組成。

  TJA1050是PHILIPS公司生產(chǎn)的、用以替代82C250的高速CAN總線驅(qū)動(dòng)器,是CAN控制器和物理總線之間的接口,可以提供向總線的差動(dòng)發(fā)送能力和對(duì)CAN控制器的差動(dòng)接收能力,其與ISO/DIS 11898標(biāo)準(zhǔn)完全兼容[3]。


  光電隔離部分是為了增強(qiáng)CAN總線節(jié)點(diǎn)的抗干擾能力,不過,應(yīng)該特別說明的一點(diǎn)是,光電耦合部分電路所采用的兩個(gè)電源必須完全隔離,否則采用光電耦合也就失去了意義。電源的完全隔離采用小功率電源隔離模塊實(shí)現(xiàn)。這部分雖然增加了接口電路的復(fù)雜性,但是卻提高了節(jié)點(diǎn)的穩(wěn)定性和安全性。

  4、CAN結(jié)點(diǎn)通信軟件的設(shè)計(jì)

  SJA1000是I/O設(shè)備基于內(nèi)存編址的微控制器,雙設(shè)備獨(dú)立操作通過像RAM一樣的片內(nèi)寄存器修正來實(shí)現(xiàn)。因此CAN總線通信部分編程主要就是對(duì)SJAl000的片內(nèi)寄存器的讀寫操作。通信部分軟件設(shè)計(jì)總體上可以劃分為3大模塊:總線初始化、數(shù)據(jù)幀的接收和發(fā)送、總線出錯(cuò)和異常處理。

  4.1 CAN通信初始化

  其主要是設(shè)置CAN的通信參數(shù)。需要初始化的寄存器有:總線定時(shí)寄存器0、總線定時(shí)寄存器1、輸出控制寄存器、接收代碼寄存器、接收屏蔽寄存器等等。需要注意的是,只有當(dāng)控制寄存器中的復(fù)位要求位置為高時(shí),這些寄存器才可被訪問。因此,在對(duì)這些寄存器初始化前,必須確保系統(tǒng)進(jìn)入了復(fù)位狀態(tài)。在訪問總線定時(shí)寄存器時(shí),由于其內(nèi)容決定波特率的數(shù)值,總線定時(shí)寄存器的初始化字必須依據(jù)系統(tǒng)中各CAN控制器的晶振頻率而設(shè)定。初始化程序的流程圖如圖4所示[4]。


  4.2 數(shù)據(jù)發(fā)送和接收程序

  信息從CAN控制器發(fā)送到CAN總線是由CAN控制器自動(dòng)完成的。發(fā)送程序只需把發(fā)送的信息幀送到CAN的發(fā)送緩沖區(qū),啟動(dòng)發(fā)送命令即可。需要注意的是,發(fā)送中斷不是由于發(fā)送完成而產(chǎn)生,而是由于發(fā)送緩沖區(qū)再次可用而產(chǎn)生的。



評(píng)論


技術(shù)專區(qū)

關(guān)閉