adi i2s 提供的axi lite介面說明

2022-08-28 13:45:15 字數 1216 閱讀 2561

總共定義了4個暫存器,位寬32位,也就是 偏移位址*4

以下是ps寫資料

when 0 => i2s_reset_reg <= wr_data;

when 1 => i2s_control_reg <= wr_data;

when 2 => i2s_clk_control_reg <= wr_data;

when 6 => period_len_reg <= wr_data;

1:i2s_reset_reg --位址0*4

i2s_reset <= i2s_reset_reg(0);

--保留未用

tx_fifo_reset <= i2s_reset_reg(1);

--》高有效

rx_fifo_reset <= i2s_reset_reg(2);--》高有效復位

2:i2s_control_reg --位址1*4

tx_enable <= i2s_control_reg(0) = '1';

rx_enable <= i2s_control_reg(1) = '1';

3:i2s_clk_control_reg ---位址2*4

bclk_div_rate <= to_integer(unsigned(i2s_clk_control_reg(7 downto 0)));

lrclk_div_rate <= to_integer(unsigned(i2s_clk_control_reg(23 downto 16)));

4:period_len_reg ----位址6*4

period_len <= to_integer(unsigned(period_len_reg(15 downto 0)));

收fifo的大小

以下是ps讀資料

when 1 => rd_data <= i2s_control_reg and x"00000003";

when 2 => rd_data <= i2s_clk_control_reg and x"00ff00ff";

when 6 => rd_data <= period_len_reg and x"0000ffff";

when 10 => rd_data <= rx_sample & std_logic_vector(to_unsigned(cnt, 8));---》位址10*4

when 10 --》高24位為取樣接收的資料 -》低8位為分頻計數器的值

Struts2提供的校驗器

系統提供的校驗器如下 required 必填校驗器,要求field的值不能為null requiredstring 必填字串校驗器,要求field的值不能為null,並且長度大於0,預設情況下會對字串去前後空格 stringlength 字串長度校驗器,要求field的值必須在指定的範圍內,否則校驗...

Struts2預設提供的主題

前幾天在做專案的時候,遇到了乙個struts2 擅自做主張 的問題。現在回想起來,問題的描述大概是系統在頁面自動生成一些標籤,導致我做的樣式被打亂。最後查證,發現是struts2當時的預設主題搗的鬼。解決辦法 在struts.properties中,設定struts.ui.theme 即可。關於st...

struts2提供的校驗器

系統提供的校驗器如下 required 必填校驗器,要求field的值不能為null requiredstring 必填字串校驗器,要求field的值不能為null,並且長度大於0,預設情況下會對字串去前後空格 stringlength 字串長度校驗器,要求field的值必須在指定的範圍內,否則校驗...