• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 模擬技術 > 設計應用 > 基于PCI總線的CAN卡的設計與實現

    基于PCI總線的CAN卡的設計與實現

    作者: 時間:2009-10-23 來源:網絡 收藏

    現場(Controller Area Network控制器局域網絡)以其高性能、高可靠性及獨特的設計,越來越受到人們的重視和青睞,不但在汽車行業(yè)中應用廣泛,而且在工業(yè)控制、機器人、醫(yī)療器械、傳感器等領域發(fā)展迅速。為了擴展的功能,與計算機相連,可設計具有接口和PC接口的CAN適配卡,用來收集CAN上各個節(jié)點的信息,轉發(fā)給PC機,并可將PC機的命令和數據轉發(fā)給各個節(jié)點以及完成對CAN總線上的用戶系統(tǒng)的部分監(jiān)控和管理工作。

    本文引用地址:http://www.czjhyjcfj.com/article/188549.htm

    總線是Intel公司推出的一種先進的高性能32/64位局部總線,可同時支持多組外圍設備,不受制于處理器,數據吞吐量大 (33MHz總線頻率、32位傳輸時峰值可高達132MB/s)。目前是處于主流的計算機總線。以往的CAN卡一般都是基于ISA總線的,由于ISA總線傳輸速率低,CAN卡必須增加中繼控制功能,才能夠適應CAN的高速傳輸,導致造價高、體積大、傳輸速率低,不利于CAN總線的推廣應用。由于總線傳輸速度快,而且支持熱插拔、電源管理等功能,不但能滿足CAN總線的高速數據傳輸,性能高、功能強,而且體積小、價格低、使用方便、應用范圍廣。

    CAN包括硬件設計和軟件設計。

    1 硬件設計

    PCI總線是一種獨立于CPU的局部總線,不同于傳統(tǒng)的ISA總線。由于PCI總線規(guī)范定義了嚴格的電氣特性和時序要求,開發(fā)難度比ISA總線的開發(fā)難度大。實現PCI接口的方案一般有兩種:采用可編程邏輯器件和專用總線接口器件。采用可編程邏輯器件實現PCI接口的最大好處是比較靈活,可把PCI時序模塊和功能模塊結合在一起,可以利用的器件也比較多(如Altera公司的CPLD器件、Xilinx公司的FPGA器件等),還可以購買由廠家提供的用VHDL、AHDL等硬件描述語言編制的PCI核心設計模塊,但其設計難度還是很高,因為PCI總線對負載要求、傳輸數據的建立時間的要求都比較苛刻,同時還需要器件內部實現用于配置的各類寄存器,以及完成邏輯校驗、地址譯碼等工作的寄存器(大致需要15000個門電路)。此外,還需加入FIFO、用戶寄存器組和后端設備接口等部分。設計這種PCI總線接口會導致將大量的人力、物力投入到復雜的邏輯驗證和時序分析的工作上,開發(fā)周期較長。采用專用接口器件雖然沒有采用可編程邏輯器件那么靈活,但能夠有效地降低接口設計的難度,縮短開發(fā)時間。專用接口器件具有較低的成本和很高的通用性,能夠優(yōu)化數據傳輸,提供配置空間,具備用于突發(fā)傳輸功能的片內FIFO,提供擴展局部總線等優(yōu)點,并且許多公司還提供配套的開發(fā)工具(例如評估板或驅動程序開發(fā)軟件),使用很方便,開發(fā)周期短。目前市場上常見的有PLX、AMCC、Cypress等公司的PCI橋芯片,各個型號的PCI接口芯片的大致特點如表1所示。

    PCI設備可分為主模式和從模式。主模式橋芯片可以進行DMA操作,而從模式只能接受讀寫操作。根據PCI提供的傳輸數據帶寬(最大132MB/s)和CAN總線(最大1Mbps)的要求,加上經濟和開發(fā)難度與周期上的考慮(主模式橋芯片較昂貴,開發(fā)難度較大),又因不需要DMA功能,采用從模式橋芯片足以滿足傳輸數據的需要。此外,選擇芯片不僅考慮性能和經濟上的要求,而且還需要考慮硬件開發(fā)和驅動程序開發(fā)的難易。如果不提供足夠的芯片說明和應用樣例及開發(fā)工具,將大大增加開發(fā)難度和延長開發(fā)周期。因此,采用PLX公司的PCI總線目標接口芯片PCI9052作為CAN卡中的PCI接口芯片,負責與計算機之間的數據通信。

    PCI9052是PLX公司開發(fā)的低價格PCI總線從模式接口芯片,低功耗,符合PCI2.1規(guī)范,提供的局部總線(Local Bus)可通過編程設置為8/16/32位的(非)復用總線。其主要特點有:

    (1)直接數據轉換模式 PCI9052支持PCI到Local Bus的內存映射和I/O映射的突發(fā)讀寫。

    (2)ISA接口邏輯 PCI9052支持通過8/16位內存映射或I/O映射從PCI到ISA總線的單周期讀、寫訪問。方便從ISA卡向PCI卡的轉換。

    (3)中斷產生器 由Local Bus的兩個中斷信號可以產生一個PCI中斷信號:INTA#。

    (4)局部總線 PCI9052提供的局部總線不但可編程,而且與PCI總線的時鐘相互獨立運行,可實現異步操作,總線操作自動實現時序同步。兩總線的異步運行方便了高、低速設備的兼容。局部的運行時鐘頻率范圍0~40MHz、TTL電平,可由PCI提供或由用戶自行提供;PCI的運行時鐘頻率范圍0~33MHz。

    (5)串行EEPROM 用于存放PCI BUS和Local Bus的部分配置信息。

    (6)4個局部設備片選 基址和地址范圍可以由串行EEPROM或主控設備進行設置。

    (7)5個局部地址空間 基址和地址范圍及其映射可以由串行EEPROM或主控設備進行設置。

    (8)Big/Little Endian模式的字節(jié)交換 適合不同計算機體系。

    (9)局部總線等待狀態(tài) 除了等待信號LRDYi#用于握手之外,PCI9052還有一個內部等待產生器(包括地址到數據周期、數據到數據周期和數據到地址周期的等待)。

    (10)延遲讀模式 PCI9052支持PCI2.1規(guī)范的延遲讀模式。

    (11)FIFO PCI9052包括一個64Byte的寫FIFO和一個32Byte的讀FIFO,從而支持預取模式、即突發(fā)操作。


    上一頁 1 2 3 下一頁

    關鍵詞: PCI CAN 總線 卡的設計

    評論


    相關推薦

    技術專區(qū)

    關閉
    主站蜘蛛池模板: 阜阳市| 罗定市| 宜丰县| 德化县| 进贤县| 廉江市| 棋牌| 饶河县| 晋城| 鹤峰县| 临夏市| 兖州市| 遵义县| 吴江市| 永济市| 潜江市| 治县。| 峡江县| 尚义县| 瑞丽市| 肃北| 成安县| 和林格尔县| 赣榆县| 高唐县| 电白县| 宿州市| 太湖县| 封丘县| 永兴县| 上高县| 永仁县| 全南县| 阳江市| 福州市| 竹北市| 六枝特区| 西盟| 科技| 沿河| 东兴市|