版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
關(guān)于PWM發(fā)生器的性能分析和應(yīng)用介紹在這篇實(shí)例之前,說點(diǎn)自己的兩點(diǎn)感受。一、這個zynq開發(fā)流程基本上是這樣一個節(jié)奏:PlanAhead為軟硬件結(jié)合的載體,在此可以設(shè)計(jì)硬件,然后將硬件導(dǎo)出到軟件設(shè)計(jì)?;玖鞒倘鐖D:這里三個軟件切換來切換去,極其麻煩,并且其中還可能要FPGA開發(fā)用到的ISE,應(yīng)該不是xilinx想要的結(jié)果,預(yù)計(jì)以后會集成到一個軟件上。二、剛使用這個平臺不久,碰到bug不少,說明xilinx推出時準(zhǔn)備不是很充分。用戶IPcore與PS交互數(shù)據(jù)分兩種方案:一種是通過EMIO交換數(shù)據(jù),將PL的IP核當(dāng)做系統(tǒng)外設(shè),性能有所欠缺。常用的是第二種:滿足AXI協(xié)議的IP核。此IPcore與AXI密切相關(guān),難度較高。為降低難度,xilinx提供wizard自動生成axi總線相關(guān)代碼,做好地址譯碼邏輯、讀寫控制邏輯,并在工作區(qū)生成一些寄存器。用戶PL邏輯通過讀寫這些寄存器與PS交互。以PWM發(fā)生器為例,有兩個寄存器,一個調(diào)節(jié)周期的寄存器,一個調(diào)節(jié)占空比。PlanAhead建立工程,添加嵌入式資源進(jìn)入XPS,添加xml配置之后,進(jìn)入XPSHardware—>CreateorImportPeriphera。開始添加IPcorewizard過程,注意在IPinterface階段,userlogicmastersupport表示ip核內(nèi)部是否要加入master接口,一般用在較復(fù)雜外設(shè)。softwarereset和includedataphasetimer分別為是否開啟軟件中斷和數(shù)據(jù)周期計(jì)時器,在此我們不要這些,防止生成多余的AXImaster接口、復(fù)位和計(jì)時模塊。下一步選擇寄存器數(shù)量,這里我們用到占空比和周期reg,因此設(shè)為2。下一步仿真平臺不要,下一步勾選二三項(xiàng),第一項(xiàng)是生成verilogVHDL,我要VHDL,不選,二表示生成一個ISE工程便于測試和調(diào)試IPcore。三表示生成軟件驅(qū)動庫文件,方便在SDK中使用IPcore。完成wizard。配置完成,接下來添加剛完成的IPcore,在IPcatalog中雙擊添加,不用修改ok即可在businterface可找到剛添加的pwm_ip_0,右鍵之,viewMPD,添加pwm_out接口,1bit的輸出PORTpwm_ou="",DIR=o這里添加的代碼在systemassemblyview中的port映射出添加的pwm_out,問題:在wizard完成后出現(xiàn)pwm_ip.vhd文件沒有user_logic的component塊。原因:勾選Generatestub‘user_logic’templateinveriloginsteadofVHDL之后會生成。右鍵pwm_ip_0,選擇browserHDLsources選pwm_ip.hdl在component加用戶邏輯user_logic,繼續(xù)右鍵pwm_ip_0,選擇browserHDLsources選user_logic.v添加自己要加的功能,這里我們加pwm發(fā)生功能,代碼如下wireovprd;//下一個周期開始信號reg[C_SLV_DEIDTH-1:0]pwm_counter;wirepre_pwm_out;//預(yù)輸出信號always@(posedgeBus2IP_Clk)beginif(!Bus2IP_Clk||ovprd||~slv_reg1[31])//時鐘0,下一個周期開始1,占空比reg31位0計(jì)數(shù)器復(fù)位pwm_counter=32'h8000_0000;elseif(slv_reg1[31])pwm_counter=pwm_counter+1'b1;elsepwm_counter=pwm_counter;endassignovprd=(pwm_counter[30:0]==slv_reg0[30:0])?1'b1:1'b0;assignpre_pwm_out=(slv_reg1<pwm_counter)?1'b0:1'b1;assignpwm_out=pre_pwm_out&slv_reg1[31];然后project—>RescanUserRepositories更新,可以在ports中看到新添加的引腳,選擇exteralports連接管腳。在Address中右上角GeneratedAddress自動分配地址Project—>DesignRuleCheck沒有錯誤后關(guān)閉XPS回到PA右鍵module_1,createtopHDLaddsource選擇添加約束,對應(yīng)之前的工程名runsynthesis,出現(xiàn)錯誤,如下圖1重新建程序,更改新建xps工程名以及PA的約束名為system,而不使用module_1默認(rèn)名,另外一個改動是wizard建立ipcore過程中去掉dataphasetimer模塊。之后錯誤消失,但是警告如圖2,這個警告是由于約束地址造成,關(guān)系不大。下一步打開opensynthesizeddesign(不點(diǎn)開這個在PA界面找不到IOports標(biāo)簽)打開IOports,設(shè)置pwm_out的引腳,然后保存(點(diǎn)擊PA的保存標(biāo)簽會讓你選擇一個ucf文件來保存,不需要自己另外寫)。GenerateBitstream然后導(dǎo)出硬件到SDK,新建xilinxcproject,選擇helloworld模板。注意接下來是將自己的pwm_ip導(dǎo)入的過程,跟上一個實(shí)驗(yàn)不一樣的地方。選擇xilinxtools—>Repositories點(diǎn)擊new找到工程路徑到edk,ok。右擊hello_world_bsp_0,選擇BoardSupportPackageSetting,找到drivers中的pwm_ip_0,將drive欄目下的generic修改為pwm_ip,自此自設(shè)的IP核驅(qū)動就已經(jīng)添加進(jìn)來了。這里會報(bào)錯,這是xilinx的一個bug,在hello_world_bsp_0上有一個紅叉,在pwm_ip_selftest.c中加入#definePWM_IP_USER_NUM_REG_2,添加之后還是報(bào)錯,如圖3注釋掉添加C代碼PWM_IP_mWriteReg(XPAR_PWM_IP_0_BASEADDR,0,10000);PWM_IP_mWriteReg(XPAR_PWM_IP_0_BASEADDR,4,0X80000000+5000);//5000/10000=50%保存報(bào)錯'XPAR_PWM_IP_0_BASEADDR'undeclared(firstuseinthisfunction)修改后報(bào)錯cannotfind-lxil(可能是project_1沒有改為對應(yīng)pwm_ip_test,導(dǎo)致庫文件宏定義之類的不能調(diào)用)發(fā)現(xiàn)PWM_IP_USER_NUM_REG2多寫了個下劃線的錯誤。修改后錯誤依舊,貌似不會重新編譯。因此要重新從PA導(dǎo)出硬件到SDK。選擇XilinxTools->ProgramFPGA在hello_world_0工程上右擊,選擇RunAs->LaunchonHardware運(yùn)行出現(xiàn)各種錯誤,如下圖4、5換成memorytest模板后,萬用表查看JA1約為1.2V。用示波器看波形結(jié)果是正確的。helloworld模板不行,具體原因不明。總結(jié):第一、添加user_logic.v時要求為verilog代碼,在wizard過程中嘗試過使用VHDL而不是verilog,結(jié)果是生成的pwm_ip.hdl中沒有user_logic的component模塊。而pwm_ip.hdl又是VHDL語言,極其不便。第二、添加約束時使用默認(rèn)的module
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度私人買賣房屋合同收條及房屋裝修改造工程監(jiān)理協(xié)議
- 教育機(jī)構(gòu)洗衣房2025年度應(yīng)急預(yù)案制定合同3篇
- 2025年度民間借貸擔(dān)保合同范本(旅游產(chǎn)業(yè)貸款擔(dān)保服務(wù))
- 2025版教育機(jī)構(gòu)續(xù)借資金合同示范3篇
- 二零二五年度企業(yè)員工廉政教育與培訓(xùn)合同
- 二零二五年度農(nóng)田租賃與農(nóng)業(yè)保險(xiǎn)合作合同
- 2025年度智能家居家居裝修一體化合同4篇
- 二零二五版貿(mào)促會下載平臺進(jìn)口成套設(shè)備稅務(wù)合同4篇
- 二零二五年度醫(yī)療用床墊采購與質(zhì)量檢測合同3篇
- 個體工商戶合作經(jīng)營合同范本2024版版
- 定額〔2025〕1號文-關(guān)于發(fā)布2018版電力建設(shè)工程概預(yù)算定額2024年度價(jià)格水平調(diào)整的通知
- 2024年城市軌道交通設(shè)備維保及安全檢查合同3篇
- 【教案】+同一直線上二力的合成(教學(xué)設(shè)計(jì))(人教版2024)八年級物理下冊
- 湖北省武漢市青山區(qū)2023-2024學(xué)年七年級上學(xué)期期末質(zhì)量檢測數(shù)學(xué)試卷(含解析)
- 單位往個人轉(zhuǎn)賬的合同(2篇)
- 科研倫理審查與違規(guī)處理考核試卷
- GB/T 44101-2024中國式摔跤課程學(xué)生運(yùn)動能力測評規(guī)范
- 高危妊娠的評估和護(hù)理
- 2024年山東鐵投集團(tuán)招聘筆試參考題庫含答案解析
- 兒童10歲生日-百日宴-滿月酒生日會成長相冊展示(共二篇)
- 2023年高考全國甲卷數(shù)學(xué)(理)試卷【含答案】
評論
0/150
提交評論