tag 标签: ti评估板

相关博文
  • 热度 24
    2012-7-24 10:12
    2548 次阅读|
    3 个评论
    先说个小问题,强烈建议EDN可以将博客文字自动保存的功能尽早的加进来。从高中开始使用博客,各大门户网站的博客平台早早就拥有 了这项功能,希望EDN也可以尽快的加进来。因为笔者已经不止一次得遇到这样的问题……编辑到一半,断电了orIE死了……甚是悲剧。所以每次编辑暂行的办法都是先写在了txt,然后将文字和图片一点一点的复制进来。不过就算是这样,仍然让人对EDN难以割舍。 下面进入正题。 首先,我们看看TI在软件安装后给我们提供的驱动里面都有些什么: 可以看到,其实在USB驱动部分,TI完全是沿用的FTDI提供的整个驱动,连图标都未修改。其中,最主要的dll、lib、sys等文件都没有修改过,这对我们是很关键的。如果说TI在其基础上进行了二次开发,那我们就无从下手了。现在我们理清思路,我们的USB驱动所采用的完全是FTDI提供的,TI在软件附带的驱动无法应用到我们的win7-64位系统是由于版本不支持,而FTDI提供的win7-64位版本的驱动无法安装是因为TI对USB设备的VID和PID进行了修改,以至于直接使用FTDI的驱动无法找到硬件设备。那解决的办法就是,在FTDI的驱动中,加入我们设备的VID和PID好让驱动程序可以找到我们的硬件。 在此,我们只需要在inf文件中进行相应的修改添加就行了。 简单介绍介绍inf文件,详细的内容可以查看百度百科 http://baike.baidu.com/view/637107.htm 。简单的概括就是,inf文件是系统安装驱动程序时的说明书,它告诉系统如何安装、需要哪些文件、如何关联硬件与驱动等。inf文件可直接使用文本编辑器编辑,我们打开后可大致看到inf文件的结构。前面部分包含有:文件说明的注释、系统版本支持、安装目录、目标目录、生成商信息等。中间有个重要的,也就是我们需要修改的部分,就是硬件识别的标识,其中列出了该驱动适合的硬件设备,以VID和PID来识别。   可见,FTDI的USB设备原有的VID都是0403,而TI将其修改成了0001,而PID也修改成了5682。我们将修改后的信息加入到其中。 另外,我们希望在安装驱动以后,在设备管理器里我们的设备有个相对应的名称显示,再对文件中的String部分略作修改。 保存后关闭,然后在设备管理器中,对我们的硬件更新驱动程序,找到这个目录,安装就可以了。安装成功之后,可以看到我们的设备管理器里的变化:   可以看到,不仅在USB设备中添加了一个TI的设备,在串口部分,也添加了一个TI的串口,这就是我们可在PC端开发使用的虚拟串口。  
  • 热度 14
    2012-7-23 20:51
    2791 次阅读|
    0 个评论
    最近遇到一个有关USB驱动的问题,解决之后简单记录下,希望可以给遇到同样问题的朋友提供帮助。 总的来说,遇到的问题是:有一个比较早一点的TI评估板,其中TI提供了一个PC端的控制软件通过USB接口配置板上各芯片的工作模式,可遗憾的是它提供的USB驱动无法支持win7,也无法支持64位系统。 起先在TI的官网中找解决办法,很遗憾没有什么有用的信息,可能是这块评估板用的人的确不多……于是只能自己寻求办法了,首先想到的是只能迎合TI的要求,换成32位的XP系统,可是这样做太不甘心了,坚决要克服掉这个困难。 首先,来看看TI所使用的USB配置板上芯片采用的方案。给出原理图: 可见,板上使用了FT245RL这颗芯片,用过FTDI公司产品的朋友肯定不会陌生,这个芯片是常用的USB转串口时用到的芯片。使用FTDI的芯片有个最大的好处在于,它给用户提供了一个USB驱动,而这个驱动的功能就是把USB接口在PC上虚拟成一个串口!! 这样,我们便找到解决问题的关键了。其实我们可仔细分析分析这样一种模式,可能在前几年USB还不是那么盛行的时候,大多用PC来配置设备都是采用串口来进行的。如今,大多用户提出希望使用即插即用的USB模式,为了减去USB接口开发的复杂度,使用FTDI芯片这样的一种模式是十分值得借鉴的。简单概括下,如上图,由一个USB接口+FT245RL芯片,即把USB串行信号转换成了并行的8bit信号,而在PC端,FTDI提供了一个USB驱动把USB转换成了一个虚拟串口,对于PC的软件开发可不需要任何改动即可。 好了,找到关键后,问题就好解决了,我们先到FTDI官网上下个可支持win7-64位的驱动。 http://www.ftdichip.com/Drivers/VCP.htm 由于我们需要的是一个虚拟串口的驱动,所以选择VCP driver。从中下载windows-64位版本: 解压后可以看到,其中包含了两个驱动,一个是ftdibus,一个是ftdiport。在这里,我们安装的是ftdibus。 可惜的是,在我们遇到的这个问题上,依旧没能安装成功。 于是我们查看到所连接上设备的硬件ID信息,如下图: 我们可以看到设备的VID=0001而PID=5682,这里笔者一看便能知道TI肯定修改了VID和PID,为什么这么说呢?很简单,VID=0001这肯定是厂家自定义的,而PID=5682刚好与板上TI的DAC芯片信号一致,所以TI肯定是修改了FTDI设定的VID和PID,所以我们之前使用FTDI的驱动没法安装成功。   我们先简单介绍介绍VID和PID。 USB 规范的规定,所有的USB设备都有供应商ID(VID )和产品识别码(PID ),主机通过不同的VID和PID来区别不同的设备,VID和PID都是两个字节长。   其中,供应商ID(VID)由供应商向USB执行论坛申请,每个供应商的VID是唯一的,PID由供应商自行决定。VID和PID通常情况下有两种存储方式,第一种是主控生产商的VID和PID,存储在主控的bootcode中;第二种是设备生产商的VID和PID,该VID和PID存储在主控外部的非易失性存储设备中(EEPROM 或Flash ) 的设备固件中,当USB设备连接主机时,如果固件中有设备生产商的VID和PID,会将该VID和PID报告给主机,而忽略主控生产商的VID和PID。  这里可看出,TI使用的是FTDI的USB驱动设备芯片,所以主控生产商是FTDI,而TI作为设备生产商,又对VID和PID进行了修改,所以我们使用FTDI的驱动程序没能安装上。之后,我们只要对FTDI提供的驱动程序进行修改就好了。