0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

RISC-V MCU CSM32RV20開(kāi)發(fā)(二):Si24R1 通信模式調(diào)試

南京中科微電子有限公司 ? 2022-01-20 19:06 ? 次閱讀

目 錄

目的

實(shí)現(xiàn)過(guò)程

1.中斷向量表和系統(tǒng)時(shí)鐘初始化

2.外設(shè)初始化

2.1外設(shè)初始化(串口)

2.2外設(shè)初始化(SPI)

2.3外設(shè)初始化(GPIO)

2.4外設(shè)初始化(中斷)

3.Si24R1通信模式介紹

4.Si24R1模塊

5.SPI函數(shù)

6.TX_mode和RX_mode配置

7.通信判斷??????????????????????????????

129a757e-32a8-11ec-aa30-dac502259ad0.png

目的

通過(guò)CSM32RV20開(kāi)發(fā)平臺(tái),使用硬件SPI接口與Si24R1進(jìn)行通信,通信成功后,通過(guò)串口打印數(shù)據(jù)。

實(shí)現(xiàn)過(guò)程:

1.中斷向量表和系統(tǒng)時(shí)鐘初始化

在IDE里新建項(xiàng)目后,都會(huì)包含CLIC_Init()和System_Clock_Init()兩個(gè)函數(shù)。中斷向量表初始化,系統(tǒng)中斷初始化,用戶(hù)無(wú)需關(guān)心。系統(tǒng)時(shí)鐘初始化函數(shù)中,可以方便的選中時(shí)鐘源、時(shí)鐘分頻系數(shù)、外設(shè)時(shí)鐘使能和RC頻率選擇。

int main(void)
{

    ///----System Init ---------------------------------------------------------------------------------------------
    CLIC_Init();//中斷向量表初始化
    System_Clock_Init();//系統(tǒng)時(shí)鐘初始化
void System_Clock_Init(void)//系統(tǒng)時(shí)鐘初始化
{
    //時(shí)鐘源開(kāi)關(guān)
    CMU->SRC_EN  = 1<<1   //RCOSC    bit[1]:0-off, 1-on
                  |1<<0;  //crystal  bit[0]:0-off, 1-on

    //外設(shè)和內(nèi)核時(shí)鐘來(lái)源選擇
CMU->CLK_SEL = 1<<2   //phripheral  bit[3:2]:0-RCOSC, 1-crystal, 2-LSI(3K), 3-reserved
                  |1<<0;  //cpu         bit[1:0]:0-RCOSC, 1-crystal, 2-LSI(3K), 3-reserved

    //設(shè)置時(shí)鐘分頻系數(shù)
    CMU->CLK_DIV = 0<<10  //RTC         bit[14:10]:0-2, 1-2, 2-2, 3-2, 4-4, 5-4, 6-6, 7-6 ......
                  |0<<5   //phripheral  bit[9:5]:0-1, 1-1, 2-2, 3-3, 4-4, 5-5,......31-31
                  |0<<0;  //CPU         bit[9:5]:0-1, 1-1, 2-2, 3-3, 4-4, 5-5,......31-31

    //外設(shè)時(shí)鐘使能
    CMU->PER_EN  = 1;    //bit[0]:0-off, 1-on

    //RC頻率選擇
    CMU_RC_DEFAULT->RC_DEFAULT = 0; //bit[0]:0-16MHz, 1-32MHz

}

2.外設(shè)初始化

2.1外設(shè)初始化(串口)

串口初始化:選中UART1,UART1即可以用作燒錄使用(開(kāi)發(fā)板串口默認(rèn)使用UART1),又可以調(diào)用打印,方便數(shù)據(jù)輸出。UART1:PA6:TX1,復(fù)用配置AF0(默認(rèn))。PA5:RX1,復(fù)用配置AF0(默認(rèn))。

UART_Init_case1(UART1);   //串口初始化

由于開(kāi)發(fā)板上使用的晶振為32MHz,那么我們?cè)O(shè)置0x0116<<8串口波特率就是115200

