




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
片上編程技術在嵌入式系統(tǒng)中的應用
sopc是一個特殊的嵌入式系統(tǒng),在單個芯上完成整個嵌入式系統(tǒng)的大部分功能。這是一個可以切割、擴展、更新和編程的系統(tǒng),具有良好的靈活性和復雜性。作為世界上知名的可編程器件廠商,美國Xilinx公司提供了完整的SOPC解決方案,可以選擇軟核和硬核處理器以滿足不同的性能需求。在SOPC系統(tǒng)中,本地存儲器、處理器總線、內部外設、外設控制器和存儲器由FPGA的通用邏輯實現(xiàn),在單芯片上實現(xiàn)整個系統(tǒng),減少了電路板占用面積,降低了系統(tǒng)功耗,也使得基于嵌入式處理器的串行處理和可編程邏輯的并行處理完美結合,讓整個系統(tǒng)設計變得更加靈活、更加高效,這大大提高了嵌入式系統(tǒng)的整體性能。在SOPC系統(tǒng)設計階段,已經從傳統(tǒng)的以硬件描述語言HDL為中心的硬件設計,轉移到了以C語言進行功能描述為中心的軟件設計,這使得軟硬件的協(xié)同設計得以發(fā)展,軟硬件的開發(fā)可以同時進行。SOPC系統(tǒng)設計越來越依賴于各種知識產權核(IntellectualPropertycore,IP),通過IP核復用技術極大地提高了系統(tǒng)的設計效率SOPC平臺的產生,為FPGA提供了更加廣闊的舞臺,典型的是基于網絡的應用,即通過網絡實現(xiàn)數據傳輸、遠程控制、數據共享等功能。為了在內存資源有限的嵌入式系統(tǒng)中使用TCP/IP網絡協(xié)議,需要對標準的TCP/IP協(xié)議進行優(yōu)化,減少內存資源占用和數據復制等,輕型網絡協(xié)議(LightWeightInternetProtocol,LwIP)就是由瑞典計算機科學院開發(fā),適合在嵌入式領域使用的一種精簡的、開源的TCP/IP協(xié)議嵌入式系統(tǒng)需要用顯示接口將信息直觀地展現(xiàn)出來,本設計中通過使用先進的數字視頻接口(DigitalVisualInterface,DVI),使得圖像的色彩更純凈、更逼真,進一步提升了人們的視覺感受。11.1模糊網絡單元圖1給出了網絡視頻傳輸的結構,設計中使用了Xilinx公司提供的32位MicroBlaze軟核處理器,該處理器是采用功能強大的32位流水線、精簡指令集(ReducedInstructionSetComputer,RISC)結構,包含32個32位通用寄存器和一個可選的32位移位寄存器、32位指令和數據總線的哈佛結構,可以全速執(zhí)行片上存儲器和外部存儲器中存儲的程序,MicroBlaze處理器提供了包括本地存儲器總線(LocalMemoryBus,LMB)、處理器本地總線(ProcessorLocalBus,PLB)、快速單向鏈路總線(FastSimplexLink,FSL)在內的各種互聯(lián)結構,用來實現(xiàn)與其他外設資源的連接。本設計的所有外設都連接到PLB總線上,PLB總線主要由總線控制單元、看門狗時鐘、單獨的尋址和讀寫數據路徑單元組成。PLB總線包含32位地址總線,32/64/128位數據總線,采用輪詢或者優(yōu)先級的仲裁方式,且支持4級動態(tài)請求級別,仲裁時間小于3個時鐘周期,通過使用該總線直接連接外設,減少了延遲時間,加快了數據的處理速度,充分發(fā)揮了系統(tǒng)的整體性能通過PLB總線將該設計中的定時器模塊(TimeIP)、以太網控制器模塊(MACIP)、存儲器管理模塊(MPMCIP)、數字視頻接口控制器模塊(DVIIP)連接到處理器上,并通過FPGA的管腳分配分別連接到外部物理轉換芯片上,由片上處理器對這些IP核進行配置及操作,來實現(xiàn)對外部模塊控制。1.2片式bram設計處于核心地位的MicroBlaze軟核處理器用于處理來自各個外設的信息,并對這些外設進行控制。處理器主要用來控制以太網控制器實現(xiàn)TCP/IP數據包的接收、對接收的圖像數據進行解碼和控制數字視頻接口控制器實現(xiàn)圖像數據的顯示SOPC系統(tǒng)運行程序有兩種方式,一是使用FPGA的BRAM資源,其通過LMB總線與MicroBlaze軟核處理器相連;二是使用外部存儲器,其通過PLB總線與MicroBlaze軟核處理器相連;使用FPGA內部的BRAM資源,這些BRAM運行速度快,這就進一步提升了指令的執(zhí)行速度,從而提升系統(tǒng)的整體性能,如果使用外部存儲器,在取址執(zhí)行時需要通過總線仲裁來獲取總線的使用權,因為外部存儲器也作為其中的一個外設,會降低系統(tǒng)的性能,所以把程序存儲在片內BRAM中是本系統(tǒng)設計的最佳選擇。設計中的各種IP核提供了豐富的功能,其中內存控制器實現(xiàn)對內存的訪問;以太網控制器完成網絡數據的收發(fā);數字視頻接口實現(xiàn)圖像數據的顯示,實現(xiàn)行同步、場同步時鐘的產生、數據轉換、顯示配置等功能。在該設計中需要傳輸大量數據,使用DMA技術,通過SDMA接口把以太網接收到的圖像數據存儲傳輸到DDR2內存中,等待處理器處理完成以后交給DVI控制器進行圖像顯示,從而提高了系統(tǒng)的性能。1.3硬件平臺的創(chuàng)建硬件平臺的創(chuàng)建,用于實現(xiàn)各外設IP的功能配置及各IP在系統(tǒng)中的存儲空間分配、總線連接方式、端口引腳配置。通過使用Xilinx公司提供的嵌入式開發(fā)套件(EmbeddedDevelopmentKit,EDK)完成所有的功能配置。圖2給出了硬件平臺的創(chuàng)建流程。1)通過Xilinx公司的EDK工具,使用基本系統(tǒng)向導生成器(BaseSystemBuilder,BSB)創(chuàng)建基本的硬件平臺,根據實際使用的硬件資源選擇板描述文件,完成SOPC的最基本功能的配置。設置Microblaze軟核處理器的運行時鐘為125MHz,指令和數據內存大小為256k。2)外設IP的添加與配置,添加內存控制IP核、以太網控制IP核、串口IP核、時鐘IP核、DVI控制器IP核,完成添加后將各IP連接到PLB總線上,并給各IP核分配內存資源,將系統(tǒng)的外部信號設置為外部端口,并在UCF文件中添加管腳約束,然后保存以上工程。3)綜合和實現(xiàn),對構建的硬件平臺進行綜合,生成可下載到FPGA運行的比特流文件,這就完成了硬件平臺的構建。2系統(tǒng)實現(xiàn)設計及管理該系統(tǒng)的軟件由Xilkernel操作系統(tǒng)、LwIP支持庫、驅動程序、應用程序4部分組成,在Xilinx公司提供的SDK平臺下完成所有軟件的設計。操作系統(tǒng)完成系統(tǒng)資源管理及調度,驅動程序為物理層與應用層提供數據通道,并為應用層提供函數接口,從而為應用軟件的開發(fā)帶來便利。通過使用驅動程序,屏蔽了底層的硬件操作,應用程序通過調用LwIP庫函數接收來自網絡的圖像數據,圖像經過處理后,由DVI控制器來控制圖像在顯示器上的顯示。2.1實現(xiàn)平臺及原理的多源異構Xilkernel是Xilinx公司用于EDK系統(tǒng)的小型化、模塊化的嵌入式操作系統(tǒng),支持可移植操作系統(tǒng)接口(PortableO-peratingSystemInterfaceofUnix,POSIX),可以根據應用需求進行裁剪,該系統(tǒng)占用CPU資源少,運行速度快,并具備嵌入式操作系統(tǒng)的基本特征,即多任務處理、進程間通信、基于優(yōu)先級的調度方法、同步以及中斷處理等Xilkernel本身并不帶TCP/IP協(xié)議棧,但是提供與LwIP庫的良好接口,可以根據實際的應用,通過加載和卸載不同的功能模塊來實現(xiàn)內核的高擴展性。EDK工具集成了內核功能,通過EDK工具對內核功能進行配置,使整個開發(fā)過程變得簡單、高效。Xilkernel的基本執(zhí)行單元為任務處理,且調度也在任務處理器級別上完成,它沒有線程組的概念,即沒有進程的概念,所有的線程性質都一樣,可以完全占用相應CPU資源。其支持基于優(yōu)先級調度和輪詢調度,這兩種都是全局調度準則,在生成內核的時候必須確定,在基于先后順序的輪詢模式中,所有任務都具有相同的優(yōu)先級,只有一個單獨的等待隊列,CPU按順序執(zhí)行隊列中的任務。在基于優(yōu)先級調度的模式中,不同優(yōu)先級的任務有不同的等待隊列,優(yōu)先級系數為0的線程具有最高優(yōu)先級,優(yōu)先級系數越高意味著優(yōu)先級越低,CPU先執(zhí)行高優(yōu)先級隊列,然后執(zhí)行低優(yōu)先級隊列,隊列長度和優(yōu)先級可以通過軟件進行設置,圖3清晰地顯示了基于優(yōu)先級調度的調度策略。在本設計中,所創(chuàng)建的線程都使用系統(tǒng)默認的優(yōu)先級,即應用程序的線程都在同一優(yōu)先級運行,系統(tǒng)線程的優(yōu)先級高于應用程序優(yōu)先級,這使得系統(tǒng)線程能優(yōu)先運行。2.2lwip協(xié)議LwIP是TCP/IP協(xié)議棧的一個實現(xiàn),在保持TCP協(xié)議主要功能的基礎上減少對存儲器資源的占用,簡化了處理過程和對內存的要求,并且對API進行了裁剪,減少了復制數據所需的時間和內存空間占用。一般情況下,它只需要幾百字節(jié)的RAM和40k左右的ROM就可以運行,這使LwIP協(xié)議棧非常適合在嵌入式系統(tǒng)中使用LwIP把所有的協(xié)議封裝到一個獨立的過程中,從而與操作系統(tǒng)內核分開,應用程序可能駐留在LwIP中,也可能在單獨的過程中,TCP/IP協(xié)議棧和應用程序之間的通信可以通過函數調用實現(xiàn),把LwIP作為一個過程的主要優(yōu)點是便于在不同操作系統(tǒng)上移植,圖4顯示了數據的接收過程,該過程是通過調用LwIP庫函數來實現(xiàn)的。底層數據包的接收線程xemacif_input_thread在應用程序啟動的時候被創(chuàng)建,當有以太網數據包到來時,通過調用xlltemacif_input函數接收數據包,一次只能處理一個數據包,把接收的數據包交給tcpip_thread線程處理,線程中通過函數ip_input進行ip頭的校驗、并檢查包的大小是否合法,然后去掉ip頭,把數據交給函數tcp_input處理,該函數完成tcp頭的校驗,然后讓函數tcp_process處理,完成tcp層的超時、窗口大小的驗證等操作,最后把接收的數據放到pbuf隊列里,由應用程序的線程調用函數read進行讀取,然后把數據交給應用層的數據處理函數進行處理。2.3監(jiān)控系統(tǒng)的實現(xiàn)在以上設計完成后,就可以進行應用程序的設計,該系統(tǒng)設計的軟件部分包括兩個部分:一方面進行圖像數據的接收;另一方面進行數據圖像的顯示。這部分程序運行在Microblaze軟核處理器上,由Xilkernel操作系統(tǒng)進行調度,圖5給出了應用程序線程的創(chuàng)建過程。首先由操作系統(tǒng)提供的線程創(chuàng)建函數sys_thread_new()創(chuàng)建靜態(tài)啟動線程main_thread,該線程首先對Lwip進行初始化,然后創(chuàng)建網絡線程network_thread;在網絡線程中首先完成IP地址、網關、掩碼的設置,然后調用系統(tǒng)函數xemac_add把新建的網絡接口添加到網絡接口隊列里。以上操作完成以后,創(chuàng)建數據包接收線程xemacif_input_thread、應用程序圖像數據接收和處理進程receive_image、圖像顯示線程data_show。數據包接收線程是用來接收來自網絡接口的數據包,在整個程序的運行過程中一直存在,當有網絡數據到來時通過中斷調用進行處理。圖像數據接收線程接收完后進行處理,然后交給圖像顯示進程進行顯示。接收圖像數據包并處理線程首先接收來自tcpip_thread進程提交的數據,把接收的數據放到內存中,數據存放的首地址由用戶設定,可以在應用程序中通過宏定義進行設置,當接收到一個處理段數據后,對整段的數據進行處理,然后按照顯示的格式放入內存中,記錄該存放的首地址和數據長度,地址長度信息存儲在全局變量中,把該地址交給顯示進程,以便圖像顯示線程讀取數據進行顯示。圖像顯示線程data_show通過讀取接收和處理線程所設置的全局變量來判斷是否有數據顯示,當有數據顯示時,按照DVI的顯示規(guī)范將數據傳輸到顯示器上進行顯示。其數據是24位,這需要在時鐘的兩個沿發(fā)送,根據實際需要的傳輸模式來配置CH7301C的寄存器。整個系統(tǒng)的運行中包含3個線程,接收線程xemacif_input_thread、圖像數據接收和處理進程receive_image、顯示線程data_show。應用程序運行時創(chuàng)建以上3個線程,并由操作系統(tǒng)進行調度。當沒有數據顯示時,顯示進程data_show進入等待隊列,當有數據顯示,且當前CPU處于空閑狀態(tài)時,則執(zhí)行顯示線程,使用的操作系統(tǒng)的線程操作有7個狀態(tài):線程創(chuàng)建、線程準備好、線程運行、線程等待、線程超時、線程等待資源超時、線程結束。系統(tǒng)根據調度準則進行線程的調度,其線程的狀態(tài)在這7個狀態(tài)中進行轉換。3網絡發(fā)送支持為了對以上的設計進行驗證,在PC機開發(fā)了數據發(fā)送軟件,為本系統(tǒng)提供數據來源,該軟件主要實現(xiàn)了打開用戶指定的圖像數據文件,通過網絡發(fā)送到用戶指定的IP地址、給出發(fā)送的狀態(tài)信息功能。圖6給出了圖像通過網絡發(fā)送的過程。本設計在Xilinx公司的XUPV5-L
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權】 ISO 10713:2025 EN Jewellery and precious metals - Gold alloy coatings
- T-ZHAQ 8-2024 小葉牛大力種植技術規(guī)程
- 二零二五年度應屆大學生人力資源實習合同
- 二零二五年度股票投資風險控制與合規(guī)監(jiān)督協(xié)議
- 二零二五年度個人債權轉讓協(xié)議書(關于專利權轉讓)
- 高管二零二五年度勞動合同及離職交接程序
- 二零二五年度路橋工程土地征用與拆遷合同
- 美容院合伙人投資回報與風險控制協(xié)議書(2025年度)
- 2025年度金融借款合同違約起訴流程及費用結算合同
- 2025年度餐飲企業(yè)跨界合作合伙經營合同
- 六年級心理健康ppt名師優(yōu)質課獲獎市賽課一等獎課件
- 四川輕化工大學
- 六西格瑪質量管理在口腔科器械管理中的作用
- 高中心理健康教育-認識自我悅納自我教學課件設計
- 素材合集-扁平化圖標素材(彩色)
- (全)電梯安全風險管控清單
- 中國思想史 馬工程329P
- 《網店美工》教案-商品詳情頁設計
- 原始狩獵圖哀郢楚商
- 新版冀教版(冀人版)科學五年級下冊全冊教案
- 烏茲別克斯坦
評論
0/150
提交評論