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

    EEPW首頁 > 嵌入式系統 > 設計應用 > 基于FPGA的嵌入式Linux軟硬件設計

    基于FPGA的嵌入式Linux軟硬件設計

    作者:紀斌 鄭志國 李紅兵 中國西南電子技術研究所 時間:2010-03-09 來源:電子產品世界 收藏

      在進行電路設計時,是以為核心,向外擴展各種設備,因此特別注意了各個引腳的連接。由于DDR和PHY芯片都需要提供+2.5V電壓,因此和DDR、PHY芯片連接引腳所在的BANK需要提供+2.5V電壓參考,并且不能接以LVTTL或LVCMOS為電壓參考的引腳。重要快速的時鐘信號必須接到全局時鐘引腳上。由于需要通過外部FLASH啟動操作系統,需要并行配置,以減少加載時間,配置電路如圖2所示。在DDR布線時,數據和地址線需要走等長線,數據線之間不能相差10Mil,地址線要控制在20Mil以內,時鐘也需要走差分等長線,長度應大于地址線,DDR各個信號還需要47Ω的并行端接,改善信號質量。千兆 PHY 輸出MDI信號也需要在頂層做差分等長,不然在進行1000M數據傳輸時很可能不穩定。DDR和PHY需要完整的電源回路做參考,電源層劃分時也要特別注意,其他電路做常規處理就可以了。

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

      EDK和ISE軟件設計

      首先需要調用Xilinx提供的 EDK軟件,對各個模塊加入必要的IPCORE,以便操作系統能正常調用這些器件的驅動操作他們。本設計采用的是EDK10.1.2版本,PPC方面選用ppc405內核,頻率設定在300MHz,同時需要添加中斷輸入引腳,以便響應以太網、串口等外部中斷,其他使用默認設置。DDR控制器采用EDK提供的Multi-Port-Memory Controller模塊,需要設置DDR芯片廠商、大小和數據位數等,特別指出的是,要設置獨立的兩條PLB總線和PPC連接,作為PPC的指令和數據總線。MAC單元需要加入XPS_LL_TEMAC模塊來控制,本設計需要設置PHY 類型為GMII(千兆以太網),同時要指定物理地址和收發FIFO大小。FLASH單元需要加入xps_mch_emc模塊,同時設置FLASH類型和讀寫時間。為了方便調試,還需要加入串口控制臺模塊,本設計使用的是UartLite模塊,設置需要的波特率和校驗類型。特別注意的是,系統還需要時鐘管理模塊(DCM),提供各個模塊需要的不同時鐘,還要設置一段FPGA內部RAM區域,放置PPC的.boot文件。外部這些模塊都通過PLB總線和PPC通信,需要統一編址,一般把DDR 內存空間地址分配到0x0開始,整個系統的構建如圖3所示。

      本設計,除了在 EDK中搭建了操作系統必須的各種模塊后,還需要在ISE中編寫各個時序電路程序,因此把 EDK中編寫好的工程作為一個模塊,加入到ISE中,然后統一編譯,這樣生成了我們需要的完整功能的程序。特別指出的是,PPC405數據地址采用的是大端模式,接入到ISE中時,需要把數據顛倒位置,如DATA[0:31]變為DATA[31:0],才能正常讀寫。

    linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

    fpga相關文章:fpga是什么


    linux相關文章:linux教程


    隔離器相關文章:隔離器原理
    土壤濕度傳感器相關文章:土壤濕度傳感器原理


    關鍵詞: FPGA Linux 嵌入式 201003

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 龙游县| 方山县| 新丰县| 贺兰县| 上思县| 太原市| 金湖县| 梁平县| 博罗县| 长垣县| 丰顺县| 乐昌市| 东兴市| 石屏县| 利津县| 新巴尔虎左旗| 孝昌县| 武夷山市| 蒙自县| 大足县| 贵港市| 稻城县| 汉阴县| 志丹县| 林西县| 德安县| 巴楚县| 温泉县| 淳化县| 华坪县| 张北县| 台北市| 吉林市| 娄底市| 睢宁县| 长葛市| 永福县| 瑞丽市| 多伦县| 启东市| 白山市|