新聞中心

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

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

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

        (12)鎖定機制 主控設備可以通過鎖定信號占有對9052的唯一訪問權。

        由于的迅猛發展,許多芯片廠商開發了很多系列的通信控制器芯片。如表2所示。

        由于9052可以啟動局部的讀寫,卡不再需要微控制器,采用CAN通信控制器即可,本CAN卡采用SJA1000。SJA1000支持BasicCAN和PeliCAN模式,具有FIFO、支持熱插拔等功能,不但可以實現CAN接口功能,而且芯片可以根據晶振的頻率,輸出可編程的CLKOUT信號,該信號正好可作為PCI9052的局部總線的總線頻率,節省了器件,方便了設計。CAN總線的總線頻率可為12MHz、16MHz或24MHz,PCI9052自動實現局部總線與PCI總線的訪問同步。CAN總線收發器采用82C250。該芯片是CAN總線控制器和物理總線的接口,可以提供對CAN總線的差動發送和接受能力,具有抗瞬間干擾、保護總線的能力,可以通過調整CAN總線上通訊脈沖的邊沿斜率來降低射頻干擾。

        由于PCI設備在計算機中的硬件資源是系統動態分配的,因此在設計出基本的硬件框架后,要進行PCI配置設計。CAN卡的硬件資源為映射SJA1000內部寄存器的內存映射空間和一個中斷源。PCI9052提供5個局部地址空間,可以選用其中的一個作為SJA1000的地址空間,分配32個8位地址。同時設置相應的初始化,PCI配置寄存器中的寄存器PCIBAR2設置為0XFFFFFFE0,向系統請求分配內存的數量為32,類型為不可預讀,其它寄存器的值可設置為0。設置局部地址空間的范圍為0X00000000~0X00000020。PCI9052提供2個局部中斷源,利用LINTi1即可,注意的是:LINTi1信號線沒有驅動能力,SJA1000的INT引腳也沒有驅動能力,因此該信號線必須加上拉電阻,否則該信號線的電平不確定,工作肯定不正常。SJA1000提供電平觸發中斷信號,因此PCI9052的中斷觸發模式設置為電平觸發。利用PCI9052的局部設備片選CS0#作為SJA1000的片選信號。CS0#片選信號的起始地址和地址范圍由CS0 Base Address寄存器設置,值為0X00000002。另外,PCI9052的LRDYi#信號為局部總線數據準備信號,SJA1000的寄存器地址映射成地址,數據傳輸不存在延遲等待,因此LRDYi#引腳可接地,表示SJA1000的寄存器總是立即可讀寫。PCI9052寄存器的初始值由串行EEPROM提供,在PCI9052加電后讀取。EEPROM必須采用支持連讀功能的芯片,本設計采用Microchip的93LC46B。用PLX公司提供的開發工具PlxMon可對93LC46B進行讀寫。

        PCI9052的硬件調試可采用PlxMon。利用它可以對PCI設備的配置資源進行檢驗。利用PLX提供的SDK,可以對PCI9052的局部寄存器、局部總線及EEPROM進行讀寫,這樣可以調試硬件。借助開發工具,不必開發PCI設備的調試軟件,可節省很多時間。同時,SDK也為驅動程序的開發提供了程序框架,加快了開發進度。



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

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 顺昌县| 灵武市| 留坝县| 大同市| 雷波县| 甘洛县| 青川县| 镇平县| 塔河县| 丹东市| 济源市| 西林县| 乐昌市| 清水河县| 噶尔县| 孟州市| 安平县| 潼南县| 浙江省| 盐津县| 滁州市| 射洪县| 额尔古纳市| 三门县| 牟定县| 宜兰市| 中阳县| 常州市| 顺昌县| 南昌市| 株洲县| 蓝山县| 全州县| 孟州市| 芜湖市| 彩票| 习水县| 蓝山县| 稷山县| 布尔津县| 丽江市|