0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DshanMCU-R128s2 配置引脚复用

嵌入式Linux那些事 来源:嵌入式Linux那些事 作者:嵌入式Linux那些事 2023-12-22 17:36 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文中的约定

  • 描述 GPIO 配置的形式:Port:端口 + 组内序号<功能分配><内部电阻状态><驱动能力><输出电平状态>
  • 文中的 =0,1,2,3,4,5…..,如 twi0,twi1….;uart0,uart1….。
  • 文中的 {PROJECT} 代表不同的方案,例如 module 方案。

引脚配置文件配置复用

R128 平台使用 sys_config.fex 作为引脚配置文件,他会在打包时打包编译进入系统,在系统运行时会解析并配置,系统解析 sys_config.fex 的驱动配置位于 licheertos-componentsawsys_config_script 中。

对于配置引脚复用,只需要修改 boardr128s2{PROJECT}configsys_config.fex 文件即可。

GPIO描述格式

Port:端口 + 组内序号< 功能分配 >< 内部电阻状态 >< 驱动能力 >< 输出电平状态 >

示例

uart_tx = port:PA16< 5 >< 1 >< 2 >< 0 >
                |---------------------- > 端口号 PA
                  |-------------------- > 序号 19
                    |------------------ > 功能分配 5 (参考 PINMUX)
                       |--------------- > 内部电阻状态为 1  
                          |------------ > 驱动能力为 2
                             |--------- > 默认输出电平 0

[product]

配置文件信息

配置项配置项含义
version配置的版本号
machine方案名字

示例

[product]
version = "100"
machine = "module"

[target]

启动介质配置

配置项配置项含义
storage_type启动介质选择 0:nand 1:sd2:emmc3:spinor 4:emmc 5:spinand 6:sd -1:(defualt) 自动扫描启动介质

示例

[target]
storage_type    = 3

对于内置 SPI NOR 的 R128 平台,请配置为 3

[platform]

配置 boot0 调试信息打印

配置项配置项含义
debug_mode配置0时,boot0 不打印调试信息,配置不为0时打印

示例

[platform]
debug_mode = 2

[uart_para]

boot0 调试串口配置

配置项配置项含义
uart_debug_portboot0 调试输出串口使用的串口号
uart_debug_txboot0 调试串口 tx 使用的引脚
uart_debug_rxboot0 调试串口 rx 使用的引脚

示例

[uart_para]
uart_debug_port = 0
uart_debug_tx   = port:PA16< 5 >< 1 >< default >< default >
uart_debug_rx   = port:PA17< 5 >< 1 >< default >< default >

[uartX]

UART 引脚配置

配置项配置项含义
uart_txUART TX 的 GPIO 配置
uart_rxUART RX 的 GPIO 配置
uart_typeUART 类型,有效值为:2/4/8; 表示 2/4/8 线模式

示例

[uart0]
uart_tx         = port:PA16< 5 >< 1 >< default >< default >
uart_rx         = port:PA17< 5 >< 1 >< default >< default >

[twiX]

TWI 引脚配置

配置项配置项含义
twiX_sckTWI 的时钟的 GPIO 配置
twiX_sdaTWI 的数据的 GPIO 配置

[sdcX]

SDIO,MMC 引脚配置

配置项配置项含义
card_ctrl控制器
card_high_speed速度模式 0 为低速,1 为高速
card_line1,4 线卡可以选择
sdc_d1sdc 卡数据 1 线信号的 GPIO 配置
sdc_d0sdc 卡数据 2 线信号的 GPIO 配置
sdc_clksdc 卡时钟信号的 GPIO 配置
sdc_cmdsdc 命令信号的 GPIO 配置
sdc_d3sdc 卡数据 3 线信号的 GPIO 配置
sdc_d2sdc 卡数据 4 线信号的 GPIO 配置

示例

[sdc0]
card_ctrl       = 0
card_high_speed = 0
card_line       = 4
sdc_d1          = port:PA27< 2 >< 1 >< 3 >< default >
sdc_d0          = port:PA26< 2 >< 1 >< 3 >< default >
sdc_clk         = port:PA29< 2 >< 1 >< 3 >< default >
sdc_cmd         = port:PA25< 2 >< 1 >< 3 >< default >
sdc_d3          = port:PA24< 2 >< 1 >< 3 >< default >
sdc_d2          = port:PA28< 2 >< 1 >< 3 >< default >

[sdcXdet_para]

卡检测引脚配置

