freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于fpga的多功能溫度控制器設(shè)計(jì)(已改無錯(cuò)字)

2022-08-22 21:18:03 本頁面
  

【正文】 統(tǒng) 流程圖。 FPGA 需要完成 DS18B20 的初始化、讀取 DS18B20 的 48 位 ID 號、啟動(dòng) DS18B20溫度轉(zhuǎn)換、讀取溫度轉(zhuǎn)化結(jié)果。讀取 48 位 ID 號和讀取溫度轉(zhuǎn)換結(jié)果過程中, FPGA 還要實(shí)現(xiàn) CRC 校驗(yàn)碼的計(jì)算,保證通信數(shù)據(jù)的可靠性 。 以上操作反復(fù)進(jìn)行,可以用狀態(tài)機(jī)來實(shí)現(xiàn)。狀態(tài)機(jī)的各種狀態(tài)如下: RESET1:對 DS18B20 進(jìn)行第一次復(fù)位,然后進(jìn)入等待,等待 800μ s 后,進(jìn)入下一狀態(tài)。 CMD33:對 DS18B20 發(fā)出 0 33 命令,讀取 48 位 ID 值。 GET_ID:從 DS18B20 中讀取 48 位 ID 值。 RESET2:對 DS18B20 進(jìn)行第二次復(fù)位,然后進(jìn)入 DELAY 狀態(tài)等待 800μ s 后,進(jìn)入 CMDCC 狀態(tài)。 北華航天工業(yè)學(xué)院畢業(yè)論文 18 CMDCC:向 DS18B20 發(fā)出忽略 ROM 命令,為進(jìn)入下一狀態(tài)作準(zhǔn)備。 CMD44:向 DS18B20 發(fā)出啟動(dòng)溫度轉(zhuǎn)換命令,然后進(jìn)入等待, 900ms 后進(jìn)入下一狀態(tài)。 RESET3:對 DS18B20 進(jìn)行第三次復(fù)位。 CMDCC2:向 DS18B20 發(fā)出忽略 ROM 命令,為了進(jìn)入下一狀態(tài)作準(zhǔn)備。 GET_TEMP:從 DS18B20 中讀取溫度測量數(shù)值。 DELAY:等待狀態(tài)。 WRITE_BIT:向 DS18B20 中寫入數(shù)據(jù)位狀態(tài)。 READ_BIT:從 DS18B20 中讀取數(shù)據(jù)位狀態(tài)。在該狀態(tài)中每讀取 1 位數(shù)據(jù),同時(shí)完成該數(shù)據(jù)位的 CRC 校驗(yàn)計(jì)算。所有數(shù)據(jù)都讀取后,還要讀取 8 位 CRC 校驗(yàn)位。這 8 位校驗(yàn)位也經(jīng)過 CRC 校驗(yàn)計(jì)算,如果通信沒有錯(cuò)誤,總的 CRC 校驗(yàn)結(jié)果應(yīng)該是 0。這時(shí)可將通信正確的數(shù)據(jù)保存到 id 和 temp_data 寄存器中。 圖 52 溫度采集流程圖 北華航天工業(yè)學(xué)院畢業(yè)論文 19 FPGA 溫度顯示模塊的設(shè)計(jì) LED 有段碼和位碼之分,所謂段碼就是讓 LED 顯示出“ 8.”的八位數(shù)據(jù),一般情況下要通過一個(gè)譯碼電路,將輸入的 4 位 2 進(jìn)制數(shù)轉(zhuǎn)換為與 LED 顯示對應(yīng)的 8 位段碼。位碼也就是 LED 的顯示使能端,對于共陽級的 LED 而言,高電平使能。要讓 8 個(gè) LED 同時(shí)工作,顯示數(shù)據(jù),就是要不停的循環(huán)掃描每一個(gè) LED,并在使能每一個(gè) LED 的同時(shí),輸入所需顯示的數(shù)據(jù)對應(yīng)的 8 位段碼。雖然 8 個(gè) LED 是依次顯示,但是受視覺 暫留 的影響,看到的現(xiàn)象是 8 個(gè) LED 同時(shí)工作。 多個(gè)數(shù)碼管動(dòng)態(tài)掃描顯示,是將所有數(shù)碼管的相同段并聯(lián)在一起,通過選通信號分時(shí)控制各個(gè) 數(shù)碼管的公共端,循環(huán)點(diǎn)亮多個(gè)數(shù)碼管,并利用人眼的視覺暫留現(xiàn)象,只要掃描的頻率大于 50Hz,將看不到閃爍現(xiàn)象。 如圖 53 采用 LG3641BH LED 數(shù)碼管顯示電路采用 4 位共陽 LED 數(shù)碼管從 FPGA 的四個(gè)串口輸出段碼。用 PNP 三極管進(jìn)行驅(qū)動(dòng), 當(dāng)相應(yīng)的端口變成低電平時(shí),驅(qū)動(dòng)相應(yīng)的三極管會(huì)導(dǎo)通,驅(qū)動(dòng)三極管給數(shù)碼管相應(yīng)的位供電,這時(shí)只要 FPGA 芯片 DT[07]送出數(shù)字的顯示代碼,數(shù)碼管就能正常顯示數(shù)字。 圖 53 數(shù)碼管顯示電路 FPGA 數(shù)據(jù) 比較模塊的設(shè)計(jì) 閾值的控制系統(tǒng)是本設(shè)計(jì)區(qū) 別傳統(tǒng)溫度控制器 的主要特點(diǎn),本設(shè)計(jì)主要采用將DS18B20 所采集的溫度信號通過一個(gè) 8 位二進(jìn)制數(shù)的比較器與所需要的閾值進(jìn)行比較,輸出一個(gè)高電平或低電平。 FPGA 8 位二進(jìn)制比較器的程 序設(shè)計(jì)主要在于比較過程的邏輯設(shè)計(jì),比較器的比較原理是二進(jìn)制數(shù)的高位逐步 比較, 首先比較最高位, 如果 最 高位不想等,則 直接輸出高電平北華航天工業(yè)學(xué)院畢業(yè)論文 20 (低電平),如果 最 高位相等則比較次高位,逐位一步一步的比較下去。 如圖 54 是一個(gè)進(jìn)行 8 位二進(jìn)制數(shù) 的數(shù)據(jù) 比較器。 圖 54 數(shù)據(jù)比較模塊元器件 FLEX 10K 開發(fā)箱上的下載 本設(shè)計(jì)所使用的是 FLEX 10K 系列開發(fā)箱。 FLEX 10K 是 ALTERA 公司研制的第一個(gè)嵌入式的 PLD,它具有高密度、低成本、低功率等特點(diǎn),是當(dāng)今 ALTERA CPLD 中應(yīng)用前景最好的器件系列之一。它采用了重復(fù)可構(gòu)造的 CMOS SRAM 工藝,并把連續(xù)的快速通道互連與獨(dú)特的嵌入式陣列結(jié)構(gòu)相結(jié)合,同時(shí)可結(jié)合眾多可編程器件來完成普通門陣列的宏功能。每一個(gè) FLEX 10K 器件均包括一個(gè)嵌入式陣列和一個(gè)邏輯陣列,因而設(shè)計(jì)人員可輕松地開發(fā)集存貯器、數(shù)字信號處理器及特殊邏輯等強(qiáng)大功能于一身的芯片。 JTAG 方式下載接口:下載電纜一端和 計(jì)算機(jī)的打印機(jī)并口( LPT1)相 連,另一端連接到實(shí)驗(yàn)板箱的雙排 10 孔排插座上。編程下載時(shí),在 EDA 軟件上選擇 ByteBlaster( MV)的硬件下載方式。 數(shù)碼管顯示接口: 8 個(gè) 8 段數(shù)碼管顯示器(共陰極)。位選驅(qū)動(dòng)輸出接口 4 個(gè): sel3sel0,字型碼驅(qū)動(dòng)輸出接口 8 個(gè): a, b, c, d, f, g, h, dq。 FLEX10K 系列的 FPGA: EPF10K10LC844 的引腳如表 51 表 51 EPF10K10LC844 的引腳 Pin Name Pin Pin Name Pin MSEL0(2) 31 I/O,CS(4) 79 MSEL1(2) 32 I/O,RDYnBSY(4) 70 nSTATUS(2) 55 I/O,CLKUSE(4) 73 nCONFIG(2) 34 I/O,DATA7(4) 5 DCLK(2) 13 I/O,DATA6(4) 6 CONF_DONE(2) 76 I/O,DATA5(4) 7 北華航天工業(yè)學(xué)院畢業(yè)論文 21 nCE(2) 14 I/O,DATA4(4) 8 nCEO(2) 75 I/O,DATA3(4) 9 TDI(2) 15 I/O,DATA2(4) 10 TDO(2) 74 I/O,DATA1(4) 11 TCK(2) 77 I/O,DATA0(2)(5) 12 TMS(2) 57 Dedicated Inputs 2,42,44,84 TRST(2) 56 Dedicated Clock pins 1,43 I/O,INIT_DONE 69 I/O,DEV_CLRn(3) 3 I/O,nRS(4) 81 VCCINT 4,20,33,40,45,63 I/O,nCS(4) 78 GNDINT 26,41,46,68,82 Total User I/O pin(6) 59 下載前需要對所設(shè)計(jì)的元器件進(jìn)行引腳的鎖定,其中須特別注意的是時(shí)鐘 信號 必須鎖定 1 號或 43 號引腳 ,鎖定其他引腳都無法正確的輸入時(shí)鐘信號 ;動(dòng)態(tài)顯示數(shù)碼管的位碼引腳的鎖定必須鎖定 I/O 口,否則也不能正常驅(qū)動(dòng)動(dòng)態(tài)數(shù)碼管顯示。 北華航天工業(yè)學(xué)院畢業(yè)論文 22 第 6 章 結(jié)論 在此次的數(shù)字溫度控制器的 設(shè)計(jì)過程中,更進(jìn)一步地熟悉有關(guān)數(shù)字電路的知識和具體應(yīng)用。學(xué)會(huì)了利用 QuarterII 軟件進(jìn)行原理圖的繪制,硬件描述語言 VHDL 的編寫,程序的仿真等工作。并能根據(jù)仿真結(jié)果分析設(shè)計(jì)的存在的問題和缺陷, 從而進(jìn)行程序的調(diào)試和完善。 在設(shè)計(jì)電路中,往往是先仿真后連接實(shí)物圖,但是 有時(shí)候仿真和電路連接并不是完全一致的,例如在對具體模塊的仿真的過程中,往往沒有考慮到整體設(shè)計(jì)的層面以及與上下模塊接口的設(shè)計(jì)。再加上器件對信號的延時(shí)等問題,實(shí)際下載到實(shí)驗(yàn)箱上后會(huì)出現(xiàn)一系列的問題,因 此 軟件 仿真 和在開發(fā)板上進(jìn)行硬件下 載 還是有一定區(qū)別的。 本設(shè)計(jì)是采用硬件描述語言和 FPGA 芯片相結(jié)合進(jìn)行的數(shù)字 控制器 的研究,從中可以看出 EDA 技術(shù)的發(fā)展在一定程度上實(shí)現(xiàn)了硬件設(shè)計(jì)的軟件化。設(shè)計(jì)的過程變的相對簡單,容易修改等優(yōu)點(diǎn),相信隨著電子技術(shù)的 發(fā)展,數(shù)字 控制器 的功能會(huì)更加多樣化,滿足人們的各種需 附 錄 附錄 1 開發(fā)板源程序 時(shí)鐘分頻模塊 library IEEE。 use 。 use 。 entity div is port( clk: in std_logic。 20MHz clk1m: out std_logic)。 end div。 architecture Behavioral of div is signal clk_temp : std_logic。 begin process (clk) variable t1: std_logic_vector(3 downto 0)。 begin if rising_edge(clk) then if t1=1001 then t1:=0000。 clk_temp=39。139。 else t1:=t1+1。 clk_temp=39。039。 end if。 end if。 end Process。 process(clk_temp) variable t2: std_logic。 begin if rising_edge(clk_temp) then t2:=not t2。 clk1m=t2。 end if。 end process。 end Behavioral。 DS18B20 驅(qū)動(dòng)模塊 library IEEE。 use 。 use 。 use 。 entity state is port(clk1m : in std_logic。 原程序可能為 20MHz dq : inout std_logic。 en:in std_logic。 rst: in std_logic。 TMP : out std_logic_vector(11 downto 0)。 sdh : out std_logic_vector(7 downto 0)。 xdl : out std_logic_vector(7 downto 0)。 LED,LED2,LED3: out std_logic)。 end state。 architecture Behavioral of state is TYPE STATE_TYPE is (RESET,CMD_CC,WRITE_BYTE,WRITE_LOW,WRITE_HIGH,READ_BIT, CMD_44,CMD_48,CMD_4E,CMD_BE, GET_TMP,WAIT4MS)。 signal STATE: STATE_TYPE:=RESET。 signal write_temp : std_logic_vector(7 downto 0):=00000000。 signal tmp_bit : std_logic。 signal WRITE_BYTE_CNT : integer range 0 to 8:=0。 signal WRITE_LOW_CNT : integer range 0 to 2:=0。 signal WRITE_HIGH_CNT : integer range 0 to 2:=0。 signal READ_BIT_CNT : integer range 0 to 3:=0。 signal GET_TMP_CNT : integer range 0 to 13:=0。 signal t : integer range 0 to 100001:=0。 signal temp : std_logic。 signal WRITE_BYTE_FLAG : integer range 0 to 7:=0。 begin sdh=10010110。 xdl=00001000。 STATE_TRANSITION:process(STATE,clk1m) begin if rising_edge(clk1m) then if (en=39。039。) then press en write the up and down limitation STATE=CMD_4E。 end if。 if(rst=39。039。) then STATE=RESET。 else case STATE is when RESET= LED2=39。039。 LED3=39。039。 if (t=0 and t500) then dq=39。039。 t=t+1。 STATE=RESET。 elsif (t=500 and t510) then
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1