版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 基于FPGA的單片機(jī)接口擴(kuò)展設(shè)計(jì)</p><p><b> 摘 要</b></p><p> 當(dāng)今電子產(chǎn)品逐漸趨于智能化、人性化,電子產(chǎn)品的發(fā)展已經(jīng)離不開單片機(jī)。隨著人們消費(fèi)要求的提高,對電子產(chǎn)品的功能要求越來越高,電子產(chǎn)品的升級換代逐漸受到主控芯片資源匱乏的約束,而更換高級的CPU又會帶來產(chǎn)品版本的不兼容和成本大幅上升的風(fēng)險(xiǎn),而且會造成設(shè)
2、計(jì)難度加大,設(shè)計(jì)周期變長。隨著可編程邏輯器件及EDA技術(shù)的發(fā)展,可編程邏輯器件的價(jià)格越來越低,在系統(tǒng)設(shè)計(jì)中經(jīng)常會用到FPGA擴(kuò)展單片機(jī)的相關(guān)資源,來實(shí)現(xiàn)低成本、高性能的產(chǎn)品設(shè)計(jì)。</p><p> 單片機(jī)具有性價(jià)比高、功能靈活、易于人機(jī)對話、強(qiáng)大的數(shù)據(jù)處理能力等特點(diǎn);而FPGA則具有高度、高可靠性以及開發(fā)便捷、規(guī)范等特點(diǎn),根據(jù)兩者的特點(diǎn),設(shè)計(jì)一種基于C8051F340單片機(jī)與Actel FPGA的總線接口邏輯電
3、路,實(shí)現(xiàn)單片機(jī)與可編程邏輯器件數(shù)據(jù)與控制信息的可靠通信,運(yùn)用此接口通過Verilog HDL編程可為單片機(jī)擴(kuò)展通用I/O和一些帶有硬件協(xié)議的特殊接口,例如I2C接口、SPI接口、PCI接口和通用串口等。</p><p> 關(guān) 鍵 詞:單片機(jī),F(xiàn)PGA,接口擴(kuò)展,總線接口,Verilog HDL</p><p><b> 目 錄</b></p>&l
4、t;p><b> 前 言1</b></p><p><b> 第1章 緒論2</b></p><p> §1.1 設(shè)計(jì)思想概述2</p><p> §1.2 Actel ProASIC3系列FPGA概述2</p><p> §1.3 C80
5、51F340單片機(jī)概述3</p><p> 第2章 單片機(jī)與FPGA接口的設(shè)計(jì)5</p><p> §2.1 接口方式選擇5</p><p> §2.2 總線的復(fù)用性選擇5</p><p> §2.3 總線復(fù)用方式的配置8</p><p> §2.3.1 總線
6、接口配置8</p><p> §2.3.2 總線的端口配置8</p><p> §2.4 總線復(fù)用方式的時(shí)序邏輯8</p><p> 第3章 FPGA的擴(kuò)展實(shí)例12</p><p> §3.1 I2C總線在FPGA上的模擬實(shí)現(xiàn)12</p><p> §3.1.
7、1 I2C概述12</p><p> §3.1.2 I2C接口設(shè)計(jì)13</p><p> §3.2 SPI總線在FPGA上的模擬實(shí)現(xiàn)17</p><p> §3.2.1 SPI總線接口協(xié)議17</p><p> §3.2.2 SPI總線接口設(shè)計(jì)18</p><p&g
8、t; 第四章 電路設(shè)計(jì)及分析20</p><p> §4.1 電源模塊設(shè)計(jì)20</p><p> §4.2接口電路設(shè)計(jì)22</p><p> §4.3電路輻射干擾測試分析23</p><p><b> 結(jié) 論25</b></p><p><
9、b> 參考文獻(xiàn)26</b></p><p><b> 致 謝27</b></p><p><b> 附 錄28</b></p><p><b> 前 言</b></p><p> 微控制器是現(xiàn)代電子產(chǎn)品中不可缺少的一個(gè)部分,各大半導(dǎo)體廠商在不
10、斷推出復(fù)雜的高級CPU的同時(shí),也同時(shí)推出了一些的超小封裝的微控制芯片,這種超小封裝的控制器適用于特定的某一方面,與通用的CPU相比具有體積小、功耗低、成本低等優(yōu)點(diǎn),在便攜式電子產(chǎn)品中有著廣泛的應(yīng)用。但是這種超小封裝的微控制芯片的I/O數(shù)量十分有限,接口單一,限制了控制器的掛接設(shè)備的數(shù)量和種類。隨著電子產(chǎn)品逐漸趨于集成化、智能化、便攜化,人機(jī)交互、通信互聯(lián)、多設(shè)備管理等任務(wù)大大了加重了對電子產(chǎn)品的“心臟”——微控制器的運(yùn)作負(fù)擔(dān),尤其是對主
11、控芯片的I/O數(shù)量和一些特殊接口的需求,使得一些低端控制器能勝任的工作不得不交由價(jià)格昂貴的高級控制芯片來完成,以獲得更多的I/O和特殊接口,然而這無疑加大了產(chǎn)品的成本,削弱了產(chǎn)品的市場競爭力。</p><p> 隨著電子技術(shù)的發(fā)展,可編程邏輯器件的集成度越來越高,而成本卻越來越低,現(xiàn)在已有半導(dǎo)體廠商推出了價(jià)格十分低廉的FPGA芯片,為上述問題的解決提供了另一種思路:用FPGA為那些I/O數(shù)量不足或是缺少某些特殊
12、接口的微控制器擴(kuò)展接口和I/O而不必采用價(jià)格更貴的高端控制器芯片。而且為了適應(yīng)電子產(chǎn)品不斷智能化的要求,系統(tǒng)運(yùn)行的任務(wù)越來越多,某些復(fù)雜的算法亦可交由FPGA來完成,為產(chǎn)品的更新?lián)Q代節(jié)省成本,而且由于FPGA是硬線邏輯,比軟件模擬接口具有實(shí)時(shí)性好、處理速度快等優(yōu)點(diǎn),能減輕主控芯片的運(yùn)行負(fù)擔(dān),增加系統(tǒng)的管理能力,使系統(tǒng)更加穩(wěn)定、高效!</p><p><b> 第1章 緒論</b></
13、p><p> §1.1 設(shè)計(jì)思想概述</p><p> FPGA作為一種新型的可編程邏輯器件,可以取代現(xiàn)有的全部微機(jī)接口芯片,實(shí)現(xiàn)微機(jī)系統(tǒng)中的存儲器、地址譯碼等多種功能,具有更高的密度、更快的工作速度和更大的編程靈活性,被廣泛的應(yīng)用于各種電子類產(chǎn)品中。在功能上,單片機(jī)具有性價(jià)比高、功能靈活、易于人機(jī)對話、強(qiáng)大的數(shù)據(jù)處理能力等特點(diǎn);而FPGA具有高速、高可靠性以及開發(fā)便捷、規(guī)范等優(yōu)
14、點(diǎn),因此兩類器件相組合的電路結(jié)構(gòu)將在許多高性能儀器儀表和電子產(chǎn)品中被廣泛應(yīng)用。基于這種需求,本文設(shè)計(jì)了C8051F340單片機(jī)與FPGA的總線接口邏輯電路,實(shí)現(xiàn)了單片機(jī)與FPGA數(shù)據(jù)與控制信息的可靠通信,是FPGA與單片機(jī)優(yōu)勢互補(bǔ),組成靈活的、軟硬都可現(xiàn)場編程的控制系統(tǒng)。</p><p> §1.2 Actel ProASIC3系列FPGA概述</p><p> Actel
15、公司是單芯片F(xiàn)PGA解決方案的領(lǐng)導(dǎo)性廠商,早期以反熔絲FPGA為主,致力于航天航空以及軍事領(lǐng)域,造就了其在可靠性、安全性等領(lǐng)域上獨(dú)領(lǐng)風(fēng)騷的輝煌。</p><p> Actel Flash 架構(gòu)的 FPGA 無需配置芯片,其開關(guān)結(jié)構(gòu)采用130nm的Flash工藝,具有掉電非易失特點(diǎn),一旦完成編程后,配置數(shù)據(jù)就會成為 FPGA 結(jié)構(gòu)的固有部分,在系統(tǒng)上電時(shí)無需從外部載入配置數(shù)據(jù)。Actel特有的帶模擬功能FPGA
16、 --Fusion,在ProASIC3的基礎(chǔ)上增加了ADC、Flash Memory、模擬IO、RTC等部件,使單個(gè)芯片的集成度更高,不僅大大降低了PCB板的面積,降低成本,更是提高了安全性和可靠性,并實(shí)現(xiàn)了單芯片的解決方案。</p><p> Actel Flash 架構(gòu)的FPGA具有類似于 ASIC 的功率特性,無需上電啟動(dòng)功耗和配置功耗,其無論是靜態(tài)功耗和動(dòng)態(tài)功耗都比基于SRAM的FPGA低很多,特別適
17、用于電池供電產(chǎn)品和其它對功耗敏感的應(yīng)用,而功耗是基于 SRAM FPGA 器件所面對的難題。另外Fusion可實(shí)現(xiàn)自睡眠模式,通過內(nèi)部的LDO和RTC可實(shí)現(xiàn)睡眠和喚醒模式;IGLOO系列特別為手持設(shè)備設(shè)計(jì),最低靜態(tài)功耗可達(dá)5μW,其獨(dú)特的Flash*Freeze模式無需關(guān)斷電源、外部時(shí)鐘即可進(jìn)入低功耗模式,并能保存RAM的內(nèi)容數(shù)據(jù)。</p><p> Actel Flash 架構(gòu)的FPGA具有上電即可運(yùn)行 (L
18、APU) 特性,上電時(shí)間非常短,一般只需要幾十微秒,無需特別的上電時(shí)序要求,這種上電即行特性可以為外部器件提供時(shí)鐘、復(fù)位信號等,取代復(fù)位芯片、時(shí)鐘調(diào)整電路、數(shù)據(jù)地址譯碼電路等,簡化整個(gè)系統(tǒng)的設(shè)計(jì)同時(shí)提高了安全性,因此Actel FPGA可以用于對上電時(shí)間有苛刻要求的場合。</p><p> Actel Flash 架構(gòu)的FPGA具有兩種加密功能,F(xiàn)lashLock和AES,這種特性只有在非易失性的 Flash架
19、構(gòu)的FPGA才能實(shí)現(xiàn),F(xiàn)lashLock和AES都具有128位的密鑰,F(xiàn)lashLock用于保護(hù)器件非授權(quán)的訪問,例如:編程、擦除、校驗(yàn)等;AES是國際上標(biāo)準(zhǔn)的加密算法,取代先前的56位DES加密算法,可以對用戶的編程文件進(jìn)行加密,經(jīng)過加密的編程文件可以進(jìn)行任何途徑傳輸,為遠(yuǎn)程升級提供了保障。</p><p> Actel Flash 架構(gòu)的FPGA對固件錯(cuò)誤有很好的免疫作用,所謂固件錯(cuò)誤是指當(dāng)大氣中產(chǎn)生的高能
20、中子轟擊到 FPGA的配置單元或者布線結(jié)構(gòu)的時(shí)候,使得晶體管狀態(tài)發(fā)生了改變,導(dǎo)致系統(tǒng)的一次徹底的實(shí)效,這種錯(cuò)誤將會一直存在并被檢查修正為止,固件錯(cuò)誤問題在基于SRAM的FPGA中普遍存在,并且是不可能避免,而基于Flash 架構(gòu)的FPGA對大氣中的高能中子有很好的免疫作用。</p><p> §1.3 C8051F340單片機(jī)概述</p><p> C8051F340/1/
21、2/3/4/5/6/7 器件是完全集成的混合信號片上系統(tǒng)型 MCU。下面列出了一些主要特性: </p><p> 高速、流水線結(jié)構(gòu)的 8051 兼容的微控制器內(nèi)核(可達(dá) 48MIPS) </p><p> 全速、非侵入式的在系統(tǒng)調(diào)試接口(片內(nèi)) </p><p> 通用串行總線(USB)功能控制器,有 8 個(gè)靈活的端點(diǎn)管道,集成收發(fā)器和 1K FIFO RAM
22、 </p><p><b> 電源穩(wěn)壓器 </b></p><p> 真正 10 位 200 ksps 的單端/差分 ADC,帶模擬多路器 </p><p> 精確校準(zhǔn)的 12MHz 內(nèi)部振蕩器和 4 倍時(shí)鐘乘法器 </p><p> 多達(dá) 64KB 的片內(nèi) FLASH 存儲器 </p><p
23、> 硬件實(shí)現(xiàn)的SMBus/ I 2 C、增強(qiáng)型UART(最多兩個(gè))和增強(qiáng)型SPI串行接口 </p><p> 具有 5 個(gè)捕捉/比較模塊和看門狗定時(shí)器功能的可編程計(jì)數(shù)器/定時(shí)器陣列(PCA) </p><p> 片內(nèi)上電復(fù)位、VDD 監(jiān)視器和時(shí)鐘丟失檢測器 </p><p> 多達(dá) 40 個(gè)端口 I/O(容許 5V 輸入) </p>&l
24、t;p> 具有片內(nèi)上電復(fù)位、VDD 監(jiān)視器、電壓調(diào)整器、看門狗定時(shí)器和時(shí)鐘振蕩器的C8051F340/1/2/3/4/5/6/7 器件是真正能獨(dú)立工作的片上系統(tǒng)。FLASH 存儲器還具有在系統(tǒng)重新編程能力,可用于非易失性數(shù)據(jù)存儲,并允許現(xiàn)場更新 8051 固件。用戶軟件對所有外設(shè)具有完全的控制,可以關(guān)斷任何一個(gè)或所有外設(shè)以節(jié)省功耗。 </p><p> 片內(nèi) Silicon Labs 二線(C2)開發(fā)
25、接口允許使用安裝在最終應(yīng)用系統(tǒng)上的產(chǎn)品 MCU 進(jìn)行非侵入式(不占用片內(nèi)資源)、全速、在系統(tǒng)調(diào)試。調(diào)試邏輯支持觀察和修改存儲器和寄存器,支持?jǐn)帱c(diǎn)、單步、運(yùn)行和停機(jī)命令。在使用 C2 進(jìn)行調(diào)試時(shí),所有的模擬和數(shù)字外設(shè)都可全功能運(yùn)行。兩個(gè) C2 接口引腳可以與用戶功能共享,使在系統(tǒng)調(diào)試功能不占用封裝引腳。 </p><p> 每種器件都可在工業(yè)溫度范圍(-45℃到+85℃)內(nèi)用 2.7V-5.25V 的電壓工作。
26、電源電壓大于 3.6V 時(shí),必須使用內(nèi)部穩(wěn)壓器。對于 USB 通信,電源電壓最小值為 3.0V。端口 I/O 和/RST引腳都容許 5V 的輸入信號電壓。C8051F340/1/2/3/4/5/6/7 采用 48 腳 TQFP 封裝或 32 腳 LQFP封裝。</p><p> C8051F340單片機(jī)的系統(tǒng)原理框圖如圖1-1所示。</p><p> 第2章 單片機(jī)與FPGA接口的設(shè)計(jì)
27、</p><p> §2.1 接口方式選擇</p><p> 單片機(jī)與FPGA的接口方式一般有兩種:</p><p><b> 獨(dú)立方式</b></p><p><b> 總線方式</b></p><p> 獨(dú)立方式即單片機(jī)與FPGA地位平等,不存在主、從
28、機(jī)之分,采用通用的通信接口(例如串口)與FPGA進(jìn)行數(shù)據(jù)傳輸和通信,此種方法占用I/O數(shù)目非常少,但是通信雙方需要制定詳細(xì)可靠的數(shù)據(jù)傳輸和通信協(xié)議,時(shí)序復(fù)雜且不易抽象,而且由于是串口傳輸,數(shù)據(jù)速率低,尤其當(dāng)FPGA掛接的外設(shè)較多時(shí)這種通信方式的缺點(diǎn)尤為突出。</p><p> 單片機(jī)與FPGA以總線方式通信,即將FPGA掛接在單片機(jī)外部擴(kuò)展總線上,F(xiàn)PGA占用單片機(jī)的外部RAM的地址空間,屬于單片機(jī)的從設(shè)備。以
29、這種方式通信有許多其他方式不具備的優(yōu)點(diǎn):</p><p> C8051F系列單片機(jī)具有很強(qiáng)的外部總線擴(kuò)展能力,利用片外三總線結(jié)構(gòu)很容易實(shí)現(xiàn)單片機(jī)與FPGA的總線接口,對于單片機(jī)來說其內(nèi)部的EMIF接口屬于純硬件時(shí)序,且并行傳輸,速度快,通信可靠。</p><p> 對與FPGA來說其內(nèi)部是硬線邏輯電路,非常方便與高速時(shí)序電路接口,在FPGA中通過邏輯切換,單片機(jī)易于與SRAM或ROM接
30、口。</p><p> 單片機(jī)有直接訪問外部總線的指令MOVX,,采用EMIF 通信接口編程十分高效、簡潔,速度要比前一種方式快得多。</p><p> 綜合上述特點(diǎn),單片機(jī)與FPGA的接口初步選定為總線方式。</p><p> §2.2 總線的復(fù)用性選擇</p><p> C8051F系列單片機(jī)的外部總線有兩種配置方式:&
31、lt;/p><p> 數(shù)據(jù)總線和地址總線復(fù)用的方式</p><p><b> 非復(fù)用方式</b></p><p> 在復(fù)用方式,單片機(jī)的數(shù)據(jù)總線和地址總線的低 8 位共享相同的端口引腳:AD[7:0]。在該方式下,要用一個(gè)外部鎖存器(74HC373 或相同功能的邏輯門)保持 外部總線地址的低 8 位。外部鎖存器由 ALE(地址鎖存使能)信號控
32、制,ALE 信號由外部存儲器接口邏輯驅(qū)動(dòng)。圖2-1 給出了復(fù)用方式配置的一個(gè)例子。</p><p> 圖2-1 單片機(jī)外部總線復(fù)用方式配置示例</p><p><b> 字體格式請核對</b></p><p> 在復(fù)用方式,可以根據(jù) ALE 信號的狀態(tài)將外部 MOVX 操作分成兩個(gè)階段。在第一個(gè)階段,ALE 為高電平,地址總線的低 8 位
33、出現(xiàn)在 AD[7:0]。在該階段,地址鎖存器的‘Q’輸出與‘D’輸入的狀態(tài)相同。ALE 由高變低時(shí)標(biāo)志第二階段開始,地址鎖存器的輸出保持不變,即與鎖存器的輸入無關(guān)。在第二階段稍后,當(dāng)/RD 或/WR 有效時(shí),數(shù)據(jù)總線控制 AD[7:0]端口的狀態(tài)。</p><p> 在非復(fù)用方式,數(shù)據(jù)總線和地址總線是分開的。圖 2-2 給出了非復(fù)用方式配置的一個(gè)例子。</p><p> 圖2-2 單片
34、機(jī)外部總線非復(fù)用方式配置示例</p><p> 下面這段話到底是復(fù)用還是非復(fù)用?</p><p> 本設(shè)計(jì)中C8051F340單片機(jī)為48腳封裝,總共有4個(gè)8位端口,非復(fù)用外部總線要占用3個(gè)端口,再加上4根控制總線,I/O消耗的數(shù)目過多。在非復(fù)用方式下只需占用單片機(jī)2個(gè)8位端口和4根控制線即可實(shí)現(xiàn)總線連接,另外FPGA內(nèi)部可以實(shí)現(xiàn)總線復(fù)用方式下的地址鎖存器的邏輯功能,單片機(jī)就可以在不需
35、要外加鎖存器的情況下與FPGA采用總線復(fù)用的接口通信,單片機(jī)僅通過二十根I/O線在FPGA與單片機(jī)之間進(jìn)行通信和控制信息交換,這樣可以節(jié)省單片機(jī)和FPGA芯片的I/O線。</p><p> 綜上所述,C8051f340單片機(jī)與FPGA接口采用數(shù)據(jù)總線和地址總線復(fù)用的方式,且不需外部鎖存器,示意原理如圖2-3所示</p><p> 圖2-3 單片機(jī)和FPGA總線接口方式原理框圖</
36、p><p> §2.3 總線復(fù)用方式的配置</p><p> §2.3.1 總線接口配置</p><p> 配置外部存儲器接口的過程包括下面 5 個(gè)步驟:</p><p> 1. 配置相應(yīng)端口引腳的輸出方式為推挽或漏極開路(最常用的是推挽方式),并在交叉開關(guān)中跳過這些引腳。</p><p>
37、2. 配置對應(yīng) EMIF 引腳的端口鎖存器為休眠態(tài)(通常將它們設(shè)置為邏輯‘1’)。</p><p> 3. 選擇復(fù)用方式。</p><p> 4. 選擇存儲器模式(只用片內(nèi)存儲器、不帶塊選擇的分片方式、帶塊選擇的分片方式或只用片外存儲器)。</p><p> 5. 設(shè)置與片外存儲器或外設(shè)接口的時(shí)序</p><p> §2.3
38、.2 總線的端口配置</p><p> 當(dāng)采用復(fù)用方式時(shí),外部總線接口位于端口 4、3和 1(訪問片外存儲器時(shí))。使用 EMIF 時(shí),應(yīng)用 P1SKIP寄存器將交叉開關(guān)配置為跳過控制線 P1.7(/WR)、P1.6(/RD)和 P1.3(ALE)。</p><p> 外部存儲器接口只在執(zhí)行片外 MOVX 指令期間使用相關(guān)的端口引腳。一旦 MOVX 指令執(zhí)行完畢,端口鎖存器或交叉開關(guān)重新
39、恢復(fù)對端口引腳的控制。端口鎖存器應(yīng)被明確地配置為使外部存儲器接口引腳處于休眠狀態(tài)(不使用時(shí)),通常將它們設(shè)置為邏輯‘1’。</p><p> 在執(zhí)行 MOVX 指令期間,外部存儲器接口將禁止所有作為輸入的那些引腳的驅(qū)動(dòng)器(例如,讀操作期間的 Data[7:0])。端口引腳的輸出方式(無論引腳被配置為漏極開路或是推挽方式)不受外部存儲器接口操作的影響,始終受 PnMDOUT 寄存器的控制。在大多數(shù)情況下,所有 E
40、MIF 引腳的輸出方式都應(yīng)被配置為推挽方式。</p><p> §2.4 總線復(fù)用方式的時(shí)序邏輯</p><p> 采用總線方式的數(shù)據(jù)傳輸和通信接口重要的是要詳細(xì)了解C8051F340單片機(jī)的總線讀寫時(shí)序,根據(jù)時(shí)序圖來設(shè)計(jì)邏輯結(jié)構(gòu),其通信的時(shí)序必須遵循單片機(jī)內(nèi)固定的總線方式讀、寫時(shí)序。FPGA的邏輯設(shè)計(jì)也相對比較復(fù)雜,在程序設(shè)計(jì)上必須與接口的單片機(jī)程序相結(jié)合,嚴(yán)格安排單片機(jī)能
41、訪問的I/O空間。在復(fù)用方式下,C8051F340單片機(jī)的讀寫時(shí)序如圖2-4和圖2-5所示。</p><p> 圖2-4 復(fù)用方式16位MOVX時(shí)序</p><p> 圖2-5 帶塊選擇的復(fù)用8位MOVX時(shí)序</p><p> 在總線應(yīng)用時(shí),單片機(jī)的P4口是作為地址/數(shù)據(jù)總線分時(shí)復(fù)用的,因此應(yīng)在總線接口模塊中設(shè)計(jì)一個(gè)三態(tài)緩沖器,實(shí)現(xiàn)P4口的三態(tài)接口;又因?yàn)閱纹?/p>
42、機(jī)在訪問外部空間時(shí),它的地址為16位,因此借助地址鎖存使能信號ALE在FPGA中實(shí)現(xiàn)高8位與低8位地址的編碼,組合成16位地址,然后再根據(jù)單片機(jī)的讀寫信號,實(shí)現(xiàn)對FPGA的讀寫操作。</p><p> 通過對單片機(jī)總線讀、寫時(shí)序的分析,設(shè)計(jì)了圖2-6所示的接口電路。在FPGA中,設(shè)計(jì)了兩個(gè)模塊:一個(gè)是總線接口模塊,負(fù)責(zé)單片機(jī)與FPGA的總線接口邏輯;另一個(gè)是寄存器單元及外部接口模塊,運(yùn)用總線接口模塊來操作此模塊
43、。</p><p> 圖2-6 單片機(jī)與FPGA總線接口邏輯圖</p><p> 第3章 FPGA的擴(kuò)展實(shí)例</p><p> §3.1 I2C總線在FPGA上的模擬實(shí)現(xiàn)</p><p> §3.1.1 I2C概述</p><p> I2C總線是Philips推出的芯片間串行傳輸總線,因?yàn)?/p>
44、其具有連線少(僅需一條串行時(shí)鐘線和一條串行數(shù)據(jù)線),允許多主機(jī)控制,具有裁決和同步功能,可隨添加或摘除總線上的子器件等諸多優(yōu)點(diǎn),所以已被廣泛應(yīng)用。另外由于Philips和其他廠商提供了種類眾多的I2C兼容芯片,促使其成為世界性的工業(yè)標(biāo)準(zhǔn)。</p><p> I2C總線最主要的優(yōu)點(diǎn)是其簡單性和有效性。由于接口直接在組件之上,因此I2C總線占用的空間非常小,減少了電路板的空間和芯片管腳的數(shù)量,降低了互聯(lián)成本??偩€的
45、長度可高達(dá)25英尺,并且能夠以10Kbps的最大傳輸速率支持40個(gè)組件。I2C總線的另一個(gè)優(yōu)點(diǎn)是,它支持多主控(multimastering), 其中任何能夠進(jìn)行發(fā)送和接收的設(shè)備都可以成為主總線。一個(gè)主控能夠控制信號的傳輸和時(shí)鐘頻率。當(dāng)然,在任何時(shí)間點(diǎn)上只能有一個(gè)主控。</p><p> I2C總線是由數(shù)據(jù)線SDA和時(shí)鐘SCL構(gòu)成的串行總線,可發(fā)送和接收數(shù)據(jù)。在CPU與被控IC之間、IC與IC之間進(jìn)行雙向傳送,
46、最高傳送速率100kbps。各種被控制電路均并聯(lián)在這條總線上,但就像電話機(jī)一樣只有撥通各自的號碼才能工作,所以每個(gè)電路和模塊都有唯一的地址,在信息的傳輸過程中,I2C總線上并接的每一模塊電路既是主控器(或被控器),又是發(fā)送器(或接收器),這取決于它所要完成的功能。CPU發(fā)出的控制信號分為地址碼和控制量兩部分,地址碼用來選址,即接通需要控制的電路,確定控制的種類;控制量決定該調(diào)整的類別(如對比度、亮度等)及需要調(diào)整的量。這樣,各控制電路雖
47、然掛在同一條總線上,卻彼此獨(dú)立,互不相關(guān)。 </p><p> I2C總線在傳送數(shù)據(jù)過程中共有三種類型信號, 它們分別是:開始信號、結(jié)束信號和應(yīng)答信號。CPU向受控單元發(fā)出一個(gè)信號后,等待受控單元發(fā)出一個(gè)應(yīng)答信號,CPU接到應(yīng)答信號后,根據(jù)實(shí)際情況作出是否繼續(xù)傳遞信號的判斷。若未收到應(yīng)答信號,由判斷為受控單元出現(xiàn)故障。</p><p><b> I2C規(guī)則:</b>
48、;</p><p> 空閑時(shí)SCL和SDA必須保證為高電平,以等待起始位的發(fā)生。</p><p> 啟動(dòng)和停止條件。在SCL穩(wěn)定為高電平期間,SDA產(chǎn)生一個(gè)由高電平到低電平的跳變,此時(shí)即可啟動(dòng)總線;結(jié)束條件與此相反,在SCL穩(wěn)定為高電平期間,SDA產(chǎn)生一個(gè)由低電平到高電平的跳變。</p><p> 位傳送。位傳送發(fā)生在SCL穩(wěn)定在高電平期間,此時(shí)不允許SDA線
49、上發(fā)生數(shù)據(jù)跳變,否則會導(dǎo)致總線失控。每個(gè)時(shí)鐘脈沖傳送一個(gè)數(shù)據(jù)位。</p><p> 應(yīng)答位。在啟動(dòng)條件和停止條件之間傳送器給接收器的數(shù)據(jù)個(gè)數(shù)沒有限制,每個(gè)8位字節(jié)后加一個(gè)應(yīng)答位。主傳送器產(chǎn)生高電平的應(yīng)答位,由接收器將該位拉低,稱為應(yīng)答信號(ACK);主器件為接收器時(shí),在接收了最后一個(gè)字節(jié)后不發(fā)應(yīng)答信號,稱為非應(yīng)答信號(NO ACK)。從器件必須在接收到每個(gè)字節(jié)后產(chǎn)生一個(gè)應(yīng)答位,主器件也必須在接收從傳送器傳送的每
50、個(gè)字節(jié)后產(chǎn)生一個(gè)應(yīng)答位。</p><p> 寫模式。主傳送器首先向數(shù)據(jù)線發(fā)送從接受器地址,地直末尾一位為0,表示要進(jìn)行寫操作,得到應(yīng)答后便向從接收器發(fā)送數(shù)據(jù),每發(fā)送一個(gè)字節(jié),讀取一次應(yīng)答位,為ACK則接著發(fā)送,位NO ACK則發(fā)送停止位。數(shù)據(jù)傳送完后同樣發(fā)送停止位。</p><p> 讀模式。同樣由主傳送器發(fā)送從接收器地址,地址末尾一位為1,表示要進(jìn)行讀操作。讀完一個(gè)字節(jié)后發(fā)送應(yīng)答位,
51、如果想繼續(xù)操作,發(fā)送ACK,如果想結(jié)束讀操作,發(fā)送NO ACK。</p><p> §3.1.2 I2C接口設(shè)計(jì)</p><p> 要使接口模塊正常工作,CPU必須首先要通知模塊執(zhí)行什么操作,而后再把需要的數(shù)據(jù)依次送入模塊中,考慮到I2C總線的速率可以在0-3.4Mbit/s之間,為了適應(yīng)不同外設(shè)的需要,模塊還應(yīng)在CPU的控制下自由調(diào)整數(shù)據(jù)傳送速率。因此,CPU應(yīng)能夠向模塊發(fā)
52、送數(shù)據(jù)速率控制數(shù)據(jù)、I2C總線工作模式控制數(shù)據(jù)、信息交換數(shù)據(jù),同時(shí)還能從模塊中讀取工作狀態(tài)數(shù)據(jù)、模塊接收數(shù)據(jù)。據(jù)此設(shè)計(jì)出基于FPGA的I2C總線接口模塊如圖3-1所示。</p><p> 圖3-1 I2C總線接口模塊</p><p> 該設(shè)計(jì)由7個(gè)單元組成,它們分別是:用于調(diào)整I2C總線數(shù)據(jù)傳輸速率的Clock單元;用于實(shí)現(xiàn)同CPU并行接口的PcPort單元;用于產(chǎn)生I2C總線工作時(shí)序
53、的I2CStep單元;用于產(chǎn)生數(shù)據(jù)傳輸時(shí)序的BitTiming單元;用于產(chǎn)生I2C總線使能信號的EnI2C單元;用于產(chǎn)生I2C總線接口模塊工作狀態(tài)指示的Status單元;用于產(chǎn)生I2C總線接口時(shí)鐘信號SDL和數(shù)據(jù)串行輸入輸出信號SDA的I2CPORT單元。</p><p><b> Clock單元</b></p><p> 整個(gè)接口模塊以CPU的系統(tǒng)時(shí)鐘作為主時(shí)鐘
54、信號,模塊傳輸數(shù)據(jù)的速率受該時(shí)鐘頻率的控制,時(shí)鐘頻率高則模塊傳數(shù)據(jù)的速率也高,反之亦然??紤]到各種具有I2C總線接口的芯片的工作速率差別較大(從幾十Kbits/s到幾Mbits/s),該接口模塊的工作速率必須能夠靈活調(diào)整,以適應(yīng)不同外設(shè)芯片的接口需要。Clock單元實(shí)際上就是一個(gè)分頻器,它在輸出頻率控制碼CKSEL[7..0]的控制下產(chǎn)生對PCCLK分頻后合適的時(shí)鐘信號供I2C接口使用。</p><p><
55、b> I2CStep單元</b></p><p> 通過對I2C總線各種工作模式的分析,可知不同的工作模式都是按特定的工作流程串行輸入、輸出數(shù)據(jù)的,例如字節(jié)寫模塊的工作流程為:發(fā)送開始信號、串行輸出被叫芯片的片選地址、發(fā)送寫信號、等待被叫芯片響應(yīng)、串行輸出被叫芯片存儲單元的地址、等待被叫芯片響應(yīng)、串行輸出寫入的數(shù)據(jù)、等待被叫芯片響應(yīng)、發(fā)送結(jié)束信號結(jié)束本次操作。</p><
56、p> 為了使接口模塊正確工作,模塊在接收到來自MCU的工作模式控制信號I2CMD[2..0]后,根據(jù)工作模式的不同產(chǎn)生接口模塊工作流程。當(dāng)前流程結(jié)束后有Status單元產(chǎn)生IncStep信號,控制工作流程指向下一階段。該模塊的功能類似一個(gè)計(jì)數(shù)器,它在I2CMD[2..0]和I2CMD[2..0]Step的共同作用下,產(chǎn)生長度不等的工作流程信號Step[6..0]。</p><p> BitTiming單
57、元</p><p> 在I2C總線工作流程的不同階段,I2C接口模塊需要按一定的時(shí)序完成不同的工作,通過對總線數(shù)據(jù)傳輸模塊的分析可知,在一個(gè)數(shù)據(jù)傳輸模式的所有工作流程中,輸入、輸出8位數(shù)據(jù)的工作流程用時(shí)最長,需要25個(gè)工作時(shí)序周期,為了滿足所有工作流程的需要,工作時(shí)序BitTiming單元被設(shè)計(jì)成最長可產(chǎn)生31個(gè)時(shí)鐘周期的工作時(shí)序。</p><p> 該單元在IncStep=‘1’時(shí)復(fù)
58、位工作時(shí)序;在EnTiming信號有效后的每個(gè)SysCLK的上升沿使工作時(shí)序信號EnTiming加1,用于控制I2CPORT單元按給定的時(shí)序串行輸入、輸出數(shù)據(jù)信息。</p><p><b> Status單元</b></p><p> 在I2C總線工作過程中,MCU需要隨時(shí)了解I2C接口模塊的發(fā)送數(shù)據(jù)寄存器是否為空、接收寄存器是否準(zhǔn)備數(shù)據(jù)好、從機(jī)響應(yīng)信號是否正確、
59、當(dāng)前工作流程是否完成等工作狀態(tài),只有在發(fā)送數(shù)據(jù)為空時(shí),MCU才可以向接口模塊寫入待傳送數(shù)據(jù);只有在接受數(shù)據(jù)寄存器準(zhǔn)備好后,MCU才可以從接口模塊讀入正確的接收數(shù)據(jù);從機(jī)響應(yīng)信號不正確時(shí),MCU應(yīng)立即發(fā)出結(jié)束信號結(jié)束本次操作;當(dāng)前工作流程未完成前不能進(jìn)行下一流程。這些狀態(tài)信號全部由Status單元產(chǎn)生。</p><p> 在該單元中,共有4種輸出信號,它們分別是:用于指示發(fā)送數(shù)據(jù)寄存器是否為空的TxSTS狀態(tài),該
60、狀態(tài)在MCU寫入數(shù)據(jù)后置‘1’,數(shù)據(jù)被發(fā)送后清‘0’;用于指示接收數(shù)據(jù)準(zhǔn)備好狀態(tài)的RxSTS信號,該信號在模塊接收到完整的數(shù)據(jù)后置‘1’,數(shù)據(jù)被MCU讀后清‘0’;用于指示模塊工作狀態(tài)的ACKSTS信號,該信號在模塊工作正常(接收到從機(jī)響應(yīng)信號)時(shí)自動(dòng)置‘1’,工作不正常時(shí)自動(dòng)清‘0’;用于使工作流程指向下一階段的IncStep信號,該信號在當(dāng)前工作流程完成后由模塊自動(dòng)產(chǎn)生,用于使模塊的工作流程指向下一階段。</p>&l
61、t;p><b> EnI2C單元</b></p><p> 在I2C總線接口模塊中,BitTiming單元何時(shí)開始產(chǎn)生工作時(shí)序,需要時(shí)序信號控制,I2CPORT單元何時(shí)向I2C總線輸出信息、何時(shí)從I2C總線上讀入信息也需要時(shí)序信號控制。這些控制時(shí)序的產(chǎn)生由EnI2C單元完成。</p><p> EnI2C單元在I2CMD[2..0]、Step[6..0]、
62、TxSTS、RxSTS等信號的控制下,從預(yù)先存儲于單元內(nèi)部的一組I2C工作時(shí)序信息中讀出當(dāng)前時(shí)序信息輸出,控制BitTiming和I2CPORT單元完成。</p><p><b> I2CPORT單元</b></p><p> 本單元是整個(gè)設(shè)計(jì)的核心,用于完成數(shù)據(jù)的I2C總線輸出及I2C總線輸入數(shù)據(jù)的讀入。同時(shí)產(chǎn)生接口模塊的各種工作狀態(tài)。</p>&
63、lt;p> 該單元的工作過程為:在SysCLK的下降沿分別讀入工作使能信號和工作時(shí)序信號,如果此時(shí)EnIdle=‘1’,則強(qiáng)制I2C總線進(jìn)入空閑模式;如果EnStart=‘1’,則使I2C總線輸出開始新號;如果EnWire=‘1’,則使I2C總線輸出8位數(shù)據(jù)信號;如果EnRead=‘1’,則從I2C總線讀入8位數(shù)據(jù);如果EnOutACK=‘1’,則使I2C總線輸出主機(jī)響應(yīng)信號;如EnStop=‘1’,則使I2C總線輸出結(jié)束信號;
64、在整個(gè)工作過程中,模塊會自動(dòng)根據(jù)工作情況,設(shè)置各種狀態(tài)控制信號。</p><p> PcPort單元的是實(shí)現(xiàn)</p><p> 該單元是模塊CPU的接口,CPU通過該單元向接口模塊寫入工作模式控制信息、需要發(fā)送的數(shù)據(jù)以及I2C工作速度控制信息;同時(shí)通過該單元讀入從機(jī)響應(yīng)信息、從機(jī)輸出數(shù)據(jù)、發(fā)送接收寄存器狀態(tài)等信息。</p><p> 圖3-2 I2C模塊應(yīng)用示
65、意圖</p><p> §3.2 SPI總線在FPGA上的模擬實(shí)現(xiàn)</p><p> §3.2.1 SPI總線接口協(xié)議</p><p> SPI(Serion Perpheral Interface)總線接口是一個(gè)全雙工,同步串行數(shù)據(jù)接口。許多微處理器、微控制器和外部設(shè)備具有這個(gè)接口。它能夠?qū)崿F(xiàn)在微控制器之間或微控制器與外部設(shè)備之間通信。S
66、PI是一個(gè)環(huán)形總線結(jié)構(gòu),通常有4條線組成,即:串行時(shí)鐘線(SCK)、主機(jī)輸出從機(jī)輸入線(MOSI)、主機(jī)輸入從機(jī)輸出線(MISO)和從機(jī)選擇線 SS_N。SCK靠主機(jī)和數(shù)據(jù)流來驅(qū)動(dòng)。MOSI數(shù)據(jù)線從主機(jī)輸出數(shù)據(jù)作為從機(jī)的輸入數(shù)據(jù)。MISO數(shù)據(jù)線傳送從機(jī)輸出的數(shù)據(jù)作為主機(jī)的輸入數(shù)據(jù)。在大多數(shù)情況下,使用一個(gè)SPI作為主機(jī),它控制數(shù)據(jù)向1個(gè)或幾個(gè)從機(jī)傳送。主機(jī)驅(qū)動(dòng)數(shù)據(jù)從它的SCK和MOSI端到各從機(jī)的SCK和MOSI端,被選擇的從機(jī)驅(qū)動(dòng)數(shù)據(jù)
67、從它的MISO端到主機(jī)的MOSI端。SS_N控制線用于從機(jī)選擇控制。</p><p> SCK的相位和極性能改變SPI的數(shù)據(jù)格式,時(shí)鐘極性CPOL=‘0’,串行數(shù)據(jù)的移位操作由時(shí)鐘正脈沖觸發(fā),時(shí)鐘極性CPOL=‘1’,串行數(shù)據(jù)的移位操作由負(fù)脈沖 觸發(fā),時(shí)鐘相位CPHA=‘0’,串行數(shù)據(jù)的移位操作由時(shí)鐘脈沖前沿觸發(fā),時(shí)鐘相位 CPHA=‘1’,串行數(shù)據(jù)的移位操作由時(shí)鐘脈沖后沿觸發(fā),時(shí)鐘相位CPHA=‘0’時(shí)SPI
68、的數(shù)據(jù)轉(zhuǎn)換時(shí)序圖如圖3-3所示。</p><p> 圖3-3 CPHA=‘0’時(shí)SPI的數(shù)據(jù)轉(zhuǎn)換時(shí)序圖</p><p> 在圖3-3中SCK信號在第一個(gè)SCK周期中的前半周期無效,在這種模式中,SS的下降沿示意數(shù)據(jù)傳送的開始,因此,SS在連續(xù)串行字節(jié)之間必須被取反和重新申明。時(shí)鐘相位CPHA=‘1’時(shí)SPI的數(shù)據(jù)轉(zhuǎn)換時(shí)序圖如圖3-4所示。</p><p> 圖
69、3-4 CPHA=‘1’時(shí)SPI的數(shù)據(jù)轉(zhuǎn)換時(shí)序圖</p><p> 在圖3-4中SCK信號從無效電平到有效電平的第一邊沿意味著在這種模式下數(shù)據(jù)傳送的開始,SS信號能保持有效的低電平在連續(xù)串行字節(jié)之間,這種模式用于只有一個(gè)主機(jī)和一個(gè)從機(jī)的系統(tǒng)中。</p><p> 在SPI傳送數(shù)據(jù)時(shí),8位數(shù)據(jù)從一個(gè)SPI接口移出時(shí),另一個(gè)SPI接口也開始移出8位數(shù)據(jù),這樣主機(jī)的8位移位寄存器和從機(jī)的8位
70、移位寄存器可以被看作是16位移位寄存器,16位移位寄存器移動(dòng)8個(gè)位置就實(shí)現(xiàn)了在主機(jī)和從機(jī)之間交換數(shù)據(jù)?;贔PGA的SPI 接口設(shè)計(jì)中,從SPI總線上接收的數(shù)據(jù)被保存在一個(gè)接收寄存器中,發(fā)送的數(shù)據(jù)被寫到一個(gè)發(fā)送寄存器中。</p><p> §3.2.2 SPI總線接口設(shè)計(jì)</p><p> 為了滿足擴(kuò)展微控制器的SPI接口功能,基 于FPGA的SPI接口必須具有以下功能:1)
71、與微控制器的接口功能;2)8位外部從機(jī)選擇功能;3)時(shí)鐘極性和相位選擇的不同,有四種數(shù)據(jù)傳輸模式;4)SPI數(shù)據(jù)傳送完成標(biāo)志。SPI接口接口的結(jié)構(gòu)框圖如圖3-5所示。</p><p> 圖3-5 SPI接口的結(jié)構(gòu)框圖</p><p> 從圖3-5中可以看出基于FPGA的SPI設(shè)計(jì)主要由兩大部分組成,即與微控制器接口的控制部分和SPI接口控制部分。與微控制器接口的控制部分通過三總線方式
72、使FPGA與微控制器相連接,實(shí)現(xiàn)微控制器的SPI接口功能擴(kuò)展。SPI接口控制部分主要實(shí)現(xiàn)SPI接口與其他SPI接口的通信。其系統(tǒng)的軟件設(shè)計(jì)主要包括兩部分,第一部分是C8051F單片機(jī)與SPI接口之間通信的軟件設(shè)計(jì),在這一部分中,主要是對SPI接口中數(shù)據(jù)傳送完成位的檢測和對FPGA中各寄存器的讀寫操作。第二部分是SPI接口功能的Verilog語言軟件設(shè)計(jì),在這一部分中采用層次化設(shè)計(jì)的方法。頂層中包括兩大模塊,即微控制器接口模塊和SPI接口
73、模塊,在微控制器接口模塊中建立了接口中各寄存器的地址和構(gòu)造了各寄存器,在SPI接口控制模塊中又包括SPI控制模塊、SPI邏輯模塊、SPI移位接收模塊和SPI移位發(fā)送模塊等。</p><p> 圖3-6 SPI接口模塊應(yīng)用示意圖</p><p> 第四章 電路設(shè)計(jì)及分析</p><p> §4.1 電源模塊設(shè)計(jì)</p><p>
74、 在本設(shè)計(jì)中,C8051F單片機(jī)采用3.3V供電。Actel FPGA內(nèi)核采用1.5V供電,I/O端口采用3.3V供電。LED的邏輯電壓為5V,驅(qū)動(dòng)電壓-24V。設(shè)計(jì)采用三片LM317線性穩(wěn)壓芯片分別產(chǎn)生1.5V、3.3V和5V供電系統(tǒng),采用1653負(fù)壓芯片為LED提供驅(qū)動(dòng)負(fù)壓(前面說是正電壓)??紤]到317穩(wěn)壓芯片的功耗和輸入輸出壓差的要求,決定使用12V外部直流輸入作為整個(gè)系統(tǒng)的供電電源。</p><p>
75、 LM317系列線性穩(wěn)壓芯片是高精度三端可調(diào)正電壓輸出集成穩(wěn)壓器輸出電壓可在1.2V~37V的范圍內(nèi)調(diào)節(jié)。</p><p> 圖4-1 5V供電系統(tǒng)</p><p> 317系列穩(wěn)壓器ADJ端和VOUT端之間是1.25V的基準(zhǔn)電壓,在圖4-1中穩(wěn)壓器輸出U=1.25*(R9/R8+1),通過設(shè)置R9和R8的電阻值即可實(shí)現(xiàn)輸出電壓的調(diào)節(jié),需要注意的是LM317有最低負(fù)載電流要求,一般要
76、求Iout>2.5~5mA,即要求Vout/(R8+R9)>2.5~5mA。</p><p> 圖4-2 3.3V供電系統(tǒng)</p><p> 圖4-3 LED負(fù)壓驅(qū)動(dòng)</p><p> §4.2接口電路設(shè)計(jì)</p><p> 單片機(jī)與FPGA以總線方式通信,即將FPGA掛接在單片機(jī)外部擴(kuò)展總線上,F(xiàn)PGA占用單片
77、機(jī)的外部RAM的地址空間,屬于單片機(jī)的從設(shè)備。單片機(jī)僅通過二十根I/O線在FPGA與單片機(jī)之間進(jìn)行通信和控制信息交換。單片機(jī)端總線I/O分配如圖4-4所示。</p><p> 圖4-4 單片機(jī)端總線I/O分配</p><p> FPGA內(nèi)部是硬件邏輯,總線分配I/O很隨意,考慮到FPGA的某些功能固定管腳分配和PCB布線時(shí)難易程度,F(xiàn)PGA的I/O分配如圖4-5所示。</p>
78、;<p> 圖4-5 單片機(jī)與FPGA接口電路</p><p> 其它電路設(shè)計(jì)請參見附錄-電路原理圖 </p><p> §4.3電路輻射干擾測試分析</p><p> 在高速數(shù)字電路中,電磁干擾是一個(gè)不容忽視的問題。輻射干擾一般是通過電磁感應(yīng)的形式在空間進(jìn)行傳播的,圖4-6 是測試電子設(shè)備產(chǎn)生輻射干擾的基本方法,或表示電子設(shè)備產(chǎn)生的
79、干擾信號通過電磁感應(yīng)向空中輻射的原理。圖4-6 中,電子設(shè)備表示干擾信號源,V1 表示測量儀表,C1 表示電子設(shè)備對大地的電容,C2 表示電子設(shè)備與天線偶合的電容,即:電子設(shè)備通過電場對天線產(chǎn)生感應(yīng),這里的天線也可以看成是被干擾的設(shè)備。圖11 的測試方法就是測試電子設(shè)備周圍規(guī)定距離某處的電磁場強(qiáng)度,由于干擾信號一般都是一個(gè)頻率成份非常豐富的非正弦波,因此,無法對它進(jìn)行直接測量,只能對它其中某一個(gè)頻率信號單獨(dú)進(jìn)行測量。</p>
80、<p> 圖4-6 輻射干擾模型</p><p> 電子設(shè)備與天線感應(yīng)產(chǎn)生的電流是位移電流,一般頻率很高的位移電流在電路中每處的電流方向以及電流大小和電壓幅度都是不一樣的,我們無法對它直接進(jìn)行測量,因此,在進(jìn)行信號測量的時(shí)候一般都使用諧振天線,使天線諧振回路對某個(gè)頻率的干擾交流信號產(chǎn)生諧振,然后再檢測諧振信號的電壓幅度。在測試過程中,天線需要經(jīng)常進(jìn)行調(diào)諧,調(diào)諧就是調(diào)節(jié)天線振子的長度,或磁感應(yīng)天線
81、諧振回路中的電容,更多的是調(diào)諧選頻放大器輸入回路中的諧振電路參數(shù)。 </p><p> 在本設(shè)計(jì)中,為了防止電磁干擾,對PCB布線的線寬和線距都采取了經(jīng)驗(yàn)保守值,最小線距10mil,并在PCB板的雙面大面積鋪地網(wǎng)絡(luò),以降低信號間的串?dāng)_。</p><p><b> 結(jié) 論</b></p><p> 在本次設(shè)計(jì)中,參考分析了許多數(shù)字電路知識
82、和電路板設(shè)計(jì)的經(jīng)驗(yàn)技巧,通過對單片機(jī)和FPGA經(jīng)典電路的分析應(yīng)用,設(shè)計(jì)了A3P125 FPGA擴(kuò)展C8051F單片機(jī)資源的開發(fā)實(shí)驗(yàn)電路板。在本次設(shè)計(jì)中關(guān)鍵在于單片機(jī)與FPGA的接口設(shè)計(jì),為了方便編程和后續(xù)開發(fā),本設(shè)計(jì)中采用的并口是最好的選擇。采用總線接口方便單片機(jī)和FPGA的嚴(yán)密結(jié)合以構(gòu)成一個(gè)可擴(kuò)展的整體系統(tǒng)。</p><p> 本開發(fā)實(shí)驗(yàn)板可用于單片機(jī)編程開發(fā)和FPGA的Verilog語言編程,A3P125
83、FPGA共有71個(gè)用戶IO,通過Verilog HDL編程可實(shí)現(xiàn)單片機(jī)的各種接口的擴(kuò)展,并可以將FPGA看做掛在總線上的外設(shè),依靠中斷實(shí)現(xiàn)數(shù)據(jù)傳輸和通信,不占用單片機(jī)過多資源,使系統(tǒng)在增加外設(shè)的情況下而不增加系統(tǒng)負(fù)擔(dān),更加方便于系統(tǒng)級的軟件編程。</p><p><b> 排版</b></p><p><b> 參考文獻(xiàn)</b></p&
84、gt;<p> [1] 江思敏,姚鵬翼.PADS電路原理圖和PCB設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2007.9.</p><p> [2] 周樹新,何勇.視頻精講:PADS2007原理圖與布板設(shè)計(jì)典型實(shí)例[M].北京:電子工業(yè)出版社,2009.11.</p><p> [3] 劉韜,樓興華.FPGA數(shù)字系統(tǒng)設(shè)計(jì)與開發(fā)實(shí)例導(dǎo)航[M].北京:人民郵電出版社,2005.6.
85、</p><p> [4] 夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程[M].第二版.北京:航空航天大學(xué)出版社,2008.</p><p> [5] Stephen Brown & Zvonko Vranesic.?dāng)?shù)字邏輯基礎(chǔ)與Verilog設(shè)計(jì)[M].夏宇聞.北京:機(jī)械工業(yè)出版社,2007.</p><p> [6] Steve Kilts.高級FPGA
86、設(shè)計(jì):結(jié)構(gòu)、設(shè)計(jì)與優(yōu)化[M].孟憲元.北京:機(jī)械工業(yè)出版社,2009.</p><p> [7] Howard Johnson,Martin Graham.高速數(shù)字設(shè)計(jì)[M].沈立,朱來文,陳宏偉.電子工業(yè)出版社.2005.</p><p> [8] 周志堅(jiān).同步電路設(shè)計(jì)技術(shù)及規(guī)則[D].深圳,華為技術(shù)有限公司,2007:1~27.</p><p> [8]
87、劉法治.常用電子元件器件及典型芯片應(yīng)用技術(shù)[M].北京:機(jī)械工業(yè)出版社,2006.12.</p><p> [9] 那文鵬,王昊.通用集成電路的選擇與使用[M].北京:人民郵電出版社,2004.5.</p><p> [10] 李朝青.單片機(jī)&DSP外圍數(shù)字IC技術(shù)手冊[M].北京:北京航空航天大學(xué)出版社,2003.1.</p><p> [11] 張
88、海風(fēng).HyperLynx仿真與PCB設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2005.9</p><p> [12] 李景華,杜玉遠(yuǎn).可編程邏輯器件及EDA技術(shù)[M].沈陽:東北大學(xué)出版社,2000.</p><p> [13] 徐志軍,徐光輝.CPLD/FPGA的開發(fā)與應(yīng)用[M].北京:電子工業(yè)出版社,2002.</p><p> [14] 游志宇,張洪,董秀成.
89、MCS-51與FPGA_CPLD總線接口邏輯設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2008:29-32.</p><p> [15] 李華.MCS-51系列單片機(jī)接口技術(shù)[M].北京:北京航空航天大學(xué)出版社.1993.</p><p><b> 致 謝</b></p><p> 大學(xué)四年已接近尾聲,在大學(xué)四年里我學(xué)到了堅(jiān)實(shí)的知識基礎(chǔ),交到了
90、許多朋友,也學(xué)到了許多做人的道理,感謝河南科技大學(xué)給了我這次成長的機(jī)會。</p><p> 在畢業(yè)設(shè)計(jì)過程中,xx老師作為本次設(shè)計(jì)的首席指導(dǎo)教師,對作者在設(shè)計(jì)中遇到的困難給予了悉心的指導(dǎo),感謝xx老師崇高的師德和對育人事業(yè)的不辭勞苦,同時(shí)也向在畢業(yè)設(shè)計(jì)中辛勤工作的各位老師表示由衷的感謝。</p><p> 在本次設(shè)計(jì)過程中作者也得到了許多同學(xué)誠摯的幫助和關(guān)懷,在此不再一一列舉,作者對所
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于gsm無線通信單片機(jī)接口設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 8051單片機(jī)的fpga實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 單片機(jī)擴(kuò)展串行通信畢業(yè)設(shè)計(jì)論文
- 基于單片機(jī)的畢業(yè)設(shè)計(jì)
- 單片機(jī)畢業(yè)設(shè)計(jì)--基于單片機(jī)的電子時(shí)鐘
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的rs-232c串行通信接口設(shè)計(jì)
- 單片機(jī)畢業(yè)設(shè)計(jì)
- 單片機(jī)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)-單片機(jī)
- 單片機(jī)畢業(yè)設(shè)計(jì)---基于單片機(jī)控制的模擬電梯顯示
- 單片機(jī)畢業(yè)設(shè)計(jì)--基于單片機(jī)的恒壓供水系統(tǒng)設(shè)計(jì)
- 單片機(jī)畢業(yè)設(shè)計(jì)---基于單片機(jī)簡易計(jì)算機(jī)
- 基于單片機(jī)和fpga的任意頻率發(fā)生器設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)數(shù)字時(shí)鐘設(shè)計(jì)
- 基于單片機(jī)的電子羅盤設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)數(shù)字秒表的設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的門禁系統(tǒng)設(shè)計(jì)
- 基于單片機(jī)的門禁系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的熱能表設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的數(shù)控電源設(shè)計(jì)畢業(yè)設(shè)計(jì)
評論
0/150
提交評論