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

正文內(nèi)容

畢業(yè)設(shè)計(jì)-直接數(shù)字頻率合成器設(shè)計(jì)(編輯修改稿)

2025-01-08 18:29 本頁面
 

【文章內(nèi)容簡介】 M 表地址位寬 9 rom_d_width : integer := 10)。 正弦 ROM 表數(shù)據(jù)位寬 port( clk: in std_logic。 DDS 合成時(shí)鐘 freqin: in std_logic_vector (freq_width1 downto 0)。 頻率字輸入 ddsout: out std_logic_vector(rom_d_width1 downto 0))。 DDS 輸出 end entity ddsc。 architecture behave of ddsc is signal acc : std_logic_vector(adder_width1 downto 0)。 signal romaddr : std_logic_vector(romad_width1 downto 0)。 signal freqw : std_logic_vector(freq_width1 downto 0)。 begin process (clk) begin if(clk39。event and clk = 39。139。) then freqw = freqin。 頻率字輸入同步 acc = acc + freqw。 相位累加器 end if。 end process。 romaddr =acc(adder_width1 downto 0)。 sinrom sim_rom : lpm_rom LPM_rom 調(diào)用 generic map (lpm_width = rom_d_width, lpm_widthad = romad_width, lpm_address_control = UNREGISTERED, lpm_outdate = REGISTERED, lpm_file = ) 指向 rom 文件 PORT MAP ( outclock = clk,address = romaddr,q = ddsout )。 end architecture behave。 這段程序中的正弦 ROM 查找表是采用了 Altera 的 LPM_ROM 模塊,所以該程序必須在 Altera 含有 EAB(嵌入式陣列塊)的器件上使用,如 FLEX10K 系列,也可以經(jīng)過適當(dāng)?shù)霓D(zhuǎn)化,在其他 FPGA 上實(shí)現(xiàn)時(shí),使用其他 FPGA 廠家的 ROM 模塊。 “ ”是正弦 ROM 中的值,放置幅度-相位的查表值。 在上面的程序中大量使用了 generic語句,是為了便于在 DDS主模塊調(diào)用時(shí)更改設(shè) 計(jì),并放大使 VHDL 程序便于閱讀。 下面給出一個(gè)實(shí)際的正弦信號(hào)發(fā)生器的源程序 ,調(diào)用了 DDS 主模塊。 簡易頻率合成器 10 DDS(10bit 頻率字 ,1024 points 10bit out) library ieee。 use 。 entity ddsall is port( sysclk : in std_logic。 系統(tǒng)時(shí)鐘 ddsout : out std_logic_vector(9 downto 0)。 DDS 輸出 fpin : in std_logic_vector(9 downto 0))。 end ddsall。 architecture behave of ddsall is ponent ddsc is generic( freq_width : integer := 10。 輸入頻率字位寬 adder_width : integer := 10。 累加器位寬 romad_width : integer := 10。 正弦 ROM 表 地址位寬 port(clk:in std_logic。 DDS 合成時(shí)鐘 freqin:in std_logic_vector(freq_width1 downto 0)。 頻率字輸入 ddsout:out std_logic_vector(rom_d_width1 downto 0))。 DDS 輸出 end ponent ddsc。 signal clk : std_logic。 signal freqind : std_logic_vector(9 downto 0)。 頻率字 begin i_ddsc : ddsc 例化 DDSC port map(clk = clk,ddsout = ddsout,freqin = freqind)。 clk = sysclk。 process(sysclk) begin if(sysclk39。event and sysclk = 39。139。) then freqind(9 downto 0) = fpin。 end if。 end process。 end behave。 ROM查找表模塊 FPGA 的結(jié)構(gòu)是由基于半定制門陳列的設(shè)計(jì)思想而得到的。從本質(zhì)上講 , FPGA 是一種比半定制還方便的 ASIC 設(shè)計(jì)技術(shù)。 FPGA 的結(jié)構(gòu)主要分為三部分 : 可編程邏輯塊、可編程IO 模塊、可編程內(nèi)部連線。 11 查找表型 FPGA的可編程邏輯單元是由功能為查找表的 SRAM構(gòu)成邏輯函數(shù)發(fā)生器 , 實(shí)現(xiàn)與其它功能塊的可編程連接。在此,選用 FLEX10K系列 FPGA作為目標(biāo)芯片。 FLEX10K系列是 Altera公司于 1995年推出的產(chǎn)品,它的集成度達(dá)到了 10萬門,而且在 FPGA中首次集成了嵌入式存儲(chǔ)器塊的芯片。它是查找表型 FPGA , 由輸入-輸出控制模塊 ( IOC )、嵌入式陣列塊 (EAB)、邏輯陣列塊 (LAB)和快速通道 (FASTTRACK)構(gòu)成。其中 EAB是一種輸入輸出端帶有寄存器的非常靈活的 RAM ,它既可以用來作為存儲(chǔ)器使用 ,也可以用來實(shí)現(xiàn)邏輯功能。每一個(gè) EAB有容量為 2048位的 RAM , 可配置為存儲(chǔ)器或邏輯函數(shù), FLEX10K系列中不同型號(hào)的芯片其中包含的 EAB的數(shù)目不同 , FLEX10K10有 3個(gè) EAB。另外 Altera還在它們公司的 VHDL設(shè)計(jì)平臺(tái) Quartus II上提供了 LPM ROM核,利用 MAX+PLUS綜合可以自動(dòng)編譯包含 LPM ROM元件的文件 , 在 FLEX10K10的 EAB上產(chǎn)生 ROM功能。本設(shè)計(jì)利用LPM ROM核預(yù)置正弦查找表在 FPGA上。 “ ”是正弦 ROM中的值,放置幅度-相位的查表值, 可由文本形式生成 ,也可由高級(jí)語言如 C語言生成。 ROM查找表在整個(gè)設(shè)計(jì)中是一個(gè)比較重要的部分 , 為了保證波形的平滑,設(shè)計(jì)時(shí)可將一個(gè)周期分為 1024個(gè)點(diǎn)。但是,點(diǎn)數(shù)太多時(shí),用文本方式輸入可能有很多困難。因此,應(yīng)當(dāng)用 C語言描述正弦方程式,最后再將其轉(zhuǎn)化為 所需的 mif文件。下面是用 Turbo C在“ ”文件里產(chǎn)生 1024個(gè)點(diǎn)的正弦波數(shù)據(jù)的源程序: include include main( ) {int i。float s。 for(i=0。i1024。i++) { s = sin(atan(1)*8*i/1024)。 printf(%d : %d。\n,i,(int)((s+1)*1023/2))。 } } 把上述 C 程序編譯成程序后,在 DOS 命令行下執(zhí)行: program 。 生成 文件,再加上下面的頭部說明即可 具體參數(shù) : LPM_WIDTH: 輸出數(shù)據(jù)的寬度 (1~ 64任選 ); LPM_WIDTHAD: 輸入地址的寬度 (1~ 12任選 ); LPM_FILE: 存儲(chǔ)器初始化文件名 (.mif或 .hex)。本設(shè)計(jì)中各參數(shù)設(shè)置如下: LPM_WIDTH =10; LPM_WIDTHAD=10; LPM_OUTDATA=”UNREGISTERED”; LPM_ADDRESS_CONTROL=UNREGISTERED; LPM_FILE=” 實(shí)際上, DDS 還可以產(chǎn)生任意頻率的正弦信號(hào)發(fā)生器,可用來作任意波形發(fā)生器, 12 只要改變 ROM 查找表中的數(shù)據(jù)就可以 實(shí)現(xiàn),程序中介紹了正弦波形實(shí)現(xiàn),直接頻率合成技術(shù)還有一個(gè)很重要的為了讓頻率發(fā)生器產(chǎn)生任意波形,從上面直接數(shù)字頻率合成的原理可知,其輸出波形取決于波形存儲(chǔ)器的數(shù)據(jù)。因此,產(chǎn)生任意波形的方法取決于向該存儲(chǔ)器( RAM)提供數(shù)據(jù)的方法,只需要改變查找表中的數(shù)據(jù)。目前有以下幾種方法 [7]。 (1) 表格法 將波形畫在小方格紙上,縱坐標(biāo)按幅度相對值進(jìn)行二進(jìn)制量化,橫坐標(biāo)按時(shí)間間隔編制地址,然后制成對應(yīng) 的數(shù)據(jù)表格,按序放入 RAM。對經(jīng)常使用的定了“形”的數(shù)據(jù),可將數(shù)據(jù)固化于 ROM 或存入非易失性 RAM 中,以便反復(fù)使用。 (2) 數(shù)學(xué)方程法 對能用數(shù)學(xué)方程描述的波形,先將其方程(算法)存入計(jì)算機(jī),在使用時(shí)輸入方程中的有關(guān)參數(shù),計(jì)算機(jī)經(jīng)過運(yùn)算,提供波形數(shù)據(jù)。 (3) 折線法 對于任意波形可以用若干線段來逼近,只要知道每一段的起點(diǎn)和終點(diǎn)的坐標(biāo)位置( X1Y1和 X2Y2)就可以按照下式計(jì)算波形各點(diǎn)的數(shù)據(jù) Yi= Y1+ X1X2 12 YY ? (XiX1) (4) 作圖法 在計(jì)算機(jī)顯示器上移動(dòng)光標(biāo) 作圖,生成所需波形數(shù)據(jù),將次數(shù)據(jù)送入 RAM。 (5) 復(fù)制法 將其他儀器(如數(shù)字存儲(chǔ)示波器, XY 繪圖儀)獲得的波形數(shù)據(jù)通過微機(jī)系統(tǒng)總線傳輸給波形數(shù)據(jù)存儲(chǔ)器。 在自然界有很多無規(guī)律的現(xiàn)象,例如,雷電、地震及機(jī)器運(yùn)轉(zhuǎn)時(shí)產(chǎn)生的震動(dòng)等現(xiàn)象都是無規(guī)律的,甚至不能再現(xiàn)。為了研究這些問題,就要模擬這些現(xiàn)象的產(chǎn)生。過去只能采用很復(fù)雜的方法實(shí)現(xiàn),現(xiàn)在采用任意波形發(fā)生器則方便的多。 單片機(jī)輸入輸出控制模塊 為了實(shí)現(xiàn)多個(gè)查找表,從本設(shè)計(jì)的實(shí)際需要出發(fā),要求選用的單片機(jī)有較大的程序存儲(chǔ)空間,但對單片機(jī)的字長要求不 高,并從工程造價(jià)考慮,所選的單片機(jī)價(jià)格不能不能太高,綜合考慮后選擇了 ATMEL 公司的 AT89S52單片機(jī) (外形如圖 ), AT89 系列單片機(jī)是采用了 8051作為內(nèi)核,結(jié)合自己的技術(shù)優(yōu)勢構(gòu)成的,所以它和 8051是兼容的系列 [8]。因此, AT89 系列對于以 8051 為基礎(chǔ)的應(yīng)用系統(tǒng)而言,是十分容易進(jìn)行取代和轉(zhuǎn)換的。而且對于熟悉 8051 的用戶來說,選用 AT 系列單片機(jī)進(jìn)行系統(tǒng)設(shè)計(jì)也是輕而易舉的。 圖 雙列直插式 AT89S52 13 AT89S52 單片機(jī)具有下列特點(diǎn) [15]: ? 8K 字節(jié)在系統(tǒng)可編程 Flash 存儲(chǔ)器 ? 1000 次擦寫周期 ? 全靜態(tài)操作: 0Hz~ 33Hz ? 三級(jí)加密程序存儲(chǔ)器 ? 32 個(gè)可編程 I/O 口線 ? 三個(gè) 16 位定時(shí)器 /計(jì)數(shù)器 ? 八個(gè)中斷源 ? 全雙工 UART 串行通道 ? 低功耗空閑和掉電模式 ? 掉電后中斷可喚醒 ? 看門狗定時(shí)器 ? 雙數(shù)據(jù)指針 ? 掉電標(biāo)識(shí)符 本設(shè)計(jì)中采用單片機(jī)的 P0口讀入控制數(shù)據(jù)量,轉(zhuǎn)換為 DDS 的頻率輸入字, 根據(jù) 節(jié)的介紹, 輸入頻率輸入字 BΔθ =2N fout/ fclk, 注意 BΔθ 要取整,有時(shí)會(huì)有誤差, 數(shù)據(jù)的轉(zhuǎn)換通過查表的方法實(shí)現(xiàn)。這樣,既保證了一定的精度要求,又避免了復(fù)雜的浮點(diǎn)運(yùn)算,在基于微處理器的系統(tǒng)中通??蓪⒏↑c(diǎn)運(yùn)算轉(zhuǎn)換位定點(diǎn)運(yùn)算 。 查表法的前提是,必須事先找到溫度和輸出頻率誤差的二維關(guān)系表,表格的密度可根據(jù)精度的需要和微處理器的分配來決定。 溫漂誤差補(bǔ)償 單片機(jī)讀入的控制數(shù)據(jù)來自于前級(jí)的模擬電路,是通將微弱的電流信號(hào)通過放大器放大后,在經(jīng)過一級(jí) A/D 轉(zhuǎn)化而來,該模擬電路手溫度的影響會(huì)產(chǎn)生一定的飄移,為了最終的頻率能有較高的穩(wěn)定度,需要實(shí)現(xiàn)溫漂的自動(dòng)補(bǔ)償。 溫度信號(hào)的采集選用了 DS18B20, 數(shù)字化溫度傳感器 DS18B20 是美國 Dallas 半導(dǎo)體公司 新推出的一種改進(jìn)型智能溫度傳感器 [9],與傳統(tǒng)的熱敏電阻等測溫元件相 比,它能直接讀出被測溫度,并且可根據(jù)實(shí)際要求通過簡單編程實(shí)現(xiàn) 9~ 12 位的數(shù)字值讀數(shù)方式,其正面和俯視圖分別如圖 ( a)和圖 ( b)所示。 DS18B20 的性能特點(diǎn)可歸結(jié)如下: ? 獨(dú)特的單線接口僅需一個(gè)端口引腳進(jìn)行通訊 ? 多個(gè) DS18B20 可以并聯(lián)在唯一的 3 線上,實(shí)現(xiàn)簡單的多點(diǎn)組網(wǎng)功能 ? 無需外部器件 ? 可通過數(shù)據(jù)線供電,電壓范圍為 ~ 圖 ( a)正面圖 圖 ( b)頂面圖 14 ? 零待機(jī)功耗 ? 測溫范圍 55~ +125℃,以 ~ ℃遞增 ? 溫度以 9~ 12 位數(shù)字量讀出 ? 溫度數(shù)字量轉(zhuǎn)換時(shí)間 ~ 750ms ? 用戶可定義的非易失性 溫度報(bào)警設(shè)置 ? 報(bào)警搜索命令識(shí)別并標(biāo)志超過程序限定溫度(溫度報(bào)警條件)的器件 ? 負(fù)電壓特性,電源極性接反時(shí),溫
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1