新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式處理器MPC8250與CF卡的接口設計

        嵌入式處理器MPC8250與CF卡的接口設計

        作者: 時間:2012-06-27 來源:網絡 收藏

        最近幾年,蓬勃發展,在通信、航空航天、醫療設備、消費類電子產品等領域一展身手。的外圍設備也日新月異,例如記憶棒、USB口、CF卡等。本文從硬件和軟件角度出發,介紹了CF卡在嵌入式系統中的設計和使用技巧。

        由于CF卡具有攜帶方便、易于升級、存儲量大、抗震性好等優點,應用范圍越來越廣。1995年10月,SanDisk、柯達、卡西歐、惠普、摩托羅拉、佳能等125家廠商發起成立了CompactFlash協會,致力于制定新一代的基于RAM和ROM技術的固態非易失的存儲介質標準——CF卡標準使不同廠家開發的CF卡及其接口器件可以互相兼容。目前,CF卡標準已有1.4版本,容量從最早的2M字節到現今的1G字節。

        同時,CF卡遵從ATA-IDE工業設計標準,連接裝置與 PCMCIA卡相似,只不過CF卡是50引腳(PCMCIA卡68引腳),可以很容易插入無源68引腳 TypeII適配卡并完全符合PCMCIA電力和機械接口規格。另外,CF卡的兼容性佳,不僅同時支持3.3V和5V的電壓,而且不同的CF卡都可以用單一的機構讀寫,特別是CF卡升級換代時也可以保證舊設備的兼容性。而純電子運動的CF卡耗電量很低,僅為IBM微型硬盤的5%。

        1 系統設計

        圖1是筆者開發的嵌入式系統框圖。其中,是MPC8250,PCI1410A是連接PCI總線和CF卡的一種接口芯片。

        MPC8250芯片是Motorola公司開發的一款PowerPC系列嵌入式處理器。芯片采用小巧而強大的32位超標量體系結構PowerPC 603e處理器內核,最高主頻為300MHz。它集成了PCI橋、PCI仲裁器、存儲器控制器、中斷控制器、DMA控制器、16K字節指令高速緩存和16K字節數據高速緩存等部件。MPC8250具有三個可配置為百兆或十兆以太網的FCC口,四個可配置為串口或網口的SCC口,一個多通道HDLC接口。該芯片適用于對成本、空間、功耗和性能都有很高要求的應用領域,例如路由器/接線器、多路MODEM、網絡存儲應用和圖像顯示等系統。

        PCI1410A芯片是TI公司開發的一種高性能的PCI到CF卡的控制器,支持遵循CF卡標準的各類CF卡。它符合PCI總線標準,既可以工作于PCI主設備模式,也可以工作于PCI從設備模式。

        MPC8250與PCI1410A之間通過32位PCI局部總線連接,工作頻率33MHz。MPC8250用作PCI主設備,PCI1410A用作PCI從設備,同時采用MPC8250內部的PCI仲裁器。

        本設計選用SanDisk公司的型號為SDCFB-64-101的CF卡,64M字節容量,幾何尺寸為36.4mm×42.8mm×3mm。PCI1410A與CF卡之間的連接遵循CF卡標準,由地址、數據、控制三組信號組成。PCI1410A提供了五個通用I/O引腳,設計中將其中一個引腳GPIO1用作LED指示。當CF卡工作時,LED會以64ms的周期閃爍。

        SDRAM選用了三星公司的K4S561632A,每片容量256M比特,共四片。

        圖2 讀寫技巧示意圖

        2 接口編程

        在CF卡工作前,必須先進行初始化,在整個系統的地址空間中確定CF卡的位置,預設置CF卡的工作模式及相關寄存器。本設計中,CF卡位于系統的0x9A000000~0x9DFFFFFF地址空間。在每次讀寫CF卡時,必須根據讀寫數據的多少和操作特性來配置相應寄存器。

        2.1 CF卡初始化

        本系統中,CF卡的初始化由MPC8250通過PCI總線配置PCI1410A的寄存器實現,具體步驟如下:

        (1)設置CF卡的基地址,即配置ExCA寄存器(偏移量:0x10)。該寄存器定義了CF卡在PCI存儲器空間的基地址,即0x9A000000。

        (2)配置PCI命令寄存器(偏移量:0x04),允許CPU訪問PCI存儲空間。

        (3)配置系統控制寄存器(偏移量:0x80)。該寄存器定義了一些系統控制位,例如,是否采用PCI中斷方式,是否采用內部振蕩器,是否采用DMA等。本設計采用PCI中斷方式,不采用內部振蕩器和DMA。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 文成县| 隆子县| 林州市| 温泉县| 兴业县| 新巴尔虎右旗| 新绛县| 福鼎市| 乐亭县| 额济纳旗| 新乡县| 鄢陵县| 东阿县| 靖江市| 南通市| 北宁市| 旌德县| 萝北县| 汪清县| 安平县| 云林县| 宾阳县| 全椒县| 屏东县| 怀集县| 涿鹿县| 荔波县| 江山市| 巧家县| 万年县| 酒泉市| 宿迁市| 丰顺县| 高邑县| 龙海市| 福泉市| 哈巴河县| 调兵山市| 长乐市| 泗水县| 潜江市|