總共定義了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的值必須在指定的範圍內,否則校驗...