UARTx->CTRL = 0<<25        //接收中斷使能: 0-off,1-on
                 |0<<24        //發(fā)送中斷使能:0-off,1-on
                 |0x0116<<8    //波特率(對(duì)應(yīng)16M時(shí)鐘):
                               //0x1a0b-2400,0x0683-9600,0x0341-19200,0x0116-57600,0x008b-115200
                               //0x0045-230400,0x0023-460800,0x0011-921600,0x000d-1128800


                 |1<<6         //模式選擇:0-模式0,1-模式1,2/3-模式2
                 |0<<5         //多處理器使能
                 |1<<4         //接收使能
                 |0<<3         //發(fā)送數(shù)據(jù)bit8
                 |0<<2;        //接收數(shù)據(jù)bit8

12dd7c0c-32a8-11ec-aa30-dac502259ad0.png

2.2外設(shè)初始化(SPI)

SPI初始化,選中非中斷模式。Si24R1采用四線制SPI,與MCU連接共6根線。Si24R1芯片引腳介紹(MOSI和MISO直接與MCU的硬件SPI對(duì)應(yīng)連接即可,即MOSI與SPI1_MOSI連接)。CE,芯片開(kāi)啟信號(hào),激活 RX 或 TX 模式。CSN,SPI 片選信號(hào)。SCK,SPI 時(shí)鐘信號(hào)。MOSI,SPI 輸入信號(hào)。MISO,SPI輸出信號(hào)。IRQ,可屏蔽中斷信號(hào)(可以通過(guò)0x00寄存器CONFIG配置屏蔽),低電平有效。

130e4f76-32a8-11ec-aa30-dac502259ad0.png12bb4f88-32a8-11ec-aa30-dac502259ad0.jpg

 SPI_Init_case1(SPI1);     //SPI初始化,非中斷模式
12bb4f88-32a8-11ec-aa30-dac502259ad0.jpg

CSM32RV20,硬件SPI1引腳說(shuō)明:PA2-SPI1_SCK,PA3-SPI1_MISO,PA4_SPI1_MOSI.

   if(SPIx==SPI1)
    {
        //用戶(hù)自選CSN,軟件操作片選信號(hào)


        //配置SCK
        GPIO_MODE_Init(GPIOA, PIN2, GPIO_MODE_AF);  //PA2復(fù)用模式
        GPIO_AF_Init(GPIOA,  PIN2,  GPIO_AF0);  //PA2復(fù)用到SPI1_SCK

        //配置MISO
        GPIO_MODE_Init(GPIOA, PIN3, GPIO_MODE_AF);  //PA3復(fù)用模式
        GPIO_AF_Init(GPIOA,  PIN3,  GPIO_AF0);  //PA3復(fù)用到SPI1_MISO

        //配置MOSI
        GPIO_MODE_Init(GPIOA, PIN4, GPIO_MODE_AF);  //PA4復(fù)用模式
        GPIO_AF_Init(GPIOA,  PIN4,  GPIO_AF0);  //PA4復(fù)用到SPI1_MOSI
    }
12bb4f88-32a8-11ec-aa30-dac502259ad0.jpg

根據(jù)Si24R1的SPI協(xié)議,CPHA時(shí)鐘相位和CPOL的時(shí)鐘極性(SCK空閑時(shí)狀態(tài)為低電平,上升沿采樣下降沿輸出),選中SPI模式0。SPI速率選擇為8分頻-4MHz。使用軟件CSN控制

SPIx->CTRL = 0x0<<8     //中斷使能:0-關(guān)閉,1-開(kāi)啟
                |0x0<<7     //時(shí)鐘極性:0-低電平,1-高電平
                |0x0<<6     //時(shí)鐘相位:0-前沿采樣,后沿輸出,1-前沿輸出,后沿采樣,
                |0x1<<4     //SPI使能:0-關(guān)閉,1-使能
                |0x3;       //時(shí)鐘分頻:0-2分頻,1-2分頻,2-2分頻,3-8分頻,4-16分頻,5-32分頻,6-64分頻,其他:64分頻

