




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、CPLD/FPGA和單片機(jī)接口,制作:李桂林 2009-8-3,主要內(nèi)容:,一、CPLD/FPGA和單片機(jī)各自的優(yōu)缺點(diǎn),三、CPLD/FPGA和單片機(jī)的接口方式,四、設(shè)計(jì)舉例,二、CPLD/FPGA和單片機(jī)優(yōu)勢互補(bǔ),一、CPLD/FPGA和單片機(jī)各自的優(yōu)缺點(diǎn),單片機(jī),CPLD/FPGA,優(yōu)點(diǎn):,缺點(diǎn):,強(qiáng)大的信息(數(shù)據(jù))處理、邏輯分析、決策判斷等能力; 體積小、性價(jià)比高、功能靈活、可靠性高、易于人機(jī)對話。,低速; 復(fù)位工作方式; 程序跑飛。,優(yōu)點(diǎn):,一般只能實(shí)現(xiàn)數(shù)字邏輯; 信息處理、邏輯分析、決策判斷等“智能”方面相對單片機(jī)較弱。,缺點(diǎn):,用戶可自定制邏輯,在線可編程,開發(fā)便捷。 信號傳輸效率
2、高,適合高速采樣場合; 可以加密,抗干擾能力強(qiáng),功耗低,可靠性高;,將單片機(jī)和CPLD/FPGA相結(jié)合,可以優(yōu)勢互補(bǔ),開發(fā)出功能強(qiáng)大,線路簡潔、性能優(yōu)越的系統(tǒng)。,二、CPLD/FPGA和單片機(jī)優(yōu)勢互補(bǔ),單片機(jī)與CPLD/FPGA相結(jié)合,可由單片機(jī)處理復(fù)雜指令數(shù)據(jù);CPLD/FPGA負(fù)責(zé)傳送高速實(shí)時(shí)信號。 CPLD/FPGA的I/O資源豐富,可以擴(kuò)展單片機(jī)的接口; CPLD/FPGA可作為單片機(jī)的外設(shè),完成單片機(jī)所要求的功能,例如,實(shí)現(xiàn)常用的地址譯碼,鎖存器,8255等功能;也可實(shí)現(xiàn)加密、解密等單片機(jī)所要求的特殊功能。,三、CPLD/FPGA和單片機(jī)的接口方式,兩種接口方式:,1、總線方式,2、
3、獨(dú)立方式,接口要解決的兩大問題:,1、如何進(jìn)行數(shù)據(jù)傳輸 2、如何進(jìn)行控制信息通信,基本原理框圖:,1、總線方式,利用片外三總線結(jié)構(gòu)(即數(shù)據(jù)總線、地址總線、控制總線)很容易實(shí)現(xiàn)單片機(jī)與FPGA/CPLD的總線接口。,雙向數(shù)據(jù)總線完成數(shù)據(jù)傳輸,單向控制總線和地址總線通過CPLD對外圍對象控制。,圖1 總線方式原理框圖,總線接口設(shè)計(jì)的要點(diǎn):,1、要詳細(xì)了解單片機(jī)的總線讀寫時(shí)序,根據(jù)時(shí)序圖來設(shè)計(jì)邏輯結(jié)構(gòu),其通信的時(shí)序必須遵循單片機(jī)內(nèi)固定的總線方式讀/寫時(shí)序;,2、FPGA/CPLD的邏輯設(shè)計(jì)較復(fù)雜,在程序設(shè)計(jì)上必須與接口的單片機(jī)程序相結(jié)合,嚴(yán)格安排單片機(jī)能訪問的I/O空間。,總線接口方式的優(yōu)點(diǎn):,1、
4、速度快;,2、節(jié)省PLD芯片的I/O口線;,3、相對于非總線方式,單片機(jī)編程簡捷,控制可靠;,2、獨(dú)立方式,基本原理框圖:,直接將單片機(jī)的I/0端口線與FPGA/CPLD的I/O相連。,圖2 獨(dú)立方式原理框圖,獨(dú)立接口方式的優(yōu)點(diǎn):,1、與總線接口方式不同,幾乎所有的單片機(jī)都能以獨(dú)立接口方式與FPGA/CPLD進(jìn)行通信,其通信可由所設(shè)計(jì)的軟件自由決定,形式靈活多樣;,2、FPGA/CPLD中的接口邏輯無需遵循單片機(jī)內(nèi)固定總線方式的讀/寫時(shí)序,F(xiàn)PGA/CPLD的邏輯設(shè)計(jì)與接口的單片機(jī)程序設(shè)計(jì)可以分先后相對獨(dú)立地完成。,四、設(shè) 計(jì) 舉 例,工程實(shí)例1:,“山東省防工業(yè)計(jì)量站于2003年研制了“導(dǎo)爆
5、索、雷管爆速校準(zhǔn)儀”,并于2004年1月通過專家評審。該項(xiàng)目的研制,解決了導(dǎo)爆索、雷管爆速儀在1 (1S-10s)范圍內(nèi)各種信號端口模式下的校準(zhǔn)問題。 在研制過程中,由于單片機(jī)系統(tǒng)存在處理高速實(shí)時(shí)信號能力不強(qiáng)和抗干擾能力較差的缺點(diǎn),引入可編程邏輯器件(CPLD/FPGA)彌補(bǔ)單片機(jī)系統(tǒng)的不足,用以處理高速實(shí)時(shí)信號,提高整機(jī)抗干擾能力?!?單片機(jī)做主控芯片,實(shí)現(xiàn)集中管理外圍設(shè)備(包括CPLD/FPGA)、處理復(fù)雜指令數(shù)據(jù); CPLD作為單片機(jī)的被控設(shè)備,主要處理關(guān)鍵的高速實(shí)時(shí)信號;,設(shè)計(jì)思路:,為了進(jìn)一步提高。為了進(jìn)一步提高處理高速實(shí)時(shí)信號的可靠性,兩部分之間功能應(yīng)設(shè)計(jì)為相對獨(dú)立,即單片機(jī)部分的
6、故障應(yīng)盡可能不影響CPLD部分的工作。,設(shè)計(jì)原則:,為了使硬件的設(shè)計(jì)應(yīng)使軟件設(shè)計(jì)盡可能簡單除串行設(shè)備外的其他所有部件應(yīng)采用總線結(jié)構(gòu)。,硬件接口設(shè)計(jì):,圖3 單片機(jī)與CPLD通用接口連接方式,邏輯接口設(shè)計(jì):,要點(diǎn):,單片機(jī)下達(dá)一個(gè)任務(wù)給CPLD,CPLD完成任務(wù)后給單片機(jī)一個(gè)反饋信號,任務(wù)運(yùn)行期間CPLD不響應(yīng)單片機(jī)發(fā)來的除復(fù)位信號以外的其他信號。,可根據(jù)實(shí)際需要,通過程序調(diào)整各個(gè)任務(wù)執(zhí)行的優(yōu)先級,一般設(shè)置處理高速信號的CPLD為最高優(yōu)先級。,單片機(jī)和CPLD通訊采取存儲器控制和地址命令控制,即單片機(jī)發(fā)給CPLD的控制信息盡可能發(fā)送到CPLD中的一片存儲區(qū),CPLD根據(jù)此存儲區(qū)的數(shù)據(jù)決定自身的動(dòng)
7、作;另一方面,對于單片機(jī)下達(dá)的實(shí)時(shí)命令信號可以采用地址組合的方式實(shí)現(xiàn)。,程序?qū)崿F(xiàn):,#define CPLD ADDRESS 0 x0000 #include main() unsigned charA DDRESSIndex; /CPLD某個(gè)功能部件的地址 unsigned char DATA_READ,DATA_WRITE; XBYTE CPLD_ADDRESS+ADDRESSIndex=DATA_WRITE;/單片機(jī)向CPLD寫數(shù)據(jù) DATA_READ=XBYTECPLD_ADDRESS+ADDRESSIndex; / 單片機(jī)從CPLD讀數(shù)據(jù) ,1)單片機(jī)部分,2 )CPLD部分 mod
8、ule BusInterface (rst,CSn,ADDRESS,DAWRn,RDn); input rst,CSn,WRn,RDn; input7:0ADDRESS; inout 7:0DATA; wire 4:0ADDRESS RAM; wire 7:5ADDRESS_CONTROL; assign ADDRESS_RAM=ADDRESS4:0; assign ADDRESS_CONTROL=ADDRESS7:5; reg 7:0InterfaceRAM31:0; reg 4:0ADDRESSValue; always (ADDRESS_RAM) ADDRESSValue=ADDRESS
9、_RAM ; wire 7:0DATA_IN; reg 7:0DATA_OUT; ,assign DATA_IN=DATA; assign DATA=(CSnRDn)?8bz:DATA_OUT; always (ADDRESS_RAM or DATA or rst or CSn or WRn) begin /write bus if( rst )begin InterfaceRM0=8b0; InterfaceRM1=8b0; InterfaceRM2=8b0; InterfaceRM3=8b0; InterfaceRM4=8b0; InterfaceRM5=8b0; InterfaceRM6
10、=8b0; InterfaceRM7=8b0; / ot he rsa sf ollows end else begin if( CSn = = 1b0 end end ,always(CSn or ADDRESS or RDn) begin /read bus if(CSn =1b0 end end end endmodule,工程實(shí)例2:,遠(yuǎn)距離數(shù)據(jù)采集監(jiān)測系統(tǒng),隨著現(xiàn)代工業(yè)的發(fā)展,遠(yuǎn)距離數(shù)據(jù)采集監(jiān)測已成為日益重要的檢測技術(shù),廣泛應(yīng)用于工農(nóng)業(yè)等需要同時(shí)監(jiān)控溫度、濕度和壓力等場合。,設(shè)計(jì)思路:,為了提高系統(tǒng)的智能性、可靠性和實(shí)用性,可采用雙CPU的方法,即在數(shù)據(jù)采集的遠(yuǎn)端和本地都采用單片機(jī)控
11、制,遠(yuǎn)端完成數(shù)據(jù)的采集、抽樣和發(fā)送,本地完成數(shù)據(jù)的接收、處理,同時(shí)采用一片CPLD作為鍵盤、顯示器及打印機(jī)的接口擴(kuò)展。,系統(tǒng)硬件構(gòu)成框圖:,圖4 系統(tǒng)組成框圖,CPLD與單片機(jī)及鍵盤、顯示器的接口:,打印機(jī)與CPLD及單片機(jī)的接口:,圖6 打印機(jī)與CPLD及單片機(jī)的接口,圖5 鍵盤、顯示器與CPLD及單片機(jī)的接口,程序設(shè)計(jì):,下位機(jī)負(fù)責(zé)數(shù)據(jù)的采集、抽樣和發(fā)送。為了保證數(shù)據(jù)采集的實(shí)時(shí)性,下位機(jī)在未收到上位機(jī)指令時(shí),內(nèi)部輪流對8路模擬信號進(jìn)行采集和變換,并存入緩沖存儲器中。 上位機(jī)負(fù)責(zé)數(shù)據(jù)的接收、處理和打印。上 位機(jī) 發(fā) 送完指令后,立即轉(zhuǎn)人接收狀態(tài),等待從遠(yuǎn)端下位機(jī)回送兩個(gè)字節(jié)的數(shù)據(jù),如果在規(guī)定
12、的時(shí)間內(nèi)未收到數(shù)據(jù),或者是收到的數(shù)據(jù)中兩個(gè)字節(jié)不一致,則說明通訊線路有錯(cuò)誤,不能接收該數(shù)據(jù),故重新發(fā)送一次指令,如果重發(fā)3次都未成功,則發(fā)出出錯(cuò)報(bào)替信號,提醒用戶檢查線路或設(shè)備。否則,上位機(jī)對收到的有效數(shù)據(jù)進(jìn)行處理,將數(shù)值大小為0255之間的數(shù)據(jù)轉(zhuǎn)換為0-5 V的電壓值,并進(jìn)行顯示。同時(shí)還要掃描鍵盤,處理各種功能鍵,完成用戶的功能要求。 CPLD主要完成接收單片機(jī)發(fā)送來的數(shù)據(jù)并控制4個(gè)LED數(shù)碼管顯示相應(yīng)的數(shù)碼,同時(shí)控制打印機(jī)將上位機(jī)處理的結(jié)果打印輸出。,工程實(shí)例3:,信號源設(shè)計(jì),DDS工作原理:,圖7 DDS信號源框圖,輸出頻率計(jì)算公式:,假設(shè)給定:,則,,設(shè)計(jì)方案:,圖8 DDS實(shí)驗(yàn)系統(tǒng)框
13、圖,工作過程分析:,系統(tǒng)上電后,開始等待輸入選擇。當(dāng)用戶選擇一種波形后,計(jì)算相位、幅度值,對RAM初始化。初始化完成后,即可輸入一個(gè)有效的頻率值,按回車鍵后,輸出相應(yīng)頻率的波形,并且在數(shù)碼管上顯示出波形的類型和頻率。,設(shè)計(jì)分組:,單片機(jī)系統(tǒng)的軟硬件設(shè)計(jì)、CPLD的Verilog 程序設(shè)計(jì);數(shù)模轉(zhuǎn)換以及濾波器的設(shè)計(jì)。,附:總線接口模塊設(shè)計(jì)Verilog 參考程序:,接口定義:,module interface(mcu_p0,mcu_p2_7,mcu_ale,mcu_wr,mcu_rd,creg1,creg2); inout7:0 mcu_p0;/8位數(shù)據(jù)總線 input mcu_p2_7;/地址總線 input mcu_ale,mcu_rd,mcu_wr;/控制總線 input creg1;/連接內(nèi)部控制寄存器,用于單片機(jī)從CPLD讀取信號 output creg2; /連接內(nèi)部控制寄存器,用于單片機(jī)將信號寫入CPLD reg dph;/內(nèi)部變量,用于鎖存高位地址 reg7:0 dpl;/內(nèi)部變量,用于鎖存低位地址 ,鎖存地址信號, always (negedge mcu_ale) begin dpl=mcu_p0; dph=m
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 消防安全合同管理規(guī)定
- 船舶制造材料供應(yīng)合同
- 新建住宅買賣合同備案流程
- 股權(quán)轉(zhuǎn)讓合同及相關(guān)權(quán)益轉(zhuǎn)讓協(xié)議
- 股權(quán)轉(zhuǎn)讓居間服務(wù)合同樣本
- 商鋪?zhàn)赓U合同參考模板
- 小班安全玩滑梯課件
- 創(chuàng)業(yè)企業(yè)的股權(quán)結(jié)構(gòu)設(shè)計(jì)考核試卷
- 方便食品的包裝設(shè)計(jì)與人機(jī)工程考核試卷
- 新材料新技術(shù)的巨大潛力探索未知的研究領(lǐng)域考核試卷
- 《水利工程質(zhì)量檢測管理規(guī)定》知識培訓(xùn)
- 2025年02月貴州省司法廳所屬事業(yè)單位公開招聘2人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 2025年校長春季開學(xué)思政第一課講話稿1720字例文【供參考】
- 2025至2030年中國單板電磁制動(dòng)器數(shù)據(jù)監(jiān)測研究報(bào)告
- 2024年07月國新國證期貨有限責(zé)任公司(海南)2024年招考2名工作人員筆試歷年參考題庫附帶答案詳解
- 人教版數(shù)學(xué)八年級下冊 第17章 勾股定理 單元測試(含答案)
- 國網(wǎng)標(biāo)書制作流程
- 六年級語文教學(xué)學(xué)情分析提高六語文質(zhì)量的措施
- 中醫(yī)藥臨床適宜技術(shù)
- 銀發(fā)經(jīng)濟(jì)的發(fā)展路徑
- 工業(yè)廠房水電安裝施工方案
評論
0/150
提交評論