电子说
在电子工程师的日常工作中,开发与USB接口相关的应用是一项常见且重要的任务。Microchip的PICDEM™USB开发套件为我们提供了一个强大而便捷的平台,帮助我们快速实现各种USB应用。今天,就让我们深入了解一下这个套件,探讨如何利用它进行开发。
文件下载:DM163010.pdf
PICDEM™USB开发套件旨在帮助工程师将新的外设连接到PC,它采用了PIC16C745/765微控制器,支持USB接口,为开发USB应用提供了丰富的资源。该套件包含了硬件电路、软件代码以及相关的文档资料,能够满足不同层次开发者的需求。
当我们打开PICDEM™USB套件的盒子,会发现里面包含以下物品:
除了套件中的物品,我们还需要准备以下设备和软件:
为了更好地进行开发,还可以准备一些建议物品:
套件中提供了多种USB演示代码,涵盖了从简单的游戏端口翻译到复杂的LCD显示等不同应用场景,为我们学习和开发USB应用提供了很好的参考。
这个示例代码可以读取PC游戏端口的信息,并通过USB将其报告给主机。它使用PICmicro MCU的PORTA和PORTD读取游戏手柄的模拟电压和按钮状态,并将其转换为USB数据格式。代码中使用的报告描述符定义了数据的格式,确保主机能够正确解析数据。
该示例代码允许将PS/2键盘和鼠标转换为USB设备。通过检测PS/2设备的类型,PICmicro MCU可以自动切换配置,模拟键盘或鼠标的功能。在硬件实现上,PS/2端口的时钟和数据线连接到PIC的RC0和RC1引脚,通过中断方式读取数据。代码中还实现了软分离功能,方便设备的重新枚举。
此示例展示了如何使用多个端点创建组合设备。通过配置不同的端点,游戏手柄和鼠标可以同时通过USB与主机通信。在固件中,需要正确设置描述符和报告描述符索引,以确保主机能够正确识别和处理不同的设备。
这个示例使用USB端点发送和接收数据,实现了在LCD上绘制文本、移动光标、清除屏幕等功能。通过定义简单的USB命令集,主机可以控制LCD的各种操作。在硬件上,LCD模块连接到PICDEM™USB的LCD连接器,通过PORTE和PORTD进行控制。
PICDEM™USB的硬件设计考虑了多种接口和功能,为开发提供了丰富的选择。
PIC16C745/765支持多种振荡器选项,为了满足USB Serial Interface Engine (SIE)的要求,内部时钟必须为24 MHz。通过HS和EC时钟模式以及内部4x PLL时钟乘法器,可以使用6 MHz的振荡器,降低成本和EMI。硬件上提供了罐装振荡器、晶体和谐振器的支持。
开发板上提供了多种连接器,包括游戏端口、PS/2端口、RS - 232端口、LCD连接器、键盘连接器和USB连接器。每个连接器都有明确的引脚定义,方便我们连接不同的外设。
开发板上的按钮和跳线提供了一些额外的功能和配置选项。例如,S1按钮用于复位系统,S2按钮可作为通用开关输入;J3跳线用于选择总线电源或自供电,J9跳线用于启用或禁用LED。
开发板支持自供电和总线供电两种方式。自供电可以使用9 - 20VAC/DC电源,而总线供电则通过USB电缆提供5V电源。在设计应用时,需要根据实际需求选择合适的供电方式。
Microchip提供了一层USB软件接口,帮助我们更方便地开发USB应用。
该软件接口提供了简单的Put/Get接口,用于与主机进行通信。大部分USB处理在后台通过中断服务例程完成,应用程序只需关注数据的发送和接收。在使用前,需要生成适当的描述符,以确保设备能够正确枚举和通信。
主要的功能调用包括InitUSB、PutEPn和GetEPn。InitUSB用于初始化USB外设,使主机能够枚举设备;PutEPn用于向主机发送数据;GetEPn用于从主机接收数据。此外,还有一些协议层的函数,如ServiceUSBlnt、StallUSBEP/UnstallUSBEP等,用于处理USB中断和控制端点状态。
为了优化程序内存,我们可以根据实际需求去除一些未使用的功能。例如,关闭USB状态LED显示、禁用错误计数器、去除未使用的功能函数等。
在开发过程中,难免会遇到一些问题。文档中提供了常见问题的解答,帮助我们快速解决问题。
例如,VBUS和VUSB是不同的电压,不能直接连接;VUSB上的220 nF电容是必需的,用于稳定电压。
当修改描述符后,Windows可能会从注册表中加载旧的描述信息。可以使用regedit删除注册表中的旧条目,或者使用Macintosh进行描述符开发。
如果在Macintosh上遇到键盘示例无法工作的问题,可能是因为使用的是MacOS 10.0之前的版本,需要实现SetIdle和GetIdle功能。
PICDEM™USB开发套件为电子工程师提供了一个全面的USB开发平台。通过丰富的演示代码、灵活的硬件设计和强大的USB固件,我们可以快速开发出各种USB应用。在开发过程中,我们要充分利用套件提供的资源,同时注意硬件和软件的配置和优化,以确保开发的顺利进行。你在使用PICDEM™USB开发套件的过程中遇到过哪些有趣的问题呢?欢迎在评论区分享你的经验。
全部0条评论
快来发表一下你的评论吧 !