新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > CAN總線通信適配卡的設(shè)計(jì)與實(shí)現(xiàn)

CAN總線通信適配卡的設(shè)計(jì)與實(shí)現(xiàn)

作者: 時(shí)間:2012-03-13 來源:網(wǎng)絡(luò) 收藏

圖3為雙口RAM的控制電路,其訪問原理為:ISA總線共有24條地址線,可尋址16MB存儲空間。地址線A12-A19接到比較器74LS688的P0-P7,比較器的Q0-Q5接一個(gè)六位的撥碼開關(guān),Q6、Q7接高電平。74LS688的輸出接可編程邏輯器件GALl6V8。這樣,當(dāng)P0-7=Q0-7時(shí),74LS688的輸出為低電平,地址選擇有效。另外,通過設(shè)置撥碼開關(guān),用戶可以選擇雙口RAM在PC機(jī)存儲器中的初始地址。如置撥碼開關(guān)為Q0-5=001011,則雙口RAM在ISA總線的初始地址為D0000H。這樣,通過可編程邏輯器件GALl6V8便可將1SA總線的各種信號進(jìn)行邏輯組合,以形成三個(gè)控制信號,從而實(shí)現(xiàn)PC機(jī)對雙口RAM的訪問。這三個(gè)信號為:

P19=P1*P2*P3*P6*P7 RAM片選信號

P18=P1*P2*P3*P6*P7*P5 RAM讀信號

P17=P1*P2*P3*P6*P7*P4 RAM寫信號

3.2微控制器電路

微控制器89C52是ATMEL公司的產(chǎn)品,它與MCS51系列CPU完全兼容,并帶有8k字節(jié)的在系統(tǒng)可編程FLASH MEMORY(最多可以擦寫100次),同時(shí)帶有256B的片內(nèi)RAM,因此一般不需要擴(kuò)展片外ROM。

當(dāng)89C52與通信時(shí),通常需要較大的數(shù)據(jù)緩沖區(qū),因此該系統(tǒng)中擴(kuò)展了8kB的片外RAM來滿足通信的需要。

在該適配卡中,有一些數(shù)據(jù)(如下層CAN節(jié)點(diǎn)的數(shù)目、CAN通信的初始化參數(shù)等)在適配卡斷電以后仍需要保存,因此應(yīng)擴(kuò)展一片EEPROM。本卡采用的是一個(gè)8k X 8位的非易失性存儲器2864,它的快速讀時(shí)間最大為250ns,存儲的數(shù)據(jù)可以保存10年。如果程序在運(yùn)行過程中需要對適配卡的通信參數(shù)進(jìn)行重新配置,可通過調(diào)用PC機(jī)對CAN適配卡參數(shù)配置子程序來完成,并可在設(shè)置成功的同時(shí)將相應(yīng)的參數(shù)存入2864,以備下次適配卡啟動時(shí)調(diào)用。

考慮到電路調(diào)試和系統(tǒng)故障的處理,本卡設(shè)計(jì)了三種復(fù)位方式。其中上電復(fù)位方式為在PC機(jī)通電時(shí),使CAN適配器也同時(shí)復(fù)位;在調(diào)試出現(xiàn)問題時(shí)可通過手動復(fù)位鍵復(fù)位,以便解決調(diào)試中出現(xiàn)的問題;第三種是軟件復(fù)位,該方式可通過調(diào)用PC機(jī)管理程序中的初始化模塊并通過軟件指令對CAN適配卡進(jìn)行復(fù)位。

3.3 CAN通信控制電路

CAN通信控制器選用PHILIPS公司的sJAl000,它具有完成高性能通信協(xié)議所要求的全部必要特征,支持CAN協(xié)議約定的4種不同幀格式(即數(shù)據(jù)幀、遠(yuǎn)程幀、錯(cuò)誤幀和超載幀),具有簡單總線連接的SJAl000可完成物理層和數(shù)據(jù)鏈路層的所有功能,并在與CPU連接時(shí)可確保SJAl000以存儲器映像的外圍設(shè)備出現(xiàn)。為加強(qiáng)的差動發(fā)送和接收能力,該電路采用了收發(fā)接口電路82C250。82C250的引腳8允許選擇高速、斜率控制和待機(jī)三種不同的工作方式,并可通過設(shè)置撥碼開關(guān)切換不同的工作方式。在SJAl000與82C250之間接入光電耦合器可增強(qiáng)系統(tǒng)的抗干擾能力,光耦可采用高速光耦6N137,光耦兩側(cè)應(yīng)采用5V的DC-DC隔離電源。圖4所示是一種CAN通信接口電路。

4 適配卡的軟件設(shè)計(jì)

適配卡主要承擔(dān)的是計(jì)算機(jī)和CAN節(jié)點(diǎn)之間的數(shù)據(jù)轉(zhuǎn)發(fā)任務(wù),因而其軟件設(shè)計(jì)也包括兩部分:其一是PC機(jī)端的應(yīng)用程序,用于負(fù)責(zé)完成PC機(jī)和雙口RAM的通信。實(shí)際上,運(yùn)行時(shí)需要開發(fā)虛擬設(shè)備驅(qū)動程序(VxD)來完成對雙口RAM的讀寫、對雙口RAM中斷的處理以及和應(yīng)用程序的通信。其二是卡上單片機(jī)端的程序設(shè)計(jì),該程序采用FranklinC51編寫,可完成單片機(jī)與雙口RAM以及與CAN控制器之間的通信。圖5為該適配卡的簡化程序流程圖。

參考文獻(xiàn)

1.鄔寬明.CAN總線原理和應(yīng)用系統(tǒng)設(shè)計(jì).北京航空航天大學(xué)出版社,1996.11

2.張旭東,廖先蕓.IBM 微型機(jī)實(shí)用接口技術(shù).科學(xué)技術(shù)文獻(xiàn)出版社,1993

3.IDT Company,IDT7130SA/LA Specification,2000.6

4.Philips Semiconductor Company,CAN Specification[Version 2.0],1999.9

5.胡國鵬,等.CAN總線及其PC適配卡設(shè)計(jì).工業(yè)控制計(jì)算機(jī).2001.1


上一頁 1 2 下一頁

評論


相關(guān)推薦

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

關(guān)閉