當今電子系統的設計是以大規模FPGA為物理載體的系統芯片的設計,基于FPGA的片上系統可稱為可編程片上系統(SOPC)。SOPC的設計是以知識產權核(IPCore)為基礎,以硬件描述語言為主要設計手段,借助以計算機為平臺的EDA工具進行的。 本文在介紹了FPGA與SOPC相關技術的基礎上,給出了SOPC技術開發調制解調器的方案。在分析設計軟件Matlab/DSP(Digital Signal Processing)。builder以及Quartus Ⅱ開發軟件進行SOPC(System On a Programmable Chip)設計流程后,依據調制解調算法提出了一種基于DSP Builder調制解調器的SOPC實現方案,模塊化的設計方法大大縮短了調制解調器的開發周期。 在SOPC技術開發調制解調器的過程中,用MATLAB/Simulink的圖形方式調用Altera DSP Builder和其他Simulink庫中的圖形模塊(Block)進行系統建模,在Simulink中仿真通過后,利用DSP Builder將Simulink的模型文件(.mdl)轉化成通用的硬件描述語言VHDL文件,從而避免了VHDL語言手動編寫系統的煩瑣過程,將精力集中于算法的優化上。 基于DSP Builder的開發功能,調制解調器電路中的低通濾波器可直接調用FIRIP Core,進一步提高了開發效率。 在進行編譯、仿真調試成功后,經過QuartusⅡ將編譯生成的編程文件下載到ALTERA公司Cyclone Ⅱ系列的FPGA芯片EP2C5F256C6,完成器件編程,從而給出了一種調制解調器的SOPC系統實現方案。
上傳時間: 2013-06-24
上傳用戶:liuchee
當今電子系統的設計是以大規模FPGA為物理載體的系統芯片的設計,基于FPGA的片上系統可稱為可編程片上系統(SOPC)。SOPC的設計是以知識產權核(IPCore)為基礎,以硬件描述語言為主要設計手段,借助以計算機為平臺的EDA工具進行的。 本文在介紹了FPGA與SOPC相關技術的基礎上,給出了SOPC技術開發調制解調器的方案。在分析設計軟件Matlab/DSP(Digital Signal Processing)。builder以及Quartus Ⅱ開發軟件進行SOPC(System On a Programmable Chip)設計流程后,依據調制解調算法提出了一種基于DSP Builder調制解調器的SOPC實現方案,模塊化的設計方法大大縮短了調制解調器的開發周期。 在SOPC技術開發調制解調器的過程中,用MATLAB/Simulink的圖形方式調用Altera DSP Builder和其他Simulink庫中的圖形模塊(Block)進行系統建模,在Simulink中仿真通過后,利用DSP Builder將Simulink的模型文件(.mdl)轉化成通用的硬件描述語言VHDL文件,從而避免了VHDL語言手動編寫系統的煩瑣過程,將精力集中于算法的優化上。 基于DSP Builder的開發功能,調制解調器電路中的低通濾波器可直接調用FIRIP Core,進一步提高了開發效率。 在進行編譯、仿真調試成功后,經過QuartusⅡ將編譯生成的編程文件下載到ALTERA公司Cyclone Ⅱ系列的FPGA芯片EP2C5F256C6,完成器件編程,從而給出了一種調制解調器的SOPC系統實現方案。
上傳時間: 2013-05-28
上傳用戶:koulian
視頻圖像處理的應用越來越廣泛,各種處理算法也日趨成熟,相關的硬件技術不斷地推陳出新。視頻圖像處理系統的硬件實現一般來說有三種方式:數字信號處理器(Digital Signal Processor)、專用集成芯片(Application Specific Integrated Circuit)和現場可編程邏輯門陣列(Field Programmable Gate Array)以及相關電路組成。最近幾年,隨著電子設計自動化(Electronic Design Automation)技術的迅速發展,使得基于FPGA的可編程片上系統(System On a Programmable Chip)逐漸成為嵌入式系統。應用的一種趨勢。特別地,在視頻圖像處理系統設計中,數據量大,要求處理速度快,靈活性高,FPGA有其獨特的優勢。鑒于此,本文對基于FPGA和SOPC技術的視頻圖像處理系統進行了研究。 本文介紹了Xilinx公司FPGA的結構和功能特點,以及可編程片上系統的開發工具和片內系統設計流程。根據視頻信號的相關知識,編寫了視頻圖像處理IP核,構建了視頻圖像處理系統。整個系統以FPGA為核心器件,內嵌PowerPC405處理器模塊,通過ⅡC總線完成視頻解碼芯片的初始化,總體上實現了對視頻圖像信號的采集、處理、存儲和顯示。 本文最后對系統進行了調試。經過實驗驗證,系統能正確和可靠地工作。整個系統的邏輯資源消耗占FPGA的百分之十幾,剩余的資源可以做許多硬件算法或其它方面的應用。
上傳時間: 2013-05-24
上傳用戶:kaka
單片微機的概念單片微機是單片微型計算機SCMC(SingleChipMicroComputer)的譯名簡稱,在國內也常簡稱為“單片微機”或“單片機”。它包括中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、中斷系統、定時器/計數器、串行口和I/O等等。除了工業控制領域,單片微機在家用電器、電子玩具、通信、高級音響、圖形處理、語言設備、機器人、計算機等各個領域迅速發展。目前單片微機的世界年產量已達100億片,而在中國大陸地區單片微機的年應用量已達6億片左右,截止2001年4月,由中國大陸地區自行設計和生產的單片微機也已達到2000萬片。由此可見單片微機的廣泛用途和發展前景!
標簽: 單片機原理
上傳時間: 2013-10-18
上傳用戶:jhs541019
單片機之PPT篇 單片機特點及其發展概況•單片機區別于微處理器•單片機的廣泛應用 單片機用作微控制器,與微處理器相比,最大特點是單片化、體積大大減小,片上外設資源一般比較豐富,適合于控制。在一塊硅片上集成CPU、RAM、ROM、定時器/計數器、和多種I/O的完整的數字處理系統。•微處理器是由通用計算機中的CPU演變而來的,具有32位以上的處理器,具有較高的性能。•在PC機以286、386、Pentium、PIII高速更新換代的同時,單片機卻“始終如一”保持旺盛的生命力。而單片機實際使用的多為8位的。
標簽: 單片機
上傳時間: 2013-11-13
上傳用戶:ydd3625
單片機常用芯片和器件手冊 地址鎖存器由于MCS-51單片機的P0口是分時復用的地址/數據總線,因此在進行程序存儲器擴展時,必須利用地址鎖存器將信號從地址/數據總線中分離開來。 常用的地址鎖存器是: 74LS373828274LS273 存儲器擴展MCS-51的程序存儲器尋址空間為64k字節(0000H--FFFFH),其中8051、8751片內涵有4K字節的ROM或EPROM,8031片內部不帶ROM。當片內ROM不夠用或采用8031芯片時,需擴展程序存儲器。MCS-51單片機訪問外部程序存儲器所使用的控制信號有: ALE:低8位地址鎖存控制; PSEN:外部程序存儲器“讀取”控制。 常用的程序存儲器有: EPROM: 2716 2732 2764 27128 27256 EEPROM:2817 2864 MCS-51的數據存儲器尋址空間為64k字節(0000H--FFFFH)。而8031單片機內部只有128個字節的RAM存儲器。數據存儲器只使用WR、RD控制線。 常用的數據存儲器有: 靜態RAM:6116 6264 動態RAM:2186
上傳時間: 2013-11-15
上傳用戶:xiaowei314
at91rm9200啟動過程教程 系統上電,檢測BMS,選擇系統的啟動方式,如果BMS為高電平,則系統從片內ROM啟動。AT91RM9200的ROM上電后被映射到了0x0和0x100000處,在這兩個地址處都可以訪問到ROM。由于9200的ROM中固化了一個BOOTLOAER程序。所以PC從0X0處開始執行這個BOOTLOAER(準確的說應該是一級BOOTLOADER)。這個BOOTLOER依次完成以下步驟: 1、PLL SETUP,設置PLLB產生48M時鐘頻率提供給USB DEVICE。同時DEBUG USART也被初始化為48M的時鐘頻率; 2、相應模式下的堆棧設置; 3、檢測主時鐘源(Main oscillator); 4、中斷控制器(AIC)的設置; 5、C 變量的初始化; 6、跳到主函數。 完成以上步驟后,我們可以認為BOOT過程結束,接下來的就是LOADER的過程,或者也可以認為是裝載二級BOOTLOER。AT91RM9200按照DATAFLASH、EEPROM、連接在外部總線上的8位并行FLASH的順序依次來找合法的BOOT程序。所謂合法的指的是在這些存儲設備的開始地址處連續的存放的32個字節,也就是8條指令必須是跳轉指令或者裝載PC的指令,其實這樣規定就是把這8條指令當作是異常向量表來處理。必須注意的是第6條指令要包含將要裝載的映像的大小。關于如何計算和寫這條指令可以參考用戶手冊。一旦合法的映像找到之后,則BOOT程序會把找到的映像搬到SRAM中去,所以映像的大小是非常有限的,不能超過16K-3K的大小。當BOOT程序完成了把合法的映像搬到SRAM的任務以后,接下來就進行存儲器的REMAP,經過REMAP之后,SRAM從映設前的0X200000地址處被映設到了0X0地址并且程序從0X0處開始執行。而ROM這時只能在0X100000這個地址處看到了。至此9200就算完成了一種形式的啟動過程。如果BOOT程序在以上所列的幾種存儲設備中找到合法的映像,則自動初始化DEBUG USART口和USB DEVICE口以準備從外部載入映像。對DEBUG口的初始化包括設置參數115200 8 N 1以及運行XMODEM協議。對USB DEVICE進行初始化以及運行DFU協議。現在用戶可以從外部(假定為PC平臺)載入你的映像了。在PC平臺下,以WIN2000為例,你可以用超級終端來完成這個功能,但是還是要注意你的映像的大小不能超過13K。一旦正確從外部裝載了映像,接下來的過程就是和前面一樣重映設然后執行映像了。我們上面講了BMS為高電平,AT91RM9200選擇從片內的ROM啟動的一個過程。如果BMS為低電平,則AT91RM9200會從片外的FLASH啟動,這時片外的FLASH的起始地址就是0X0了,接下來的過程和片內啟動的過程是一樣的,只不過這時就需要自己寫啟動代碼了,至于怎么寫,大致的內容和ROM的BOOT差不多,不同的硬件設計可能有不一樣的地方,但基本的都是一樣的。由于片外FLASH可以設計的大,所以這里編寫的BOOTLOADER可以一步到位,也就是說不用像片內啟動可能需要BOOT好幾級了,目前AT91RM9200上使用較多的bootloer是u-boot,這是一個開放源代碼的軟件,用戶可以自由下載并根據自己的應用配置。總的說來,筆者以為AT91RM9200的啟動過程比較簡單,ATMEL的服務也不錯,不但提供了片內啟動的功能,還提供了UBOOT可供下載。筆者寫了一個BOOTLODER從片外的FLASHA啟動,效果還可以。 uboot結構與使用uboot是一個龐大的公開源碼的軟件。他支持一些系列的arm體系,包含常見的外設的驅動,是一個功能強大的板極支持包。其代碼可以 http://sourceforge.net/projects/u-boot下載 在9200上,為了啟動uboot,還有兩個boot軟件包,分別是loader和boot。分別完成從sram和flash中的一級boot。其源碼可以從atmel的官方網站下載。 我們知道,當9200系統上電后,如果bms為高電平,則系統從片內rom啟動,這時rom中固化的boot程序初始化了debug口并向其發送'c',這時我們打開超級終端會看到ccccc...。這說明系統已經啟動,同時xmodem協議已經啟動,用戶可以通過超級終端下載用戶的bootloader。作為第一步,我們下載loader.bin.loader.bin將被下載到片內的sram中。這個loder完成的功能主要是初始化時鐘,sdram和xmodem協議,為下載和啟動uboot做準備。當下載了loader.bin后,超級終端會繼續打印:ccccc....。這時我們就可以下在uboot了。uboot將被下載到sdram中的一個地址后并把pc指針調到此處開始執行uboot。接著我們就可以在終端上看到uboot的shell啟動了,提示符uboot>,用戶可以uboot>help 看到命令列表和大概的功能。uboot的命令包含了對內存、flash、網絡、系統啟動等一些命令。 如果系統上電時bms為低電平,則系統從片外的flash啟動。為了從片外的flash啟動uboot,我們必須把boot.bin放到0x0地址出,使得從flash啟動后首先執行boot.bin,而要少些boot.bin,就要先完成上面我們講的那些步驟,首先開始從片內rom啟動uboot。然后再利用uboot的功能完成把boot.bin和uboot.gz燒寫到flash中的目的,假如我們已經啟動了uboot,可以這樣操作: uboot>protect off all uboot>erase all uboot>loadb 20000000 uboot>cp.b 20000000 10000000 5fff uboot>loadb 21000000 uboot>cp.b 210000000 10010000 ffff 然后系統復位,就可以看到系統先啟動boot,然后解壓縮uboot.gz,然后啟動uboot。注意,這里uboot必須壓縮成.gz文件,否則會出錯。 怎么編譯這三個源碼包呢,首先要建立一個arm的交叉編譯環境,關于如何建立,此處不予說明。建立好了以后,分別解壓源碼包,然后修改Makefile中的編譯器項目,正確填寫你的編譯器的所在路徑。 對loader和boot,直接make。對uboot,第一步:make_at91rm9200dk,第二步:make。這樣就會在當前目錄下分別生成*.bin文件,對于uboot.bin,我們還要壓縮成.gz文件。 也許有的人對loader和boot搞不清楚為什么要兩個,有什么區別嗎?首先有區別,boot主要完成從flash中啟動uboot的功能,他要對uboot的壓縮文件進行解壓,除此之外,他和loader并無大的區別,你可以把boot理解為在loader的基礎上加入了解壓縮.gz的功能而已。所以這兩個并無多大的本質不同,只是他們的使命不同而已。 特別說名的是這三個軟件包都是開放源碼的,所以用戶可以根據自己的系統的情況修改和配置以及裁減,打造屬于自己系統的bootloder。
上傳時間: 2013-10-27
上傳用戶:wsf950131
作為嵌入式系統主控單元——單片機,其軟件往往是一個微觀的實時操作系統,且大部分是為某種應用而專門設計的。系統程序有實時過程控制或實時信息處理的能力,要求能夠及時響應隨機發生的外部事件并對該事件做出快速處理。而分時操作系統卻是把CPU的時間劃分成長短基本相同的時間區間,即“時間片”,通過操作系統的管理,把這些時間片依次輪流地分配給各個用戶使用。如果某個作業在時間片結束之前,整個任務還沒有完成,那么該作業就被暫停下來,放棄CPU,等待下一輪循環再繼續做。此時CPU又分配給另一個作業去使用。由于計算機的處理速度很快,只要時間片的間隔取得適當,那么一個用戶作業從用完分配給它的一個時間片到獲得下一個CPU時間片,中間有所“停頓”;但用戶察覺不出來,好像整個系統全由它“獨占”似的。分時操作系統主要具有以下3個特點:① 多路性。用戶通過各自的終端,可以同時使用一個系統。② 及時性。用戶提出的各種要求,能在較短或可容忍的時間內得到響應和處理。③ 獨占性。在分時系統中,雖然允許多個用戶同時使用一個CPU,但用戶之間操作獨立,互不干涉。分時操作系統主要是針對小型機以上的計算機提出的。一般而言,微處理器(MPU)驅動的通用計算機,系統設計人員對每一臺的最終具體應用都是不得而知的,因此,在價格允許的情況下,硬件設計務求CPU時鐘盡可能的快;計算及管理能力盡可能的強;程序和數據存儲器的容量盡可能的大;各種計算機外設的配接盡可能的詳盡等等,特別是采用分時操作系統的機器,因為是一機多用戶的管理系統,它的要求就更高了。相對而言,微控制器(MCU)俗稱單片機,是一個單片集成系統,它將這些或那些計算機所需的外設,諸如程序和數據存儲器、端口以及有關的子系統集成到一片芯片上。從硬件上,單片機系統與采用分時操作系統的計算機系統是無法比擬的。但是,在單片機系統的設計中,設計人員對其最終具體應用是一清二楚的,它的使用環境相對是單一固定的。所控制的過程的可預見性為分時系統思想的實現提供了可能性。具體一點就是:雖然單片機的CPU速度較低,但其任務是可預見的,這樣作業調度將變得簡單而無須占用很多的CPU時間,同時“時間片”的設計是具體而有針對性的,因此可變得很有效。一、單片機分時系統的設計單片機系統往往是一個嵌入式的控制系統,因此目前絕大部分的單片機系統還是一實時系統。能夠真正體現分時系統的設計思想的往往是那些多路重復檢測控制系統。即便是在這些多路重復檢測控制系統中,它的實時性也是非常重要的。也就是說,在單片機系統中應用了分時系統設計思想,但其及時性應首先進行考慮。
上傳時間: 2013-12-23
上傳用戶:佳期如夢
1 概述由于在某些通訊設計應用中,需要擴展更多的串口數量,比如車床監控、紡織儀器檢測和網狀連接的數據采集等應用。為此成都國騰微電子有限公司推出的GM814x 可以滿足多個同類產品的并聯擴展,并且能簡單的實現電路連接和程序控制,主MCU 可以識別數據的來源和指定和某個GM814x 通信。2 應用說明2.1 CS 與SPI 的數據通信GM814x 的CS(片選)引腳可用于控制SPI 總線時鐘有效性,CS 低電平有效,內部下拉。CS 有效時,允許芯片的時鐘接收和數據收發;無效時,SCLK、DIN 和DOUT 均為高阻狀態,GM814x 不響應SPI 上的數據收發,但能正常收發子串口數據和產生相應中斷。2.2 應用建議當使用GM814x 的應用需要擴展4 個以上的串口數量時,就需要使用2 片以上的GM814x。擴展的方式也有多種。方式一:將多個GM814x 的SPI 接口接在主MCU 的SPI 總線上,然后將所有GM814x 的中斷進行線與后連接到MCU 的IRQ 上,同時將各GM814x 的IRQ 輸出又連接到MCU的IO,以便MCU響應中斷后檢測是具體哪一個GM814x 輸出的中斷,然后再拉低對應的CS,拉高其它GM814x的CS,并執行通信操作。方式二:如果擴展的GM814x 數量較多,采用上述擴展方式可能會占用MCU較多的IO 資源,則可以將GM814x 的中斷輸出連接到具有OC 輸出的與門芯片上,再輸出到MCU 的中斷輸入。同時又將所有的GM814x 的中斷輸出進行編碼輸入到MCU,以供其判斷產生中斷的是哪一個GM814x。方式三:將所有GM814x 的中斷輸出連接到優先編碼器進行編碼輸出,同時編碼器也能輸出低電平信號給MCU 作為中斷響應。MCU 檢測編碼數據以獲知產生中斷的GM814x,然后進行數據通信處理。這種方式電路最簡單,占用MCU 的IO 資源也最少。 舉例:使用MCS51 單片機擴展8 片GM814x。本電路中,采用了上述提到的第三種擴展方式。通過普通的MCS51 單片機擴展最多8 片GM814x,可擴展最多32 個標準串口。為了節省MCU的IO 資源,電路中增加了一片8-3 線優先編碼器74LS348 和一片3-8 線譯碼器74HC138。8 片GM814x 的IRQ 中斷通過一片74LS348 輸出中斷源向量,同時產生GS 低電平信號到MCS51 的外部中斷0 上,MCS51 響應中斷后,可查詢A0~A2 的值確定產生中斷的GM814x,然后MCU 使能74HC138,輸出對應的ABC 信號選中產生IRQ 信號的GM814x,再進行SPI 總線上的數據通信。 示例程序:本示例程序使用C 語言描述,僅供參考。 由于74LS348 是優先編碼器,多個中斷同時產生的時候,74LS348 的編碼只會指示輸入編號上最高的IRQ,MCU 無法直接獲知是否其它的GM814x 也產生了中斷。同時GM814x 在自己的中斷申請后,數據傳輸到第8bit 時會自動清除,所以數據接收完后如果MCU 的中斷引腳仍然為低,則表示還有其它GM814x 的中斷申請,故必須在處理完當前中斷后繼續查詢新的中斷向量。這就是上述示例程序中while 循環的目的。 以上應用建議僅供設計者參考,不代表最終實現方式,更可靠和實際的實現方式可由設計者根據自己的實際情況確定。l 示例中的數據、參數和標志字命名不代表實際產品的特性,請參考實際產品的數據手冊來獲取你所需要的數據。
上傳時間: 2013-10-26
上傳用戶:suicoe
支持多個進程并發運行的簡單進程管理模擬系統。本系統的同步機構采用的信號量上的P,V操作的機制;控制機構包括阻塞和喚醒操作;時間片中斷處理程序模擬的時間片中斷;進程調度程序負責為各進程分配處理機。
上傳時間: 2013-12-26
上傳用戶:huannan88