4576|1

422

帖子

4

TA的资源

纯净的硅(初级)

楼主
 

【新版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()代码部分,
  1. void main( void )
  2. {
  3.   CfgFsys();                                //Configure sys
  4.         mDelaymS(5);                              //
  5.   mInitSTDIO( );                            // Init UART0

  6. #if        DE_PRINTF
  7.     printf( "Start config.\r\n" );
  8.     printf( "Init USB device.\r\n" );
  9. #endif
  10.         USBDeviceInit();                          // Configure the USB module,the Endpoint and the USB Interrupt
  11.   EA = 1;       
  12.         UEP1_T_LEN = 0;                           // Reset the trans length register
  13.   UEP2_T_LEN = 0;                                                  
  14.   FLAG = 0;
  15.         EnumOK = 0;
  16.   TouchKeyQueryCylSet1Or2ms(1);                    //set query cycle
  17.   TouchKeyChanelSelect(3);                  //set query chanel       
  18.     while(1)
  19.         {
  20.       
  21.         if( EnumOK == 1 )
  22.         {                                       
  23.             HIDValueHandle();                               
  24.         }
  25.         else
  26.         {
  27.             if(TKEY_CTRL&bTKC_IF)           //wait query finsh,max 2ms »ñ衼üÖμ»ù×¼Ö죬¶à2éÑù¼¸′Î
  28.             {                                                       
  29.             TouchKeyButton = TKEY_DAT;      //       
  30. #ifdef DE_PRINTF
  31.             printf("A.=  %04x\n",TouchKeyButton&0x7FFF);               
  32. #endif       
  33.             }                                                       
  34.         }                                       
  35.     }
  36. }

  37. /**************************** END *************************************/
复制代码

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

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





此帖出自单片机论坛

最新回复

  详情 回复 发表于 2018-5-4 09:41
点赞 关注
 

回复
举报

935

帖子

1

TA的资源

禁止发言

沙发
 
此帖出自单片机论坛
 
个人签名存储芯片/MCU/SRAM/PSRAM/DDR/FLASH/MRAM。web.www.sramsun.com  QQ3161422826 TEL:13751192923
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表