




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
基于PCI總線的CAN卡的設(shè)計(jì)與實(shí)現(xiàn)
摘要:介紹了PCI橋接口芯片PCI9052和CAN接口芯片SJA1000,給出了基于PCI總線的CAN總線適配卡軟硬件的設(shè)計(jì)思路、過程及實(shí)現(xiàn)方法。
關(guān)鍵詞:PCI總線PCI9052CAN總線SJA1000
現(xiàn)場(chǎng)總線CAN以其高性能、高可靠性及獨(dú)特的設(shè)計(jì),越來越受到人們的重視和青睞,不但在汽車行業(yè)中應(yīng)用廣泛,而且在工業(yè)控制、機(jī)器人、醫(yī)療器械、傳感器等領(lǐng)域發(fā)展迅速。為了擴(kuò)展CAN總線的功能,與計(jì)算機(jī)相連,可設(shè)計(jì)具有CAN接口和PC接口的CAN適配卡,用來收集CAN總線上各個(gè)節(jié)點(diǎn)的信息,轉(zhuǎn)發(fā)給PC機(jī),并可將PC機(jī)的命令和數(shù)據(jù)轉(zhuǎn)發(fā)給各個(gè)節(jié)點(diǎn)以及完成對(duì)CAN總線上的用戶系統(tǒng)的部分監(jiān)控和管理工作。
PCI總線是Intel公司推出的一種先進(jìn)的高性能32/64位局部總線,可同時(shí)支持多組外圍設(shè)備,不受制于處理器,數(shù)據(jù)吞吐量大。目前PCI是處于主流的計(jì)算機(jī)總線。以往的CAN卡一般都是基于ISA總線的,由于ISA部傳輸速率低,CAN卡必須增加中繼控制功能,才能夠適應(yīng)CAN的高速傳輸,導(dǎo)致造價(jià)高、體積大、傳輸速率低,不利于CAN總線的推廣應(yīng)用。由于PCI總線傳輸速度快,而且支持熱插拔、電源管理等功能,不但能滿足CAN總線的高速數(shù)據(jù)傳輸,性能高、功能強(qiáng),而且體積小、價(jià)格低、使用方便、應(yīng)用范圍廣。
CAN卡的設(shè)計(jì)包括硬件設(shè)計(jì)和軟件設(shè)計(jì)。
1硬件設(shè)計(jì)
PCI總線是一種獨(dú)立于CPU的局部總線,不同于傳統(tǒng)的ISA總線。由于PCI總線規(guī)范定義了嚴(yán)格的電氣特性和時(shí)序要求,開發(fā)難度比ISA總線的開發(fā)難度大。實(shí)現(xiàn)PCI接口的方案一般有兩種:采用可編程邏輯器件和專用總線接口器件。采用可編程邏輯器件實(shí)現(xiàn)PCI接口的最大好處是比較靈活,可把PCI時(shí)序模塊和功能模塊結(jié)合在一起,可以利用的器件也比較多,還可以購買由廠家提供的用VHDL、AHDL等硬件描述語言編制的PCI核心設(shè)計(jì)模塊,但其設(shè)計(jì)難度還是很高,因?yàn)镻CI總線對(duì)負(fù)載要求、傳輸數(shù)據(jù)的建立時(shí)間的要求都比較苛刻,同時(shí)還需要器件內(nèi)部實(shí)現(xiàn)用于配置的各類寄存器,以及完成邏輯校驗(yàn)、地址譯碼等工作的寄存器。此外,還需加入FIFO、用戶寄存器組和后端設(shè)備接口等部分。設(shè)計(jì)這種PCI總線接口會(huì)導(dǎo)致將大量的人力、物力投入到復(fù)雜的邏輯驗(yàn)證和時(shí)序分析的工作上,開發(fā)周期較長。要用專用接口器件雖然沒有采用可編程邏輯器件那么靈活,但能夠有效地降低接口設(shè)計(jì)的難度,縮短開發(fā)時(shí)間。專用接口器件具有較低的成本和很高的通用性,能夠優(yōu)化數(shù)據(jù)傳輸,提供配置空間,具備用于突發(fā)傳輸功能的片內(nèi)FIFO,提供擴(kuò)展局部總線等優(yōu)點(diǎn),并且許多公司還提供配套的開發(fā)工具,使用很方便,開發(fā)周期短。目前市場(chǎng)上常見的有PLX、AMCC、Cypress等公司的PCI橋芯片,各個(gè)型號(hào)的PCI接口芯片的大致特點(diǎn)如表1所示。
表1各公司PCI接口芯片公司芯片型號(hào)芯片功能及特點(diǎn)價(jià)格開發(fā)技術(shù)支持PLXPCI9052
PCI9054型號(hào)眾多,使用方便,性能好較便宜提供快速開發(fā)板RDK出售CYPRESSCY7C09449PV-AC內(nèi)置DPRAM,有效降低系統(tǒng)成本便宜技術(shù)文檔TIPCI2031
PCI1251與TI的DSP可無縫連接很便宜提供評(píng)估模塊AMCCAMCC5920
AMCC5933(主)FIFO接口適合于設(shè)計(jì)數(shù)據(jù)采集卡,性能好較昂貴提供評(píng)估板
PCI設(shè)備可分為主模式和從模式。主模式橋芯片可以進(jìn)行DMA操作,而從模式只能接受讀寫操作。根據(jù)PCI提供的傳輸數(shù)據(jù)帶寬和CAN總線的要求,加上經(jīng)濟(jì)和開發(fā)難度與周期上考慮,又因不需要DMA功能,采用從模式橋芯片足以滿足傳輸數(shù)據(jù)的需要。此外,選擇芯片不僅考慮性能和經(jīng)濟(jì)上的要求,而且還需要考慮硬件開發(fā)和驅(qū)動(dòng)程序開發(fā)的難易。如果不提供足夠的芯片說明和應(yīng)用樣例及開發(fā)工具,將大大增加開發(fā)難度和延長開周期。因此,采用PLX公司的PCI總線目標(biāo)接口芯片PCI9052作為CAN卡中的PCI接口芯片,負(fù)責(zé)與計(jì)算機(jī)之間的數(shù)據(jù)通信。
PCI9052是PLX公司開發(fā)的低價(jià)格PCI總線從模式接口芯片,低功耗,符合規(guī)范,提供的局部總線可通過編程設(shè)置為8/16/32位的復(fù)用總線。其主要特點(diǎn)有
直接數(shù)據(jù)轉(zhuǎn)換模式PCI9052支持PCI到LocalBus的內(nèi)存映射和I/O映射的突發(fā)讀寫。
ISA接口邏輯PCI9052支持通過8/16位內(nèi)存映射或I/O映射從PCI到ISA總線的單周期讀、寫訪問。方便從ISA向PCI卡的轉(zhuǎn)換。
中斷產(chǎn)生器由LocalBus的兩個(gè)中斷信號(hào)可以產(chǎn)生一個(gè)PCI中斷信號(hào):INTA#。
局部總線PCI9052提供的局部總線不但可編程,而且與PCI總線的時(shí)鐘相互獨(dú)立運(yùn)行,可實(shí)現(xiàn)異步操作,總線操作自動(dòng)實(shí)現(xiàn)時(shí)序同步。兩部分的異步運(yùn)行方便了高、低速設(shè)備的兼容。局部的運(yùn)行時(shí)鐘頻率范圍0~40MHz、TTL電平,可由PCI提供或由用戶自行提供;PCI的運(yùn)行時(shí)鐘頻率范圍0~33MHz。
串行EEPROM用于存入PCIBUS和LocalBus的部分配置信息。
4個(gè)局部設(shè)備片選基址和地址范圍可以由串行EEPROM或主控設(shè)備進(jìn)行設(shè)置。
5個(gè)局部地址空間基址和地址范圍及其映射可以由串行EEPROM或主控設(shè)備進(jìn)行設(shè)置。
Big/LittleEndian模式的字節(jié)交換適合不同計(jì)算機(jī)體系。
局部總線等待狀態(tài)降了等待信號(hào)LRDYi#用于握手之外,PCI9052還有一個(gè)內(nèi)部等待產(chǎn)生器(包括地址到數(shù)據(jù)周期、數(shù)據(jù)到數(shù)據(jù)周期和數(shù)據(jù)到地址周期的
等待)。
延遲讀模式PCI9052支持規(guī)范的延遲讀模式。
FIFOPCI9052包括一個(gè)64Byte的寫FIFO和一個(gè)32Byte的讀FIFO,從而支持預(yù)取模式、即突發(fā)操作。
PCI鎖定機(jī)制主控設(shè)備可以通過鎖定信號(hào)占有對(duì)PCI9052的唯一訪問權(quán)。
由于CAN總線的迅猛發(fā)展,許多芯片廠商開發(fā)了很多系列的CAN通信控制器芯片。如表2所示。
表2主要CAN總線芯片制造商芯片型號(hào)芯片功能及特點(diǎn)Intel82527
8XC196CA/CBCAN通信控制器,符合
擴(kuò)展的8XC196+CAN通信控制器,符合
82C250
P51XA-C3CAN通信控制器,符合
高性能CAN總線收發(fā)器
16位微控制器+CAN通信控制器,符合系列68HC05微處理器+CAN通信控制器NEC72005CAN通信控制器,符合/B
由于PCI9052可以啟動(dòng)局部總線的讀寫,CAN卡不再需要微控制器,采用CAN通信控制器即可,本CAN卡采用支持BasicCAN和PeliCAN模式,具有FIFO、支持熱插拔等功能,不但可以實(shí)現(xiàn)CAN總線接口功能,而且芯片可以根據(jù)晶振的頻率,輸出可編程的CLKOUT信號(hào),該信號(hào)正好可作為PCI9052的局部總線的總線頻率,節(jié)省了器件,方便了設(shè)計(jì)。CAN總線的總線頻率可為12MHz、16MHz或24MHz,PCI9052自動(dòng)實(shí)現(xiàn)局部總線與PCI總線的訪問同步。CAN總線收發(fā)器采用82C250.該芯片是CAN總線控制器和物理總線的接口,可以提供對(duì)CAN總線的差動(dòng)發(fā)送和接受能力,具有抗瞬間干擾、保護(hù)部的能力,可以通過調(diào)整CAN總線通訊脈沖的邊沿斜率來降低射頻干擾。
由于PCI設(shè)備在計(jì)算機(jī)中的硬件資源是系統(tǒng)動(dòng)態(tài)分配的,因此在設(shè)計(jì)出基本的硬件框架后,要進(jìn)行PCI配置設(shè)計(jì)。CAN卡的硬件資源為映射SJA1000內(nèi)部寄存器的內(nèi)存映射間和一個(gè)中斷源。PCI9052提供5個(gè)局部地址空間,可以選用其中的一個(gè)作為SJA1000的地址空間,分配32個(gè)8位地址。同時(shí)設(shè)置相應(yīng)的初始化,PCI配置寄存器中的寄存器PCIBAR2設(shè)置為0XFFFFFFE0,向系統(tǒng)請(qǐng)求分配內(nèi)存的數(shù)量為32,類型為不可預(yù)讀,其它寄存器的值可設(shè)置為0。設(shè)置局部地址空間的范圍為0X00000000~0X00000020。PCI9052提供2個(gè)局部中斷源,利用LINTi1即可,注意的是:LINTi1信號(hào)線沒有驅(qū)能力,SJA1000的INT引腳也沒有驅(qū)動(dòng)能力,因此該信號(hào)線必須加上拉電阻,否則該信號(hào)線的電平不確定,工作肯定不正常。SJA1000提供電平觸發(fā)中斷信號(hào),因此PCI9052的中斷觸發(fā)模式設(shè)置為電平觸發(fā)。利用PCI9052的局部設(shè)備片CS0#作為SJA1000的片選信號(hào)。CS0#片選信號(hào)的起始地址和地址范圍為CS0BaseAddress寄存器設(shè)置,值為0x00000002。另外,PCI9052的LRDYi#信號(hào)為局部總線數(shù)據(jù)準(zhǔn)備信號(hào),SJA1000的寄存器地址映射成地址,數(shù)據(jù)傳輸不存在延遲等待,因此LRDYi#引腳可接地,表示SJA1000的寄存器總是立即可讀寫。PCI9052寄存器的初始值由串行EEPROM提供,在PCI9052加電后讀取。EEPROM必須采用支持連讀功能的芯片,本用Microchip的93LC46B。用PCX公司提供的開發(fā)工具PlxMon可對(duì)93LC47B進(jìn)行讀寫。
PCI9052的硬件調(diào)試可采用PlxMon。利用它可以對(duì)PCI設(shè)置的配置資源進(jìn)行檢驗(yàn)。利用PLX提供的SDK,可以對(duì)PCI9052的局部寄存器、局部總線及EEPROM進(jìn)行讀寫,這樣可以調(diào)試硬件。借助開發(fā)工具,不必開發(fā)PCI設(shè)備的調(diào)試軟件,可節(jié)省很多時(shí)間。同時(shí),SDK也為驅(qū)動(dòng)程序的開發(fā)提供了程序框架,加快了開發(fā)進(jìn)度。
CAN卡的電路框圖如圖1所示。
2軟件設(shè)計(jì)
軟件設(shè)計(jì)包括驅(qū)動(dòng)程序的設(shè)計(jì)和COM組件程序設(shè)計(jì)。
由于PCI設(shè)備的中斷、I/O端口、映射內(nèi)存等資源都是動(dòng)態(tài)分配的,必須編寫驅(qū)動(dòng)程序管理硬件,才能供用戶編程使用。為了通用性和兼容性,CAN卡驅(qū)動(dòng)程序的開發(fā)采用支持WindowsXP、Windows2000和Windows98的WDM驅(qū)動(dòng)程序。開發(fā)工具采用VisualC++和Win2000DDK。由于CAN卡上沒有微控制器,因此對(duì)CAN總線端口的所有操作都是由驅(qū)動(dòng)程序來完成的。這不僅可以由計(jì)算機(jī)來實(shí)現(xiàn)復(fù)雜的功能,例如,錯(cuò)誤檢測(cè)、斷點(diǎn)續(xù)傳等,同時(shí)節(jié)省了硬件,而且有利于CAN卡的升級(jí)——只要更換驅(qū)動(dòng)程序即。驅(qū)動(dòng)程序的功能主要是配置SJA1000的CAN接口、收發(fā)CAN總線上的數(shù)據(jù)、對(duì)發(fā)數(shù)據(jù)和CAN總線錯(cuò)誤均采用中斷處理,驅(qū)動(dòng)程序可以快速響應(yīng),通過事件內(nèi)核對(duì)象直接通知給用戶程序。由于WDM驅(qū)動(dòng)程序運(yùn)行在系統(tǒng)的內(nèi)核態(tài),編寫非常復(fù)雜,限于篇幅,僅給出軟件的框圖。
為了方便用戶的使用,還應(yīng)編寫相應(yīng)的API函數(shù)或ActiveX控件等其它應(yīng)用層的程序提供給用戶。由于ActiveX控件
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 液力動(dòng)力機(jī)械及元件制造在線平臺(tái)行業(yè)跨境出海項(xiàng)目商業(yè)計(jì)劃書
- 珠寶定制故事視頻行業(yè)跨境出海項(xiàng)目商業(yè)計(jì)劃書
- 智能手表塑料表帶創(chuàng)新行業(yè)深度調(diào)研及發(fā)展項(xiàng)目商業(yè)計(jì)劃書
- 太空博物館企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力項(xiàng)目商業(yè)計(jì)劃書
- 游泳室內(nèi)場(chǎng)所AI應(yīng)用企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力項(xiàng)目商業(yè)計(jì)劃書
- 瑜伽功及類似健身在線平臺(tái)行業(yè)跨境出海項(xiàng)目商業(yè)計(jì)劃書
- 歷史文化遺址綠化行業(yè)跨境出海項(xiàng)目商業(yè)計(jì)劃書
- 電力設(shè)施安全責(zé)任承包合同
- 航運(yùn)物流財(cái)務(wù)擔(dān)保合同負(fù)債風(fēng)險(xiǎn)管理與服務(wù)合同
- 車輛租賃費(fèi)用調(diào)整合同補(bǔ)充協(xié)議
- 河道漂流設(shè)計(jì)施工方案
- 2025年新媒體職位面試題及答案
- 《跨境電商》課件-跨境電商行業(yè)發(fā)展
- 2025年陜西煤業(yè)化工建設(shè)集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 公立醫(yī)院成本核算指導(dǎo)手冊(cè)
- 餐飲連鎖管理制度
- 產(chǎn)品制程不良率統(tǒng)計(jì)表
- 2024年01月廣東2024年珠海華潤銀行社會(huì)招考(125)筆試歷年參考題庫附帶答案詳解
- 人教版小學(xué)數(shù)學(xué)三年級(jí)下冊(cè)《奧數(shù)競(jìng)賽試卷》
- 《非遺苗族蠟染》少兒美術(shù)教育繪畫課件創(chuàng)意教程教案
- FMEA手冊(cè)新中文版(第五版)
評(píng)論
0/150
提交評(píng)論