北方 发表于 2018-5-3 12:12

【新版CH554评测DIY】音频校音器之8

音频校音器之8-USB的功能
1、在评测的过程中,非常明显的发现CH554最大的优势就是USB的功能设计和引入,使用方便简明。在使用前需要先了解USB通讯协议和下载协议监测器如USB Hound等,不过各种软件都还是有不完善的地方,最主要的就是对于新版64位机的兼容性,这里多数情况下都要进行对应的设定。
2、USB 控制器简介
   USB的功能:内嵌 USB 控制器和 USB 收发器,支持 USB-Host 主机模式和 USB-Device 设备模式,支持USB type-C 主从检测,支持 USB 2.0 全速 12Mbps 或者低速 1.5Mbps。支持最大 64 字节数据包,内置 FIFO,支持 DMA。
   CH554 内嵌 USB 控制器和 USB 收发器,特性如下:(1)、支持 USB Host 主机功能和 USB Device 设备功能;(2)、支持 USB 2.0 全速 12Mbps 或者低速 1.5Mbps;(3)、支持 USB 控制传输、批量传输、中断传输、同步/实时传输;(4)、支持最大 64 字节的数据包,内置 FIFO,支持中断和 DMA。CH554 的 USB 相关寄存器分为 3 个部分,部分寄存器是在主机和设备模式下进行复用的。(1)、USB 全局寄存器;(2)、USB 设备控制器寄存器;(3)、USB 主机控制器寄存器。
USB相关寄存器:



3、对于例程的应用,基本都很好地展示了USB接口的性能。
注意,需要连接中间的micro USB接口,这样就可以在设备管理器中发现设备了。而且,显示程序中设定的PID和VID




参照程序中的设备设定可知,

对于USB协议可以直接启动程序读取有关参数和通讯,不过对于串口仍然需要连接板卡的USB转串口功能,才能显示页面的功能。
按键没有按下时,

按下对应按键时,

详见程序的main()代码部分,
void main( void )
{
CfgFsys();                              //Configure sys
        mDelaymS(5);                              //
mInitSTDIO( );                            // Init UART0

#if        DE_PRINTF
    printf( "Start config.\r\n" );
    printf( "Init USB device.\r\n" );
#endif
        USBDeviceInit();                        // Configure the USB module,the Endpoint and the USB Interrupt
EA = 1;       
        UEP1_T_LEN = 0;                           // Reset the trans length register
UEP2_T_LEN = 0;                                                
FLAG = 0;
        EnumOK = 0;
TouchKeyQueryCylSet1Or2ms(1);                    //set query cycle
TouchKeyChanelSelect(3);                  //set query chanel       
    while(1)
        {
      
      if( EnumOK == 1 )
      {                                       
            HIDValueHandle();                               
      }
      else
      {
            if(TKEY_CTRL&bTKC_IF)         //wait query finsh,max 2ms »ñ衼üÖμ»ù×¼Ö죬¶à2éÑù¼¸′Î
            {                                                       
            TouchKeyButton = TKEY_DAT;      //       
#ifdef DE_PRINTF
            printf("A.=%04x\n",TouchKeyButton&0x7FFF);               
#endif       
            }                                                       
      }                                       
    }
}

/**************************** END *************************************/

4、编译和开发
不过,在本项目中恐怕不能如计划使用usb口了,因为有关FFT变换资源消耗大,而范例提供的程序在添加touchkey后也显示编译超容量限制,只有16k的代码确实不适合更大的计算量。

5、其他的USB范例也都测试过,确实非常的好用,是快速开发的首选。





英尚微电子 发表于 2018-5-4 09:41

页: [1]
查看完整版本: 【新版CH554评测DIY】音频校音器之8