单片机如何与USB接口相连接?其硬件电路如何设计?
3个回答
展开全部
现在都网络化了,杭州发到昆山也就一天时间,你看看这里:
单片机学习实验及开发工具的导购
鉴于目前单片机技术火的一塌糊涂!越来越多的朋友加入了学习单片机的行列中!还有更多的朋友正在准备加入到学习单片机行列中。很多初学者在购买了本站的硬件学习板后,在短期内就掌握了自主编写实用控制程序的能力,正所谓只要功夫深,铁杵磨成针。
这里要先说一下单片机的含义,单片机就是一种微型的计算机,它的硬件等级不高,程序存储器比较小,无法和我们个人电脑中的硬盘相比,但是他的整体成本很低,体积也很小,这就给电子工程师提供了一个低成本开发智能控制设备的可能。另外就是它的可塑性是很强的,只要把程序存储器中写入不同的程序,它就会根据不同的程序来完成不同的工作。
比如我们要控制洗衣机的完成一个智能控制洗衣流程(不采用简单的机械定时器),从成本角度讲,虽然个人电脑性能强大,但是不能采用,因为一台个人电脑的体积成本都太过了,此时用“单片机+顺序控制程序+接口电路+执行电路”就是最好的解决方案了,这等于在洗衣现场有一个小小的电脑在控制着整个洗衣过程,单片机是现代全自动洗衣机的核心部分,它的应用大大减低了人的劳动强度。从这个简单的例子中,我们就可以看到单片机的实际意义了!小到温度智能控制,中到通讯控制,大到生产流程控制,都可以见到它的身影。应用范围绝对广泛,只要编写好不同的程序。单片机就可以完成不同的控制工作。这样,我们通过编写不同的控制程序就可以实现器件的万能化!
大致可以通过这些步骤来完成实验及开发工作:
第一步:通过软件编译平台开始写我们的试验程序,这就好比写文章要有笔和纸一样,最常用的是KEIL软件平台,比如点亮一个发光管,点亮多个发光管,点亮流水灯,驱动继电器,驱动数码管......,学用写源程序有2个重点,重点1是学会在KEIL中写源程序,就和用记事本软件编辑文字一样,重点2是学会把写好的源程序通过KEIL软件平台编译成为单片机可以读懂的由0和1构成的机器码,为了简化,通常是生成16进制的*.HEX或者*.BIN文件,不过本质还是0和1。在这里,源程序我们能读懂,但是单片机不能读懂,所以需要把源程序通过编译器编译成最终的*.HEX或者*.BIN文件。在这里,编译平台充当的是一个语言翻译官的角色!
第二步:制作或者购买一个编程器(也有人叫它为烧写器)。
注意,编程器的作用是把我们编译好的机器码文件写入到单片机的程序存储器中,这个设备的作用就好比我们给一个没有记忆的人灌输记忆。通过程序被写入,单片机中就被灌输了我们的设计思想或者是某种控制流程。编程器和单片机可以支持的文件是16进制的,文件属性一般为*.HEX或者*.BIN,它们的本质是二进制,也就是1和0。编程器只是一种写入设备,而源程序还是要由我们来编写和创造的!
第三步:制作或者购买一个实验板,它的作用是完成最终的硬件驱动效果验证。这就好比把一个已经灌输了我们设计思想的单片机连上躯体和四肢,看看这个完整的,已经具备了“头脑+思想+四肢”的设备是不是能真的动起来,动起来的时候看看它的动作是不是和我们设计的程序完全一致?如果不一致就说明我们给他设计的“思想”可能存在问题!此时就需要用编程器中的“擦除”操作给单片机“洗脑”,并且修改程序,然后再次写入和看验证结果。
比如我们用软件写了一个流水灯程序,通过什么来验证它是否可以真正的驱动硬件呢?答案就是实验板。
也许有人会问,为什么没有提到仿真器?因为以前专业化的仿真器太贵了!大家一般都承受不了!
仿真器是做什么的呢?它的作用是调试我们的程序用的,比如我们的程序有100行,假设代表了10个驱动硬件的动作,这时候如果有仿真器的话,我们可以让这10个动作一个个的执行,同时能够观察到在执行这10个动作的过程中,单片机内部的各单元状态是什么样的!也就是可以细致的分析一下整个程序在硬件中的具体工作过程。这样我们就可以了解程序中是不是有问题存在,所以叫做仿真!
仿真分为硬件仿真和软件仿真二种,软件仿真是完全虚拟的,比较抽象,初学者理解起来比较困难。硬件仿真方面,如果硬件仿真器连接了目标设备,就可以看到驱动硬件的效果,还是比较实用的。
看了这么多的文字介绍,大家还是可以来这里看一下上面所说的到底是怎么样的东西,我们应该如何来使用它们,给大家一个感性的认识。
点击进入大量单片机实验视频录像在线观看
总而言之,在你决定学习单片机之前,请做好如下准备工作:
一、硬件准备:计算机一台,编程器,仿真器和实验板。如果你想学单片机,而又不愿做这些投资,很有可能会挫伤你学习的积极性和浪费你的时间,好在这些投资并不算多:)
编程器可以选用“A51编程器”或“多功能编程器”,经常会有朋友这样问我:这两种编程器到底有什么不同,其区别在哪里?
在此,站长也说明一下其不同之处,怎么样的才适合你的使用。“A51编程器”的主要特点就是价格低,性能稳定,支持常用的51芯片,仅烧51的话,用用这个绝对经济实惠,不错了。“多功能编程器”的主要特点是性价比高,支持芯片多,有几百种型号,还能烧写主板BIOS芯片,比目前市场上的同类产品价格都要低。总括来讲,如果你是仅仅用用51系列的,选“A51编程器”肯定OK;如果你想在单片机方面好好发展一下的,那最好还是为以后考虑一下,“多功能编程器”就比较合适了,虽然价格比“A51编程器”高了仅几十元,但长期来看,还是非常值得投资的,以备日后做其它用途使用,而且还有丰富的套餐组合供您选购。至于“TOP系列”的编程器相对来说,价格要稍高于“A51编程器”和“多功能编程器”,但它有漂亮的外壳,看上去比较漂亮,经站长自己使用的经验总结,感觉TOP853、TOP2000BS、TOP2005+(新产品)、TOP2007(新产品)、TOP2048这几款TOP编程器性能比较稳定,使用感觉不错,性价比比较高,其它的TOP系列编程器我们也就不作介绍了。
多功能编程器全套餐A:176元 相应介绍详见这里
A51编程器:98元 相应介绍详见这里
微型51仿真器:128元 相应介绍详见这里
增强型51实验板:148元 相应介绍详见这里
增强型51实验板可选配件:
1602液晶屏:30元 红外线遥控器:25元 步进电机:15元 18B20温度传感器:12元
200米无线遥控发射模块:20元 1000米无线遥控发射模块:35元 无线遥控接收模块:15元
TOP系列编程器—— TOP851 TOP2000BS TOP853 TOP2005+ TOP2007 TOP2048 TOP2049
TOP全系列编程器区别与差异介绍(站长个人使用总结)
推荐单片机学习全套餐C(编程器、仿真器、实验板分体式设计):
A51编程器+微型51仿真器+增强型51实验板+1602液晶屏+红外线遥控器+步进电机+DS18B20温度传感器+200米无线遥控收发模块(包括发射机和接收板)+AT89S51单片机芯片 总价:501+20(邮费)=521元
赠送:
1号光盘:单片机多媒体视频教程+单片机实验视频录像(酷)+实验板原理图+大量实验板配套例程+电子资料手册等 ——此碟为CDROM光盘
2号光盘:单片机权威教程全集,DVD格式,数据量4.3G,内含10CD教程 ——此碟为DVD光盘(相当于价值100元的CD教程光盘)
好消息:从2007年7月5日起,凡购买单片机学习全套餐C的用户,特别赠送价值36元的《C51单片机高效入门》配套教程一本,以便配套学习使用。 关于赠送活动的更详细情况请看这里--->>>
关于单片机学习全套餐C的配套的系列教学资料可以看网站首页的“手把手教你学51单片机”栏目。
您也可以翻阅历年来的《电子制作》杂志,我们刊登了系列连载教程,以便大家进行理论学习以及提高实践动手能力。 历年来有哪些期刊杂志有所介绍呢,原文及详细情况您可以看这里--->>>点击进入
点击进入“单片机学习全套餐C”相关实验视频录像在线观看
现在单片机学习之类的书籍在新华书店一翻就是一大堆,让人看了眼花缭乱,相信大家也有这样的感受,经常会有很多单片机初学者朋友让我来推荐单片机入门的书籍,从这些朋友的要求来看,感觉大家已经厌倦了很多条教式书籍的枯燥与古板,至少站长在大学读书时就有这样的感受,文科的书相对理科的书来说要好些,但对于理科的特点,本来就是比较突出其技术性与特点,要想写出点新鲜感确实有点难;还有一点,相信大家和我也会有一个共识,现在很多书不仅多,而且厚,但到时我们真正所关心的问题是否真的有这么多呢,相信一般我们也不会把整本书全部读完,只是取其一部分对自己有用的内容来阅读,至少有些书对于我来讲有点像字典,需要用的时候去翻一下而已。看完了书,有很多朋友可能还是会说,书我看了一大堆,但到头来还是一团迷茫,而感到无从下手,呵呵,因为我本人也遇到过这样的情况,对于单片机,在此我们必须提到的就是实践动手,否则书就算看10遍甚至20遍还是不能完成具体的应用任务,这等于白学,因为不能做到学以致用。针对以上这些现状,站长萌发了写书的念头,找了很多材料,并将积累的经验,花了无数的日夜写下了这本《C51单片机高效入门》一文,写书的思路是以理论与实践相结合为主导,以我们网站提供的单片机学习全套餐为硬件平台,一一介绍单片机各方面的理论知识与具体实践动手方法,建议初学者朋友先将此书大致翻一遍,对整体有个了解,掌握理论基础知识,然后再对照着书上的实践例子,一个课时一个课时地学习下去,相信看完了此书,你已经跨入了单片机这个领域的大门了。
建议:如果以后想做做单片机开发及产品的,可以将以上套餐中的A51编程器换成TOP853编程器,这样性价比可以高很多,支持的芯片有1500多种,而且是USB接口,使用非常方便,不会出现部分笔记本电脑没有串口而不能使用的尴尬局面,如换成TOP853,补上两种编程器的差价就可以了。
单片机学习全套餐C主要部件实物照片:
单片机学习全套餐C使用的编程器、仿真器、实验板
1602LCD液晶屏
DS18B20温度传感器
6121编码红外线遥控器
微型步进电机
200米无线收发模块
AT89S51单片机芯片——程序烧写使用
赠送的精美配套光盘,含丰富的学习资料与例程
赠送的单片机视频权威教程——DVD光盘
附带的USB线、串口线
赠送的配套学习书本 点击查看书本详细资料-->> 本书是以目前最为流行的8051系列单片机为主体,同时使用C程序设计语言来进行描述的。全书共分为四部分内容:单片机基础知识、C语言程序设计、单片机入门基础实例、单片机高级应用实例。以理论与实践相结合的方式来进行讲解,避免了传统教科书给人枯燥、乏味的感觉。讲解风格通俗易懂、条理清晰、实例丰富、图文并茂,既使是没有任何单片机基础的人,也可以通过本书的学习,踏入单片机世界的大门。 作者为本书的出版开发了相应的学习编程、仿真及实验板,以方便读者朋友进行学习,同时以大量实例照片记录了实验的过程且现象,以激发读者朋友对单片机的兴趣爱好。 本书的配套光盘包含了所有实验的源程序代码、一些常用的电子工具软件、芯片资料、实验过程照片以及试验演示视频录像。因此,通过本书,读者获得的是教程和学习平台的结合,不仅可以用于学习,而且还可以用于工厂、企业的产品研发。 本书可供电子爱好者和大学、中专相关专业学生参考。
单片机学习全套餐C的精美彩色外包装盒,质量、品质的实力体现!
推荐单片机学习全套餐D(编程器、仿真器、实验板一体化设计)豪华配置——多数初学者的选择
51单片机综合学习系统+仿真组件+1602液晶屏+红外线遥控器+步进电机+DS18B20温度传感器+200米无线遥控收发模块(包括发射机和接收板) 总价:563+20(邮费)=583元
2007年我们推出的单片机学习全套餐D,一直受到用户朋友的广泛好评。在这一年中,结合大家在学习中遇到的问题,我们不断总结教学经验,更新产品技术,组织编写与之相配套的书本教材<单片机快速入门>,目前此书已由北京航空航天大学出版社出版发行。
很多用户在于我们的沟通中,都说到自己是初学者,很多人担心自己学不会。我们推出这本书的目的也在于此:让零基础的用户,可以边看书边动手实践。我们希望用我们的力量,为更多的电子爱好者提供适合的学习资源。
我们多年的发展离不开广大用户的支持和信赖,新书推出之际,我们特举行赠书活动。即日起,您在本公司购买单片机学习全套餐D,就可以免费获得价值36元的<单片机快速入门>一书。
赠送:
1号光盘:单片机多媒体视频教程+单片机实验视频录像(酷)+实验板原理图+大量实验板配套例程+电子资料手册等 ——此碟为CDROM光盘
2号光盘:单片机权威教程全集,DVD格式,数据量4.3G,内含10CD教程 ——此碟为DVD光盘(相当于价值100元的CD教程光盘)
3号光盘:本站特别加送清晰版VCD格式“51单片机综合学习系统”实验视频演示光盘一份,使用更直观,学习更高效,对于入门级的学习非常有利。
好消息:从2008年5月8日起,凡购买单片机学习全套餐D的用户,特别赠送价值36元的《单片机快速入门》配套教程一本,以便配套学习使用。 关于赠送活动的更详细情况请看这里--->>>
全套餐组合不仅可以满足初学者的学习用途,还可以供工厂、企业研发人员及电子爱好者做一些技术研究及开发, 有较高的性价比,自投放市场以来,受到了广大用户的好评与支持。
关于单片机学习全套餐C的配套的系列教学资料可以看网站首页的“手把手教你学51单片机”栏目。
您也可以翻阅历年来的《电子制作》杂志,我们刊登了系列连载教程,以便大家进行理论学习以及提高实践动手能力。 历年来有哪些期刊杂志有所介绍呢,原文及详细情况您可以看这里--->>>点击进入
点击进入“单片机学习全套餐D”相关实验视频录像系列--1在线观看
点击进入“单片机学习全套餐D”相关实验视频录像系列--2在线观看
单片机学习全套餐D主要部件实物照片:
单片机全套餐D所有部件图片集
51单片机综合学习系统主机
DS18B20温度传感器
优质超薄型6121编码红外线遥控器
微型步进电机
200米无线收发模块
AT89S51单片机芯片——程序烧写使用
SST89E516仿真模块——程序仿真使用
赠送的单片机视频权威教程——DVD光盘
附带的USB线、串口线、并口线
赠送的配套学习书本 点击查看书本详细资料-->>
精美光盘,含丰富的学习资料 点击查看例程库-->>
单片机学习全套餐D的精美彩色外包装盒,质量、品质的实力体现!
全套餐C与全套餐D的区别在于:
全套餐D为最新设计的学习开发系统,将编程、仿真、实验三者功能进行了整合,同时,可做实验的资源与功能要比全套餐C多很多,如SPI总线、IIC总线、DS1302时钟、AD模数转换等实验资源。全套餐C提供的红外线遥控器为普通黑色的红外线遥控器,全套餐D提供的为时尚超薄型红外线遥控器,此外,对于购买全套餐D的用户,本站特别加送清晰版VCD格式“51单片机综合学习系统”实验视频演示光盘一份,该演示视频光盘只适用于51单片机综合学习系统。用户可以根据自己的需求来选择套餐进行学习,套餐C经济些,便宜些,但其总体功能比套餐C少些,套餐D因为用的是51单片机综合学习系统为硬件平台,免跳线设计,所以操作比较方便、简单些。由于全套餐D的成本要高于全套餐C的成本,所以两种套餐的售价会略有所不同,但从其功能性价比看,我们推荐用户使用全套餐D来进行单片机学习,一般来说,足够学习与开发使用了。
>>> 对于一些本站产品优势以及受欢迎的原因,请点击这里看
单片机学习全套餐C配套的书本教程,点击此处进入了解详细信息。
单片机学习全套餐D配套的书本教程,点击此处进入了解详细信息。
原文:
单片机学习实验及开发工具的导购
鉴于目前单片机技术火的一塌糊涂!越来越多的朋友加入了学习单片机的行列中!还有更多的朋友正在准备加入到学习单片机行列中。很多初学者在购买了本站的硬件学习板后,在短期内就掌握了自主编写实用控制程序的能力,正所谓只要功夫深,铁杵磨成针。
这里要先说一下单片机的含义,单片机就是一种微型的计算机,它的硬件等级不高,程序存储器比较小,无法和我们个人电脑中的硬盘相比,但是他的整体成本很低,体积也很小,这就给电子工程师提供了一个低成本开发智能控制设备的可能。另外就是它的可塑性是很强的,只要把程序存储器中写入不同的程序,它就会根据不同的程序来完成不同的工作。
比如我们要控制洗衣机的完成一个智能控制洗衣流程(不采用简单的机械定时器),从成本角度讲,虽然个人电脑性能强大,但是不能采用,因为一台个人电脑的体积成本都太过了,此时用“单片机+顺序控制程序+接口电路+执行电路”就是最好的解决方案了,这等于在洗衣现场有一个小小的电脑在控制着整个洗衣过程,单片机是现代全自动洗衣机的核心部分,它的应用大大减低了人的劳动强度。从这个简单的例子中,我们就可以看到单片机的实际意义了!小到温度智能控制,中到通讯控制,大到生产流程控制,都可以见到它的身影。应用范围绝对广泛,只要编写好不同的程序。单片机就可以完成不同的控制工作。这样,我们通过编写不同的控制程序就可以实现器件的万能化!
大致可以通过这些步骤来完成实验及开发工作:
第一步:通过软件编译平台开始写我们的试验程序,这就好比写文章要有笔和纸一样,最常用的是KEIL软件平台,比如点亮一个发光管,点亮多个发光管,点亮流水灯,驱动继电器,驱动数码管......,学用写源程序有2个重点,重点1是学会在KEIL中写源程序,就和用记事本软件编辑文字一样,重点2是学会把写好的源程序通过KEIL软件平台编译成为单片机可以读懂的由0和1构成的机器码,为了简化,通常是生成16进制的*.HEX或者*.BIN文件,不过本质还是0和1。在这里,源程序我们能读懂,但是单片机不能读懂,所以需要把源程序通过编译器编译成最终的*.HEX或者*.BIN文件。在这里,编译平台充当的是一个语言翻译官的角色!
第二步:制作或者购买一个编程器(也有人叫它为烧写器)。
注意,编程器的作用是把我们编译好的机器码文件写入到单片机的程序存储器中,这个设备的作用就好比我们给一个没有记忆的人灌输记忆。通过程序被写入,单片机中就被灌输了我们的设计思想或者是某种控制流程。编程器和单片机可以支持的文件是16进制的,文件属性一般为*.HEX或者*.BIN,它们的本质是二进制,也就是1和0。编程器只是一种写入设备,而源程序还是要由我们来编写和创造的!
第三步:制作或者购买一个实验板,它的作用是完成最终的硬件驱动效果验证。这就好比把一个已经灌输了我们设计思想的单片机连上躯体和四肢,看看这个完整的,已经具备了“头脑+思想+四肢”的设备是不是能真的动起来,动起来的时候看看它的动作是不是和我们设计的程序完全一致?如果不一致就说明我们给他设计的“思想”可能存在问题!此时就需要用编程器中的“擦除”操作给单片机“洗脑”,并且修改程序,然后再次写入和看验证结果。
比如我们用软件写了一个流水灯程序,通过什么来验证它是否可以真正的驱动硬件呢?答案就是实验板。
也许有人会问,为什么没有提到仿真器?因为以前专业化的仿真器太贵了!大家一般都承受不了!
仿真器是做什么的呢?它的作用是调试我们的程序用的,比如我们的程序有100行,假设代表了10个驱动硬件的动作,这时候如果有仿真器的话,我们可以让这10个动作一个个的执行,同时能够观察到在执行这10个动作的过程中,单片机内部的各单元状态是什么样的!也就是可以细致的分析一下整个程序在硬件中的具体工作过程。这样我们就可以了解程序中是不是有问题存在,所以叫做仿真!
仿真分为硬件仿真和软件仿真二种,软件仿真是完全虚拟的,比较抽象,初学者理解起来比较困难。硬件仿真方面,如果硬件仿真器连接了目标设备,就可以看到驱动硬件的效果,还是比较实用的。
看了这么多的文字介绍,大家还是可以来这里看一下上面所说的到底是怎么样的东西,我们应该如何来使用它们,给大家一个感性的认识。
点击进入大量单片机实验视频录像在线观看
总而言之,在你决定学习单片机之前,请做好如下准备工作:
一、硬件准备:计算机一台,编程器,仿真器和实验板。如果你想学单片机,而又不愿做这些投资,很有可能会挫伤你学习的积极性和浪费你的时间,好在这些投资并不算多:)
编程器可以选用“A51编程器”或“多功能编程器”,经常会有朋友这样问我:这两种编程器到底有什么不同,其区别在哪里?
在此,站长也说明一下其不同之处,怎么样的才适合你的使用。“A51编程器”的主要特点就是价格低,性能稳定,支持常用的51芯片,仅烧51的话,用用这个绝对经济实惠,不错了。“多功能编程器”的主要特点是性价比高,支持芯片多,有几百种型号,还能烧写主板BIOS芯片,比目前市场上的同类产品价格都要低。总括来讲,如果你是仅仅用用51系列的,选“A51编程器”肯定OK;如果你想在单片机方面好好发展一下的,那最好还是为以后考虑一下,“多功能编程器”就比较合适了,虽然价格比“A51编程器”高了仅几十元,但长期来看,还是非常值得投资的,以备日后做其它用途使用,而且还有丰富的套餐组合供您选购。至于“TOP系列”的编程器相对来说,价格要稍高于“A51编程器”和“多功能编程器”,但它有漂亮的外壳,看上去比较漂亮,经站长自己使用的经验总结,感觉TOP853、TOP2000BS、TOP2005+(新产品)、TOP2007(新产品)、TOP2048这几款TOP编程器性能比较稳定,使用感觉不错,性价比比较高,其它的TOP系列编程器我们也就不作介绍了。
多功能编程器全套餐A:176元 相应介绍详见这里
A51编程器:98元 相应介绍详见这里
微型51仿真器:128元 相应介绍详见这里
增强型51实验板:148元 相应介绍详见这里
增强型51实验板可选配件:
1602液晶屏:30元 红外线遥控器:25元 步进电机:15元 18B20温度传感器:12元
200米无线遥控发射模块:20元 1000米无线遥控发射模块:35元 无线遥控接收模块:15元
TOP系列编程器—— TOP851 TOP2000BS TOP853 TOP2005+ TOP2007 TOP2048 TOP2049
TOP全系列编程器区别与差异介绍(站长个人使用总结)
推荐单片机学习全套餐C(编程器、仿真器、实验板分体式设计):
A51编程器+微型51仿真器+增强型51实验板+1602液晶屏+红外线遥控器+步进电机+DS18B20温度传感器+200米无线遥控收发模块(包括发射机和接收板)+AT89S51单片机芯片 总价:501+20(邮费)=521元
赠送:
1号光盘:单片机多媒体视频教程+单片机实验视频录像(酷)+实验板原理图+大量实验板配套例程+电子资料手册等 ——此碟为CDROM光盘
2号光盘:单片机权威教程全集,DVD格式,数据量4.3G,内含10CD教程 ——此碟为DVD光盘(相当于价值100元的CD教程光盘)
好消息:从2007年7月5日起,凡购买单片机学习全套餐C的用户,特别赠送价值36元的《C51单片机高效入门》配套教程一本,以便配套学习使用。 关于赠送活动的更详细情况请看这里--->>>
关于单片机学习全套餐C的配套的系列教学资料可以看网站首页的“手把手教你学51单片机”栏目。
您也可以翻阅历年来的《电子制作》杂志,我们刊登了系列连载教程,以便大家进行理论学习以及提高实践动手能力。 历年来有哪些期刊杂志有所介绍呢,原文及详细情况您可以看这里--->>>点击进入
点击进入“单片机学习全套餐C”相关实验视频录像在线观看
现在单片机学习之类的书籍在新华书店一翻就是一大堆,让人看了眼花缭乱,相信大家也有这样的感受,经常会有很多单片机初学者朋友让我来推荐单片机入门的书籍,从这些朋友的要求来看,感觉大家已经厌倦了很多条教式书籍的枯燥与古板,至少站长在大学读书时就有这样的感受,文科的书相对理科的书来说要好些,但对于理科的特点,本来就是比较突出其技术性与特点,要想写出点新鲜感确实有点难;还有一点,相信大家和我也会有一个共识,现在很多书不仅多,而且厚,但到时我们真正所关心的问题是否真的有这么多呢,相信一般我们也不会把整本书全部读完,只是取其一部分对自己有用的内容来阅读,至少有些书对于我来讲有点像字典,需要用的时候去翻一下而已。看完了书,有很多朋友可能还是会说,书我看了一大堆,但到头来还是一团迷茫,而感到无从下手,呵呵,因为我本人也遇到过这样的情况,对于单片机,在此我们必须提到的就是实践动手,否则书就算看10遍甚至20遍还是不能完成具体的应用任务,这等于白学,因为不能做到学以致用。针对以上这些现状,站长萌发了写书的念头,找了很多材料,并将积累的经验,花了无数的日夜写下了这本《C51单片机高效入门》一文,写书的思路是以理论与实践相结合为主导,以我们网站提供的单片机学习全套餐为硬件平台,一一介绍单片机各方面的理论知识与具体实践动手方法,建议初学者朋友先将此书大致翻一遍,对整体有个了解,掌握理论基础知识,然后再对照着书上的实践例子,一个课时一个课时地学习下去,相信看完了此书,你已经跨入了单片机这个领域的大门了。
建议:如果以后想做做单片机开发及产品的,可以将以上套餐中的A51编程器换成TOP853编程器,这样性价比可以高很多,支持的芯片有1500多种,而且是USB接口,使用非常方便,不会出现部分笔记本电脑没有串口而不能使用的尴尬局面,如换成TOP853,补上两种编程器的差价就可以了。
单片机学习全套餐C主要部件实物照片:
单片机学习全套餐C使用的编程器、仿真器、实验板
1602LCD液晶屏
DS18B20温度传感器
6121编码红外线遥控器
微型步进电机
200米无线收发模块
AT89S51单片机芯片——程序烧写使用
赠送的精美配套光盘,含丰富的学习资料与例程
赠送的单片机视频权威教程——DVD光盘
附带的USB线、串口线
赠送的配套学习书本 点击查看书本详细资料-->> 本书是以目前最为流行的8051系列单片机为主体,同时使用C程序设计语言来进行描述的。全书共分为四部分内容:单片机基础知识、C语言程序设计、单片机入门基础实例、单片机高级应用实例。以理论与实践相结合的方式来进行讲解,避免了传统教科书给人枯燥、乏味的感觉。讲解风格通俗易懂、条理清晰、实例丰富、图文并茂,既使是没有任何单片机基础的人,也可以通过本书的学习,踏入单片机世界的大门。 作者为本书的出版开发了相应的学习编程、仿真及实验板,以方便读者朋友进行学习,同时以大量实例照片记录了实验的过程且现象,以激发读者朋友对单片机的兴趣爱好。 本书的配套光盘包含了所有实验的源程序代码、一些常用的电子工具软件、芯片资料、实验过程照片以及试验演示视频录像。因此,通过本书,读者获得的是教程和学习平台的结合,不仅可以用于学习,而且还可以用于工厂、企业的产品研发。 本书可供电子爱好者和大学、中专相关专业学生参考。
单片机学习全套餐C的精美彩色外包装盒,质量、品质的实力体现!
推荐单片机学习全套餐D(编程器、仿真器、实验板一体化设计)豪华配置——多数初学者的选择
51单片机综合学习系统+仿真组件+1602液晶屏+红外线遥控器+步进电机+DS18B20温度传感器+200米无线遥控收发模块(包括发射机和接收板) 总价:563+20(邮费)=583元
2007年我们推出的单片机学习全套餐D,一直受到用户朋友的广泛好评。在这一年中,结合大家在学习中遇到的问题,我们不断总结教学经验,更新产品技术,组织编写与之相配套的书本教材<单片机快速入门>,目前此书已由北京航空航天大学出版社出版发行。
很多用户在于我们的沟通中,都说到自己是初学者,很多人担心自己学不会。我们推出这本书的目的也在于此:让零基础的用户,可以边看书边动手实践。我们希望用我们的力量,为更多的电子爱好者提供适合的学习资源。
我们多年的发展离不开广大用户的支持和信赖,新书推出之际,我们特举行赠书活动。即日起,您在本公司购买单片机学习全套餐D,就可以免费获得价值36元的<单片机快速入门>一书。
赠送:
1号光盘:单片机多媒体视频教程+单片机实验视频录像(酷)+实验板原理图+大量实验板配套例程+电子资料手册等 ——此碟为CDROM光盘
2号光盘:单片机权威教程全集,DVD格式,数据量4.3G,内含10CD教程 ——此碟为DVD光盘(相当于价值100元的CD教程光盘)
3号光盘:本站特别加送清晰版VCD格式“51单片机综合学习系统”实验视频演示光盘一份,使用更直观,学习更高效,对于入门级的学习非常有利。
好消息:从2008年5月8日起,凡购买单片机学习全套餐D的用户,特别赠送价值36元的《单片机快速入门》配套教程一本,以便配套学习使用。 关于赠送活动的更详细情况请看这里--->>>
全套餐组合不仅可以满足初学者的学习用途,还可以供工厂、企业研发人员及电子爱好者做一些技术研究及开发, 有较高的性价比,自投放市场以来,受到了广大用户的好评与支持。
关于单片机学习全套餐C的配套的系列教学资料可以看网站首页的“手把手教你学51单片机”栏目。
您也可以翻阅历年来的《电子制作》杂志,我们刊登了系列连载教程,以便大家进行理论学习以及提高实践动手能力。 历年来有哪些期刊杂志有所介绍呢,原文及详细情况您可以看这里--->>>点击进入
点击进入“单片机学习全套餐D”相关实验视频录像系列--1在线观看
点击进入“单片机学习全套餐D”相关实验视频录像系列--2在线观看
单片机学习全套餐D主要部件实物照片:
单片机全套餐D所有部件图片集
51单片机综合学习系统主机
DS18B20温度传感器
优质超薄型6121编码红外线遥控器
微型步进电机
200米无线收发模块
AT89S51单片机芯片——程序烧写使用
SST89E516仿真模块——程序仿真使用
赠送的单片机视频权威教程——DVD光盘
附带的USB线、串口线、并口线
赠送的配套学习书本 点击查看书本详细资料-->>
精美光盘,含丰富的学习资料 点击查看例程库-->>
单片机学习全套餐D的精美彩色外包装盒,质量、品质的实力体现!
全套餐C与全套餐D的区别在于:
全套餐D为最新设计的学习开发系统,将编程、仿真、实验三者功能进行了整合,同时,可做实验的资源与功能要比全套餐C多很多,如SPI总线、IIC总线、DS1302时钟、AD模数转换等实验资源。全套餐C提供的红外线遥控器为普通黑色的红外线遥控器,全套餐D提供的为时尚超薄型红外线遥控器,此外,对于购买全套餐D的用户,本站特别加送清晰版VCD格式“51单片机综合学习系统”实验视频演示光盘一份,该演示视频光盘只适用于51单片机综合学习系统。用户可以根据自己的需求来选择套餐进行学习,套餐C经济些,便宜些,但其总体功能比套餐C少些,套餐D因为用的是51单片机综合学习系统为硬件平台,免跳线设计,所以操作比较方便、简单些。由于全套餐D的成本要高于全套餐C的成本,所以两种套餐的售价会略有所不同,但从其功能性价比看,我们推荐用户使用全套餐D来进行单片机学习,一般来说,足够学习与开发使用了。
>>> 对于一些本站产品优势以及受欢迎的原因,请点击这里看
单片机学习全套餐C配套的书本教程,点击此处进入了解详细信息。
单片机学习全套餐D配套的书本教程,点击此处进入了解详细信息。
原文:
展开全部
USB问题不是个简单问题,你这样提问太外行了。再说一分都没!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2018-04-25
展开全部
数据接收存储技术革新是信号采集处理领域内的一个重要课题。利用这种技术,可以把信号的实时采集和精确处理在时间上分为两个阶段,有利于获得令人更满意的处理结果。在无线数传接收设备中应用数据接收存储方法时,除了要满足数据传输速率和差错控制方面的要求外,还需要考虑如何使设备易于携带、接口简单、使用方便。
传统外设接口技术不但数据传输速率较低,独占中断、I/O地址、DMA通道等计算机系统关键资源,容易造成资源冲突问题,而且使用时繁杂的安装配置手续也给终端用户带来了诸多不便。近年来,USB接口技术迅速发展,新型计算机纷纷对其提供支持。USB2.0是USB技术发展的最新成果,利用USB2.0接口技术开发计算机外设,不但可以借用其差错控制机制[1][6]减轻开发人员的负担、获得高速数据传输能力(480Mb/s),而且可以实现便捷的机箱外即插即用特性,方便终端用户的使用。
1 无线数传接设备总体构成
无线数传接收设备是某靶场测量系统的一个重要组成部分。如图1所示,该设备由遥测接收机利用天线接收经过调制的无线电波信号,解调后形成传输速率为4Mb/s的RS-422电平差分串行数据流。以帧同步字打头的有效数据帧周期性地出现在这些串行数据中。数据转存系统从中提取出有效的数据帧,并在帧同步字后插入利用GPS接收机生成的本地时间信息,用于记录该帧数据被接收到的时间,然后送给主机硬件保存。
在无线数传接收设备中,数据转存系统是实现数据接收存储的关键子系统。下面将详细介绍该系统的硬件实现及工作过程。
2 数据转存系统基本构成及硬件实现
数据转存系统主要由FPGA模块、DSP模块、USB2.0接口芯片构成,各个模块之间的相互关系如图2所示示。图中,4Mb/s的串行数据输入信号SDI已由RS-422差分电平转换为CMOS电平。为突出重点,不太重要的信号连线未在图中绘出。下面分别介绍这几个模块的主要功能。
2.1 FPGA模块实现及春功能
FPGA模块在Altera公司ACEX系列的EP1K30TI144-2芯片中实现。其中主要的功能子模块有:位同步逻辑、帧同步逻辑、授时时钟和译码逻辑。位同步逻辑主要由数字锁相环构成,用于从串行数据输入信号SDI中恢复出位时钟信号。帧同步逻辑从位同步逻辑的输出信号提取帧同步脉冲。两者为DSP利用其同步串行口接收串行数据作好准备。这样,利用一对差分信号线就可以接收同步串行数据,简化了印制电路板的外部接口。授时时钟在DSP和GSP接收机的协助下生成精度为0.1ms的授时信息。译码逻辑用于实现系统互联。
2.2 DSP模块实现及其功能
DSP模块是数据转存系统的主控模块,在T1公司16位定点DSP芯片TMS320F206[4]中实现。在DSP的外部数据空间还配置了32KX16的高速SRAM,可以缓存80余帧数据,用于提高系统的差错控制能力。DSP利用同步串行口接收FPGA送来的同步串行数据,利用异步串口接收GPS接收机送来时间信息(用于初始化FPGA授时时钟),利用外部总线接口访问FPGA授时时钟、外部SRAM、ISP1581的片内寄存器。可以看出DSP模块主要用于完成数据帧的接收、重组以及转存调度等任务。
ISP1581芯片是PHILIPS公司推出的高速USB2.0设备控制器,实现了USB2.0/1.1物理层、协议层,完全符合USB2.0规范,即支持高速(480Mb/s)操作,又支持全速(12Mb/s)操作。ISP1581没有内嵌微处理器,但对微处理器操作了灵活的接口。在上电时,通过配置BUS——CONF、DAO、MODE1、MODE0、DA1引脚电平可以适应绝大多数的微处理器接口类型。例如,通过BUS_CONF/DA0引脚,总线配置可以选择普通处理器模块(Generic Phocessor mode)中分割总线模式(Split Bus Mode);在普通处理器模式下,通过MODE0/DA1引脚可以选择读写选通为8051风格或者Motorola风格。
在数据转存系统中,ISP1581用于处理主机的高速数据传输。它工作在普通处理器接口模式下,采用8051风格的读写选通信号,由DSP芯片TMS320F206控制。两者在选定工作方式下的信号连线如图3所示,图中未画出的信号引脚可以悬空,供电引脚的连接方式在参考资料[2]第46页有简明描述。在FPGA译码逻辑的作用下,ISP1581的片内寄存器被映射在DSP的片外数据空间中。DSP通过8位地址线选择要访问的寄存器,在读写选通信号的控制下,利用16位数据线与选定的寄存器交换数据。在访问ISP1581单字节寄存器时,数据总线高字节内容无关紧要。ISP1581通过中断引脚INT向DSP报告发生的总线事件,利用D+、D-引脚完成与主机的数据交换。
3 数据转存系统的工作过程
系统加电后,当FPGA配置过程结束时,如果有串行数据输入,位同步逻辑和帧同步逻辑便启动同步过程。同时,DSP片内FLASH中复位中断服务程序c_int0()[4]被立即执行,在建立好C语言的工作环境下,它会调用主函数main()。在main()中,需要安排好一系列有先后顺序的初始化工作。其中,ISP1581的初始化过程比较复杂,需要考虑设备采用的供电方式(这里为自供电[6]方式)、插接主机和系统上电的先后次序,并需要与USB总线枚举[1][6]过程相结合。
在FPGA中的位同步逻辑和帧同步逻辑均进入同步状态,且DSP主控模块配合主机完成初始化任务后,即可启动数据的传输过程。下面介绍一下ISP1581的初始化过程及DSP控制的数据帧的接收机转存流程。
3.1 ISP1581的初始化
在初始化过程中,首先需要设置影响ISP1581自身工作方式的一些寄存器,然后与主机端USB系统配合进行,应答来自主机端的设备请求。当数据转存系统板作为USB 2.0设备通过连接器连到主机USB根集线器上的一个端口时,主机便可检测到这一连接,接着给该端口加电,检测设备并激活该端口,向USB设备发送复位信号。设备收到这一复位信号后,即进入缺省状态,此后就能够通过缺省通信通道响应主机端送来的设备请求。主机通过描述符请求(GET_DESCRIPTOR)获得设备端的详细信息,通过设置地址请求(SET_ADDRESS)设置设备地址,通过设置配置请求(SET_CONFIGURATION)选定合适的设备配置。在设备成功响应了这些设备请求之后,就可以与主机通信了。
在响应主机请求的过程中,DSP需要配置ISP1581的端点以实现不同类型的传输通道。根据数据传输速率的要求,除了缺省的控制通道外,系统中实现了一个批传输(bulk)[1]类型的输入通道。这样,ISP1581就可以像FIFO一样方便地从数据转存系统向主机传输数据,而且具有差错控制能力,简化了设备端软件设计的复杂性。
3.2 数据帧的接收转存过程
系统正常工作时,需要与主机端程序相互配合。主要端需要开发者实现的程序包括设备驱动程序和应用程序。在Windows 2000操作系统下,USB设备驱动程序为WDM模型的驱动程序,开发环境DriverStudio为WDM型驱动程序提供了框架结构,使得驱动开发变得非常容易(参见参考文献[5]第八、九、十章)。驱动程序接收应用程序的请求,利用USB总线驱动程序(US-BD)和主机控制器驱动程序(HCD)通过主机控制器安排USB总线事务,设备端则根据这些事务调度相应的数据帧的传输。关于主机端口如何安排总线事务可以查阅参考文献[1]。以下着重介绍设备端数据的调度过程。
数据帧的接收转存过程主要由DSP负责,DSP在外部SRAM中建立了一个数据帧的队列,如图4所示。系统主要工作在中断驱动模式下,与同步串行口相关的中断服务程序负责建立队列的尾部,对应于ISP1581中断引脚INT的中断服务程序负责建立队列的头部。
当以帧同步字打头的一帧数据以串行位流的形式到来时,FPGA产生的帧同步脉冲可以直接启动DSP同步串行口接收数据,该同步脉冲同时以中断方式通知DSP为一帧数据的接收做好准备。DSP接到通知后,首先检查外部SRAM中是否有足够的空间容纳一帧数据。如果没有空间,则丢弃当前数据帧(根据设计,这种情况是很少见的);如果有空间,则为当前数据帧保留足够的空间。接着在帧起始位置填写帧步字,读取授时时钟的当前值并填写在帧同步字后。这样,一个新的数据帧(图4中数据帧F_N)就建立了,但是并没有加入到队列中,而是要等待来自同步串行口的后继数据嵌入该帧中后再加入到队列中。
同步串行口的接收缓冲区在接收到若干字(由初始化时的设置决定)后,会向DSP提出中断请求。在中断服务程序中,DSP读取接收缓冲区中的内容,并将其填入上述新开辟的帧F_N中。在一帧数据接收完毕后,就将该帧添加到队列的尾部,表示该帧数据已经准备好(图4中数据帧F_R),可以通过ISP1581送给主机硬件保存。
DSP在查询到队列中有已经准备好的数据帧存在时,就设置ISP1581的端点索引寄存器(Endpoint Index Register)使其指向初始化时配置的批传输输入端点,然后将队列首帧数据通过ISP1581的数据端口寄存器(Data Port Register)填写在端点缓冲区中。在端点缓冲区被填满后,它就自动生效。在不能填满端点缓冲区的情况下,可以通过设置控制功能寄存器(Control Function Register)的VENDP位[2]强制该端点缓冲区生效。端点缓冲区生效后,在USB总线上下一IN令牌到来时,该端点缓冲区中的数据就通过USB总线传输到主机中。主机成功接收到数据后,会给ISP1581以ACK应答。能够通过INT引脚报告给DSP,DSP就可以继续往端点中填写该帧其余数据。
在队列首帧数据被成功转移到主机后,DSP就丢弃首帧数据。如果队列在还有数据帧,则将次首帧作为首帧,继续前述传输过程;如果没有要传输的数据帧,则为队列首帧指针Head_Ptr赋空值(NULL),等待新的数据帧的到来。
USB2.0是计算机外设接口技术发展的最新成功,具有广阔的应用前景。本文介绍了PHILIPS公司USB2.0接口芯片ISP1581在无线数据接收设备中的应用。高性能、便携化的无线数据传接收设备。其在靶场实弹试验中受到了用户的好评。
PC机的RS-232C串行口是使用最多的接口之一。因此,4串口、8串口等以增加串口数量为目的的ISA总线卡产品大量问世。一般串口应用只是使用了RXD和TXD两条传输线和地线所构成的串口的最基本的应用条件,而本文介绍一个利用PC机的RS-232串口加上若干电路来实现多串口需求的接口电路。
1.PC机串口的RTS和DTR及扩展电路
RTS和DTR是PC机中8250芯片的MODEM控制寄存器的两个输出引角D1和D0位,口地址为COM1的是3FCH,口地址为COM2的是2FCH。我们可以利用对MODEM控制寄存器3FCH或2FCH的写操作对其进行控制。从而利用该操作和扩展电路实现对TXD和RXD进行多线扩展,图1是其扩展电路。
在图1所示的PC机串口扩展电路中,74LS161是二进制计数器,1脚是清0端,2脚是计数端,计数脉冲为负脉冲信号,4051是八选一双向数字/模拟电子开关电路,其中一片用于正向输出,一片用于反向输出。该扩展电路工作原理是通过控制PC机串口的DTR输出的高低电平来形成74LS161的P2脚计数端的负脉冲信号,使161的输出端P14(QA)、P13(QB)、P12(QC)、P11(QD)脚依次在0000到1111十六个状态中变化,本电路仅使用了QA、QB、QC三个输出来形成对4051的ABC控制,最终使得4051(1)的输入端TXD依次通过与TX1~TX8导通而得到输出信号,4051(2)的输出端RXD与RX1~RX8依次导通形成输入信号。由于RXD和TXD的导通是一一对应的,因此串口通信就可以依次通过与多达8个带有三线基本串口的外部设备进行通信传输以实现数据传送。PC机端的电平转换电路是将RS232电平转换为TTL电平,外设端的电平转换电路是将TTL电平转换为RS232电平。由于这种转换有许多电路可以实现,因而,这里不再介绍。
2.电路使用程序
对PC机串口COM1的编程如下:
……
… ;对COM1口的波特率等设置;
MOV DX,3FCH
MOV AL,XXXXXX01B
OUT DX,AL;D1生成RTS负脉冲,对74LS161输出端清0
MOV AL,XXXXXX11B;
OUT DX,AL ;4051的RX1和TX1导通
CALL COM ;调用通信子程序,与第一个外部设备通信;
MOV CX,7 ;设置循环计数器;
NEXT:MOV DX ,3FCH
MOV AL,XXXXXX10B
OUT DX ,AL ;D0位生成DTR的负脉冲,形成161的P2脚计数脉冲
MOV AL,XXXXXX11B
OUT DX,AL ;RX2和TX2导通
CALL COM ;调用通信子程序,与第二个外部设备通信
LOOP NEXT ;循环与另外6个外部设备通信
…
… ;通信子程序略
3.使用说明
由于该扩展的多路接口在通信时共用一个子程序,因此在与某一路导通时,系统只能与这一路的外部设备进行通信联络。
如果工作现场需要立即和某一路通信,则需要对3FCH的D1位执行两个写操作并在RTS脚形成负脉冲,以对7416I清0后,再连接执行若干次对DTR的两次写操作。例如想对第4路外设通信,则需要执行完成对74LS161清0后,再连续三次对3FCH的D0位进行两个写操作以形成DTR脚的负脉冲,然后即可调用通信子程序。
如需使用PC机的COM2串口,只需将程序中的3F8H~3FDH全部换成2F8H~2FDH即可。
如果使用十六选一双向数字/模拟电子开关电路,可将74LS161的QA、QB、QC、QD四个输出端接至电子开关的四个控制端A、B、C、D,这样就可以达到一个PC机的RS232口与16个带有串口的外设的数据通信。
传统外设接口技术不但数据传输速率较低,独占中断、I/O地址、DMA通道等计算机系统关键资源,容易造成资源冲突问题,而且使用时繁杂的安装配置手续也给终端用户带来了诸多不便。近年来,USB接口技术迅速发展,新型计算机纷纷对其提供支持。USB2.0是USB技术发展的最新成果,利用USB2.0接口技术开发计算机外设,不但可以借用其差错控制机制[1][6]减轻开发人员的负担、获得高速数据传输能力(480Mb/s),而且可以实现便捷的机箱外即插即用特性,方便终端用户的使用。
1 无线数传接设备总体构成
无线数传接收设备是某靶场测量系统的一个重要组成部分。如图1所示,该设备由遥测接收机利用天线接收经过调制的无线电波信号,解调后形成传输速率为4Mb/s的RS-422电平差分串行数据流。以帧同步字打头的有效数据帧周期性地出现在这些串行数据中。数据转存系统从中提取出有效的数据帧,并在帧同步字后插入利用GPS接收机生成的本地时间信息,用于记录该帧数据被接收到的时间,然后送给主机硬件保存。
在无线数传接收设备中,数据转存系统是实现数据接收存储的关键子系统。下面将详细介绍该系统的硬件实现及工作过程。
2 数据转存系统基本构成及硬件实现
数据转存系统主要由FPGA模块、DSP模块、USB2.0接口芯片构成,各个模块之间的相互关系如图2所示示。图中,4Mb/s的串行数据输入信号SDI已由RS-422差分电平转换为CMOS电平。为突出重点,不太重要的信号连线未在图中绘出。下面分别介绍这几个模块的主要功能。
2.1 FPGA模块实现及春功能
FPGA模块在Altera公司ACEX系列的EP1K30TI144-2芯片中实现。其中主要的功能子模块有:位同步逻辑、帧同步逻辑、授时时钟和译码逻辑。位同步逻辑主要由数字锁相环构成,用于从串行数据输入信号SDI中恢复出位时钟信号。帧同步逻辑从位同步逻辑的输出信号提取帧同步脉冲。两者为DSP利用其同步串行口接收串行数据作好准备。这样,利用一对差分信号线就可以接收同步串行数据,简化了印制电路板的外部接口。授时时钟在DSP和GSP接收机的协助下生成精度为0.1ms的授时信息。译码逻辑用于实现系统互联。
2.2 DSP模块实现及其功能
DSP模块是数据转存系统的主控模块,在T1公司16位定点DSP芯片TMS320F206[4]中实现。在DSP的外部数据空间还配置了32KX16的高速SRAM,可以缓存80余帧数据,用于提高系统的差错控制能力。DSP利用同步串行口接收FPGA送来的同步串行数据,利用异步串口接收GPS接收机送来时间信息(用于初始化FPGA授时时钟),利用外部总线接口访问FPGA授时时钟、外部SRAM、ISP1581的片内寄存器。可以看出DSP模块主要用于完成数据帧的接收、重组以及转存调度等任务。
ISP1581芯片是PHILIPS公司推出的高速USB2.0设备控制器,实现了USB2.0/1.1物理层、协议层,完全符合USB2.0规范,即支持高速(480Mb/s)操作,又支持全速(12Mb/s)操作。ISP1581没有内嵌微处理器,但对微处理器操作了灵活的接口。在上电时,通过配置BUS——CONF、DAO、MODE1、MODE0、DA1引脚电平可以适应绝大多数的微处理器接口类型。例如,通过BUS_CONF/DA0引脚,总线配置可以选择普通处理器模块(Generic Phocessor mode)中分割总线模式(Split Bus Mode);在普通处理器模式下,通过MODE0/DA1引脚可以选择读写选通为8051风格或者Motorola风格。
在数据转存系统中,ISP1581用于处理主机的高速数据传输。它工作在普通处理器接口模式下,采用8051风格的读写选通信号,由DSP芯片TMS320F206控制。两者在选定工作方式下的信号连线如图3所示,图中未画出的信号引脚可以悬空,供电引脚的连接方式在参考资料[2]第46页有简明描述。在FPGA译码逻辑的作用下,ISP1581的片内寄存器被映射在DSP的片外数据空间中。DSP通过8位地址线选择要访问的寄存器,在读写选通信号的控制下,利用16位数据线与选定的寄存器交换数据。在访问ISP1581单字节寄存器时,数据总线高字节内容无关紧要。ISP1581通过中断引脚INT向DSP报告发生的总线事件,利用D+、D-引脚完成与主机的数据交换。
3 数据转存系统的工作过程
系统加电后,当FPGA配置过程结束时,如果有串行数据输入,位同步逻辑和帧同步逻辑便启动同步过程。同时,DSP片内FLASH中复位中断服务程序c_int0()[4]被立即执行,在建立好C语言的工作环境下,它会调用主函数main()。在main()中,需要安排好一系列有先后顺序的初始化工作。其中,ISP1581的初始化过程比较复杂,需要考虑设备采用的供电方式(这里为自供电[6]方式)、插接主机和系统上电的先后次序,并需要与USB总线枚举[1][6]过程相结合。
在FPGA中的位同步逻辑和帧同步逻辑均进入同步状态,且DSP主控模块配合主机完成初始化任务后,即可启动数据的传输过程。下面介绍一下ISP1581的初始化过程及DSP控制的数据帧的接收机转存流程。
3.1 ISP1581的初始化
在初始化过程中,首先需要设置影响ISP1581自身工作方式的一些寄存器,然后与主机端USB系统配合进行,应答来自主机端的设备请求。当数据转存系统板作为USB 2.0设备通过连接器连到主机USB根集线器上的一个端口时,主机便可检测到这一连接,接着给该端口加电,检测设备并激活该端口,向USB设备发送复位信号。设备收到这一复位信号后,即进入缺省状态,此后就能够通过缺省通信通道响应主机端送来的设备请求。主机通过描述符请求(GET_DESCRIPTOR)获得设备端的详细信息,通过设置地址请求(SET_ADDRESS)设置设备地址,通过设置配置请求(SET_CONFIGURATION)选定合适的设备配置。在设备成功响应了这些设备请求之后,就可以与主机通信了。
在响应主机请求的过程中,DSP需要配置ISP1581的端点以实现不同类型的传输通道。根据数据传输速率的要求,除了缺省的控制通道外,系统中实现了一个批传输(bulk)[1]类型的输入通道。这样,ISP1581就可以像FIFO一样方便地从数据转存系统向主机传输数据,而且具有差错控制能力,简化了设备端软件设计的复杂性。
3.2 数据帧的接收转存过程
系统正常工作时,需要与主机端程序相互配合。主要端需要开发者实现的程序包括设备驱动程序和应用程序。在Windows 2000操作系统下,USB设备驱动程序为WDM模型的驱动程序,开发环境DriverStudio为WDM型驱动程序提供了框架结构,使得驱动开发变得非常容易(参见参考文献[5]第八、九、十章)。驱动程序接收应用程序的请求,利用USB总线驱动程序(US-BD)和主机控制器驱动程序(HCD)通过主机控制器安排USB总线事务,设备端则根据这些事务调度相应的数据帧的传输。关于主机端口如何安排总线事务可以查阅参考文献[1]。以下着重介绍设备端数据的调度过程。
数据帧的接收转存过程主要由DSP负责,DSP在外部SRAM中建立了一个数据帧的队列,如图4所示。系统主要工作在中断驱动模式下,与同步串行口相关的中断服务程序负责建立队列的尾部,对应于ISP1581中断引脚INT的中断服务程序负责建立队列的头部。
当以帧同步字打头的一帧数据以串行位流的形式到来时,FPGA产生的帧同步脉冲可以直接启动DSP同步串行口接收数据,该同步脉冲同时以中断方式通知DSP为一帧数据的接收做好准备。DSP接到通知后,首先检查外部SRAM中是否有足够的空间容纳一帧数据。如果没有空间,则丢弃当前数据帧(根据设计,这种情况是很少见的);如果有空间,则为当前数据帧保留足够的空间。接着在帧起始位置填写帧步字,读取授时时钟的当前值并填写在帧同步字后。这样,一个新的数据帧(图4中数据帧F_N)就建立了,但是并没有加入到队列中,而是要等待来自同步串行口的后继数据嵌入该帧中后再加入到队列中。
同步串行口的接收缓冲区在接收到若干字(由初始化时的设置决定)后,会向DSP提出中断请求。在中断服务程序中,DSP读取接收缓冲区中的内容,并将其填入上述新开辟的帧F_N中。在一帧数据接收完毕后,就将该帧添加到队列的尾部,表示该帧数据已经准备好(图4中数据帧F_R),可以通过ISP1581送给主机硬件保存。
DSP在查询到队列中有已经准备好的数据帧存在时,就设置ISP1581的端点索引寄存器(Endpoint Index Register)使其指向初始化时配置的批传输输入端点,然后将队列首帧数据通过ISP1581的数据端口寄存器(Data Port Register)填写在端点缓冲区中。在端点缓冲区被填满后,它就自动生效。在不能填满端点缓冲区的情况下,可以通过设置控制功能寄存器(Control Function Register)的VENDP位[2]强制该端点缓冲区生效。端点缓冲区生效后,在USB总线上下一IN令牌到来时,该端点缓冲区中的数据就通过USB总线传输到主机中。主机成功接收到数据后,会给ISP1581以ACK应答。能够通过INT引脚报告给DSP,DSP就可以继续往端点中填写该帧其余数据。
在队列首帧数据被成功转移到主机后,DSP就丢弃首帧数据。如果队列在还有数据帧,则将次首帧作为首帧,继续前述传输过程;如果没有要传输的数据帧,则为队列首帧指针Head_Ptr赋空值(NULL),等待新的数据帧的到来。
USB2.0是计算机外设接口技术发展的最新成功,具有广阔的应用前景。本文介绍了PHILIPS公司USB2.0接口芯片ISP1581在无线数据接收设备中的应用。高性能、便携化的无线数据传接收设备。其在靶场实弹试验中受到了用户的好评。
PC机的RS-232C串行口是使用最多的接口之一。因此,4串口、8串口等以增加串口数量为目的的ISA总线卡产品大量问世。一般串口应用只是使用了RXD和TXD两条传输线和地线所构成的串口的最基本的应用条件,而本文介绍一个利用PC机的RS-232串口加上若干电路来实现多串口需求的接口电路。
1.PC机串口的RTS和DTR及扩展电路
RTS和DTR是PC机中8250芯片的MODEM控制寄存器的两个输出引角D1和D0位,口地址为COM1的是3FCH,口地址为COM2的是2FCH。我们可以利用对MODEM控制寄存器3FCH或2FCH的写操作对其进行控制。从而利用该操作和扩展电路实现对TXD和RXD进行多线扩展,图1是其扩展电路。
在图1所示的PC机串口扩展电路中,74LS161是二进制计数器,1脚是清0端,2脚是计数端,计数脉冲为负脉冲信号,4051是八选一双向数字/模拟电子开关电路,其中一片用于正向输出,一片用于反向输出。该扩展电路工作原理是通过控制PC机串口的DTR输出的高低电平来形成74LS161的P2脚计数端的负脉冲信号,使161的输出端P14(QA)、P13(QB)、P12(QC)、P11(QD)脚依次在0000到1111十六个状态中变化,本电路仅使用了QA、QB、QC三个输出来形成对4051的ABC控制,最终使得4051(1)的输入端TXD依次通过与TX1~TX8导通而得到输出信号,4051(2)的输出端RXD与RX1~RX8依次导通形成输入信号。由于RXD和TXD的导通是一一对应的,因此串口通信就可以依次通过与多达8个带有三线基本串口的外部设备进行通信传输以实现数据传送。PC机端的电平转换电路是将RS232电平转换为TTL电平,外设端的电平转换电路是将TTL电平转换为RS232电平。由于这种转换有许多电路可以实现,因而,这里不再介绍。
2.电路使用程序
对PC机串口COM1的编程如下:
……
… ;对COM1口的波特率等设置;
MOV DX,3FCH
MOV AL,XXXXXX01B
OUT DX,AL;D1生成RTS负脉冲,对74LS161输出端清0
MOV AL,XXXXXX11B;
OUT DX,AL ;4051的RX1和TX1导通
CALL COM ;调用通信子程序,与第一个外部设备通信;
MOV CX,7 ;设置循环计数器;
NEXT:MOV DX ,3FCH
MOV AL,XXXXXX10B
OUT DX ,AL ;D0位生成DTR的负脉冲,形成161的P2脚计数脉冲
MOV AL,XXXXXX11B
OUT DX,AL ;RX2和TX2导通
CALL COM ;调用通信子程序,与第二个外部设备通信
LOOP NEXT ;循环与另外6个外部设备通信
…
… ;通信子程序略
3.使用说明
由于该扩展的多路接口在通信时共用一个子程序,因此在与某一路导通时,系统只能与这一路的外部设备进行通信联络。
如果工作现场需要立即和某一路通信,则需要对3FCH的D1位执行两个写操作并在RTS脚形成负脉冲,以对7416I清0后,再连接执行若干次对DTR的两次写操作。例如想对第4路外设通信,则需要执行完成对74LS161清0后,再连续三次对3FCH的D0位进行两个写操作以形成DTR脚的负脉冲,然后即可调用通信子程序。
如需使用PC机的COM2串口,只需将程序中的3F8H~3FDH全部换成2F8H~2FDH即可。
如果使用十六选一双向数字/模拟电子开关电路,可将74LS161的QA、QB、QC、QD四个输出端接至电子开关的四个控制端A、B、C、D,这样就可以达到一个PC机的RS232口与16个带有串口的外设的数据通信。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询