小型PLC的FPGA內(nèi)部功能模塊及模塊控制IP核的研制
發(fā)布時(shí)間:2020-04-10 06:34
【摘要】:本課題在課題組之前的項(xiàng)目基礎(chǔ)之上,主要研究小型PLC的FPGA內(nèi)部控制模塊,邏輯運(yùn)算模塊指令執(zhí)行的過程與堆棧操作編程的方法,優(yōu)化了定時(shí)器電路結(jié)構(gòu)和指令的編碼格式。設(shè)計(jì)以ARM+FPGA系統(tǒng)作為研制的新型的PLC的主機(jī),充分利用FPGA高速并行處理的優(yōu)勢,兩側(cè)通過雙口RAM對數(shù)據(jù)進(jìn)行交換處理。進(jìn)而完成對PLC指令的邏輯運(yùn)算、定時(shí)和計(jì)數(shù)等功能。并且在指令結(jié)束后,向ARM側(cè)發(fā)送指令運(yùn)行結(jié)果數(shù)據(jù)。主要取得如下成果:(1)對雙口RAM的各個(gè)存儲(chǔ)空間的讀寫特點(diǎn)進(jìn)行了分析,提出了避免出現(xiàn)讀寫沖突的解決的方法和設(shè)計(jì)原則;根據(jù)FPGA模塊的基本組成結(jié)構(gòu),設(shè)計(jì)了FPGA模塊的處理工作流程,對FPGA內(nèi)部控制模塊進(jìn)行了設(shè)計(jì),同時(shí)設(shè)計(jì)了FPGA和ARM之間的接口電路,實(shí)現(xiàn)了ARM側(cè)與FPGA側(cè)的通信。另外本研究對FPGA與ARM之間的雙口RAM的存儲(chǔ)區(qū)域進(jìn)行了規(guī)劃和地址的劃分。對兩側(cè)傳輸?shù)闹噶钸M(jìn)行了一定的修改,優(yōu)化了FPGA對各個(gè)功能模塊控制的時(shí)序。(2)針對FPGA邏輯運(yùn)算模塊,劃分梯形圖程序模塊,提出堆棧操作的基本原則,對于邏輯運(yùn)算模塊執(zhí)行指令的堆棧操作和執(zhí)行過程進(jìn)行了規(guī)范,進(jìn)而完善了設(shè)計(jì)的方案,確定指令執(zhí)行的過程與堆棧操作編程的方法,對時(shí)序進(jìn)行規(guī)劃和設(shè)計(jì)。重新設(shè)計(jì)和修改了部分的指令格式,完成IP核的封裝與邏輯運(yùn)算模塊的調(diào)試。(3)對于定時(shí)器模塊,提出其設(shè)計(jì)思路,設(shè)計(jì)定時(shí)器模塊內(nèi)部總線,1ms、10m和100ms定時(shí)器的三個(gè)模塊通過總線與定時(shí)器輸入輸出控制端口模塊連接,提出了對定時(shí)器定時(shí)溢出處理的方法,實(shí)現(xiàn)了基于FPGA的PLC內(nèi)部定時(shí)器的功能。并且優(yōu)化了定時(shí)器指令的編碼格式,完成了對定時(shí)器模塊的封裝。(4)完成了計(jì)數(shù)器模塊的設(shè)計(jì)。分析了計(jì)數(shù)器模塊的工作原理,計(jì)數(shù)信號(hào)的特點(diǎn),以及計(jì)數(shù)值已達(dá)到計(jì)數(shù)值的處理方法,實(shí)現(xiàn)了計(jì)數(shù)器模塊的功能。并且優(yōu)化了計(jì)數(shù)器的指令的編碼格式,完成了對計(jì)數(shù)器模塊的封裝。(5)針對設(shè)計(jì)完成后邏輯運(yùn)算模塊、定時(shí)器模塊以及計(jì)數(shù)器模塊進(jìn)行了仿真驗(yàn)證。編寫testbench仿真測試文件在modelsim軟件觀察仿真波形,最后將仿真無誤的程序下載到開發(fā)板上進(jìn)行板級(jí)驗(yàn)證,測試結(jié)果正確。
【圖文】:
11圖2-6 雙口RAM IP核參數(shù)配置示意圖Figure 2-6 Schematic diagram of dual port RAM IP core parameter configuration2.4.4 雙口 RAM 的時(shí)序設(shè)計(jì)雙口 RAM 的讀寫時(shí)序的準(zhǔn)確設(shè)計(jì)是 ARM-FPGA 系統(tǒng)正常數(shù)據(jù)交換的前提條件。當(dāng) FPGA 總控制器發(fā)來 BLK 為“0”時(shí),片選 B 端口,接口電路 B 端口開始工作,,根據(jù)雙口 RAM 的地址空間分配原則,當(dāng) B 的地址值為 8’h80 時(shí),選中雙口 RAM 存儲(chǔ)區(qū)。寫操作:當(dāng)接口電路的 B 端口的寫信號(hào)為低電平時(shí),F(xiàn)PGA 側(cè)開始對雙口 RAM進(jìn)行數(shù)據(jù)寫入操作。為了保證數(shù)據(jù)的準(zhǔn)確傳輸,為該數(shù)據(jù)傳輸過程分配 4 個(gè)時(shí)鐘周期。讀操作:接口電路的 B 端口讀信號(hào)為低電平時(shí)
內(nèi)部總線有 16 位數(shù)據(jù)線,其端口由組合邏輯三態(tài)門構(gòu)成,5 位地址線,讀、號(hào)線,復(fù)位線,各個(gè)功能模塊中斷申請線。在確定內(nèi)部總線的讀/寫時(shí)序,統(tǒng)一各個(gè)功能模塊的讀指令的時(shí)序的基礎(chǔ)上內(nèi)部控制器。其基本思路是按照計(jì)算機(jī)總線時(shí)序控制的方法,寫操作時(shí),先發(fā)令/數(shù)據(jù),選通數(shù)據(jù)輸出的邏輯三態(tài)門導(dǎo)通,然后地址信息,再就是寫信號(hào),將三態(tài)門設(shè)置為高阻狀態(tài);讀操作時(shí),先發(fā)出地址信息(選通數(shù)據(jù)輸入的邏輯三導(dǎo)通),然后讀信號(hào),內(nèi)部控制器讀入數(shù)據(jù)/運(yùn)算結(jié)果,將邏輯三態(tài)門設(shè)置為高態(tài)。.3 FPGA 內(nèi)部控制器電路模塊的設(shè)計(jì).3.1ARM 側(cè)中斷檢測電路當(dāng)雙口 RAM 中收到 ARM 側(cè)寫入的數(shù)據(jù)后,ARM 側(cè)每發(fā)送一條指令進(jìn)去,送中斷給 FPGA 側(cè),F(xiàn)PGA 側(cè)通過接收中斷信號(hào)線 INT_a 的信號(hào)來決定是否讀息。本設(shè)計(jì)中通過中斷檢測電路來“偵聽”ARM 側(cè)的信號(hào)。
【學(xué)位授予單位】:廣西科技大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2019
【分類號(hào)】:TP273;TN791
本文編號(hào):2621879
【圖文】:
11圖2-6 雙口RAM IP核參數(shù)配置示意圖Figure 2-6 Schematic diagram of dual port RAM IP core parameter configuration2.4.4 雙口 RAM 的時(shí)序設(shè)計(jì)雙口 RAM 的讀寫時(shí)序的準(zhǔn)確設(shè)計(jì)是 ARM-FPGA 系統(tǒng)正常數(shù)據(jù)交換的前提條件。當(dāng) FPGA 總控制器發(fā)來 BLK 為“0”時(shí),片選 B 端口,接口電路 B 端口開始工作,,根據(jù)雙口 RAM 的地址空間分配原則,當(dāng) B 的地址值為 8’h80 時(shí),選中雙口 RAM 存儲(chǔ)區(qū)。寫操作:當(dāng)接口電路的 B 端口的寫信號(hào)為低電平時(shí),F(xiàn)PGA 側(cè)開始對雙口 RAM進(jìn)行數(shù)據(jù)寫入操作。為了保證數(shù)據(jù)的準(zhǔn)確傳輸,為該數(shù)據(jù)傳輸過程分配 4 個(gè)時(shí)鐘周期。讀操作:接口電路的 B 端口讀信號(hào)為低電平時(shí)
內(nèi)部總線有 16 位數(shù)據(jù)線,其端口由組合邏輯三態(tài)門構(gòu)成,5 位地址線,讀、號(hào)線,復(fù)位線,各個(gè)功能模塊中斷申請線。在確定內(nèi)部總線的讀/寫時(shí)序,統(tǒng)一各個(gè)功能模塊的讀指令的時(shí)序的基礎(chǔ)上內(nèi)部控制器。其基本思路是按照計(jì)算機(jī)總線時(shí)序控制的方法,寫操作時(shí),先發(fā)令/數(shù)據(jù),選通數(shù)據(jù)輸出的邏輯三態(tài)門導(dǎo)通,然后地址信息,再就是寫信號(hào),將三態(tài)門設(shè)置為高阻狀態(tài);讀操作時(shí),先發(fā)出地址信息(選通數(shù)據(jù)輸入的邏輯三導(dǎo)通),然后讀信號(hào),內(nèi)部控制器讀入數(shù)據(jù)/運(yùn)算結(jié)果,將邏輯三態(tài)門設(shè)置為高態(tài)。.3 FPGA 內(nèi)部控制器電路模塊的設(shè)計(jì).3.1ARM 側(cè)中斷檢測電路當(dāng)雙口 RAM 中收到 ARM 側(cè)寫入的數(shù)據(jù)后,ARM 側(cè)每發(fā)送一條指令進(jìn)去,送中斷給 FPGA 側(cè),F(xiàn)PGA 側(cè)通過接收中斷信號(hào)線 INT_a 的信號(hào)來決定是否讀息。本設(shè)計(jì)中通過中斷檢測電路來“偵聽”ARM 側(cè)的信號(hào)。
【學(xué)位授予單位】:廣西科技大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2019
【分類號(hào)】:TP273;TN791
【相似文獻(xiàn)】
相關(guān)碩士學(xué)位論文 前1條
1 張漢卿;小型PLC的FPGA內(nèi)部功能模塊及模塊控制IP核的研制[D];廣西科技大學(xué);2019年
本文編號(hào):2621879
本文鏈接:http://sikaile.net/kejilunwen/dianzigongchenglunwen/2621879.html
最近更新
教材專著