将应用从串行接口移植到USB接口的简便方法_第1页
免费预览已结束,剩余3页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、将应用从串行接口移植到usb接口的简便方法因为可以获得无数支持的微控制器和接口器件,所以对应用设计工程师而言,没有com端口并不会带来障碍。挑选正确的工具和软件解决计划提供了一条转移到usb的捷径。硬件补丁程序对那些需要为基于串行端口的老项目提出迅速解决计划的设计工程师来说,最先有吸引力的策略是采纳一种补丁系统。这可通过在嵌入式控制器串行接口与pc机usb之间增强一个定制的usb-uart转换器来实现(图1)。这些器件通常配有支持各种操作系统的定制驱动程序,彻低可以一个标准的串行端口。图1:与采纳大部分usb-uart接口器件相比,兼容usb接口的单芯片解决计划具有更高的性能和更低的成本。该办

2、法意味着需要重新设计嵌入式应用板以腾出空间容纳新的元件,但它不用转变固件和pc应用程序。拆除已证实无用的串行端口接收器有时只增强几美元成本,但却失去了采纳usb所带来的大部分益处。事实上,usb能够更快地传输数据,传输速度可达到典型串行端口的100倍(12 mbps与115 kbps),继续用法uart,就会成为主要的设计瓶颈。另外,因为大部分usb-uart接口器件缺乏灵便性,无法实现灵便的,而这在许多嵌入式设计中是一个关键特性。单芯片解决计划从串行端口转移到usb的一个更好的硬件挑选是采纳单芯片解决计划,即选用具有usb接口的微处理器,并开发驱动程序(图2)以仿照串行端口。从硬件角度来看,

3、单芯片解决计划显得十分好玩。图2:采纳单芯片解决mcu解决计划可很好地将应用从串行接口移植到usb接口。几乎不增强额外成本就可以在通用模型上用法兼容usb的通用型微控制器。拆除了串行端口接收器,电路板上元件的数量也就相应削减,可以在低成本usb衔接器与新型兼容usb微控制器的d+/d-管脚间建立挺直链接。当通用微控制器和兼容usb的微控制器引脚相互兼容,就能将电路板重新设计的成本和工作量减小到最低。此外,不再为那些可以用法usb5v电源的应用配备电源适配器,也可以进一步降低成本。软件界面一旦我们挑选了单芯片解决计划,我们就为应用需要开发新的pc驱动程序,甚至可能是新的固件。幸运的是,软件开发人

4、员有多种挑选,可通过重复用法应用界面种类的办法来减小开发工作量。被构建到现在pc操作系统中,并具有最好支持的最常见usb接口类也许要算所谓的人机接口设备(通常指hid类)。全部的pc都需要一些像键盘或鼠标这样的人机接口,这些设备的衔接已经从串行或者ps/2端口升级进usb。全部操作系统都可以很好地支持hid,由于其驱动程序已经捆绑在windows、和mac os的每个拷贝中。因此,对于那些想从不太复杂的嵌入式设备中读写少量数据的设计工程师而言,hid是一个十分有吸引力的挑选。不幸的是,应用编程接口(api)没有什么能比得上com端口接口,其结果是,将api移植到现有系统上更成问题,特殊当pc上

5、已经有一个复杂的应用软件的时候。其它像打印机类和海量存储这样的标准usb接口类都是可能与嵌入式设备举行通讯。它们将遭受同样问题,即生疏的接口和开发新pc应用软件的需求。驱动程序开发需要有操作系统底层的浓厚学问。就windows pc机而言,这意味着要认识通常叫做wdm的windows驱动程序模型。假如没有这方面的专业学问(大部分嵌入式控制设计工程师并不是wmd方面的专家),那么开发一个可基本工作的驱动程序原型也需要花费数月时光。幸运的是,在大部分最新版本的windows内的一个接口类可以使我们挣脱逆境。微软公司原先开发这个叫做usb通讯设备类(cdc)是用来支持调制解调器应用。例如,开发人员可

6、以获得cdc接口的完整源代码,以举行面对18f4550系列的快闪usb 8位微控制器的开发。cdc接口提供以下实用特性:固件库的代码量相对较小,为3kb;单芯片解决计划;数据存储仅占用大约50b的存储器空间(不包括缓冲区);最大吞吐量为80 kbps;彻低由usb协议控制数据流量(不需要rs-232 xon/xoff和硬件流控)。容易的固件移植在以后状况中,我们假设原先的串行端口代码是用编写的,并且用法了可拜访集成uart外设的公共c库。给定这些条件后,将固件移植到cdc需要举行如下的修改:在主文件头部,用相应的usb声明代替针对串行端口的include声明;在主函数中,增强对usb-cdc初

7、始化代码的调用;在主循环中,增强对usb后台任务的调用;验证应用程序代码,以实现与usb后台任务的协同多任务处理;最后,为链接器提供usb-cdc专用库,生成终于的可执行代码,然后对快闪芯片举行编程。在实践中,上述这种状况要求包含堵塞循环的应用程序不能调用任何功能,换而言之,它不能占用100%的处理器时光,也不能阻碍usb后台任务执行。反过来,全部usb控制函数、中断、标记和缓冲机制都由cdc类固件后台任务管理,设计工程师无需关注其实现详情。全部显示出来的只是一个十分类似于公共串行端口库的小的函数集。联机的时光现在可以将应用衔接到pc上,windows即插即用技术该登场了。在对全部usb应用都

8、适用的初始枚举阶段后,屏幕上将弹出一个对话框,提示用户已经发觉一个新的硬件设备,需要为操作系统对其举行配置,以便用法它。虽然cdc驱动程序已经是操作系统的一部分,但仍然需要更多的信息来协助将它们与新发觉的设备举行绑定,这也在windows硬件管理器中创建一个端口特定的“属性页”,以后用户可以用它卸载或重新配置端口。在安装阶段,一个很小的纯文本文件(扩展名为.inf)十分实用,它需要先用(文本编辑器)预备好,当即插即用向导要求时提供。获得com端口假如一切顺当,此时即插即用已经完成了安装过程,一个新的串行设备就会浮现在硬件管理器中,系统会自动用法下一个可用的序列号为它指定一个名称(例如,已经安装了com2和com1,就会浮现com3),用户可以用法已经编写好用来拜访实际comx端口的程序来拜访这个端口(如全部windows软件中的超级终端程序)。衔接好后,除了通讯速度提高了,功能上没有什么区分。与pc上最快的串行端口相比,通讯速度提高了一个或两个数量级。visual basic或c+程序员可通过标准的windows openfile()、readfile() 和writefile() api 来对仿真的com端口举行读写,而不用转变任何代码。现在已经可以用法兼容usb的、完整版闪存微控制器,这些单芯片解决计划为嵌入式控制设计工程师提供了最低的成本和最大的灵便性。通过用法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论