電子產(chǎn)業(yè)一站式賦能平臺(tái)

PCB聯(lián)盟網(wǎng)

搜索
查看: 1802|回復(fù): 0
收起左側(cè)

如何自學(xué)嵌入式硬件_基于FPGA的嵌入式系統(tǒng)設(shè)計(jì)

[復(fù)制鏈接]

2607

主題

2607

帖子

7472

積分

高級(jí)會(huì)員

Rank: 5Rank: 5

積分
7472
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-7-26 21:59:40 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
如何自學(xué)嵌入式硬件_基于FPGA的嵌入式系統(tǒng)設(shè)計(jì),   

  1 前言

  近年來,隨著嵌入式核心芯片的飛速發(fā)展,改變了傳統(tǒng)嵌入式系統(tǒng)的設(shè)計(jì)方法,嵌入式系統(tǒng)逐漸由板級(jí)向芯片級(jí)過渡,即片上系統(tǒng)——SOC。片上系統(tǒng)是追求產(chǎn)品系統(tǒng)最大包容的集成器件,是當(dāng)前嵌入式應(yīng)用領(lǐng)域的技術(shù)熱點(diǎn)。SOC的出現(xiàn)使集成電路發(fā)展成為集成系統(tǒng),整個(gè)電子整機(jī)的功能可以集成到一塊芯片中,降低了設(shè)計(jì)成本,縮短了開發(fā)周期。因此,本文設(shè)計(jì)了一個(gè)基于FPGA的嵌入式系統(tǒng),既能滿足嵌入式系統(tǒng)教學(xué)實(shí)驗(yàn)的需要,同時(shí)也可作為嵌入式產(chǎn)品開發(fā)平臺(tái)。

  2 系統(tǒng)硬件設(shè)計(jì)

  本系統(tǒng)要實(shí)現(xiàn)的功能包括:可以運(yùn)行嵌入式操作系統(tǒng);支持NIOS II開發(fā);支持USB通訊;支持RS-232串口通訊;支持以太網(wǎng)通訊;支持JTAG接口在線調(diào)試與下載。

  2.1 系統(tǒng)硬件框圖

  針對(duì)所需的功能,設(shè)計(jì)出系統(tǒng)的相應(yīng)硬件平臺(tái),硬件平臺(tái)主要是由嵌入式處理器模塊、存儲(chǔ)器模塊、包括以太網(wǎng)接口、USB接口和電源等外部接口電路模塊組成。系統(tǒng)硬件結(jié)構(gòu)框圖如圖1 所示。

    

  圖1 系統(tǒng)硬件結(jié)構(gòu)圖

  2.2 嵌入式處理器模塊

  嵌入式處理器是整個(gè)系統(tǒng)的控制管理中心,主要功能是實(shí)現(xiàn)整個(gè)系統(tǒng)的控制和任務(wù)調(diào)試管理。在本系統(tǒng)中嵌入式處理器采用ALTERA公司的Cyclone系列的EP1C12Q240C8芯片,其采用QFP封裝,擁有12060個(gè)邏輯單元(LE)、52個(gè)M4K 存儲(chǔ)塊、全部RAM位數(shù)為239616、兩個(gè)鎖相環(huán),以及249個(gè)可用的I/O腳, 其配置存儲(chǔ)器采用EPCS1,編譯后系統(tǒng)速度可以達(dá)到100MHz,支持ALTERA 公司的SOPC內(nèi)核NIOS II系統(tǒng)的開發(fā),NIOS II開發(fā)環(huán)境編譯后的可執(zhí)行文件可以通過JTAG接口下載到開發(fā)板上的FLASH中去,可以支持一些嵌入式操作系統(tǒng),比如MicroC/OS操作系統(tǒng)和mClinux操作系統(tǒng)。

  2.3存儲(chǔ)器模塊

  2.3.1 專用串行配置器件EPCS1接口電路

  EPCS系列器件是Altera公司提供的一種基于FLASH存儲(chǔ)器的專用串行配置器件,其具有串行接口,接口只需要四個(gè)引腳,能夠存儲(chǔ)StraTIx II 系列、Cyclone系列的FPGA的配置信息,并在系統(tǒng)上電或者需要重新配置FPGA時(shí),向FPGA發(fā)送配置信息。本系統(tǒng)用的串行配置器件EPCS1大小為1M字節(jié),反復(fù)擦寫次數(shù)可多達(dá)十萬(wàn),可以輕松實(shí)現(xiàn)掉電保護(hù)

  2.3.2 Flash存儲(chǔ)器接口電路

  Flash存儲(chǔ)器具有低功耗、大容量、擦寫速度快、可整片或分扇區(qū)在系統(tǒng)編程(燒寫)、擦除等特點(diǎn),因而在各種嵌入式系統(tǒng)中得到了廣泛的應(yīng)用。

  系統(tǒng)中用了一片AMD29LV320D FLASH存儲(chǔ)器,其單片存儲(chǔ)容量為32M位(4M字節(jié)),工作電壓為2.7V~3.6V,16位數(shù)據(jù)寬度。AMD29LV320D僅需3V電壓即可完成在系統(tǒng)的編程與擦除操作,通過對(duì)其內(nèi)部的命令寄存器寫入標(biāo)準(zhǔn)的命令序列,可對(duì)Flash進(jìn)行編程(燒寫)、整片擦除、按扇區(qū)擦除以及其他操作。

  Flash存儲(chǔ)器在系統(tǒng)中通常用于存放程序代碼,系統(tǒng)上電或復(fù)位后從此獲取指令并開始執(zhí)行,由于,在進(jìn)行系統(tǒng)整體設(shè)計(jì)時(shí),可以通過使用Quartus II對(duì)引腳進(jìn)行配置,所以對(duì)于AMD29LV320D FLASH的三個(gè)功能引腳nCE、nOE、nWE,可以各接一個(gè)EP1C12Q240C8的通用I/O腳即可。

  2.3.3 SDRAM存儲(chǔ)器接口電路

  與Flash存儲(chǔ)器相比較,SDRAM不具有掉電保持?jǐn)?shù)據(jù)的特性,但其存取速度大大高于Flash存儲(chǔ)器,且具有讀/寫的屬性,因此,SDRAM在系統(tǒng)中主要用作程序的運(yùn)行空間、數(shù)據(jù)及堆棧區(qū)。當(dāng)系統(tǒng)啟動(dòng)時(shí),CPU首先從復(fù)位地址0x0處讀取啟動(dòng)代碼,在完成系統(tǒng)的初始化后,程序代碼調(diào)入SDRAM中運(yùn)行,以提高系統(tǒng)的運(yùn)行速度。同時(shí),系統(tǒng)及用戶堆棧、運(yùn)行數(shù)據(jù)也都放在SDRAM中。

  系統(tǒng)中用了一片HY57V641620 SDRAM存儲(chǔ)器,其存儲(chǔ)容量為4組x16位(8M字節(jié)),工作電壓為3. 3V,常見封裝為54腳TSOP,兼容LVTTL接口,支持自動(dòng)刷新(Auto-Refresh)和自刷新(Self-Refresh), 16位數(shù)據(jù)寬度。可滿足運(yùn)行MicroC/OS操作系統(tǒng)、或者mClinux操作系統(tǒng)及各種相對(duì)較復(fù)雜的算法的運(yùn)行要求。

  要在系統(tǒng)中使用SDRAM,要求微處理器具有刷新控制邏輯,或在系統(tǒng)中另外加入刷新控制邏輯電路。通過Altera公司提供的NIOS II開發(fā)工具可以將SDRAM控制器添加到NIOS CPU中,然后下載到EP1C12Q240C8中運(yùn)行,因此可以方便地使用EP1C12Q240C8的通用I/O口與SDRAM相連接,同樣在進(jìn)行系統(tǒng)整體設(shè)計(jì)時(shí)通過Quartus II定義引腳。

  2.4 外部接口模塊

  2.4.1以太網(wǎng)接口設(shè)計(jì)

  系統(tǒng)采用realteck公司推出多年RTL8019AS網(wǎng)絡(luò)芯片。RTL8019AS芯片是一款應(yīng)用廣泛的10M網(wǎng)絡(luò)芯片,支持以太網(wǎng)II 和IEEE802.3 10Base5,10Base2,10BaseT、支持可編程輸出的4-診斷 LED。利用RTL8019AS可以在NIOS II系統(tǒng)中方便的建立起完整的網(wǎng)絡(luò)服務(wù)器,可以通過網(wǎng)絡(luò)從FPGA芯片構(gòu)成的軟嵌入式系統(tǒng)中收發(fā)數(shù)據(jù)。

  RTL8019AS與EP1C12Q240C8通過外部總線進(jìn)行連接。主要是把RTL8019AS的數(shù)據(jù)總線(SDO~SD15)、地址總線(SAO~SA5,SA8)、讀使能(IORB)、寫使能(IOWB)、中斷輸出信號(hào)(INTO)和中斷輸入信號(hào)(RSTDRV)與EP1C12Q240C8的通用I/O腳連接即可。

  2.4.2 USB接口設(shè)計(jì)

  系統(tǒng)采用Cypress公司的SL811HS芯片作為USB接口芯片,它是一種USB主機(jī)控制器,它能與全速或低速USB外圍設(shè)備通信。SL811HS能與各種微處理器、微控制器、FPGA以及DSP,ISA等各種總線進(jìn)行接口,適用于各種要求配置USB主機(jī)或設(shè)備的嵌入式系統(tǒng)。

  在USB接口電路設(shè)計(jì)中,SL811HS的8位數(shù)據(jù)線直接和FPGA芯片的8位數(shù)據(jù)線相連。其中需要注意的是,SL811HS的AO引腳和低8位地址線的最低位AO相連,即與鎖存器的地址輸出端的最低位相連。

  2.4.3 串行接口設(shè)計(jì)

  RS232是應(yīng)用最為廣泛的UART接口,可以方便的實(shí)現(xiàn)與計(jì)算機(jī)的數(shù)據(jù)通訊;同時(shí)在調(diào)試基于FPGA的嵌入式操作系統(tǒng)時(shí)候,可以作為輔助調(diào)試接口,結(jié)果輸出到主機(jī)的超級(jí)終端上面。因?yàn)镕PGA的通用I/O引腳可以在后期通過Quartus II軟件定義,所以只需選取EP1C12Q240C8的任意四個(gè)引腳與電平轉(zhuǎn)換器MAX3232C相連,通過MAX3232C 接RS232標(biāo)準(zhǔn)串行接口(DB9),可與PC機(jī)進(jìn)行串行通信。

  2.4.4 電源接口設(shè)計(jì)

  系統(tǒng)需要使用1.5V、3.3V和5V三種直流電源,其中,EP1C12Q240C8內(nèi)核使用1.5V電源,EP1C12Q240C8的I/O口、MAX3232C、LCD接口等器件使用3.3V電源,RTL8019AS使用5V電源。為簡(jiǎn)化系統(tǒng)電源電路的設(shè)計(jì),要求整個(gè)系統(tǒng)的輸入電壓為高質(zhì)量的5V直流電壓電源,本系統(tǒng)采用電壓轉(zhuǎn)換芯片B1117來得到1.5V和3.3V的電壓。

  2.4.5 系統(tǒng)時(shí)鐘電路設(shè)計(jì)

  系統(tǒng)時(shí)鐘模塊為試驗(yàn)系統(tǒng)提供時(shí)鐘信號(hào),使其工作在指定的頻率下,是系統(tǒng)不可缺少的部分。本系統(tǒng)的時(shí)鐘信號(hào)由50MHz的有源晶振產(chǎn)生,為了使系統(tǒng)有穩(wěn)定的時(shí)鐘輸入,要對(duì)晶振的輸入電壓通過簡(jiǎn)單的LC濾波電路做濾波處理,使其電壓更加穩(wěn)定,盡可能減小干擾。

  2.4.6 復(fù)位電路設(shè)計(jì)

  在系統(tǒng)中,復(fù)位電路主要完成系統(tǒng)的上電復(fù)位和系統(tǒng)在運(yùn)行時(shí)用戶的按鍵復(fù)位功能。本系統(tǒng)根據(jù)實(shí)際需要,通過Quartus II軟件對(duì)復(fù)位信號(hào)進(jìn)行延時(shí)設(shè)計(jì),然后在外部再加以需要簡(jiǎn)單的電路來實(shí)現(xiàn)。

  2.4.7 JTAG接口設(shè)計(jì)

  JTAG(Joint Test AcTIon Group)是一種國(guó)際標(biāo)準(zhǔn)測(cè)試協(xié)議,主要用于芯片內(nèi)部測(cè)試及對(duì)系統(tǒng)進(jìn)行仿真、調(diào)試 。JTAG技術(shù)是一種嵌入式調(diào)試技術(shù),它在芯片內(nèi)部封裝了專門的測(cè)試電路,可以通過專用的JTAG測(cè)試軟件對(duì)芯片內(nèi)部節(jié)點(diǎn)進(jìn)行測(cè)試。EP1C12Q240C8有四個(gè)專用引腳TMS、TDI、TCK、TDO與Altera公司的專用下載電纜——Byte Blaster II通過一個(gè)十針的插座相連,用于下載以及在線調(diào)試。

發(fā)表回復(fù)

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表