中科蓝汛----- 关于使用GPIO口进行测试点的使用

 

关于测试点的使用,以便于工厂测试,节约工厂测试工时(可节约员工在上电,需要自己按键进入DUT模式,例如五击 六击 )

 

关于测试点的使用,使用某个IO口,通过外部控制IO口的高低电平,让其快速进入DUT模式

GPIOX 的使用 :

  • GPIOAFEN //0:当作通用GPIO使用 //1:当作其它功能性IO,如串口/SPI..

  • GPIOADE //数字IO使能: 0为模拟IO, 1 为数字IO

  • GPIOADIR //控制IO的方向: 0为输出, 1为输入.

  • GPIOA //IO方向为输入时,读此寄存器的值即得到引脚的高低状态 //IO为输出时, 设置此寄存器的高低即设置对应引脚的高低输出.

  • GPIOADRV //0 输出驱动为8mA //1 输出驱动为32 mA //IO方向为输出时有效

    //以下寄存器控制上拉或下拉, 注意只有当IO设置为输入时, 上下拉才有效. //IO方向为输出时上下拉自动无

  • GPIOAPU //10K上拉使能

  • GPIOAPD //10K下拉使能     

  •  GPIOAPU200K //200K上拉使能

  • GPIOAPD200K //200K下拉使能

  • GPIOAPU300 //300欧上拉使能

  • GPIOAPD300 //300欧下拉使能

  • 作为输出时,输出电平的高低也可以通过设置GPIOASET/GPIOACLR来快速实现,注意GPIOASET/GPIOACLR只对写1的位有效.

  • GPIOASET = BIT(0); //PA0输出高, 等效于 GPIOA |= BIT(0);其它位状态不变.

 

关于IO的使用,在硬件中会留有测试点

例如: 使用PB3 IO口(在硬件的方式,此时PB3即是烧录update,又可用来当测试点 ),将PB3口 对GND,开机则直接进入DUT模式,如果PB3与GND连接,则此时是低电平,在开机后,我们只需要在软件中判断PB3此时的高低电平来决定是否让其进入DUT模式

 

首先我们先设置好PB3 IO口初始化的方式,设置其输入 输出的方向

 

#define PB3_DUT_ENABLE	1

#define PB3_INIT()   {GPIOBDE|=BIT(3);GPIOBPU|=BIT(3);GPIOBDIR|=BIT(3);}
#define PB3_STA() 	GPIOB & BIT(3)
#define PB3_IS_ONLINE()  (GPIOB & BIT(3)) == 0

 

 

IO口的初始化

在bsp_sys.c 中,bsp_sys_init()函数中进行PB3 的初始化

#if PB3_DUT_ENABLE			// PB3测试点 IO 初始化
    PB3_INIT();
#endif

 

初始化完成后,就可以直接使用了,在MSG_SYS_1S中使用,一直检测

 

 

#if PB3_DUT_ENABLE
	if(PB3_IS_ONLINE()){  //检测PB3处是否是低电平(PB3对GND)
         if(bt_cfg.cbt_test_mode != 1){ //非DUT模式下,即可进入
		sys_cb1.user_cbt_led_flag = 1;
		bt_nor_delete_link_info();
		bt_tws_delete_link_info();
            sys_warning_play(T_WARNING_NEXT_TRACK, 1); 				 //长按“滴”一声
		delay_5ms(10);
		sys_warning_play(T_WARNING_NEXT_TRACK, 1); 				 //长按“滴”一声
		delay_5ms(10);
            func_cb.sta = FUNC_BT_CBT;          //四击进CBT测试模式
        }


	}

#endif

如何通过按键退出DUT模式?

例如:在双击 或三击事件中使用

if(func_cb.sta == FUNC_BT_CBT){   //双击退出DUT模式
		bt_cfg.cbt_test_mode = 0;
		sys_cb1.user_cbt_led_flag = 0;  //指示灯的标志
		sys_warning_play(T_WARNING_NEXT_TRACK, 1);					//长按“滴”一声
		delay_5ms(10);
		func_cb.sta = FUNC_NULL;
}

 

如何在DUT模式下,查看版本号

if(1 == bt_cfg.cbt_test_mode){
		//DUT模式下,提示音版本号信息
		sys_cb1.user_cbt_led_flag = 0;
            sys_warning_play(T_WARNING_NUM_1, 0);

            sys_warning_play(T_WARNING_NUM_4, 0);
}

 

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
中科蓝汛ANC(主动降噪)调试流程主要包括以下几个步骤。 首先是硬件测试。在ANC调试之前,需要对ANC耳机的硬件进行测试,确保其正常工作。测试包括对耳机的驱动单元、传感器、电池以及连接线路等进行检测,确保没有损坏或故障。 接着是离线参数调试。在此步骤中,需要分析耳机在不同环境下的噪音特性,并根据实际情况调整ANC算法的离线参数,以达到降噪效果的优化。调试过程中需要使用专业的声音采集设备,对各种背景噪音进行准确的采集和分析。 然后是在线参数调试。在线参数调试主要通过人机交互的方式,用户提供反馈音频信号,耳机实时采集环境噪音并与反馈信号进行混合处理,调试ANC算法的在线参数,以根据用户需求实现最佳降噪效果。该过程需要多次反复调试,直至满足用户要求。 最后是整体效果评估。调试完成后,需要对ANC耳机进行整体效果评估。评估主要包括ANC的降噪效果、语音清晰度、电池续航能力等方面的测试。通过对音质、降噪效果、电池寿命等指标的综合评估,确定ANC耳机是否达到设计要求。 总的来说,中科蓝汛ANC调试流程包括硬件测试、离线参数调试、在线参数调试和整体效果评估等多个环节,通过不断的优化和调整,确保ANC耳机在各种环境下都能实现最佳的降噪效果,提供用户良好的音频体验。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值