配置项配置项含义
sdcX_det卡插入检测脚

示例

[sdc0det_para]
sdc0_det        = port:PA23< 0 >< 1 >< 3 >< default >

[usbX]

USB 配置

配置项配置项含义
usb_usedUSB使能标志。置1,表示系统中USB模块可用,置0,则表示系统USB禁用。
usb_port_typeUSB端口的使用情况。 0: device only;1: host only;2: OTG
usb_detect_typeUSB端口的检查方式。0: 不做检测;1: vbus/id检查;2: id/dpdm检查
usb_detect_modeUSB端口的检查方式。0: 线程轮询;1: id中断触发
usb_id_gpioUSB ID pin脚配置
usb_det_vbus_gpioUSB DET_VBUS pin脚配置
usb_drv_vbus_typevbus设置方式。0: 无; 1: gpio; 2: axp。
usb_det_vbus_gpio"axp_ctrl",表示 axp 提供。
usbh_driver_levelusb驱动能力等级
usbh_irq_flagusb中断标志

示例

[usbc0]
usb_used                = 1
usb_port_type           = 2
usb_detect_type         = 1
usb_detect_mode         = 0
usb_id_gpio             = port:PB04< 0 >< 0 >< default >< default >
usb_det_vbus_gpio       = port:PA24< 0 >< 0 >< default >< default >
usb_drv_vbus_gpio       = port:PA29< 0 >< 0 >< default >< default >
usb_drv_vbus_type       = 1
usbh_driver_level       = 5
usbh_irq_flag           = 0

[audiocodec]

内置 audiocodec 配置

配置项配置项含义
dacl_volDAC L 音量
dacr_volDAC R 音量
lineout_volLINEOUT 音量
lineoutl_enLINEOUTL 使能
lineoutr_enLINEOUTR 使能
mic1_gainMIC1 增益
mic2_gainMIC2 增益
mic3_gainMIC3 增益
mic1_enMIC1 启用
mic2_enMIC2 启用
mic3_enMIC3 启用
mad_bind_enMAD 模块绑定
pa_pin_msleep功放使能引脚延时
pa_pin功放使能引脚

示例

[audiocodec]
dacl_vol	= 129
dacr_vol	= 129
lineout_vol	= 5
lineoutl_en	= 1
lineoutr_en	= 0
mic1_gain	= 19
mic2_gain	= 19
mic3_gain	= 0
mic1_en		= 1
mic2_en		= 1
mic3_en		= 1
mad_bind_en	= 0
pa_pin_msleep	= 10
pa_pin		= port:PB3< 1 >< default >< 1 >< 1 >

[daudio0]

数字音频配置

配置项配置项含义
i2s_mclkI2S MCLK 引脚配置
i2s_bclkI2S BCLK 引脚配置
i2s_lrckI2S LRCK 引脚配置
i2s_dout0I2S DOUT0 引脚配置
i2s_din0I2S DIN0 引脚配置

示例

[daudio0]
i2s_mclk                    = port:PA23< 2 >< 0 >< 1 >< default >
i2s_bclk                    = port:PA20< 2 >< 0 >< 1 >< default >
i2s_lrck                    = port:PA19< 2 >< 0 >< 1 >< default >
i2s_dout0                   = port:PA22< 2 >< 0 >< 1 >< default >
i2s_din0                    = port:PA21< 2 >< 0 >< 1 >< default >

[dram_para]

此项配置仅为兼容配置,实际有用配置项为 dram_clkdram_no_lpsram ,其余 dram_para 参数没有实际意义。

配置项配置项含义
dram_clk如果不为 0,初始化 hspsram
dram_no_lpsram如果为 0,初始化 lspsram
[dram_para]
dram_clk       = 800
dram_type      = 0xB
dram_zq        = 0x3dbdfda0
dram_odt_en    = 0x1
dram_para1     = 0x000010f2
dram_para2     = 0x02000000
dram_mr0       = 0x1c70
dram_mr1       = 0x42
dram_mr2       = 0x8
dram_mr3       = 0x0
dram_tpr0      = 0x004A2195
dram_tpr1      = 0x02423190
dram_tpr2      = 0x0008B061
dram_tpr3      = 0xB4787896
dram_tpr4      = 0x0
dram_tpr5      = 0x48484848
dram_tpr6      = 0x48
dram_tpr7      = 0x1
dram_tpr8      = 0x0
dram_tpr9      = 0x00
dram_tpr10     = 0x0
dram_tpr11     = 0x00000000
dram_tpr12     = 0x00000000
dram_tpr13     = 0x34050f00
dram_no_lpsram = 0x0