2.3外設(shè)初始化(GPIO)

初始化CE,CSN,IRQ

SPI1_CSN_Init_case1();//CFG: CE-GPIO9,CSN-GPIO8,IRQ-GPIO7
void SPI1_CSN_Init_case1(void)//CFG: CE-GPIO9,CSN-GPIO8,IRQ-GPIO7
{
   GPIO_MODE_Init(GPIOA,PIN8,GPIO_MODE_OUTPUT);//CSN
    GPIO_Write(GPIOA,PIN8,GPIO_SET);//CSN=1

    GPIO_MODE_Init(GPIOA,PIN9,GPIO_MODE_OUTPUT);//CE
    GPIO_Write(GPIOA,PIN9,GPIO_RESET);//CE=0

    GPIO_MODE_Init(GPIOA,PIN7,GPIO_MODE_INPUT);//IRQ

}

2.4外設(shè)初始化(中斷)

中斷IRQ引腳,開(kāi)發(fā)板上選擇為PA7。

   GPIO_EXIT_Init_case4(GPIOA, PIN7);//檢測(cè)下降沿
   Interrupt_Enable(EXIT9_5_int_ID);//CLIC使能EXIT中斷
   SYS_Interrupt_Enable(); CLIC開(kāi)總中斷
void GPIO_EXIT_Init_case4(GPIO_TypeDef *GPIOx, uint8_t PINx)//檢測(cè)下降沿
{
    GPIO_MODE_Init(GPIOx, PINx, GPIO_MODE_INPUT);
    GPIO_EXIT_MODE_Init(GPIOx, PINx, GPIO_EXIT_FALLING);
    GPIO_PULL_Init(GPIOx, PINx, GPIO_PULLUP);  //內(nèi)部上拉
    GPIO_INTER_enable(GPIOx, PINx);   //GPIO 中斷使能
}
12bb4f88-32a8-11ec-aa30-dac502259ad0.jpg

中斷處理函數(shù):

