java怎么拦截某个对象
277
2022-11-03
基于USB接口芯片CH371实现USB外设演示板的通讯设计
前言
芯片介绍
USB接口芯片CH371
使用时,在本地端CH371具有8位数据总线和读、写、片选控制线以及中断输出,就像操作一般外设芯片一样方便地挂接到DSP、MCU等控制器的系统总线上;在计算机端,CH371的配套软件包括通用驱动程序以及应用软件包,提供了简洁易用的操作接口。
键盘控制和数码管驱动芯片CH451
在计算机应用层,通过应用程序来演示CH451的各种功能。应用程序把控制命令通过CH371传送给单片机,单片机接收到命令后再来控制CH451。CH451通过四线串行接口与单片机连接,如图2所示。
USB设备配置和数据传输过程描述
USB即插即用的自动配置过程是由CH371 芯片和驱动程序共同完成的。将带有CH371芯片的USB产品插入到计算机的USB插槽中,当PC机检测到USB 插入事件,操作系统有选择地复位USB 产品,并读取USB 产品的设备描述符,在CH371 芯片返回设备描述符后,操作系统根据设备描述符加载CH371 驱动程序;CH371 驱动程序读取CH371 芯片的设备描述符和配置描述符;在CH371 芯片返回设备描述符和配置描述符之后,CH371 驱动程序根据配置描述符请求操作系统对CH371 芯片进行配置。在完成配置后,PC机给CH371 芯片分配一个USB 设备地址,并指定一个USB 配置。以上是CH371 芯片的自动配置过程,在完成自动配置后,CH371 驱动程序向应用层开放操作接口。
本演示板采用USB 总线接口芯片CH371、数码管驱动和键盘控制芯片CH451和通用的MCS51 系列单片机构成,用于演示CH371 的USB 数据通讯功能,CH451 的数码管驱动/键盘扫描功能,以及CH371 与单片机的连接,CH451 与单片机的连接。演示板通过USB 接口与PC 机进行通讯,并由PC 机控制它的执行,演示板电路设计如图所3示。
跳线J1 用于测试CH371的片选线CS#的两种用法,在本例中单片机没有其它外围器件,所以CS#引脚可以悬空,作为默认选择,如果单片机还有其它并行接口的外围器件,则CS#应该作为片选控制线,例如由单片机的地址线A15 驱动,从而将CH371 定位于单片机U4 的0000H-7FFFH 地址空间。
跳线J3 用于测试CH371 的USB 带电下线功能,当单片机U4 的P1.4 引脚输出高电平时,可以控制CH371 模拟从USB 总线上断开,当单片机U4 的P1.4 引脚输出低电平时,可以控制CH371 模拟连接到USB 总线。
CH451的SEG0~SEG7引脚和DIG0~ DIG7引脚相互配合,可以最大扩展8个共阴数码管和64个轻触按钮。这部分扩展电路比较容易,由于版面所限,以上电路图省去了这部分。 程序的软件设计一般USB设备的开发,USB接口程序设计包括三部分:单片机程序开发,USB设备驱动程序开发,主机应用程序开发。由于CH371接口芯片固化了设备驱动程序和单片机程序中的协议处理部分,因此软件设计仅仅包括两部分,即单片机中的数据交换部分和主机的应用程序。
单片机控制程序
PC端应用程序设计
(1)主界面设计
演示主界面如图5所示。
界面设计如图6所示。
“启动时钟”:单击该命令按钮时钟开始走动。
“校准时钟”:单击该命令按钮后,文本框下的六个命令按钮会被激活,它们分别对应六个数码管。单击修改时间对应的按钮,会弹出对话框,要求输入要修改的时间。
“校时确定”:当时间校准好以后,单击命令按钮,这时会弹出对话框提示是否已经校准时间,否则可以继续修改。若确定以后,时钟又可以正常走动。
“返回主窗体”:单击该命令按钮回到窗体一,以便继续进行其他程序的演示。
(3)CH451各项功能演示程序
界面设计如图7所示。
功能说明:当进入该演示程序后,会自动在数码管上加在字数据“HELPHELP”。
“右(左)移位”:单击命令按钮,数码管上的字会向右(左)移动,左(右)边移出的空位会加0。
“右(左)循环移位”:单击命令按钮会使数码管的数据分别向右(左)循环移位。
“加载字数据”:单击该命令按钮后,会弹出对话框提示“要加载字数据请单击相应的文本框”。此时文本框会被激活,当单击文本框后,会再次弹出对话框,要求输入要加载的字数据。输入完并确定后,数码管上就会显示加载的字数据了。 “闪烁”:单击该命令按钮后,会弹出对话框提示“要是数码管闪烁请单击对应的单选按钮”,同时8个单选按钮会被激活。每个单选按钮对应一个数码管,选中相应的单选按钮后,对应的数码管就会闪烁。当再选中另外的单选按钮后,前一个就会停止闪烁。
“亮度控制按钮”:单击该命令按钮后,弹出对话框提示“请单击相应的单选按钮进行亮度的选择”,同时,十六个单选按钮会被激活,它们对应控制数码管的十六级亮度显示,当选中第一个按钮时,数码管会变的最暗,当依次选中其他的按钮时,亮度会依次递增。
“DEFAULT”:单击该命令按钮后,会回到默认状态。即:字数据显示为“HELPHELP”;闪烁的数码管会停止闪烁;数码管的亮度会变为16级亮度。
“熄灭数码管”:单击该命令按钮后,数码管会熄灭。
“退出”:单击该命令按钮后,会返回主窗体。
批量数据传输演示程序
界面设计如图8所示。
功能说明:
“发送数据”:单击该命令按钮后,会弹出对话框,首先要求输入要发送的数据的个数,然后会弹出对话框要求输入要发送的数据。同时发送的数据会在文本框中显示,以便和接收到的数据进行比较,看单片机是否做出了正确的应答。
“接收数据”:单击该命令按钮后,PC会首先发送一个命令给单片机,要求单片机对刚才发送的命令做出响应。单片机接收到此命令后会对接收到的数据按位取反,然后返回给计算机。当计算机接收到返回的数据后会在文本框中显示出来。
“退出”:单击该按钮后会返回主窗体。
程序调试的体会
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~