深圳市新一信息技术有限公司LOGO

【经验】EFR32 Serial 2 SoC芯片引脚配置为外设功能的方法

【经验】EFR32 Serial 2 SoC芯片引脚配置为外设功能的方法

许多工程师在用到Silicon Labs EFR32系列SoC芯片时,都会优先使用.hwconf文件对GPIO进行可视化的配置。配置完成后,即生成相应的代码,这会非常方便,但如果hwconf文件没有相关的外设或者需要对外设进行动态配置的情况下,就要用到代码直接控制了,而新出的Serial 2(EFR32MG21)跟Serail 1(EFR32MG1x)又有所不同,本文的目标是为了让各位工程师可以使用代码对Serial 2进行GPIO的功能配置。

 

以配置UART0为例,选定的的目标以及IO模式见下表:
UART

配置的API函数为GPIO_PinModeSet()。

 

之后再进行DBUS的映射,Serial2有两个DBUS总线,第一个管理PA和PB,另一个管理PC和PD,因此有些数据外设只能映射到PA&PB,或者PC&PD,有些则可以同时映射到PA,PB,PC和PD。为了实现映射,一般会用到两个寄存器, GPIO_peri_pinROUTE 用来配置外设所有端口和引脚,GPIO_peri_ROUTEEN,用于使能配置。

 

下面开始文初的示例配置,用GPIO_USART0_TXROUTE 来配置TX脚在GPIO的Port & Pin. 
TX脚在GPIO

假定要将UART0.TX配置为PA05, 引脚号为5, 端口号为0;

 

       GPIO_USART0_TXROUTE  = (0x5<<16) | 0 ; //PIN=5, Port=PORTA

       GPIO_USART0_RXROUTE  = (0x6<<16) | 0; //PIN=6, Port=PARTA

 

       对应SDK则使用结构体代码为

GPIO-> USARTROUTE[0].TXROUTE

GPIO-> USARTROUTE[0].RXROUTE

 

EFR32MG21的端口编号自PORTA开始,详情如下:
EFR32MG21的端口编号
GPIO_USART0_ROUTEEN寄存器当中列出了USART0的全部功能脚,TX,RX,CLK,RTS,CS等5个脚,
USART0的全部功能脚

要启用TX/RX两个引脚,则配置代码为:

       GPIO_USART0_ROUTEEN  |= (0x0010 | 0x0004); // TXPEN & RXPEN

 

对应SDK的结构访问的代码为:

       GPIO-> USARTROUTE [0]. ROUTEEN

       

Serial 2的寄存器与 Serial 1有明显不同, Serial 2的配置相对简单些,在功能映射的寄存器,现已经统一归入GPIO( GPIO_TypeDef ),在开发过程请务必注意到。下面再列出SDK中串口初始始化的代码。

 

GPIO_PinModeSet(handle->txPort, handle->txPin, gpioModePushPull, 1);

GPIO_PinModeSet(handle->rxPort, handle->rxPin, gpioModeInputPull, 1);

 

GPIO->USARTROUTE[initData->uartNum].ROUTEEN =

GPIO_USART_ROUTEEN_TXPEN

                                                | GPIO_USART_ROUTEEN_RXPEN;

  GPIO->USARTROUTE[initData->uartNum].TXROUTE =

    (initData->txPort << _GPIO_USART_TXROUTE_PORT_SHIFT)

    | (initData->txPin << _GPIO_USART_TXROUTE_PIN_SHIFT);

  GPIO->USARTROUTE[initData->uartNum].RXROUTE =

    (initData->rxPort << _GPIO_USART_RXROUTE_PORT_SHIFT)

    | (initData->rxPin << _GPIO_USART_RXROUTE_PIN_SHIFT);
 

Silicon Labs带来全新的EFR32MG21A系列多协议芯片,支持ZigBee, BLE, Thread,采用40nm工艺,-104.5dBm超高接收灵敏度,直接输出20dBm信号无需PA, 4mmx4mm的小封装,工业级温度标准,最大1M flash, 96K ram, 1.71V ~ 3.8V宽电压工作范围,集成硬件加密单元,支持ADC和PWM,是智能照明的首选无线连接方案。

深圳市新一信息技术有限公司(Newbit Info)专业生产蓝牙模块、wifi模块、ZigBee模块等物联网模块,是一家以技术为核心,专注物联网射频通信领域,集合射频核心器件供应以及整体解决方案的高新技术企业。与国内外多家知名半导体厂商(Ti、SI、NORDIC、MAXSCEND)保持紧密合作。公司汇聚了一批在半导体和射频行业拥有多年经验的资深人士,技术领先、积累深厚,可为客户提供无线通信协议、无线通信模块、智能硬件解决方案、智能应用软件APP、云平台灯软硬件产品、产品设计和服务。特色的一站式服务方式可以帮助客户在最短时间内完成产品研制、生产,成就客户价值。

文章标题:
【经验】EFR32 Serial 2 SoC芯片引脚配置为外设功能的方法
本文地址:http://www.newbitinfo.com/a/webbase/jishuyingyong/2019/0730/249.html

文章素材来源于网络由深圳新一信息技术有限公司整理分享,不完全代表深圳新一信息技术有限公司的观点,如您对文章有任何意见欢迎与我们互动沟通。

请访问
新一信息 (http://www.newbitinfo.com) 了解更多蓝牙模块,ZigBee模块,物联网方案定制知识:
 
相关热词搜索:
【经验】EFR32 Serial 2 SoC芯片引脚配置为外设功能的方法 蓝牙模块 ZigBee模块  物联网方案定制