void EXIT9_5_IRQHandler(void)
{

    if(EXTI->ISR&(0x1<<7)) //外部中斷 PA7
    {

        IRQ_flag=1;
        EXTI->ISR |= 0x1<<7;
        //IRQ Handler......
    }

3.Si24R1通信模式介紹

Si24R1通信模式有兩種,一種是Si24R1通信模式,一種是兼容模式,兩者的區(qū)別就在于是否有包控制字,包控制可以實(shí)現(xiàn)動(dòng)態(tài)負(fù)載長(zhǎng)度,ACK通信,ACKPAYLAOD通信等。
Si24R1通信模式:

143a64e8-32a8-11ec-aa30-dac502259ad0.png12bb4f88-32a8-11ec-aa30-dac502259ad0.jpg

1498d71c-32a8-11ec-aa30-dac502259ad0.png12bb4f88-32a8-11ec-aa30-dac502259ad0.jpg

兼容模式

15055360-32a8-11ec-aa30-dac502259ad0.png

12bb4f88-32a8-11ec-aa30-dac502259ad0.jpg

4.Si24R1模塊

Si24R1模塊采用億佰特的E01C

1558e78c-32a8-11ec-aa30-dac502259ad0.png

5. SPI函數(shù)

SPI讀寫(xiě)函數(shù):SPI1讀寫(xiě)一個(gè)字節(jié)

uint8_t spi_rw_byte(uint8_t byte)
{
    uint8_t a;
    SPI_Transceive(SPI1,&byte,&a,1);
    return  a;
}
12bb4f88-32a8-11ec-aa30-dac502259ad0.jpg

SPI寫(xiě)寄存器:寫(xiě)數(shù)據(jù)value到reg寄存器,同時(shí)返回寄存器值

uint8_t spi_rw_reg(uint8_t reg,uint8_t value)
{
uint8_t status;

reg |= W_REGISTER ;                        //寫(xiě)寄存器命令

        GPIO_Write(GPIOA,PIN8,GPIO_RESET);
status=spi_rw_byte(reg);            //選擇寄存器,同時(shí)返回狀態(tài)字
spi_rw_byte(value);
        GPIO_Write(GPIOA,PIN8,GPIO_SET);

return status;                //返回狀態(tài)寄存器
}
12bb4f88-32a8-11ec-aa30-dac502259ad0.jpg

SPI讀寄存器

//========從reg寄存器中讀一個(gè)字節(jié)的數(shù)據(jù)========
uint8_t spi_rd_reg(uint8_t reg)
{
uint8_t value;

reg |= R_REGISTER ;       //讀寄存器命令
GPIO_Write(GPIOA,PIN8,GPIO_RESET);
    spi_rw_byte(reg);
value = spi_rw_byte(0);         //從該寄存器中讀數(shù)據(jù)
    GPIO_Write(GPIOA,PIN8,GPIO_SET);

return (value );     //返回狀態(tài)寄存器
}

12bb4f88-32a8-11ec-aa30-dac502259ad0.jpg

SPI讀BUFF:

//函數(shù):spi_read_buf()
//功能:從reg寄存器讀出bytes個(gè)字節(jié),通常用來(lái)讀取接收通道數(shù)據(jù) 或 接收/發(fā)送地址
//=====================================================================================
uint8_t spi_read_buf(uint8_t reg, uint8_t *pBuf, uint8_t bytes)
{

uint8_t status;
uint8_t i;
reg |= R_REGISTER;
    GPIO_Write(GPIOA,PIN8,GPIO_RESET);
  status  = spi_rw_byte(reg);                      // 選擇寄存器,同時(shí)返回狀態(tài)字
  for(i = 0; i < bytes; i++)
    {
   pBuf[i] = spi_rw_byte(0);    // 逐個(gè)字節(jié)從Si24R1讀出
}
  GPIO_Write(GPIOA,PIN8,GPIO_SET);                             // CSN拉高,結(jié)束數(shù)據(jù)傳輸
  return(status);                           // 返回狀態(tài)寄存器
}
12bb4f88-32a8-11ec-aa30-dac502259ad0.jpg

SPI寫(xiě)B(tài)UFF

//函數(shù):spi_write_buf()
//功能:把pBuf緩存中的數(shù)據(jù)寫(xiě)入到Si24R1,通常用來(lái)寫(xiě)入發(fā)射通道數(shù)據(jù) 或 接收/發(fā)送地址
//=====================================================================================
uint8_t spi_write_buf(uint8_t reg, uint8_t *pBuf, uint8_t bytes)
{
uint8_t status, i;
reg |= W_REGISTER;
  GPIO_Write(GPIOA,PIN8,GPIO_RESET);                            // CSN置低,開(kāi)始傳輸數(shù)據(jù)
  status = spi_rw_byte(reg);      // 選擇寄存器,同時(shí)返回狀態(tài)字
  for(i = 0; i < bytes; i++)
    {
   spi_rw_byte(pBuf[i]);        // 逐個(gè)字節(jié)寫(xiě)入Si24R1
}
  GPIO_Write(GPIOA,PIN8,GPIO_SET);       // CSN拉高,結(jié)束數(shù)據(jù)傳輸
  return(status);              // 返回狀態(tài)寄存器
}
12bb4f88-32a8-11ec-aa30-dac502259ad0.jpg?

6. TX_mode和RX_mode配置

TX_mode: CE拉低后,配置發(fā)射地址、發(fā)射地址寬度、射頻信道、傳輸速率,發(fā)射功率,配置發(fā)射模式、CRC、清除STATUS寄存器的標(biāo)志位?。。。赡茉谡{(diào)試程序或者異常退出,沒(méi)有清除STATUS,但是芯片沒(méi)斷電,可能IRQ的電平一直為低,最好就在初始化時(shí)清除STATUS寄存器的標(biāo)志位。

spi_rw_reg(STATUS,0xff);
12bb4f88-32a8-11ec-aa30-dac502259ad0.jpg
//Si24R1 NOACK 發(fā)射模式
void Si24R1_Tx_Mode(void)
{
GPIO_Write(GPIOA,CE_Pin,GPIO_RESET);

    spi_write_buf(TX_ADDR, TX_ADDRESS, 5); // 寫(xiě)入發(fā)送地址
spi_rw_reg(FEATURE, 0x01); // 使能 W_TX_PAYLOAD_NOACK 命令

spi_rw_reg(SETUP_AW, 0x03); // 5 byte Address width
spi_rw_reg(RF_CH, 2); // 選擇射頻通道0x40
spi_rw_reg(RF_SETUP, 0x0f); // 數(shù)據(jù)傳輸率 2Mbps
spi_rw_reg(CONFIG, 0x0e); //配置為發(fā)射模式、CRC 為 2Bytes
    spi_rw_reg(STATUS,0xff);
//GPIO_Write(GPIOA,CE_Pin,GPIO_SET);
}
12bb4f88-32a8-11ec-aa30-dac502259ad0.jpg

RX_mode: 發(fā)射端的配置與接收端的配置一致即可

//Si24R1 NOACK 接收模式
void Si24R1_Rx_Mode(void)
{
GPIO_Write(GPIOA,CE_Pin,GPIO_RESET);

spi_write_buf(RX_ADDR_P0, TX_ADDRESS, 5); // 寫(xiě)入接收地址
//spi_rw_reg(FEATURE, 0x01); // 使能 W_TX_PAYLOAD_NOACK 命令
spi_rw_reg(EN_RXADDR , 0x01); // 使能接收通道
spi_rw_reg(RF_CH, 2); // 選擇射頻通道0x40
spi_rw_reg(RX_PW_P0 ,TX_PLOAD_WIDTH ); // 設(shè)置接收通道0負(fù)載數(shù)據(jù)寬度
spi_rw_reg(SETUP_AW, 0x03);   // 5 byte Address width
spi_rw_reg(RF_SETUP, 0x0f); // 數(shù)據(jù)傳輸率 2Mbps
spi_rw_reg(CONFIG, 0x0f); //配置為接收方、RC 為 2Bytes
spi_rw_reg(STATUS,0xff);
//
//GPIO_Write(GPIOa,CE_Pin,GPIO_SET);
}
12bb4f88-32a8-11ec-aa30-dac502259ad0.jpg

Si24R1_TxPacket():發(fā)射函數(shù),主要是給TX_FIFO填充數(shù)據(jù),CE拉高后就會(huì)發(fā)射出去。其中要注意:發(fā)射前最好擦除FIFO,再填寫(xiě)FIFO,這樣對(duì)異常的數(shù)據(jù)發(fā)送可以起到一定的屏蔽作用,否則可能會(huì)陷入始終發(fā)上一包寫(xiě)入數(shù)據(jù)的怪圈。等到IRQ下降沿中斷后,判斷是否為發(fā)射完成中斷,完成即返回TX_OK;

uint8_t Si24R1_TxPacket()
{
uint8_t sta;
uint8_t TX_BUF[TX_PLOAD_WIDTH] = {0,7,7,5,8,5,2,1};
IRQ_flag=0;
    spi_rw_reg(FLUSH_TX,0xff);
    spi_rw_reg(FLUSH_RX,0xff);
//GPIO_Write(GPIOA,CE_Pin,GPIO_RESET);
//使用NOACK模式時(shí),應(yīng)使用命令 W_TX_PAYLOAD_NOACK
spi_write_buf(W_TX_PAYLOAD_NOACK,TX_BUF,TX_PLOAD_WIDTH);//寫(xiě)數(shù)據(jù)到TX BUF

  //spi_write_buf(W_TX_PAYLOAD,TX_BUF,TX_PLOAD_WIDTH);//寫(xiě)數(shù)據(jù)到TX BUF
 GPIO_Write(GPIOA,CE_Pin,GPIO_SET);//啟動(dòng)發(fā)送
 Delay32M_us(10);
while(0==IRQ_flag)
{
        NOP;     //切記一定得加NOP指令,由于GCC編譯器優(yōu)化問(wèn)題,程序會(huì)只調(diào)用一次中斷標(biāo)志。

}//等待發(fā)送完成
IRQ_flag=0;
sta = spi_rd_reg(STATUS);        // 返回狀態(tài)寄存器
spi_rw_reg(W_REGISTER+STATUS,sta); //清除TX_DS或MAX_RT中斷標(biāo)志
if(sta&MAX_RT)//達(dá)到最大重發(fā)次數(shù)
{
spi_rw_reg(FLUSH_TX,0xff);//清除TX FIFO寄存器
return MAX_RT;
}
if(sta&TX_OK)//發(fā)送完成
{
return TX_OK;
}
return 0xff;//其他原因發(fā)送失敗
}
12bb4f88-32a8-11ec-aa30-dac502259ad0.jpg

其中,需要注意的是:在等待中斷的標(biāo)志IRQ_flag時(shí),如果直接判斷,由于GCC編譯器優(yōu)化,我們利用IDE的反匯編功能,查看下兩者的區(qū)別:

16a1843c-32a8-11ec-aa30-dac502259ad0.png12bb4f88-32a8-11ec-aa30-dac502259ad0.jpg
while(0==IRQ_flag);

17169754-32a8-11ec-aa30-dac502259ad0.png12bb4f88-32a8-11ec-aa30-dac502259ad0.jpg
while(0==IRQ_flag)
{
        NOP;    
}
17903f1e-32a8-11ec-aa30-dac502259ad0.png12bb4f88-32a8-11ec-aa30-dac502259ad0.jpg

7.通信判斷

main()函數(shù)中,調(diào)用Si24R1_TxPacket();函數(shù),判斷返回值是否為發(fā)射完成TX_OK標(biāo)志,閃燈+打印即可。打印這里,雖然庫(kù)函數(shù)里有printf()和ee_printf(),都支持,但是推薦使用ee_printf()函數(shù),這個(gè)是簡(jiǎn)化版的printf函數(shù)(而不是C運(yùn)行庫(kù)中提供的printf函數(shù)),以此生成的代碼體積就會(huì)更小。

       sta=Si24R1_TxPacket( );
        Delay32M_ms(500);

        if(sta==TX_OK)
        {
        GPIO_Write(GPIOA,PIN10,GPIO_RESET);
        Delay32M_ms(500);
        GPIO_Write(GPIOA,PIN10,GPIO_SET);
        ee_printf("Hello,IC農(nóng)民\r\n");
        }
        else
            Delay32M_ms(20);

}
18087ec0-32a8-11ec-aa30-dac502259ad0.png

12bb4f88-32a8-11ec-aa30-dac502259ad0.jpg

1874dfb6-32a8-11ec-aa30-dac502259ad0.png12bb4f88-32a8-11ec-aa30-dac502259ad0.jpg

總結(jié)

1.注意在等中斷IRQ產(chǎn)生后的IRQ_flag時(shí),需要對(duì)while(0==IRQ_flag)處理時(shí),在函數(shù)里加入一個(gè)NOP指令,以此規(guī)避GCC編譯器優(yōu)化的問(wèn)題造成IRQ_flag只判斷一次。

2.使用ee_printf()函數(shù),減少代碼體積。

3. 在程序里有使能中斷時(shí),在使能單個(gè)中斷后,需要開(kāi)啟中斷總開(kāi)關(guān),否則會(huì)出現(xiàn)無(wú)法進(jìn)入中斷??!。例如:

18ba3f20-32a8-11ec-aa30-dac502259ad0.png

   Interrupt_Enable(EXIT9_5_int_ID);//CLIC使能EXIT中斷
   SYS_Interrupt_Enable(); CLIC開(kāi)總中斷

那么,這里,硬件SPI,串口打印,GPIO中斷等外設(shè)就操作完了。個(gè)人能力有限,歡迎大家批評(píng)指正。


版權(quán)聲明:本文為CSDN博主「IC農(nóng)民」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_28729013/article/details/120669558


原文標(biāo)題:RISC-V MCU CSM32RV20開(kāi)發(fā)(二):Si24R1 通信模式調(diào)試

文章出處:【微信公眾號(hào):南京中科微電子有限公司】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • RISC-V
    +關(guān)注

    關(guān)注

    45

    文章

    2322

    瀏覽量

    46470
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    低功耗SOC無(wú)線收發(fā)芯片SI24R05B 內(nèi)部集成125K低頻喚醒功能

    、TIMER、WUP、IWDG、RTC、無(wú)線收發(fā)器、3D 低頻喚醒接收器等豐富的外設(shè)。 內(nèi)核采用 RISC-V RV32IMAC(2.6 CoreMark/MHz)。原廠提供了配套的調(diào)試開(kāi)發(fā)軟件和豐
    發(fā)表于 01-16 15:53

    RISC-V架構(gòu)及MRS開(kāi)發(fā)環(huán)境回顧

    —— CH32V103系列MCU。作為長(zhǎng)久以來(lái)對(duì)RISC-V架構(gòu)關(guān)注和研究的成果, RISC-V3A處理器,支持IMAC指令子集,內(nèi)嵌了PFIC中斷控制器,提供硬件加速中斷進(jìn)出棧
    發(fā)表于 12-16 23:08

    常用在工業(yè)控制系統(tǒng)上的MCU芯片資料:CSM32RV20

    CSM32RV20是一款基于RISC-V核的低功耗MCU芯片。 內(nèi)置RISC-V RV32IMAC內(nèi)核(2.6CoreMark/MHz);
    的頭像 發(fā)表于 11-15 17:19 ?310次閱讀
    常用在工業(yè)控制系統(tǒng)上的<b class='flag-5'>MCU</b>芯片資料:<b class='flag-5'>CSM32RV20</b>

    Si24R05:125K接收&amp;2.4G收發(fā)SoC芯片資料

    Si24R05高度集成的低功耗SoC芯片 ● 具有低功耗、Low Pin Count、寬電壓工作范圍。 ● 內(nèi)核:采用RISC-V RV32IMAC(2.6 CoreMark/MHz)。 ● 集成
    發(fā)表于 10-31 16:27

    Si24R05:125K接收&amp;2.4G收發(fā)SoC芯片數(shù)據(jù)手冊(cè)

    CSM32RV003+Ci24R1+Si3933的合封芯片 極少外圍器件,降低系統(tǒng)應(yīng)用成本 工作溫度范圍-40~85℃ 支持串口升級(jí) 支持 cJTAG 2線調(diào)試接口 封裝:SOP16 / 9.9*6*1.75mm 超低功耗,至低功耗可達(dá)1.6uA(
    的頭像 發(fā)表于 10-31 16:22 ?241次閱讀
    <b class='flag-5'>Si24R</b>05:125K接收&amp;2.4G收發(fā)SoC芯片數(shù)據(jù)手冊(cè)

    SI24R1與NRF24L01P 對(duì)比方案

    1.9-3.6V 寬電源范圍內(nèi)穩(wěn)定工作。PIN對(duì)PIN兼容替代NRF24L01+。Si24R1采用GFSK/FSK數(shù)字調(diào)制與解調(diào)技術(shù)。數(shù)據(jù)傳輸速率可以調(diào)節(jié),支持2Mbps,1Mbps
    發(fā)表于 09-30 15:05

    RISC-V Summit China 2024 | 青稞RISC-V+接口PHY,賦能RISC-V高效落地

    更好的使用體驗(yàn): 1. 青稞RISC-V首先針對(duì)高速數(shù)據(jù)傳輸場(chǎng)景,通過(guò)免表中斷提升了MCU的響應(yīng)速度; 2. 針對(duì)藍(lán)牙和以太網(wǎng)等協(xié)議棧應(yīng)用,擴(kuò)展自定義指令提升了代碼密度; 3. 率先設(shè)計(jì)的兩線
    發(fā)表于 08-30 17:37

    SI24R1 TO NRF24L01P 引腳及軟硬件中文開(kāi)發(fā)資料

    L01+的參考設(shè)計(jì)金屬PAD下面有走3.3V的電源線,如果使用Si24R1 7dbm的發(fā)射功率,沒(méi)有將底部的3.3V走線移除的話,那些噪聲會(huì)干擾到電源,從而會(huì)增加通信的丟包率以及
    發(fā)表于 07-30 14:26

    Si24R03:高度集成的低功耗SOC芯片數(shù)據(jù)手冊(cè)解讀

    、WUP、IWDG、RTC、無(wú)線收發(fā)器等豐富的外設(shè)。 合封說(shuō)明:Si24R03為CSM32RV003和Si24R1的合封芯片。 Si24R03芯片特性: 內(nèi)置
    的頭像 發(fā)表于 07-24 15:19 ?605次閱讀
    <b class='flag-5'>Si24R</b>03:高度集成的低功耗SOC芯片數(shù)據(jù)手冊(cè)解讀

    Si24R05—高度集成的低功耗 SoC 芯片

    、WUP、IWDG、RTC、無(wú)線收發(fā)器、3D低頻喚醒接收器等豐富的外設(shè)。內(nèi)核采用RISC-V RV32IMAC(2.6 CoreMark/MHz)。 Si24R05提供了配套的調(diào)試開(kāi)發(fā)
    發(fā)表于 07-03 00:12

    Ci24R1Si24R1:2.4GHz數(shù)據(jù)通信芯片對(duì)比數(shù)據(jù)資料分析

    數(shù)據(jù)通信芯片里面,Ci24R1Si24R1都具備收發(fā)一體的功能,當(dāng)然相似的兩顆芯片,它們的參數(shù)還是有明顯的區(qū)別,接下來(lái)我給大家看看它們分別的芯片特性和優(yōu)勢(shì)體現(xiàn)在哪里。 1、 ?從頻段
    的頭像 發(fā)表于 06-14 17:16 ?843次閱讀
    Ci<b class='flag-5'>24R1</b>與<b class='flag-5'>Si24R1</b>:2.4GHz數(shù)據(jù)<b class='flag-5'>通信</b>芯片對(duì)比數(shù)據(jù)資料分析

    RISC-VMCU關(guān)于USB高速通信設(shè)計(jì)的難點(diǎn)

    成熟架構(gòu)還有所欠缺。在USB高速通信設(shè)計(jì)方面,RISC-V MCU需要解決驅(qū)動(dòng)程序、固件和操作系統(tǒng)的兼容性問(wèn)題,確保與現(xiàn)有USB設(shè)備和系統(tǒng)的無(wú)縫對(duì)接。 開(kāi)發(fā)工具鏈 :
    發(fā)表于 05-27 16:23

    國(guó)產(chǎn)RISC-V MCU推薦

    可以達(dá)到TOP 1。 官網(wǎng)顯示,HPM6700/6400系列MCU來(lái)是先楫的高性能實(shí)時(shí)RISC-V微控制器,為工業(yè)自動(dòng)化及邊緣計(jì)算應(yīng)用提供了極大的算力、高效的控制能力及豐富的多媒體功能。 內(nèi)核方面
    發(fā)表于 04-17 11:00

    瑞薩電子推出采用自研RISC-V CPU內(nèi)核的通用32位MCU

    5.5V 封裝:16 WLCSP、24/32/48 QFN封裝(QFP可選) R9A02G021 RISC-V MCU得到瑞薩e2 stud
    發(fā)表于 03-30 22:08

    NRF24L01P和SI24R1的區(qū)別

    的無(wú)線模塊。 1、產(chǎn)自Nordic的無(wú)線模塊叫NRF24L01,而產(chǎn)自南京的無(wú)線模塊叫Si24R1,如下圖所示 2、兩個(gè)模塊的技術(shù)資料基本一樣 感覺(jué)Si24R1無(wú)線模塊就是NRF
    發(fā)表于 03-29 15:05