基于TUSB3410的MSP430 USB接口方案

发布者:平凡梦想最新更新时间:2009-12-16 来源: 嵌入式在线关键字:USB  MSP430  TUSB3410  接口 手机看文章 扫描二维码
随时随地手机看文章

      本文主要讲述利用TUSB3410 USB-TO-UART桥接芯片实现MSP430微控制器与USB设备通讯的一种接口方案

      通过该USB接口可实现高达921 600bit/s的数据传输速率,也可通过该接口下载MSP430程序代码,是一种MSP430系列微控制器的高效USB接口解决方案

      硬件设计

      系统结构框图如图1所示,主机PC与MSP430之间可进行全双工串口通讯,主机PC经TUSB3410虚拟的一个COM口与MSP430的硬件USART模块进行通讯,本文重点叙述TUSB3410与MCU之间的软、硬件设计。


      系统采用USB总线供电模式,MCU可通过I2C接口对TUSB3410进行在线编程及外部EEPROM存储器的配置。

      1.TUSB3410接口芯片

      TUSB3410为TI公司推出的一款用于USB-TO-UART端口的桥接器,包括通过USB总线与主机进行通信所必需的全部逻辑电路,符合USB2.0规范,支持最高12Mb/s的全速传输,支持USB中止、恢复及远程唤醒功能;同时,其内部包含一个8052的CPU核、16KB RAM、包含I2C引导加载程序的10KB ROM,4个通用I/0口,具有USB总线供电和自带电源两种供电模式。

      TUSB3410引脚框图如图2所示:

 


      2.USB配置

      TUSB3410可以支持多种应用,本文所描述的参考设计配置如表1所示。
 


      对于USB的兼容性来说,任意USB设备都具有唯一的VID(厂商识别码)和PID(产品识别码),VID/PID值作为一描述符传输给主机PC,并且与存储在驱动INF文件中的值相匹配,操作系统根据VlD/PID加载不同的驱动程序。

     外部EEPROM用于存储配置参数,如VID/PID信息等,既可通过MCU经12C模块将EEPROM的镜像文件写入EEP-ROM,也可通过专用EEPROM编程器直接对EEPROM进行镜像文件写入TUSB3410也通过12C接口读取EEPROM数据。

      3.硬件电路原理

      系统原理图如图3所示,本文以MSP430F1612(U1)为例,任意一款内部含UART模块的MSP430微处理器均可与TUSB3410连接,MSP430F1612为MSP430系列中的高端MCU,丰富的资源使得开发具有更多的灵活性。


 
      MSP430F1612选用8MHz晶振工作,MCU的6个引脚P1-P6通过PORT1-PORT6的8引脚插针引出,方便MCU与TUSB3410(U2)及外围器件的连接;SW1-SW4按键和LED1-LED4指示灯均通过I/O口控制,演示测试过程;同时,MCU与标准14针JTAG接口连接用于调试程序或调整电压值。

      系统采用USB总线供电,同时LED5指示灯点亮,TUSB3410(U2)的USB数据信号经双路USB端口瞬态抵制器SN75240(U3)后连接到标准的USB B型连接口,以增强系统ESD抗干扰能力;USB总线提供的5V电压经TPS77301(U4)3.6V LDO稳压后作为MCU系统的VCC电压。

      外部EEPROM(U5)通过12C通讯并存储USB配置参数,EEPROM的大小根据存储量选择,编程时通过短接JP1跳针与EEPROM的SCL信号线相连,同时TUSB3410通过USB将标准的VID/PID值传送到主机PC。

      TUSB3410选用12MHz晶振,与MCU信号连接如表2所示,数据传输时,MCU的UART模块开始工作,支持TUSB3410所有波特率,同时通过12C模块与外部EEPROM采用在线编程方式直接存储数据MCU的P3.O/SETO引脚作为TUSB3410的复位脚,当MCU访问EEPROM时,复位该引脚,当没有外设连耐也可用该引脚进行复位测试。

 

      4.低成本参考设计

      系统的功耗设计可以从两方面考虑:(1)不使用外部EEP-ROM;(2)不使用外部晶振。

      (1)不使用外部EEPROM

      利用TUSB3410实现的USB转UART接口可以不使用外部EEPROM,VID/PID描述符使用TI的默认缺省值,TUSB3410固件从主机PC上下载即可实现通讯,但是,存在两个问题:①因为不具备唯一VlD值,系统的USB设备兼容性不好;②当主机检测到两个不同USB设备,具有相同的VID/PID和序列号时,可能会导到USB设备不能正常工作或发生设备连接冲突所以,通常设计中不推荐采用此方法,除非该系统为独立总线工作方式,即不与外界任何USB设备同进与主机通讯。

      (2)MSP430微控器器不使用外部晶振

      TUSB3410由CLKOUT引脚输出UART波特率或一个固定的3.556MHz的频率信号,该频率信号可以作为MCU的外时钟输入,这种稳定的频率信号可作为MCU外设的工作频率,此时MCU无须连接外部晶振。

      当系统选用TUSB3410产生的频率作为MCU时钟时,只需修改TUSB3410固件,通过设置MODECNFG配置寄存器的CLKOUTEN位,CLKOUT位使能输出,同时,CLKSLCT位用于选择以UART输出还是固定频率输出。

      修改后的固件存放在外部EEPROM或存放于系统的驱动程序包中,当存于系统驱动程序包中时,设备连接时修改后的固件自动从操作系统驱动程序中载入,MCU的OSCFAULT位用于检测是否系统使用外部晶振当TUSB3410输出7.3728MHz频率作为MCU的UART模块的时钟源时,此时UART传输速率可达921 000波特。

      软件设计

      MCU固件的主程序流程图如图4所示,MCU上电复位后调用InitSystem()初始化程序,初始化外设、看门狗、通用I/O口等,设置系统时钟为外部8MHz晶振,同时将USARTO设为12C模式与外部EEPROM实时通讯。

      MCU初始化时,TUSB3410处于复位状态,MCU通过12C直接检测外部EEPROM的有效地址位和ACK应答位,当接收到有效ACK信号时,则调用EEPROM-Verify()程序校验该EEPROM中的程序是否与MSP430F1612内部Flash存储的EEPROM镜像文件一致若检测到外部EEPROM为空,则调用EEPROM_Write()程序将MSP430F1612内部Flash存储的EEPROM镜像写入EEPROM当EEPROM程序更新后,TUSB3410释放复位信号,读取外部EEPROM值,当连接到USB主机控制器时,TUSB3410会将这些数据提供给USB主机核对,同时将MCU复位引脚设为NMI模式,防止MCU意外复位。

      初始化后,MCU通过Timer_B7模块检测SWl-SW4按键状态,当有键按下,捕获/比较模块捕捉到按键的上升沿信号时产生中断,同时唤醒MCLJ。

      中断服务程序流程图如图5所示,首先将USARTO设为UART异步串口模式,然后以460 800波特进行通讯,一帧数据通信的字符格式为8位数据位和1个停止位,没有奇偶校验位当系统要求高速率传输时,主机PC需打开虚拟COM口,并MCU配置相匹配,此时MCU传输速率可达到921 600波特。

      PC主机固件及USB驱动程序不作为本文叙述的重点。

      小结

      超低功耗MSP430微控制器与TUSB3410实现USB设备的接口设计,具有功耗低、可靠性高、移植性强等特点,同时也可以加以推广应用到其它便携式设备开发中。

