《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 并行NOR Flash在SOPC開發中的應用
并行NOR Flash在SOPC開發中的應用
摘要: 隨著FPGA技術的發展,出現了一種新概念的嵌入式系統,即SOPC(System On Programmable Chip)。SOPC技術融合了SoC和FPGA的優點,將處理器、片上總線、片上存儲器、內部外設、I/O接口以及自定義邏輯集成在同一片FPGA中,而且軟硬件可裁剪、可升級、可修改,具有軟硬件在系統編程能力,在保證高性能的同時具有非常高的靈活性。由于大部分功能部件在FPGA內實現,外部只需要很少的器件,如大容量的RAM、Flash、DAC、ADC等。在系統需要脫離計算機獨立運行時(絕大部分情況如此),非易失的存儲器件Flash是必不可少的。Flash可以用來存儲配置比特流、代碼、數據或參數等重要信息。本文以Intel StrataFlash 3V Memory系列的JS28F128J3D75并行NOR Flash(簡稱“J3D”)和Xilinx FPGA Spartan3E系列的XC3S1600E(簡稱“1600E”)為背景,在結合項目開發經驗和參閱相關文獻的基礎上,介紹了并行NOR Flash在SOPC開發中的4種不同應用。
關鍵詞: SoPC NOR Flash
Abstract:
Key words :

  引言

  隨著FPGA技術的發展,出現了一種新概念的嵌入式系統,即SOPC(System On Programmable Chip)。SOPC技術融合了SoC和FPGA的優點,將處理器、片上總線、片上存儲器、內部外設、I/O接口以及自定義邏輯集成在同一片FPGA中,而且軟硬件可裁剪、可升級、可修改,具有軟硬件在系統編程能力,在保證高性能的同時具有非常高的靈活性。由于大部分功能部件在FPGA內實現,外部只需要很少的器件,如大容量的RAM、Flash、DAC、ADC等。在系統需要脫離計算機獨立運行時(絕大部分情況如此),非易失的存儲器件Flash是必不可少的。Flash可以用來存儲配置比特流、代碼、數據或參數等重要信息。本文以Intel StrataFlash 3V Memory系列的JS28F128J3D75并行NOR Flash(簡稱“J3D”)和Xilinx FPGA Spartan3E系列的XC3S1600E(簡稱“1600E”)為背景,在結合項目開發經驗和參閱相關文獻的基礎上,介紹了并行NOR Flash在SOPC開發中的4種不同應用。

  1 存儲FPGA配置比特流

  1600E工作在BPI(Bytewide Peripheral InteRFace)配置模式時,通過專門的引腳與J3D連接,這些引腳在配置完成后可以作為用戶I/O使用。連接時,大部分引腳參考1600E的數據手冊直接連接即可,但有些引腳需要特別注意。J3D有×8(數據總線寬度為8位)和×16(數據總線寬度為16位)兩種工作模式。配置時應工作在×8模式,配置完成后,根據需要可以設置為×8或×16模式。圖1為1600E與J3D引腳連接示意圖。

                                           圖1 1600E與J3D引腳連接示意圖

  若配置后需要切換至×16模式,則需綜合考慮1600E的HSWAP腳。HSWAP接高電平時,1600E所有用戶I/O的內部上拉電阻禁用,HDC通過4.7kΩ電阻接高電平,LDC2通過4.7 kΩ電阻接地,LDC1和LDC0通過4.7kΩ電阻接高電平,同時這3個信號應分別連到J3D的BYTE#、OE#、CE0腳。這樣上電后的瞬間,J3D工作在×8模式,且因CE0腳被拉高而處于非選中狀態,不會導致對J3D的誤操作;然后在1600E的控制下進入配置狀態,配置結束可通過控制LDC2輸出高電平而將J3D切換為×16模式。HSWAP接低電平時,1600E所有用戶I/O的內部上拉電阻使能,LDC1、LDC0和HDC無需外接上拉電阻;而LDC2應接340Ω的下拉電阻,以使上電后J3D工作在×8模式,從而順利進入配置狀態,配置結束后可將J3D切換為×16模式。

  若配置后工作在×8模式,則J3D的BYTE#腳接低電平,1600E的LDC2懸空。當HSWAP接高電平時,LCD1和LCD0分別連至OE#、CE0腳,同時應通過4.7kΩ電阻上拉;HSWAP接低電平時,LCD1和LCD0不用上拉。

  配置比特流文件首先通過iMPCT轉換成MCS文件,再通過PicoBlaze NOR Flash Programmer(http://www.xilinx.com/products/boards/s3estarter/files/s3esk_picoblaze_nor_flash_programmer.zip)下載到J3D中。

  J3D可以同時配置多塊FPGA,也可對同一塊FPGA進行多比特流配置。例如先配置一個診斷測試比特流,測試成功后,再重新配置應用比特流。

  2 存儲可引導的軟處理器代碼

  首先利用Xilinx嵌入式開發工具箱EDK創建一個嵌入式工程,包括MicroBlaze硬件平臺和相應的軟件工程。在EDK界面下,用鼠標選中創建的軟件工程,右擊并在彈出的菜單中選擇Generate Linker Script...項,進入Generate Linker Script對話框。將Sections、Heap和Stack指定到BRAM或外部RAM(一般將Heap和Stack指定到BRAM,代碼和數據段指定到外部RAM),并指定輸出腳本文件名及路徑,如圖2所示。

                             圖2 Generate Linker Script對話框

  雙擊相應軟件工程下的Compiler Options選項,進入Set Compiler Options對話框,設定Link Script項為剛才產生的腳本文件,并指定Output ELF File項的路徑與名稱。現在可以編譯相應的軟件工程,產生相應的可執行ELF文件,設為Bootable.elf。

  在EDK主界面下,用鼠標選擇Device Configuration → Program Flash Memory,進入Program Flash Memory對話框,并按圖3進行設置。單擊OK按鈕,會把Bootable.elf文件自動轉為SREC格式,并下載到J3D的指定地址處,同時產生名為bootloadr_0的軟件工程。bootloadr_0工程編譯后產生的可執行文件executable.elf用來執行引導裝載功能,應將其合并到系統比特流system.bit,從而生成dowload.bit。dowload.bit經iMPCT轉為MCS文件后下載到配置PROM中(若使用同一片J3D,注意不能與Bootable.elf發生地址空間沖突)。這樣,系統上電后,首先對FPGA進行配置,然后引導加載J3D中的代碼至相應的BRAM或SDRAM中(具體映射位置已在Generate Linker Script對話框中設定)。

                                         圖3 Program Flash Memory對話框

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 日本成人在线网站| 欧美色图23p| 暖暖在线日本免费中文| 人人妻人人爽人人做夜欢视频九色 | 成年女人毛片免费视频| 久久成人国产精品一区二区| 欧美寡妇xxxx黑人猛交| 亚洲精品无码人妻无码| 看看镜子里我是怎么c哭你的| 四虎国产欧美成人影院| 视频在线观看国产| 国产成人免费午夜在线观看| 男女一进一出无遮挡黄| 国产观看精品一区二区三区| 9一14yosexyhd| 女人张开腿让男人做爽爽| 亚洲av无码一区二区三区dv| 欧美激情一区二区| 国产jizz在线观看| 青青草视频ios| 国产成人亚洲精品播放器下载| 亚洲va在线va天堂成人| 国产精品素人福利| 91精品一区二区三区久久久久 | 五月婷婷中文字幕| 国产精品免费_区二区三区观看| 中文字幕日韩在线观看| 日本爱恋电影在线观看视频| 久久精品无码aV| 曰批全过程免费视频免费看| 亚洲s色大片在线观看| 狠狠色综合色区| 国产亚洲综合激情校园小说| 国产麻豆91网在线看| 国产男女猛烈无遮挡免费网站| 18禁美女黄网站色大片免费观看| 国色天香网在线| 99久久精品国产亚洲| 成人秋霞在线观看视频| 中文字幕精品一区二区2021年 | 波多野结衣之cesd819|