美文网首页
ULM300BOX测试夹具问题

ULM300BOX测试夹具问题

作者: Ben2Feng | 来源:发表于2017-04-24 11:48 被阅读36次

导语:ULM300BOX接收端与ULM300USB接收端两款产品无论是软件还是硬件都是基本类似的,ULM300BOX是在ULM300USB基础上升级的,所以整体思想是在做测试夹具时尽量能照搬ULM300USB的测试环境(整个测试软硬件平台)

一、测试夹具中主要用到的测试点#

  • 测试点主要有9个,JTAG烧写程序的五个点(VCC、GND、RST、SWDAT、SWCLK)、I2C传输数据的两个点(SDA、SCL)、供电点(VBUS、GND)。
  • 上位机测试时使用JTAG的点控制待测试板一步一步进行(类似于MDK中使用JTAG线单步调试),供应商在调试时说过有用到I2C线来传输数据和程序(因为IA2E芯片无RAM无法存储程序)但在我们的产品中IA2E的程序存储于MCU(GD32F150)芯片中,这两个点是否有实际作用还有待观察。
  • ULM300USB通过USB接头供电(VBUS、GND两根线),ULM300USB需要测试音频,通过AOUT、GND两个根线来传输音频数据到电脑,这样接ULM300USB的USB接头就需要4根线(VBUS、GND、AOUT、GND0),但是ULM300BOX只需要VBUS、GND两根线来供电即可

二、ULM300USB测试程序与ULM300BOX硬件匹配问题#

  • ULM300USB和ULM300BOX硬件的差异如下。


    ULM300USB.PNG
    ULM300BOX.PNG
  • 以上两者之间原理图的不同原因在于:ULM300USB使用(PA10、PA11、PA12)这几个脚去实现USB的功能,ULM300BOX使用(PA9、PA10、PA11、PA12)这几个脚去控制74HC595点亮LED的功能。
  • 产生的问题:若直接在ULM300BOX板中使用ULM300USB的测试程序,实际程序认为的控制原理图就如图ULM300USB.PNG所示,那很可能74HC595与MCU相互连接的线路上有高低电平使得D+、D-之间的差模电压引起USB中断,这样程序会一直进入USB中断,这样测试将无法完成。
  • 解决的方法,如ULM300BOX.PNG红色部分所示,在D+处连接电脑74HC595一端加一个测试点TP,在夹具中连接这TP点的顶针接地,这样就破坏了USB数据的中断,74HC595所在面板返回的电平将无法产生USB中断了,测试程序就能正常的运行

三、测试程序的改动#

  • 原则上可以通过修改ULM300USB的测试程序来解决以上USB中断的问题
int main( void ) 
{
    
    RCC->AHBENR |= RCC_AHBENR_GPIOFEN | RCC_AHBENR_GPIOCEN | RCC_AHBENR_GPIOBEN | RCC_AHBENR_GPIOAEN;
    
    Button_Init();          // pull-up on button input
    
    UID = Get_UID();
    
    USB_Interrupts_Config();
    
    LED_Init();
    LED_SetMode( LED_OFF );
    
    I2C_Init();
    
    IA2E_PowerUp();
    
    SetSysClock();
    
    while( !IA2E_Boot_Complete );
    
    // only required here for I2S operation; USB runs this upon Alt.Set.1
    Stream_Init();
    Stream_Start( I2S );
    
    USB_Init();
    
    while( 1 ) {
        
//      if( GPIOA->IDR & ( 1 << PIN_SW ) ) {
        if( Button_Event == ( BTN_PAIRING | LONG_PRESS ) ) {
            Button_Event = 0;
//          LED_SetMode( LED_OFF );
            SYNIC_Pairing( ENABLE );
//          #ifdef _HMS1_
//              TIM14->CCER |= TIM_CCER_CC1E;
//          #else
//              TIM15->BDTR |= TIM_BDTR_MOE;
//          #endif
//          Stream_Attn = 0;
//      } else {
/*      } else if( Button_Event == ( BTN_PAIRING | SHORT_RELEASE ) ) {
            Button_Event = 0;
//          LED_SetMode( LED_ACTIVE );
            SYNIC_Pairing( DISABLE );
//          #ifdef _HMS1_
//              TIM14->CCER &= ~TIM_CCER_CC1E;
//          #else
//              TIM15->BDTR &= ~TIM_BDTR_MOE;
//          #endif
//          Stream_Attn = ( 60 / 6 ) << 6;
            
//          SYNIC_Pairing( ENABLE );
//          while( !( GPIOA->IDR & ( 1 << PIN_SW ) ) );
//          SYNIC_Pairing( DISABLE );
*/      }
        
    }
    
}

  • 如上程序源代码,把USB_Interrupts_Config();USB_Init();两行代码屏蔽掉即可,目前的问题是此项目经过多人接手,测试代码的源程序没找到。

相关文章

  • ULM300BOX测试夹具问题

    导语:ULM300BOX接收端与ULM300USB接收端两款产品无论是软件还是硬件都是基本类似的,ULM300BO...

  • unittest框架介绍

    unittest框架介绍 • Test Fixture(测试夹具):通过使用测试夹具,可以定义在单个或多个测试执行...

  • 解决高温拉力试验机夹具材质的选型问题

    夹具在高温拉力试验机中起着至关重要的作用,夹具强度的高低,决定了测试试验的成败。尤其是在拉力试验机的高温拉伸试验中...

  • 广材试验机分享:怎么选择合适的拉力试验机夹具

    夹具是拉力机试验机中不可缺少的一个零件。夹具根据试验方法的不同,大致可分为:拉伸类夹具、压缩类夹具、弯曲类夹具、剥...

  • 自动化测试框架pytest教程3-pytest Fixture(

    pytest夹具 现在你已经用pytest编写和运行了测试函数,让我们把注意力转移到称为fixtures的测试辅助...

  • 2020-05-27

    今明两天主要是围绕第二个夹具体装配图以及两个夹具体的零件图。第二个夹具体是铣床夹具体,之前的第一套图则是钻床夹具体...

  • 自动化你的测试

    自动化 硬件自动化硬件自动化包括测试夹具,搬移的自动化 软件自动化测试程序的自动化现有测试程序的连接,将已有的需要...

  • WorkNC如何建立新的夹具系统(以虎钳为例)

    WorkNC新夹具系统建立操作视频 WorkNC新夹具系统建立操作流程 建立新的装夹具系统数据库 选择建立,并按住...

  • CNC加工中心对夹具的要求

    CNC加工中心对夹具有什么要求? 夹具是CNC加工中心必不可少的配件,每一台CNC加工中心都会使用到夹具,而且依据...

  • 早会

    分厂早会通报:1、原料场2#夹具夹6支钢,产线和电运需要调查该夹具为什么能够夹6支钢,代厂长强调,原料场夹具绝对不...

网友评论

      本文标题:ULM300BOX测试夹具问题

      本文链接:https://www.haomeiwen.com/subject/fjgdzttx.html