1. 概述
    1. PORT驱动程序帮助用户将PORT引脚分配到外设,并配置底层硬件提供的特性/特性。由于可用性有限,这些端口引脚在芯片外围设备上共享。然而,在任何给定的时间点,端口引脚都被分配给一个外围设备并被它精确地使用。
    2. 所有涉及到物理引脚的驱动模块,都需要在PORT中提前配置好对应的pin,比如DIO, SPI, ICU等。

 

  1. 配置预览

container:PortConfigSet 中涵盖了芯片支持的所有port,默认情况下所有port均采用默认值,即有 或 的标识。用户只需要对EB工程中用到的port[x]_pin[y]进行合理的设置即可。具体每个处理器支持多少个PORT,每个PORT支持多少个PIN,请参阅文档 ;

 

container:PortGeneral 中包含了PORT模块的一些通用配置;

PortDevErrorDetect 是否启用开发错误诊断,本例中禁用;

PortSetPinDirectionApi 是否启用设置引脚方向api,默认禁用;

PortSetPinModeApi 是否启用设置引脚模式api,默认禁用;

PortVersionInfoApi 是否启用版本信息api,默认禁用; 

PortInitApiMode 设置初始化api 为SUPERVISOR模式;

PortSafetyEnable 是否启用安全模式,本例中禁用;

PortInitCheckApi 是否启用初始化检查api,默认禁用;

 

container:PortConfigSet的sub-container:PortContainer 中列出了芯片支持的所有port和每个port支持的所有pin,这里是预设的默认值,不能修改。

从中我们可得出此芯片一共支持17个Port,Port所对应的PortNumber并不是连续的,每一个Port拥有的pin数也不是固定的。文档中提到的比如Port10,是指PortNumber那列的10,即PortContainer_3,而并不是PortContainer_10,这一点需要注意,同理此规则也适用于Port中pin的命名和区分。

 

container:PortConfigSet的sub-container:PortPin  中列出具体某个Port下pin的配置,下图中配置PortPin4, 5, 7为输出模式及PORT_PIN_OUT,同时复用功能设置为ALT4模式,默认引脚电平为高电平,即PORT_PIN_LEVEL_HIGH。

 

图中包含的完整配置项有:

Name: 用户自定义的引脚名,须符合命名规则,同一个Port下各pin名不可重名,不同Port下pin名可重名,也可使用默认值PortPin_x。

PortPINID:软件自动计算出的唯一pin排序号,用户禁止修改此值。

PortPinSymbolicName:软件自动生成的唯一的Port和Pin结合生成的名称,用户禁止修改此值。

PortPinDirection:由用户指定pin的数据方向,只有PORT_PIN_IN和PORT_PIN_OUT两种值。

PortPinDirectionChangeable:引脚方向是否可改变,默认值即可。

PortPinInitialMode:指定pin脚的复用模式,用户需要结合手册和所用的驱动功能从下拉选项中选择合适的值。

剩下的配置项可以使用默认值,具体每个配置项的含义可以参考开头列出的文档。

 

container:PortConfigSet的sub-container:PortLVDS 中列出了具体某个Port在硬件PCB上支持物理差分信号布线的引脚,下图中此Port的pin0和1,pin2和3就是两对物理上差分信号线,如果实际的需求中需要差分信号,则在这些列出的差分信号对中选择即可,差分信号支持空闲电压值,pulldown等模式的设置。

PortLVDSPinPair 用于指定支持LVDS特性的端口引脚对,此项由软件自动生成,用户无须修改;

PortLVDSRxEnController 用于指定仅适用于Rx LVDS对的开关控制器,可以选择HSCT_CONTROLLED 或 PORT_CONTROLLED;

PortLVDSRxPathEnable 用于指定pin-Pair是在LVDS模式还是CMOS模式,选择TRUE会启用LVDS收发器并禁用CMOS模式,选择FALSE会禁用LVDS收发器并启用CMOS模式;

PortLVDSRxTerminationMode 用于选择端口引脚的终端负载电阻,可以选择EXTERNAL_TERMINATION 或 INTERNAl_TERMINATION;

PortLVDSMode 用于指定信号频率模式,选择LVDSH会启用高频模式,选择LVDSM会启用低频模式;

PortLVDSPadSupply 用于指定Tx和Rx差分对的电源电压,可以选择V3_3 或 V5_0;

PortLVDSTxEnController 用于指定仅适用于Tx LVDS对的开关控制器,可以选择HSCT_CONTROLLED 或 PORT_CONTROLLED;

PortLVDSTxPathEnable 用于指定Pin-Pair是在LVDS模式还是CMOS模式,选择TRUE会开启LVDS收发器,选择FALSE会关闭LVDS收发器;

PortLVDSTxPowerDownPullDown 用于指定传输下拉电阻的状态,选择DISABLE会禁用Tx下电-下拉电阻,选择ENABLE会启用Tx下电-下拉电阻;

 

container:CommonPublishedInformatica 中是软件自动生成的版本号默认值,用户无需修改,保持默认即可。

 

涉及到pin的驱动模块的IO复用工作由外设模块支持,由port_init()实现初始化,与Dio无关。 Dio只做简单的IO输入输出配置,比如按键,点灯,开关之类,没有dio_init()这个api。

posted on 2022-12-28 11:42  lance9527  阅读(1539)  评论(0编辑  收藏  举报