[lcd_fb0]

SPI LCD 配置

SPI LCD 配置项目较多,部分详细描述可以参照 显示框架

配置项配置项含义
lcd_used启用 LCD
lcd_model_namelcd 屏模型名字,非必须,可以用于同个屏驱动中进一步区分不同屏。
lcd_driver_namelcd面板驱动名称,必须与屏驱动中strcut __lcd_panel变量的name成员一致。
lcd_xlcd X像素
lcd_ylcd Y像素
lcd_widthlcd 物理宽度(单位mm)
lcd_heightlcd 物理高度(单位mm)
lcd_data_speedlcd 数据速率
lcd_pwm_usedlcd 背光使用 pwm
lcd_pwm_chlcd 背光使用的 pwm 通道
lcd_pwm_freqlcd 背光使用的频率
lcd_pwm_pollcd 背光使用的相位
lcd_if0:SPI接口(spi 接口就是俗称的 4 线模式,这是因为发送数据时需要额外借助 DC 线来区分命令和数据,与sclk,cs 和 sda 共四线)1:DBI接口(如果设置了 dbi 接口,那么还需要进一步区分 dbi 接口,需要设置lcd_dbi_if)
lcd_pixel_fmt选择传输数据的像素格式
lcd_dbi_fmt0:RGB1111:RGB4442:RGB5653:RGB6664:RGB888
lcd_dbi_clk_mode选择 dbi 时钟的行为模式
lcd_dbi_te使能 te 触发
fb_buffer_num显示 framebuffer 数量,为了平滑显示,这里一般是 2 个,为了省内存也可以改成 1。
lcd_dbi_if0:L3I11:L3I22:L4I13:L4I24:D2L1
lcd_rgb_order输入图像数据 rgb 顺序识别设置
lcd_fps设置屏的刷新率,单位 Hz
lcd_spi_bus_num选择 spi 总线 id
lcd_frmfrm抖动控制
lcd_gamma_engamma控制使能
lcd_backlight背光
lcd_gpio_0用户定义IO定义,一般作为RST

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    147

    文章

    18618

    浏览量

    387356
  • 引脚
    +关注

    关注

    16

    文章

    2097

    浏览量

    55152
  • R128
    +关注

    关注

    0

    文章

    41

    浏览量

    392
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ElfBoard技术贴|如何在【RK3588】ELF 2开发板实现I2C功能复用

    IOMUX(引脚功能复用)是一项关键硬件设计技术,旨在帮助芯片厂商更高效地利用有限的引脚资源。它借助内部寄存器,允许开发者通过软件将同一物理引脚灵活
    的头像 发表于 12-04 10:10 5953次阅读
    ElfBoard技术贴|如何在【RK3588】ELF <b class='flag-5'>2</b>开发板实现I<b class='flag-5'>2</b>C功能<b class='flag-5'>复用</b>

    ADC128S052:高性能12位A/D转换器的深度解析

    概述 ADC128S052与ADC128S052 - Q1采用逐次逼近寄存器(SAR)架构,并内置跟踪保持电路,可配置为接受多达8个输入信号。其输
    的头像 发表于 11-30 14:53 527次阅读
    ADC<b class='flag-5'>128S</b>052:高性能12位A/D转换器的深度解析

    ADC128S052/ADC128S052-Q1 8 通道高速低功耗 ADC 产品总结

    ADC128S052x 是一款低功耗、八通道 CMOS 12位模拟转数字设备 转换为吞吐量的转换器规定为 从200千每秒到500千千每秒。该转换器基于逐次近似寄存器 采用内部轨道保持电路的架构。它可以配置为最多可接受八人 输入信号位于IN0至IN7。
    的头像 发表于 11-19 14:07 352次阅读
    ADC<b class='flag-5'>128S</b>052/ADC<b class='flag-5'>128S</b>052-Q1 8 通道高速低功耗 ADC 产品总结

    ElfBoard技术贴|如何在【RK3588】ELF 2开发板上进行UART引脚复用配置

    IOMUX(引脚功能复用)是芯片厂商为高效利用有限硬件引脚资源而设计的关键技术,它允许单个物理引脚通过软件配置为多种不同的功能(如GPIO、
    的头像 发表于 11-18 16:54 5082次阅读
    ElfBoard技术贴|如何在【RK3588】ELF <b class='flag-5'>2</b>开发板上进行UART<b class='flag-5'>引脚</b><b class='flag-5'>复用</b><b class='flag-5'>配置</b>

    Texas Instruments TMUXHS4512 2:1多路复用器/1:2复用器开关数据手册

    Texas Instruments TMUXHS4512 2:1多路复用器/1:2复用器开关是与协议无关的高速双向无源开关,采用复用或解
    的头像 发表于 07-10 09:31 525次阅读
    Texas Instruments TMUXHS4512 <b class='flag-5'>2</b>:1多路<b class='flag-5'>复用</b>器/1:<b class='flag-5'>2</b>解<b class='flag-5'>复用</b>器开关数据手册

    STM32L433VCT6 LCD复用引脚如何分配?

    背景:使用STM32L433VCT6驱动段码屏,33个段,其中用到一个PC10引脚,使用STM32CubeMX配置,只配置了LCD复用功能,但是用于LCD_SEG40还是LCD_SEG
    发表于 06-20 08:26

    MAX9394 2:1复用器和1:2复用器技术手册

    MAX9394/MAX9395由一个2:1复用器和一个1:2复用器以及环回电路组成。复用器部分(通道B)接受两路低压差分信号(LVDS)输
    的头像 发表于 04-15 16:01 873次阅读
    MAX9394 <b class='flag-5'>2</b>:1<b class='flag-5'>复用</b>器和1:<b class='flag-5'>2</b>解<b class='flag-5'>复用</b>器技术手册

    FD60-36S24B3R2 FD60-36S24B3R2

    电子发烧友网为你提供AIPULNION(AIPULNION)FD60-36S24B3R2相关产品参数、数据手册,更有FD60-36S24B3R2引脚图、接线图、封装手册、中文资料、英文资料,FD60-36
    发表于 03-21 18:33
    FD60-36<b class='flag-5'>S24B3R2</b> FD60-36<b class='flag-5'>S24B3R2</b>

    PFD50-36S24B3R2 PFD50-36S24B3R2

    电子发烧友网为你提供AIPULNION(AIPULNION)PFD50-36S24B3R2相关产品参数、数据手册,更有PFD50-36S24B3R2引脚图、接线图、封装手册、中文资料、英文资料,PFD50-36
    发表于 03-21 18:31
    PFD50-36<b class='flag-5'>S24B3R2</b> PFD50-36<b class='flag-5'>S24B3R2</b>

    FD50-36S24B3(R)2 FD50-36S24B3(R)2

    电子发烧友网为你提供AIPULNION(AIPULNION)FD50-36S24B3(R)2相关产品参数、数据手册,更有FD50-36S24B3(R
    发表于 03-21 18:31
    FD50-36<b class='flag-5'>S</b>24B3(<b class='flag-5'>R</b>)<b class='flag-5'>2</b> FD50-36<b class='flag-5'>S</b>24B3(<b class='flag-5'>R</b>)<b class='flag-5'>2</b>

    FN1-12S15WH6R3 FN1-12S15WH6R3

    电子发烧友网为你提供AIPULNION(AIPULNION)FN1-12S15WH6R3相关产品参数、数据手册,更有FN1-12S15WH6R3的引脚图、接线图、封装手册、中文资料、英文资料,FN1-12
    发表于 03-19 18:45
    FN1-12<b class='flag-5'>S15WH6R</b>3 FN1-12<b class='flag-5'>S15WH6R</b>3

    I2C总线复用

    帝晶智慧屏I2C总线复用
    的头像 发表于 03-11 17:20 1860次阅读

    飞凌嵌入式-ELFBOARD-核心板pimmux的配置

    可以通过复用调整其引脚功能,例如:GPIO引脚可以通过软件复用为UART、I2C、I2S、SPI
    发表于 01-14 09:31

    如何提高ADC128S052输出能力?

    ADC128S052的数字输出能力为V~0.5之间,最近在使用这个adc时发现,其1时输出大约为0.8V,而且与Vd引脚的电压正好互补,这个输出的电压,单片机无法识别为1,如何提高ADC输出能力?
    发表于 01-10 08:11

    如何配置GPIO引脚

    在嵌入式系统设计中,GPIO(通用输入/输出)引脚是连接微控制器与外部世界的重要桥梁。它们可以被配置为输入或输出模式,用于读取传感器数据、控制LED灯、驱动电机等。 GPIO引脚的基本概念 GPIO
    的头像 发表于 01-09 09:39 1867次阅读