天天看點

蜂鳥e203 module解讀 之 e203_subsys_perips整體架構分析關鍵資訊解讀

整體架構分析

input output

主要分為:

  • ppi相關的icb總線信号, sysper ,aon,qspi0_ro(注意與qspi0的區分) 相關的icb總線信号,
  • 與io有關的
  • 與irq中斷有關的
  • 與pll有關的

主要子產品

sirv_icb1to16_bus :将輸入的ppi_icb總線的信号線按照位址區間進行選擇, 分為:

AON - sirv_gnrl_cdc_tx sirv_gnrl_cdc_rx

HCLKGEN

GPIOA - sirv_gnrl_icb2apb apb_gpio

UART0

QSPI0 - sirv_flash_qspi_top(包含qspi0_ro相關總線)

PWM

UART1

QSPI1

I2C0

UART2

QSPI2

I2C1

SysPer

GPIOB

關鍵資訊解讀

sirv_gnrl_icb2apb

将icb協定轉換為apb協定,其中關鍵點在于apb沒有handshake, 是以rsp通道中,slave沒有icb_rsp_valid, 需要我們根據 apb_prdata構造相應的icb_rsp_valid線(具體如何實作沒看懂).

apb_gpio

關鍵在于對下面代碼的了解:

always @(posedge HCLK or negedge HRESETn) begin
        if (~HRESETn) begin
            r_gpio_sync0 <= 'h0;
            r_gpio_sync1 <= 'h0;
            r_gpio_in    <= 'h0;
	end else begin
            r_gpio_sync0 <= gpio_in;          //first 2 sync for metastability resolving
            r_gpio_sync1 <= r_gpio_sync0;
            r_gpio_in    <= r_gpio_sync1;     //last reg used for edge detection
        end
    end
           

繼續閱讀