
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、零基礎(chǔ)學(xué)fpga (二十一)sopc進(jìn)階,自定義ad轉(zhuǎn)換ip核設(shè)計(jì)全流程 今日帶大家來(lái)設(shè)計(jì)一個(gè)自定義的ip核,我們從最基本的做起,包括datasheet 的理解,設(shè)計(jì)的整體框架,ad轉(zhuǎn)換代碼的編寫,avalon-mm接口的編寫,硬件系統(tǒng)還是基于上次的硬件系統(tǒng),不過(guò)我們不再用altera給我們提供的ip核了,我們要自己做一個(gè),有時(shí)候我們找不到他們提供的ip核,或者有些ip核是收費(fèi)的,這個(gè)時(shí)候我們就可以自己來(lái)編寫自己的ip,雖然沒(méi)有正式的那么標(biāo)準(zhǔn),但是用來(lái)做一些試驗(yàn)還是沒(méi)什么問(wèn)題的。 這次試驗(yàn)我用的是本來(lái)我那塊板子,由于那塊板子上有ad轉(zhuǎn)換芯片,而我們上次搭建的硬件系統(tǒng)是基于cyclone iv的
2、硬件系統(tǒng),但是這塊開發(fā)板上沒(méi)有ad芯片,我們就不做軟件下載的試驗(yàn)了,其實(shí)只要在我們編寫ad轉(zhuǎn)換hdl代碼的時(shí)候測(cè)試勝利,那么我們軟件調(diào)試部分就應(yīng)當(dāng)沒(méi)什么問(wèn)題了,有條件的學(xué)生可以自己做這一部分。一、有理可依全部編寫的代碼必需都得有理可依,要不然挺直看代碼那得有多疼痛啊,第一部分先來(lái)帶大家認(rèn)識(shí)一下datasheet上的東西我們要操作的ad轉(zhuǎn)換芯片tlc549的頂層視圖可以看到這個(gè)芯片應(yīng)當(dāng)不太難操作,左邊是模擬信號(hào)輸入端,由于是模數(shù)轉(zhuǎn)換,這邊我們就臨時(shí)可以不管,看右邊有時(shí)鐘信號(hào),數(shù)字信號(hào)輸出端和片選端,那么我們需要控制的,無(wú)非就是時(shí)鐘信號(hào)和片選信號(hào)了還有什么器件描述什么的大家可以自己取去看,我們主要
3、去看時(shí)序圖大體上來(lái)看一下,首先是的工作時(shí)鐘,它在片選信號(hào)為低電平的時(shí)候有效,延續(xù)8個(gè)周期用來(lái)將轉(zhuǎn)換后的數(shù)字信號(hào)送到數(shù)據(jù)總線上,8個(gè)時(shí)鐘周期過(guò)后就是轉(zhuǎn)換周期,用來(lái)對(duì)模擬信號(hào)舉行轉(zhuǎn)換,在這期間,片選信號(hào)要拉高,對(duì)于片選信號(hào),開頭的時(shí)候有一個(gè)從高電平到低電平的跳變,然后等待一個(gè)建立時(shí)光tsu,建立時(shí)光結(jié)束后adc工作時(shí)鐘開頭工作,8個(gè)時(shí)鐘周期后,片選拉高開頭模數(shù)轉(zhuǎn)換,之后片選拉低,將轉(zhuǎn)換后的數(shù)據(jù)送出去。詳情部分,可以看到當(dāng)片選拉低后,我們可以定義一個(gè)使能信號(hào)en來(lái)開啟工作時(shí)鐘,從片選拉低到工作時(shí)鐘有效需要一個(gè)建立時(shí)光1.4us,這個(gè)數(shù)據(jù)在下面的表格中可以查到,之后是8個(gè)數(shù)據(jù)鎖存周期,每一個(gè)時(shí)鐘的凹凸
4、電平延時(shí)不能小于404ns,詳細(xì)也是表格中找,然后是轉(zhuǎn)換周期,時(shí)光是17us,至于轉(zhuǎn)換期間的工作時(shí)鐘是什么我們可以不必關(guān)懷。再來(lái)看一下它的注釋內(nèi)容,大體意思是說(shuō)轉(zhuǎn)換周期需要一個(gè)17us的延時(shí),注釋b大體意思是說(shuō),當(dāng)片選拉低之后,數(shù)據(jù)的第8位就自動(dòng)的放到了數(shù)據(jù)總線上,剩下的7位數(shù)據(jù)在第7個(gè)時(shí)鐘下降沿到來(lái)的時(shí)候就已經(jīng)鎖存了。二、編程思路這段時(shí)光跟著他們?cè)谏险n,聽(tīng)李教師講課的時(shí)候,李教師不會(huì)將大量的時(shí)光放到代碼的編寫上,而是有時(shí)候花一整節(jié)課的時(shí)光來(lái)協(xié)助同學(xué)來(lái)構(gòu)建編程的思路,包括系統(tǒng)架構(gòu),狀態(tài)轉(zhuǎn)移圖等,有了這些都東西作為鋪墊,我們的代碼編寫就可以手到擒來(lái),起到事半功倍的效果,假如我們不做好事先的預(yù)備設(shè)
5、計(jì)工作,沒(méi)有一個(gè)系統(tǒng)的架構(gòu)在我們腦海里,上來(lái)就去寫代碼,就會(huì)發(fā)覺(jué)越寫問(wèn)題越多,思路不通,處理不當(dāng)?shù)葐?wèn)題,所以小墨學(xué)生回歸之后也用word做了這么個(gè)狀態(tài)轉(zhuǎn)移圖,這個(gè)試驗(yàn)不是很難,狀態(tài)機(jī)也沒(méi)那么復(fù)雜,就是希翼起到一個(gè)拋磚引玉的過(guò)程,通過(guò)一個(gè)小小的實(shí)例,告知大家以后在拿到一個(gè)問(wèn)題后改怎么下手。雖然畫的不怎么樣還是可以看得哈理一下編程思路吧,從datasheet里面我們知道。我們要做好這幾個(gè)延時(shí),即預(yù)備轉(zhuǎn)換的延時(shí)1.4us,17us的轉(zhuǎn)換延時(shí),和404ns的adc工作時(shí)鐘凹凸電平延時(shí)等。狀態(tài)機(jī)部分采納兩段式狀態(tài)機(jī)。將組合規(guī)律與時(shí)序規(guī)律分開,采納獨(dú)熱編碼。根據(jù)狀態(tài)轉(zhuǎn)移圖構(gòu)思好狀態(tài)機(jī)的編程思路。數(shù)據(jù)處理部
6、分,為了保證數(shù)據(jù)的穩(wěn)定性,可以采納邊沿脈沖檢測(cè)法檢測(cè)adc工作時(shí)鐘的升高沿,在每一個(gè)升高沿將轉(zhuǎn)化后的數(shù)據(jù)一位一位鎖存,因?yàn)閿?shù)據(jù)是串行輸入,還要用到串并轉(zhuǎn)換的思想,這些編程辦法前面都已經(jīng)介紹過(guò),就不一一講解了。代碼風(fēng)格部分,個(gè)人感覺(jué)這一套代碼比起以前有了一些長(zhǎng)進(jìn),起碼看起來(lái)思路清楚,注釋合理,數(shù)據(jù)處理恰當(dāng),語(yǔ)法直白,沒(méi)實(shí)用到一些很別扭的語(yǔ)法等。詳細(xì)還需要廣闊讀者自己去體味,也希翼你們能夠喜愛(ài)代碼部分就不一一講解了,源代碼會(huì)附在文章后面,大家可以自行消化三、仿真與驗(yàn)證上面是前仿真的過(guò)程,從波形來(lái)看和我們的設(shè)計(jì)吻合,用標(biāo)尺量一下,延時(shí)參數(shù)也和我們?cè)O(shè)計(jì)的全都按理說(shuō)我們下一步需要舉行時(shí)序約束部分,但是我
7、們的這個(gè)設(shè)計(jì)是us級(jí)的,即使不做時(shí)序約束也是可以的,但是究竟我設(shè)計(jì)的是一個(gè)ip核,為了穩(wěn)定起見(jiàn)還是做一下時(shí)序約束比較好。說(shuō)實(shí)話,時(shí)序約束部分,個(gè)人感覺(jué)是一門巍峨上的知識(shí),變幻多端,有些都是閱歷值,你問(wèn)一個(gè)工程師為什么是這樣約束,有時(shí)候可能他也答不上來(lái)。之前也接觸過(guò)靜態(tài)時(shí)序分析的學(xué)問(wèn),但是向來(lái)不敢寫,感覺(jué)還是學(xué)的不怎么樣吧,想回去以后學(xué)內(nèi)存這方面的時(shí)候再去好好討論一下它下面是后仿真的波形圖可以看到,波形跟我們的設(shè)計(jì)吻合,也沒(méi)有浮現(xiàn)什么不合理的設(shè)計(jì)什么的,可以下板驗(yàn)證了可以看到,當(dāng)我們扭動(dòng)滑動(dòng)變阻器的時(shí)候,相應(yīng)的模擬量被轉(zhuǎn)化成數(shù)字量并在數(shù)碼管上顯示了四、avalon-mm總線接口設(shè)計(jì)我們知道,我們
8、設(shè)計(jì)的這個(gè)ip核是要掛到avalon-mm總線上的,作為一個(gè)從機(jī),總線需要通過(guò)片選信號(hào)來(lái)拜訪總線上掛的這些ip,因此,我們也需要給我們的ip設(shè)計(jì)一個(gè)和總線通信的接口我們?cè)O(shè)計(jì)ad轉(zhuǎn)換的ip核的片選信號(hào)低電平有效,當(dāng)片選信號(hào)有效的時(shí)候,假如再來(lái)一個(gè)讀信號(hào),那么,數(shù)據(jù)就會(huì)被總線讀走,送至cpu五、自定義ip好了,下面我們就可以來(lái)定義我們自己的ip了先將我們剛才設(shè)計(jì)好的ad轉(zhuǎn)換的.v文件復(fù)制到我們硬件系統(tǒng)的名目中,并養(yǎng)成一個(gè)好的習(xí)慣,新建一個(gè)文件夾,并命名為ip,以后我們?cè)O(shè)計(jì)的ip都可以放到里面打開我們之前硬件系統(tǒng)的sopc builder,雙擊左上角的new component ,在hdl file
9、一欄中添加我們的adc.v文件,在signal一欄中,按照端口的類型配置端口,時(shí)鐘復(fù)位信號(hào)不用說(shuō),其中我們的與總線接口部分的端口屬于總線的從機(jī)端口,我們需要把它定義為avalon_slave_0端口類型,信號(hào)類型設(shè)置為低電平片選,低電平讀就好,其他端口設(shè)置為conduit類型,信號(hào)類型設(shè)置為export,由于我們是用來(lái)輸出到外部器件的端口在接口一欄中,我們可以設(shè)置一些相關(guān)參數(shù),普通為默認(rèn)就好,為了我們數(shù)據(jù)的穩(wěn)定性,我們可以把讀延時(shí)周期設(shè)置為4個(gè),保證它有足夠的時(shí)光去處理數(shù)據(jù)然后點(diǎn)擊finish,雙擊我們生成的ip核將它添加到系統(tǒng)工程中即可,然后重新生成硬件系統(tǒng)六、硬件系統(tǒng)生成將生成的新的硬件系統(tǒng)的例化接口聲明好,這樣在我們的設(shè)計(jì)頂層又多了這樣一個(gè)模塊,根據(jù)慣例分析綜合,時(shí)序約束,分配管腳,這樣我們的硬件系統(tǒng)就設(shè)計(jì)好了七、軟件部分由于我的硬件系統(tǒng)上沒(méi)有ad芯片,這里就只容易說(shuō)一下軟件代碼,不做下板調(diào)試了軟件部分只講一下主函數(shù)部分,看下圖代碼很容易,就是每隔一段時(shí)光將采集到的值在窗口打印,不過(guò)有個(gè)問(wèn)題需要說(shuō)明一下,有人會(huì)問(wèn),我們?cè)谧远xip的時(shí)候不是定義了片選端和讀信號(hào)么,為什么我們沒(méi)有對(duì)它舉行操作就可以讀數(shù)據(jù)了呢?其實(shí)我們是不需要對(duì)我們的外設(shè)舉行片選或者
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年戶外配電安裝工安全及技能資格知識(shí)考試題與答案
- 美團(tuán)外賣騎手培訓(xùn)體系
- 家校社協(xié)同育人背景下家庭教育指導(dǎo)能力提升培訓(xùn)
- 城市交通規(guī)劃教育咨詢重點(diǎn)基礎(chǔ)知識(shí)點(diǎn)
- 企業(yè)安全培訓(xùn)體系構(gòu)建與實(shí)踐
- 水田清理協(xié)議書
- 運(yùn)營(yíng)服務(wù)中心合同協(xié)議
- 車禍出院醫(yī)療協(xié)議書模板
- 水表互換協(xié)議書
- 朋友簽訂協(xié)議書
- 石家莊晨強(qiáng)塑料制品有限公司年產(chǎn)2000噸PVC塑料管項(xiàng)目環(huán)境影響評(píng)價(jià)報(bào)告表
- 數(shù)字貿(mào)易學(xué) 課件 第3章 消費(fèi)互聯(lián)網(wǎng)、產(chǎn)業(yè)互聯(lián)網(wǎng)與工業(yè)互聯(lián)網(wǎng)
- 第11課+宋元時(shí)期的經(jīng)濟(jì)、科技與文化【中職專用】《中國(guó)歷史》(高教版2023基礎(chǔ)模塊)
- 17.第8課第一框課件《我國(guó)的國(guó)體與政體》
- 建筑史智慧樹知到期末考試答案2024年
- JTG D60-2015 公路橋涵設(shè)計(jì)通用規(guī)范
- Unit8GreenLiving單元教學(xué)設(shè)計(jì)高中英語(yǔ)北師大版
- 籃球競(jìng)賽組織編排
- 扁桃體切除術(shù)后出血原因及預(yù)防處理
- 超聲危急值課件
- 米家智能家居設(shè)計(jì)方案
評(píng)論
0/150
提交評(píng)論