EDN China > 设计实例 > 微处理器与DSP > 多媒体处理器 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

嵌入式系统与PC机的USBUART通信设计

单片机与嵌入式系统 华东师范大学 马潮?? 2010年03月08日 ?? 收藏0

  1 概 述

  RS232(UART)接口是一种简单、方便和实用的通信接口,用途非常广泛。在许多嵌入式应用,如智能仪器仪表、电子设备中,均使用RS232与PC机等外部系统进行通信,实现上位机对下位机的控制及数据交换等。在系统调试过程中,通常也是通过RS232,将调试数据发送到PC上显示出来。

  但在PC机领域,RS232(COM)串行接口已经从最新一生产的计算机,尤其是笔记本电脑中消失了,而串行接口USB成为了标准的配置。这种变化给硬件工程师带来了不少麻烦。

  目前通常的解决办法是购置一根“USB to RS232”转换电缆,其基本作用是在USB总线上仿真出一个RS232端口。这种方法的主要优点在于:PC应用程序将该USB口连接当作COM口连接使用,从而可以使工程师轻松跨越复杂的USB低层接口协议,仍使用原来熟悉的,针对COM口操作的方式编写程序代码。

  本文将介绍另外一种与上述方法原理类似的设计实现方案,设备之间的外表连接全部换成了USB标准物理接口和连接电缆,但在PC上仍然使用针对COM口操作的方式编写程序代码,保留了原来的风格。该方案是采用Cypress公司PSoC家族中带USB接口的CY7C64215(或CY8C24x94)芯片实现的。

  2 PSoC、PSoC USB和USBUART

  2.1 PSOC

  可编程片上系统(Prograromable System on Chip,PSoC),是Cypress公司近几年推出的一种新型的可编程半导体器件芯片。PSoC由8位微处理器内核,多个可编程的模拟模块和数字模块,硬件乘法累加器,以及I2C、Flash、SRAM等周边外围资源组成。因此,PSoC除了能实现一般MCU的功能外,还可通过可编程模拟和数字模块,灵活地实现嵌入式系统所需的多种模拟与数字外围功能。PSoC集三种可编程能力于一体,不仅具有MCU的可编程能力,还包含了部分可编程逻辑运算功能,同时提供了可编程模拟阵列。通过对寄存器的配置或控制,三者之间还可以协调工作,是具有真正的混合信号处理能力的可编程片上系统。

  PSoC中的数字资源(如定时器、PWM、UART等)和模拟资源(如放大器、比较器、滤波器等)是以数字模块和模拟模块的方式给出。不同型号PSoC芯片的差异主要在于其拥有的数字模块和模拟模块的数量不同。用户可根据特定需求来定义这些模块。

  PSoC的集成开发环境PSoC Designer也预先为用户定义了近百个常用的数字和模拟资源配置模块。这些预定义的模块称为用户模块,如数字资源有定时器、PWM、UART、SPI、CRC、PRS等,模拟资源有放大器、比较器、滤波器等,ADC则由若干数字模块和模拟模块组合而成。这使得PSoC开发人员无需通过设置寄存器来构建这些周边设备,只需在PSoC Designer中选择和放置所需的用户模块并进行参数设定。PSoC Designer不仅能配置用户模块,还为用户创建了低层驱动函数,并提供使用这些用户模块的API函数供用户编程时调用。这种新颖的系统设计方法使工程师可以把主要精力集中在上层系统软件的设计工作中,极大地方便了整个系统的设计开发。

  2.2 PSoC USB

  PSoC系列中的CY7C64215、CY8C24x94芯片不仅具备上述PSoC的功能和特点,还包括了一个功能完善的全速(12 Mbps)USB端口。PSoC的USB端口资源符合USB2.O规范,是一个可以工作在12 Mbps速度下的全速器件,具备1个上行端口和1个USB地址的规范要求。PSoC USB包括1个串行接口引擎(SIE),1个PSoC存储器仲裁器(PMA),256B的专用SRAM,1个带有内部调节器的全速USB收发器以及2个专用USB引脚。

  USB SIE支持5个端点,包括1个控制端点(端点0)和4个数据端点(端点1、2、3和4)。控制端点经过配置可支持SETUP、IN和OUT请求。数据端点可分别独立配置,从而响应中断、批传输、同步IN或OUT请求等。SIE使PSoC器件能与USB主机实现全速通信,并可自动完成以下USB处理任务,无需固件干预,从而简化了USB流量接口的工作。

  ①将接收到的编码数据进行转换,将总线上要传输的数据格式化。

  ②生成CRC校验和。忽略那些传送进来的未通过校验和验证的数据包。

  ③地址检查。忽略所有地址未指向器件的事务。

  ④发送适当的ACK/NAK/Stall握手信号。

  ⑤识别标记类型(SETUP、IN、OUT),一旦接收到有效的标记,即设置适当的标记位。

  ⑥识别帧起始(S()F)并保存帧的数量。

  ⑦通过PSoC存储器仲裁器向USB SRAM发送数据,或从USB SRAM接收数据。

  PSoC存储器判优器(PMA)是PSoC USB专用SRAM与数据SRAM的2个内存块(USB SIE与M8C)之间的接口。PMA可提供8个通道用于传输数据。M8C可使用所有的通道寄存器,但4个非控制USB端点分别由PMA通道寄存器的特定集来分配。

  PSoC USB系统资源包含专用的256 B SRAM,其与PSoC内核中所用的SRAM页相同,但不能通过M8C存储器操作指令存取。PSoC USB的专用SRAM只能通过PMA寄存器进行存取。

  内部USB收发器与外部USB总线相连,根据USB2.O规范收发信号。在正常的USB操作状态下,收发器直接与SIE连接,初始化之后无需与用户互动。

  就系统级而言,PSoC的全速USB系统资源通过M8C寄存器访问指令进行操作配置,实现与PSoC其他部分的连接,并通过2个USB引脚与外部相连。


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

嵌入式? USB? UART? 通信?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