芯片资讯
- 发布日期:2024-06-12 07:29 点击次数:184
随着USB接口的推出,AN2131QC芯片正在逐渐成为计算机外围设备一种主流接口,所以USB接口的开发也越来越得到关注。在其开发中,固件程序的开发是一个重要的环节,它是USB设备运行的核心,响应各种USB设备请求,完成各种数据交换工作和事件的处理,直接影响产品的数据传输速率。固件程序也是开发过程中的一个难点,因此本文介绍其基本框架和其基本的程序设计。
1 AN2131QC的主要特点
AN2131QC是基于USB 1.1的外设通讯控制芯片
主要特点:
(1)4时钟周期的8051内核;
(2)2个快速存储器到存储器的数据发送指针;
(3)多个USB数据传输中断;
(4)8 kB内部RAM,支持外部存储器;
(5)软配置,方便固件程序升级;
(6)32个输入输出管道,支持1024B的同步数据传输。
2 AN2131QC的数据传输方式
USB总线的数据传送是通过管道来完成的,当外围设备接到总线上时,地址是由主机随机分配的,信息的交换通过4种方式实现。
(1)控制传输
主要作用是建立主机和USB外设之间的联系管道和USB外设的状态反映,不能用于传输信息数据。AN2131QC的端点O用于控制传输。
(2)批量传输
主要用于传输长度不大于64个字节,而且需要周期性传输的数据块,具有错误重发功能,可以动态地利用可获得的USB总线带宽。
(3)中断传输
对于一个规定的时间里传输一个中等数量的数据是很有用,因为它将保证主机在最短的延迟里响应或发送数据。
(4)同步传输
可以1次传输长度不超过1 024 B的数据块,主要用于传输大批量的实时数据, 芯片采购平台例如音频数据,不支持错误重发。
3 框架函数
框架函数一般都提供有交互的挂钩,可以用来方便用户添加完成特定的功能代码。所谓函数挂钩,就是应用程序之间的桥梁,就好比用钩子在应用程序之间建立联系。函数挂钩非常简单,其所能完成的功能也非常有限,但可以根据实际需要向函数中添加代码,以实现特定的功能。框架函数分为3类:任务分配、标准设备请求和USB中断处理。
3.1 任务分配
(1)D_Init
该函数可在框架初始化期间被调用。在设备重枚举和任务调度启用前调用该函数,可用于初始化用户的全局状态变量。在该函数中,用户可设置整体状态变量的初始值,并可规定各种端点资源的使用(包括中断)以及配置外围接口的输入/输出等。
(2)TD_Poll
在设备工作期间,该函数可被重复调用。它包含一个执行外设功能的状态机。该函数在高优先级的任务处理完成后便可返回。然而,如果不能从该函数中返回,则,框架将不能响应设备请求和USB挂起事件。如果某项任务需要大量的处理时间,则应将该任务分为若干小任务,并通过对该函数的多次调用来分批处理。
(3)TD_Suspend
该函数可在框架进入挂起状态之前被调用。函数中应该包括使设备进入低功耗状态的程序,然后返回TRUE。当然,可以让该函数返回FALSE,以阻止设备进入挂起状态。
(4)TD_Resume
该函数可在设备被外部唤醒事件唤醒且框架程序恢复处理后被调用。此时,设备将恢复到正常的操作方式。
AN2131QC芯片电路原理图
- 集成芯片网常见的集成电路芯片有哪些?2024-11-12
- 瞄准5G、DOCSIS 3.1应用,集ADC/DAC、ARM、FPGA于一体,这款单芯片RFSoC发货啦2024-10-23
- ADI/TI/MAXIM/INTEL/ALTERA/ST/芯片厂家ROHS认证2024-10-18
- CH340G USB转ttl串口模块 原理图+pcb2024-10-15
- 量子争霸开战,富士通量子计算芯片出炉2024-09-26
- 2020年起苹果不再使用英特尔5G基带芯片,联发科或从中受益2024-09-16