PICDEM™USB开发套件:开启USB应用开发新征程

电子说

1.4w人已加入

描述

PICDEM™USB开发套件:开启USB应用开发新征程

在电子工程师的日常工作中,开发与USB接口相关的应用是一项常见且重要的任务。Microchip的PICDEM™USB开发套件为我们提供了一个强大而便捷的平台,帮助我们快速实现各种USB应用。今天,就让我们深入了解一下这个套件,探讨如何利用它进行开发。

文件下载:DM163010.pdf

一、套件概述

PICDEM™USB开发套件旨在帮助工程师将新的外设连接到PC,它采用了PIC16C745/765微控制器,支持USB接口,为开发USB应用提供了丰富的资源。该套件包含了硬件电路、软件代码以及相关的文档资料,能够满足不同层次开发者的需求。

1.1 开箱清单

当我们打开PICDEM™USB套件的盒子,会发现里面包含以下物品:

  • Microchip USB CD-ROM:包含USB支持文档,为我们提供了详细的技术资料。
  • PICDEM™USB电路板:安装有PIC16C765微控制器,是整个开发的核心硬件。
  • MPLAB IDE CD-ROM:用于开发和调试代码的集成开发环境。
  • 3英尺USB A - B电缆:用于连接开发板和PC。
  • 小盒子:包含一个带窗口的PIC16C745和PIC16C765芯片。

1.2 所需物品

除了套件中的物品,我们还需要准备以下设备和软件:

  • PC:用于运行MPLAB IDE,建议使用配置较高的计算机,以确保开发过程的流畅性。
  • Visual Basic和/或Visual C++:用于修改PC示例代码,根据具体需求选择合适的编程语言。
  • PC或Macintosh:PC需运行Windows 98或更新版本,Macintosh需运行MacOS X 10.0或更新版本,以支持USB功能。
  • PICSTART® Plus或PRO MATE® II:用于对设备进行编程,确保代码能够正确烧录到芯片中。
  • UV芯片擦除器:用于清除编程错误,保证芯片的正常使用。
  • Apple的USB DDK和USB - IF PC工具:分别用于Macintosh和PC的USB开发,提供必要的开发工具和支持。

1.3 建议物品

为了更好地进行开发,还可以准备一些建议物品:

  • USB协议分析仪:如CATC,帮助我们分析USB通信过程,排查问题。
  • USB - IF会员资格:可以获取更多的USB技术资源和支持。
  • MPLAB® ICE 2000:用于调试和仿真,提高开发效率。

二、USB演示代码

套件中提供了多种USB演示代码,涵盖了从简单的游戏端口翻译到复杂的LCD显示等不同应用场景,为我们学习和开发USB应用提供了很好的参考。

2.1 游戏端口 - USB翻译器

这个示例代码可以读取PC游戏端口的信息,并通过USB将其报告给主机。它使用PICmicro MCU的PORTA和PORTD读取游戏手柄的模拟电压和按钮状态,并将其转换为USB数据格式。代码中使用的报告描述符定义了数据的格式,确保主机能够正确解析数据。

2.2 PS/2键盘/鼠标 - USB翻译器

该示例代码允许将PS/2键盘和鼠标转换为USB设备。通过检测PS/2设备的类型,PICmicro MCU可以自动切换配置,模拟键盘或鼠标的功能。在硬件实现上,PS/2端口的时钟和数据线连接到PIC的RC0和RC1引脚,通过中断方式读取数据。代码中还实现了软分离功能,方便设备的重新枚举。

2.3 组合游戏端口/PS/2/鼠标 - USB翻译器

此示例展示了如何使用多个端点创建组合设备。通过配置不同的端点,游戏手柄和鼠标可以同时通过USB与主机通信。在固件中,需要正确设置描述符和报告描述符索引,以确保主机能够正确识别和处理不同的设备。

2.4 多功能LCD文本显示示例

这个示例使用USB端点发送和接收数据,实现了在LCD上绘制文本、移动光标、清除屏幕等功能。通过定义简单的USB命令集,主机可以控制LCD的各种操作。在硬件上,LCD模块连接到PICDEM™USB的LCD连接器,通过PORTE和PORTD进行控制。

三、硬件设计

PICDEM™USB的硬件设计考虑了多种接口和功能,为开发提供了丰富的选择。

3.1 振荡器支持

PIC16C745/765支持多种振荡器选项,为了满足USB Serial Interface Engine (SIE)的要求,内部时钟必须为24 MHz。通过HS和EC时钟模式以及内部4x PLL时钟乘法器,可以使用6 MHz的振荡器,降低成本和EMI。硬件上提供了罐装振荡器、晶体和谐振器的支持。

3.2 连接器引脚定义

开发板上提供了多种连接器,包括游戏端口、PS/2端口、RS - 232端口、LCD连接器、键盘连接器和USB连接器。每个连接器都有明确的引脚定义,方便我们连接不同的外设。

3.3 按钮和跳线

开发板上的按钮和跳线提供了一些额外的功能和配置选项。例如,S1按钮用于复位系统,S2按钮可作为通用开关输入;J3跳线用于选择总线电源或自供电,J9跳线用于启用或禁用LED。

3.4 电源

开发板支持自供电和总线供电两种方式。自供电可以使用9 - 20VAC/DC电源,而总线供电则通过USB电缆提供5V电源。在设计应用时,需要根据实际需求选择合适的供电方式。

四、USB固件

Microchip提供了一层USB软件接口,帮助我们更方便地开发USB应用。

4.1 软件接口介绍

该软件接口提供了简单的Put/Get接口,用于与主机进行通信。大部分USB处理在后台通过中断服务例程完成,应用程序只需关注数据的发送和接收。在使用前,需要生成适当的描述符,以确保设备能够正确枚举和通信。

4.2 功能调用参考

主要的功能调用包括InitUSB、PutEPn和GetEPn。InitUSB用于初始化USB外设,使主机能够枚举设备;PutEPn用于向主机发送数据;GetEPn用于从主机接收数据。此外,还有一些协议层的函数,如ServiceUSBlnt、StallUSBEP/UnstallUSBEP等,用于处理USB中断和控制端点状态。

4.3 固件优化

为了优化程序内存,我们可以根据实际需求去除一些未使用的功能。例如,关闭USB状态LED显示、禁用错误计数器、去除未使用的功能函数等。

五、故障排除

在开发过程中,难免会遇到一些问题。文档中提供了常见问题的解答,帮助我们快速解决问题。

5.1 硬件问题

例如,VBUS和VUSB是不同的电压,不能直接连接;VUSB上的220 nF电容是必需的,用于稳定电压。

5.2 PC/Windows问题

当修改描述符后,Windows可能会从注册表中加载旧的描述信息。可以使用regedit删除注册表中的旧条目,或者使用Macintosh进行描述符开发。

5.3 Macintosh问题

如果在Macintosh上遇到键盘示例无法工作的问题,可能是因为使用的是MacOS 10.0之前的版本,需要实现SetIdle和GetIdle功能。

六、总结

PICDEM™USB开发套件为电子工程师提供了一个全面的USB开发平台。通过丰富的演示代码、灵活的硬件设计和强大的USB固件,我们可以快速开发出各种USB应用。在开发过程中,我们要充分利用套件提供的资源,同时注意硬件和软件的配置和优化,以确保开发的顺利进行。你在使用PICDEM™USB开发套件的过程中遇到过哪些有趣的问题呢?欢迎在评论区分享你的经验。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐
  • 热点推荐

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分