关键字:USB  MSP430  TUSB3410  接口 引用地址:基于TUSB3410的MSP430 USB接口方案

上一篇:LCD显示模块并行接口驱动程序设计
下一篇:单片机应用中从Excel软件提取字模的方法

推荐阅读最新更新时间:2024-03-16 12:27

MSP430G2553定时器中断实验
/////////////////////////////////////////////////////////////////// // msp430G2553的定时器中断控制LED每秒钟进行亮熄变化 /////////////////////////////////////////////////////////////////// #include void led_init(); void timer_init(); void delay(int); //---------------------------------- void led_init() { P1DIR|=(1 6); //P1.6为LED }
[单片机]
基于MSP430和CC2500的USB无线数据采集系统
基于MSP430单片机和CC2500的无线数据采集系统是一个功能齐全的无线开发工具,该系统主要由MSP430F系列微控制器和CC2500(2.4 GHz)无线收发器组成。系统可在PC机上利用IAR嵌入式工作平台集成开发环境(IDE)或CCE开发环境编写、下载和调试应用程序。用户可以通过设置硬件断点全速运行应用程序,也可单步运行,无需额外消耗硬件资源。系统核心控制器采用MSP430F24X系列单片机,该单片机为16位单片机,集成度高,处理速度快.超低功耗,能极大的节省资源。通过Simplici TI协议,MSP430控制器通过USB接口实现与PC机的通信,调试稳定、简易方便。该数据采集系统消耗硬件资源较少,功耗超低,是一种无线数
[测试测量]
基于<font color='red'>MSP430</font>和CC2500的<font color='red'>USB</font>无线数据采集系统
AT91SAM7X256的I2C控制器TWI接口的使用方法
1 前 言 I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。AT91SAM7X256是Atmel公司于2005年推出的基于ARM7的工业级芯片,他以体积小、功耗低、连接方式广泛、处理资源丰富、控制灵活等特点受到嵌入式领域开发人员的重视。本文介绍AT91SAM7X256的I2C控制器TWI接口(two-wired interface)的使用方法,并以I2C设备E2PROM和日历时钟芯片为例,实现AT91S
[单片机]
AT91SAM7X256的I2C控制器TWI<font color='red'>接口</font>的使用方法
STM32 USB学习笔记5
主机环境:Windows 7 SP1 开发环境:MDK5.14 目标板:STM32F103C8T6 开发库:STM32F1Cube库和STM32_USB_Device_Library 承接前文,对于上层应用而言只剩下CDC类接口文件即usbd_cdc_interface,该文件主要为实现CDC类接口所用到的物理资源以及逻辑资源,需要参考通信设备通用串行总线类定义版本1.2以及PSTN设备通用串行总线通信类子类规范版本1.2,这两个文档都可以在USB组织官网上下载得到,首先看下usbd_cdc_interface.h文件,如下: /* Define to prevent recursive inclusion
[单片机]
STM32 <font color='red'>USB</font>学习笔记5
基于P89C61x2和ISP1581的USB接口电路的设计
本文主要针对传统仪器的并行接口设计了一种基于单片机的接口电路。 主要芯片介绍 本设计采用控制芯片P89C61x2和接口芯片ISP1581实现USB接口电路的设计。 P89C61x2包含1024B RAM、64KB Flash存储器、32个I/O口、3个16位定位/计数器、6个中断源-4个中断优先级-嵌套的中断结构、1个增强型UART、片内振荡器和时钟电路。此外,器件的静态设计使其具有非常宽的频率范围,可选择1MHz~12MHz的晶体振荡器。具有两个软件可选的节电模式-空闲模式和掉电模式。 USB接口芯片ISP1581一种价格低、功能强的USB接口器件,符合USB2.0规范,并为基于微控制器或微处理器的系统提供了高速U
[嵌入式]
MSP430单片机在水声应答释放器中的应用
水声应答释放器是合作目标定位导航系统的关键控制单元之一。应答释放器长时间布放在水下,接收水上系统的控制指令,通过单脉冲的接收和发射完成测距。水声应答释放器的功能通常还包括深度(压力)遥测、状态自检和自主释放回收等。 海上应用条件恶劣,使用要求复杂,应答释放器往往需要在满足规定的应答工作时间之外,具有很长的待机等待时间。为此,实用的应答释放器除了器件的选型和电路低功耗设计外,往往都采用值更和工作两种状态来进一步降低功耗;在工作状态下,开启DSP运算电路实现可靠的高精度应答测距;在值更状态下,关闭一切不必要的电路,仅仅检测水上系统的控制指令,并给出回复。 由于应答释放器长时间工作在值更状态下,所以值更电路的功耗成为了首要问题
[单片机]
<font color='red'>MSP430</font>单片机在水声应答释放器中的应用
解析USB数字电视接收棒解决方案
  随着计算机硬件飞速发展,外围设备日益增多,键盘、鼠标、调制解调器、打印机、扫描仪早已为人所共知,数码相机、MP3随身听接踵而至,这么多的设备,如何接入个人计算机USB就是基于这个目的产生的。USB是一个使计算机周边设备连接标准化、单一化的接口,其规格是由Intel(英特尔)、NEC、Compaq、DEC、IBM(商业机器公司)、Microsoft(微软)、Northern Telecom联系制定的。   USB ,是英文Universal Serial BUS(通用串行总线)的缩写,而其中文简称为"通串线,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在PC领域的接口技术。USB接口支持设备的即插即用和热插拔功
[嵌入式]
基于MSP430的光电微损法血糖监测系统设计
   WHO在2007年报告中指出,目前全世界有糖尿病(DM)患者1.7亿,预测到2025年将剧增至2.99亿,糖尿病已成为世界第五位死亡原因 。我国DM患者占3.3%。胰岛素疗法是所有胰岛素依赖型糖尿病人的主要治疗方法。而胰岛素剂量确定的基础是严密监察血糖的控制情况。在常用的评估病情的手段中,静脉血糖与毛细血管血糖测定是目前最直接的评估血糖控制的方法,后者更是适合家庭和病人自我血糖监护的方法。研究证明,长期严格的血糖监测,可预防或延缓糖尿病并发症的发生和发展 。因此,本文设计了适合糖尿病患者在家庭中实现血糖自我监护的监测系统。 1 设计原理 1.1 测量原理 将血样滴在含有氧化葡萄糖的氧化酶(GOD)的试纸上,血样中的葡
[单片机]
基于<font color='red'>MSP430</font>的光电微损法血糖监测系统设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved