首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
嵌入式系统与PC机的USBUART通信设计
来源:本站整理  作者:佚名  2009-09-14 10:25:16



图中的CY7C64215是带有1个全速USB接口的PSoC芯片,左边的USB—B为USB连接座,其中D+和D一为2个USB信号线,通过2个51 Ω电阻与CY7C64215的2个USB引脚D+和D一连接。整个系统电源是通过USB连接座上的5 V引脚获取,即由PC机的USB口提供工作电源。需要特别注意的是,电路中使用了1片电压调整芯片,将从USB口上输入的5 V电压调整为3.6 V后,再作为CY7C64215的工作电源。这是因为USB协议中规定了USB信号线D+和D一的电平为O~3.6 V,CY7C64215采用3.6 V的工作电压是为了保证USB信号线的电平匹配。如果CY7c64215直接使用5 V电源工作,那么在D+和D一信号线上必须对地增加2个3.6 V稳压二极管,分别将它们钳位在3.6 V,这样才能保证PC正确识别该USB设备和USB通信的正常。
    图中右边的ISSP为PSoC的编程下载口,PSoC器件支持ISSP在线串行下载,编译生成的HEX文件可以通过该编程口烧录到PSoC内部的Flash中。图中的LED是USB工作指示灯,在USB通信过程中会闪烁。
3.2 PSoC软件系统设计过程
    软件系统设计过程全部是在PSoC的集成开发环境PSoC Designer 5中完成的。首先建立1个新的项目,选择带有USB接口的CY7C64215芯片。在芯片中选择添加USBUART用户模块,并为该模块填写相应的参数。表1给出了USBUART的几个参数及意义,其中MaxPower仅当选择设备由USB总线供电时有效。

    在这个示例中,除了选择必需的USBUART用户模块外,还选择使用了1个LED用户模块,该模块用于控制LED指示USB的工作状态。根据硬件电路,配置该模块的输出为CY7C64215的P1_2引脚,用于驱动LED。
    选择配置完2个用户模块后,就可让PSoC Designer生成应用程序框架了。在这个过程中,PSoC Designer会自动综合所有的配置信息,更新和产生所使用用户模块的底层汇编语言驱动代码和API函数,并同时生成一个C语言的主程序框架。
    接下来就是编写USBUART设备的上层应用程序代码了。在PSoC Designer中,打开已经生成的main.c主程序,添加如下所示的简单代码:


    这段简单的C代码功能首先启动LED和USBUART用户模块工作,开放CPU的中断允许,然后等待USB初始化。USB接口初始化成功(与PC连接成功)后,程序开始循环查询和接收PC下发的数据,然后将收到的数据再回送给PC,同时控制LED的闪烁,从而实现简单的、可作为USBUART设备性能测试的Echo功能。
    最后编译整个系统程序,生成HEX文件,通过ISSP下载烧录到CY7C64215中。整个软件系统设计过程便告完成。
3.3 USBUART的连接与测试
    使用l根普通的USB延长连接线,将CY7C64215的USB口连接到PC机的USB口上,PC显示发现新的USB设备,并提示安装驱动。USBUART设备的驱动程序是PSoC Designer自动生成的,保存在工程文件目录的L1B子目录下,文件名为USBUART_XP_Vista.inf(或US—BUART.inf)。用户只要按照提示的要求,选择这个USB设备文件就可以安装USBUART的驱动了。打开PC机的硬件配置,会发现PC的硬件设备中多了1个COM口。
    接下来的测试是在PC机上打开串口调试工具(如超级终端),连接到该COM口,然后手动发送1个任意字符。CY7C64215控制的LED则开始闪烁,在超级终端上也同时收到由USBUART回送的该字符。
    更进一步的测试是,将超级终端的波特率设置成115 200 bps,每隔1 ms自动发送1个字符。此时CY7C64215控制的LED全亮(由于闪烁间隔时间太短),超级终端也会连续收到字符。通过对比在超级终端中发送和接收到的字符个数是否相同,可以验证是否丢失数据。


4 总 结

    RS232是单个设备接入计算机时最常采用的一种方式,由于其通信规程协议比较简单,很多传统的仪器设备和嵌入式系统都采用了这种通信方式。将USB转UART技术应用于嵌入式系统与.PC机之间的数据通信,在计算机上产生1个虚拟的COM口,用户只需像使用通用串行口一样使用USB口即可。这样不仅能使嵌入式系统具备USB通信的诸多优点,简化了USB编程,同时还可以利用USB对嵌入式系统提供5 V的电源(500 mA以下)。而PSoC USB和USBUART则提供了非常方便和快捷的实现方法,并具备以下几个特点。
    该方案使得工程师能够绕过复杂的USB底层接口和协议,采用简便的RS232(UART)方式进行上层系统设计,继承了传统方案的优点,不会给设计人员带来困难。同采用配置1根“USB to RS232”转换电缆的方案相比,USBUART的硬件设计和结构更为简单,物理接口占用的空间也大大减小。在电路上不仅省掉了UART与RS232的电平转换环节(MAX232),还可以使一些小型、微型的嵌入式系统直接采用由PC机的USB口供电的工作方式,进一步省掉了电源系统,有效降低了整个系统的硬件成本。
    USBUART本身还提供了20多个应用编程接口(API)子程序,它们作为该用户模块的一部分,使设计人员只需要在更高层次上与USBUART模块打交道。而且CY7C64215、CY8C24x94除了具备USB端口外,还含有多个可编程配置的数字和模拟模块、32 KB的Flash、1 KB的SRAM、2个8×8的乘法器、1个32位加法器、超过56个可编程的I/O(CY8C24x94)等强大的资源。仅仅1片芯片,不但可以实现基于USB的通信,还可以同时完成各种不同的模拟和数字,以及模数混合的应用(如CapSense、CY8C24x94)。
    本方案非常适合在设计新的产品和系统时采用,作者已经成功地将其融入到多个新设计的系统和产品中使用。

上一页  [1] [2] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:240,964.80000 毫秒