lm75A溫度數字轉換器 FPGA讀寫實驗Verilog邏輯源碼quartus工程文件+文檔資料,FPGA為CYCLONE4系列中的EP4CE6E22C8. 完整的工程文件,可以做為你的學習設計參考。LM75A 是一個使用了內置帶隙溫度傳感器和模數轉換技術的溫度數字轉換器。它也是一個溫度檢測器,可提供一個過熱檢測輸出。LM75A 包含許多數據寄存器:配置寄存器用來存儲器件的某些配置,如器件的工作模式、OS 工作模式、OS 極性和OS 故障隊列等(在功能描述一節中有詳細描述);溫度寄存器(Temp),用來存儲讀取的數字溫度;設定點寄存器(Tos & Thyst),用來存儲可編程的過熱關斷和滯后限制,器件通過2 線的串行I2C 總線接口與控制器通信。LM75A 還包含一個開漏輸出(OS),當溫度超過編程限制的值時該輸出有效。LM75A 有3 個可選的邏輯地址管腳,使得同一總線上可同時連接8個器件而不發生地址沖突。LM75A 可配置成不同的工作條件。它可設置成在正常工作模式下周期性地對環境溫度進行監控或進入關斷模式來將器件功耗降至最低。OS 輸出有2 種可選的工作模式:OS 比較器模式和OS 中斷模式。OS 輸出可選擇高電平或低電平有效。故障隊列和設定點限制可編程,為了激活OS 輸出,故障隊列定義了許多連續的故障。溫度寄存器通常存放著一個11 位的二進制數的補碼,用來實現0.125℃的精度。這個高精度在需要精確地測量溫度偏移或超出限制范圍的應用中非常有用。正常工作模式下,當器件上電時,OS 工作在比較器模式,溫度閾值為80℃,滯后75℃,這時,LM75A就可用作一個具有以上預定義溫度設定點的獨立的溫度控制器。module LM75_SEG_LED ( //input input sys_clk ,input sys_rst_n ,inout sda_port ,//output output wire seg_c1 ,output wire seg_c2 ,output wire seg_c3 ,output wire seg_c4 ,output reg seg_a ,output reg seg_b ,output reg seg_c ,output reg seg_e ,output reg seg_d ,output reg seg_f ,output reg seg_g ,output reg seg_h , output reg clk_sclk );//parameter define parameter WIDTH = 8;parameter SIZE = 8;//reg define reg [WIDTH-1:0] counter ;reg [9:0] counter_div ;reg clk_50k ;reg clk_200k ;reg sda ;reg enable ;
上傳時間: 2021-10-27
上傳用戶:
FPGA采樣AD9238數據并通過VGA波形顯示例程 Verilog邏輯源碼quartus工程文件+文檔說明,FPGA型號Cyclone4E系列中的EP4CE6F17C8,quartus版本17.1。ADC 模塊型號為 AN9238,最大采樣率 65Mhz,精度為12 位。實驗中把 AN9238 的 2 路輸入以波形方式在 HDMI 上顯示出來,我們可以用更加直觀的方式觀察波形,是一個數字示波器雛形。module top( input clk, input rst_n, output ad9238_clk_ch0, output ad9238_clk_ch1, input[11:0] ad9238_data_ch0, input[11:0] ad9238_data_ch1, //vga output output vga_out_hs, //vga horizontal synchronization output vga_out_vs, //vga vertical synchronization output[4:0] vga_out_r, //vga red output[5:0] vga_out_g, //vga green output[4:0] vga_out_b //vga blue);wire video_clk;wire video_hs;wire video_vs;wire video_de;wire[7:0] video_r;wire[7:0] video_g;wire[7:0] video_b;wire grid_hs;wire grid_vs;wire grid_de;wire[7:0] grid_r;wire[7:0] grid_g;wire[7:0] grid_b;wire wave0_hs;wire wave0_vs;wire wave0_de;wire[7:0] wave0_r;wire[7:0] wave0_g;wire[7:0] wave0_b;wire wave1_hs;wire wave1_vs;wire wave1_de;wire[7:0] wave1_r;wire[7:0] wave1_g;wire[7:0] wave1_b;wire adc_clk;wire adc0_buf_wr;wire[10:0] adc0_buf_addr;wire[7:0] adc0_bu
上傳時間: 2021-10-27
上傳用戶:qingfengchizhu
FPGA讀寫SD卡讀取BMP圖片通過LCD顯示例程實驗 Verilog邏輯源碼quartus工程文件+文檔說明,FPGA型號Cyclone4E系列中的EP4CE6F17C8,quartus版本17.1。1 實驗簡介在前面的實驗中我們練習了 SD 卡讀寫,VGA 視頻顯示等例程,本實驗將 SD 卡里的 BMP 圖片讀出,寫入到外部存儲器,再通過 VGA、LCD 等顯示。本實驗如果通過液晶屏顯示,需要有液晶屏模塊。2 實驗原理在前面的實驗中我們在 VGA、LCD 上顯示的是彩條,是 FPGA 內部產生的數據,本實驗將彩條替換為 SD 內的 BMP 圖片數據,但是 SD 卡讀取速度遠遠不能滿足顯示速度的要求,只能先寫入外部高速 RAM,再讀出后給視頻時序模塊顯示module top( input clk, input rst_n, input key1, output [5:0] seg_sel, output [7:0] seg_data, output vga_out_hs, //vga horizontal synchronization output vga_out_vs, //vga vertical synchronization output[4:0] vga_out_r, //vga red output[5:0] vga_out_g, //vga green output[4:0] vga_out_b, //vga blue output sd_ncs, //SD card chip select (SPI mode) output sd_dclk, //SD card clock output sd_mosi, //SD card controller data output input sd_miso, //SD card controller data input output sdram_clk, //sdram clock output sdram_cke, //sdram clock enable output sdram_cs_n, //sdram chip select output sdram_we_n, //sdram write enable output sdram_cas_n, //sdram column address strobe output sdram_ras_n, //sdram row address strobe output[1:0] sdram_dqm, //sdram data enable output[1:0] sdram_ba, //sdram bank address output[12:0] sdram_addr, //sdram address inout[15:0] sdram_dq //sdram data);parameter MEM_DATA_BITS = 16 ; //external memory user interface data widthparameter ADDR_BITS = 24
標簽: fpga
上傳時間: 2021-10-27
上傳用戶:
基于FPGA設計的字符VGA LCD顯示實驗Verilog邏輯源碼quartus工程文件+文檔說明,通過字符轉換工具將字符轉換為 8 進制 mif 文件存放到單端口的 ROM IP 核中,再從ROM 中把轉換后的數據讀取出來顯示到 VGA 上,FPGA型號Cyclone4E系列中的EP4CE6F17C8,quartus版本17.1。module top( input clk, input rst_n, //vga output output vga_out_hs, //vga horizontal synchronization output vga_out_vs, //vga vertical synchronization output[4:0] vga_out_r, //vga red output[5:0] vga_out_g, //vga green output[4:0] vga_out_b //vga blue );wire video_clk;wire video_hs;wire video_vs;wire video_de;wire[7:0] video_r;wire[7:0] video_g;wire[7:0] video_b;wire osd_hs;wire osd_vs;wire osd_de;wire[7:0] osd_r;wire[7:0] osd_g;wire[7:0] osd_b;assign vga_out_hs = osd_hs;assign vga_out_vs = osd_vs;assign vga_out_r = osd_r[7:3]; //discard low bit dataassign vga_out_g = osd_g[7:2]; //discard low bit dataassign vga_out_b = osd_b[7:3]; //discard low bit data//generate video pixel clockvideo_pll video_pll_m0( .inclk0 (clk ), .c0 (video_clk ));color_bar color_bar_m0( .clk (video_clk ), .rst (~rst_n ), .hs (video_hs ), .vs (video_vs ), .de (video_de ), .rgb_r (video_r ), .rgb_g (video_g ), .rgb_b (video_b ));osd_display osd_display_m0( .rst_n (rst_n ), .pclk (video_clk ), .i_hs (video_hs ), .i_vs (video_vs ), .i_de (video_de ), .i_data ({video_r,video_g,video_b} ), .o_hs (osd_hs ), .o_vs (osd_vs ), .o_de (osd_de ), .o_data ({osd_r,osd_g,osd_b} ));endmodule
上傳時間: 2021-12-18
上傳用戶:
基于FPGA設計的sdram讀寫測試實驗Verilog邏輯源碼quartus工程文件+文檔說明,DRAM選用海力士公司的 HY57V2562 型號,容量為的 256Mbit,采用了 54 引腳的TSOP 封裝, 數據寬度都為 16 位, 工作電壓為 3.3V,并丏采用同步接口方式所有的信號都是時鐘信號。FPGA型號Cyclone4E系列中的EP4CE6F17C8,quartus版本17.1。timescale 1ps/1psmodule top(input clk,input rst_n,output[1:0] led,output sdram_clk, //sdram clockoutput sdram_cke, //sdram clock enableoutput sdram_cs_n, //sdram chip selectoutput sdram_we_n, //sdram write enableoutput sdram_cas_n, //sdram column address strobeoutput sdram_ras_n, //sdram row address strobeoutput[1:0] sdram_dqm, //sdram data enable output[1:0] sdram_ba, //sdram bank addressoutput[12:0] sdram_addr, //sdram addressinout[15:0] sdram_dq //sdram data);parameter MEM_DATA_BITS = 16 ; //external memory user interface data widthparameter ADDR_BITS = 24 ; //external memory user interface address widthparameter BUSRT_BITS = 10 ; //external memory user interface burst widthparameter BURST_SIZE = 128 ; //burst sizewire wr_burst_data_req; // from external memory controller,write data request ,before data 1 clockwire wr_burst_finish; // from external memory controller,burst write finish
標簽: fpga sdram verilog quartus
上傳時間: 2021-12-18
上傳用戶:
基于FPGA設計的vga顯示測試實驗Verilog邏輯源碼quartus工程文件+文檔說明,FPGA型號Cyclone4E系列中的EP4CE6F17C8,quartus版本17.1。module top( input clk, input rst_n, //vga output output vga_out_hs, //vga horizontal synchronization output vga_out_vs, //vga vertical synchronization output[4:0] vga_out_r, //vga red output[5:0] vga_out_g, //vga green output[4:0] vga_out_b //vga blue );wire video_clk;wire video_hs;wire video_vs;wire video_de;wire[7:0] video_r;wire[7:0] video_g;wire[7:0] video_b;assign vga_out_hs = video_hs;assign vga_out_vs = video_vs;assign vga_out_r = video_r[7:3]; //discard low bit dataassign vga_out_g = video_g[7:2]; //discard low bit dataassign vga_out_b = video_b[7:3]; //discard low bit data//generate video pixel clockvideo_pll video_pll_m0( .inclk0(clk), .c0(video_clk));color_bar color_bar_m0( .clk(video_clk), .rst(~rst_n), .hs(video_hs), .vs(video_vs), .de(video_de), .rgb_r(video_r), .rgb_g(video_g), .rgb_b(video_b));endmodule
標簽: fpga vga顯示 verilog quartus
上傳時間: 2021-12-19
上傳用戶:kingwide
FPGA片內FIFO讀寫測試Verilog邏輯源碼quartus工程文件+文檔說明,使用 FPGA 內部的 FIFO 以及程序對該 FIFO 的數據讀寫操作。FPGA型號Cyclone4E系列中的EP4CE6F17C8,quartus版本17.1。timescale 1ns / 1ps//////////////////////////////////////////////////////////////////////////////////module fifo_test( input clk, //50MHz時鐘 input rst_n //復位信號,低電平有效 );//-----------------------------------------------------------localparam W_IDLE = 1;localparam W_FIFO = 2; localparam R_IDLE = 1;localparam R_FIFO = 2; reg[2:0] write_state;reg[2:0] next_write_state;reg[2:0] read_state;reg[2:0] next_read_state;reg[15:0] w_data; //FIFO寫數據wire wr_en; //FIFO寫使能wire rd_en; //FIFO讀使能wire[15:0] r_data; //FIFO讀數據wire full; //FIFO滿信號 wire empty; //FIFO空信號 wire[8:0] rd_data_count; wire[8:0] wr_data_count; ///產生FIFO寫入的數據always@(posedge clk or negedge rst_n)begin if(rst_n == 1'b0) write_state <= W_IDLE; else write_state <= next_write_state;endalways@(*)begin case(write_state) W_IDLE: if(empty == 1'b1) //FIFO空, 開始寫FIFO next_write_state <= W_FIFO; else next_write_state <= W_IDLE; W_FIFO: if(full == 1'b1) //FIFO滿 next_write_state <= W_IDLE; else next_write_state <= W_FIFO; default: next_write_state <= W_IDLE; endcaseendassign wr_en = (next_write_state == W_FIFO) ? 1'b1 : 1'b0; always@(posedge clk or negedge rst_n)begin if(rst_n == 1'b0) w_data <= 16'd0; else if (wr_en == 1'b1) w_data <= w_data + 1'b1; else w_data <= 16'd0; end///產生FIFO讀的數據always@(posedge clk or negedge rst_n)begin if(rst_n == 1'b0) read_state <= R_IDLE; else read_state <= next_read_state;endalways@(*)begin case(read_state) R_IDLE: if(full == 1'b1) //FIFO滿, 開始讀FIFO next_read_state <= R_FIFO; else next_read_state <= R_IDLE; R_FIFO: if(empty == 1'b1)
上傳時間: 2021-12-19
上傳用戶:20125101110
電子書-Altera FPGA_CPLD設計 quartus ii軟件FPGA設計 基礎篇+高級篇合集
上傳時間: 2022-02-16
上傳用戶:
Verilog HDl語言實現CPLD-EPC240與電腦的串口通訊quartus邏輯工程源碼 //本模塊的功能是驗證實現和PC機進行基本的串口通信的功能。需要在//PC機上安裝一個串口調試工具來驗證程序的功能。//程序實現了一個收發一幀10個bit(即無奇偶校驗位)的串口控//制器,10個bit是1位起始位,8個數據位,1個結束//位。串口的波特律由程序中定義的div_par參數決定,更改該參數可以實//現相應的波特率。程序當前設定的div_par 的值是0x145,對應的波特率是//9600。用一個8倍波特率的時鐘將發送或接受每一位bit的周期時間//劃分為8個時隙以使通信同步.//程序的工作過程是:串口處于全雙工工作狀態,按動key1,FPGA/CPLD向PC發送“21 EDA"//字符串(串口調試工具設成按ASCII碼接受方式);PC可隨時向FPGA/CPLD發送0-F的十六進制
標簽: verilog hdl cpld 串口通訊 quartus
上傳時間: 2022-02-18
上傳用戶:
使用quartus開發。該程序通過VHDL語言實現了LPC時序。
上傳時間: 2022-04-23
上傳用戶:jiabin