《基于usb总线的数据通信系统学士学位论文.doc》由会员分享,可在线阅读,更多相关《基于usb总线的数据通信系统学士学位论文.doc(62页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、内蒙古科技大学毕业设计说明书(毕业论文)毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学
2、校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定
3、,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日注 意 事 项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词 5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论
4、文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告
5、、外文译文、译文原文(复印件)次序装订3)其它摘 要本论文以基于USB总线的数据采集系统为主要内容,阐述了利用美国Silicon Laboratories公司的C8051F320芯片组成的一套数据通信系统的设计方案、开发方法和开发过程,并给出了具体实现方案。本系统设计包括硬件设计和软件设计。在硬件设计部分,介绍了具体硬件设计方案。软件设计包括固件程序设计、驱动程序设计和应用程序设计三大部分。本文先从整体上介绍了程序的设计思想和层次结构,然后详细介绍了固件部分的设计过程,并给出了程序流程图和采用的固件函数库。驱动程序部分介绍了驱动程序的结构和定制过程。主机应用程序的设计部分介绍了所采用的API函
6、数,并给出了部分源代码和程序流程图。输入数据通过UART模块传到控制器,然后通过USB接口向上位机传送数据,或者上位机发出控制信息传到数据采集系统去。相对于传统的数据采集系统具有精度高、传输速率快、功耗低、体积小、抗干扰能力强等特点,具有很好的应用前景。关键词:C8051F320;USB;固件程序;驱动程序内蒙古科技大学毕业设计说明书(毕业论文)AbstractThe paper is mainly concerned with the design process of data acquisition system that is based on USB bus. The design
7、scheme, developing method and developing process of a suit of data acquisition system used with America Silicon Laboratoriess C8051F320 are expatiated. In addition, the paper also gives the material realization scheme.This design includes hardware and software design. The hardware design part introd
8、uces that produces the concrete hardware design scheme, and the PCB design. There are three parts in the software design part, such as the firmwares development, the driver development program and the application program development. The paper shows the idea and layer structure of program design as
9、a whole, and then introduces the firmware design in detail and gives the flowcharts and firmware function library. In the part of device driver design, the structure and customization steps of driver are discussed. The design of host application program introduces the API functions and then introduc
10、es program flow diagram and gives a few codes of the firmware program.Input data transmitted through the UART controller module. The data which host sends to MCU by USB interface is send to another data terminal as a short message. This MCU receives the short message from the data collection and tra
11、nsmits it through the USB interface gives the host. The design achieves the function to transmit the data to the computer via USB interface and control the system condition with computer. It completes lower system power consumption lower cubage and higher anti-jamming than in traditional ways, and i
12、t has the wide prospect of application.Key words: C8051F320;USB; Firmware ;Device driver内蒙古科技大学毕业设计说明书(毕业论文)目 录摘 要IAbstractII第一章 引 言11.1数据采集系统的简介11.2USB新技术的出现21.3国内外现状及研究目的3第二章 USB数据采集系统的设计方案52.1 USB数据采集系统的总体设计方案52.2 硬件系统构成52.3 软件系统的构成62.4 USB数据采集系统的性能指标7第三章 系统硬件设计83.1 单片机的选择83.2 系统与主机连接的设计133.3 USB
13、接口电路163.4 系统复位电路173.5 系统晶振电路193.6 UART串口通信设计203.7 调试电路21第四章 系统软件设计234.1 系统软件设计的组成234.2 USB固件程序设计274.2.1 USB接口数据传输程序设计284.2.2 串口中断服务程序设计294.2.3 主程序设计304.3 系统上位机USB驱动程序设计334.4 应用程序设计344.5 软件系统的抗干扰设计35第五章 单片机系统调试36第六章 结论38附录A39附录B40参考文献52致谢54 内蒙古科技大学毕业设计说明书(毕业论文)第一章 引 言在工业生产和科学技术研究的各行业中,常常要利用PC或工控机对各种数
14、据进行采集,如液位、温度、压力、频率等,而数据采集必须用到数据通信系统。现在常用的采集方式是在PC机或工控机内安装数据采集卡,如A/D卡及422卡、485卡。采用采集卡不仅安装麻烦、易受机箱内环境的干扰,而且由于受计算机插槽数量和地址、中断资源的限制,不可能挂接很多设备。而通用串行总线(Universal Serial Bus,简称USB)的出现,能很好地解决以上这些冲突,很容易就能实现低成本、高可靠性、多点的数据采集。这一章我将简单介绍数据通信系统、新技术USB的出现对其的影响,同时引出本文的标题基于USB总线的数据通信系统的设计。1.1 数据采集系统的简介数据通信系统是计算机在工业控制系统
15、中最为普遍的应用系统。在生产工程中,应用这一系统可对生产现场的工艺参数进行采集、监视和记录,为提高产品质量、降低成本提供信息和手段。在科学研究中,应用数据通信系统可获得大量的动态信息,是研究瞬间物理工程的有力工具,也是获取科学奥秘的重要手段之一。总之,不论在哪个应用领域中,数据采集与处理越及时,工作效率就越高,取得的经济效益就越大。数据通信系统的任务是采集生产过程中的工况二次参数并经过A/D转换器送入内存储器中,然后再由CPU对这些参数和数据进行分析、运算和处理,如数字滤波、量纲变换、仪表误差修正、数字显示、越限报警及打印等,如再配上输出通道就可以方便地组成计算机控制系统。数据通信系统性能的好
16、坏,主要取决于它的精度和速度。在保证精度的条件下,应有尽可能高的采样速度,以满足实时采集、实时处理和实时控制对速度的要求。现代工业生产和科学研究对数据采集的要求日益提高。除了性能好以外,还要求数据采集系统能有其它特点,如使用方便、经济合理、安全可靠、抗干扰能力强等。现在常用的数据通信装置一般多是通过ISA或是PCI等内置式接口实现PC机与外围系统之间的通信。内置式插卡容易受到Pc机箱内高频信号的干扰影响,从而降低系统的采样精度和稳定性。此外,计算机主板上的插槽个数是有限的,加上仪器电路插卡的安装(必须断电、打开机箱操作)很不方便。更有甚者,在PC机箱内插入的专用插卡必须进行资源重配置,以避免资
17、源冲突,而此项工作专业性很强,往往令人头疼。这些弱点使得他们的应用受到了很大的局限。现在的UART串行口虽然支持外插,但因其速度太慢,远不能适用现今高速设备的发展需求。对于需要野外作业的场合,经常使用便携式的通信设备,将采集到的数据存储在设备中,带回室内再将它送给计算机进行分析处理:或是采用专门的利用笔记本的电脑实现的采集器。1.2 USB新技术的出现USB是Universal Serial Bus(通用串行总线,也译为万能总线)的简称,是1995年Compaq等公司为了解决传统总线的不足而推广的一种新型串行通讯标准。它使用一个4针插头作为标准插头,通过这个标准插头,采用菊花链形式可以把所有的
18、外设连接起来,并且不会损失带宽。USB具有易用、真正的热插拔、高性能和系统造价低廉等优点,也正是由于这些优点是它从书面的协议变成产品只用了不到两年的时间。USB总线是一个星型总线结构,它相对于以往的计算机外设总线如RS232、RS485等具有以下优点。(1)快速。USB1.1协议规定了两种速度:低速1.5Mbps、高速12Mbps,现有的USB2.0传输速率己经高达480Mbps,折合约60MB/s的峰值传输速率。(2)连接简单灵活。在USB方式下,允许外设热插拔,不必关闭主机电源,用户不必参与设备安装过程。另外, USB采用“级联方式,即每个USB设备用一个USB插头连接到一个外设的USB插
19、座上,而本身又提供一个USB插座供下一个USB外设连接使用。通过这种类似菊花链式的连接,一个USB控制器可以连接多达127个外设,而每个外设间距离(线缆长度)可达5米。(3)可以采用总线供电。普通的使用串口的、并口的设备都需要单独的供电系统,而USB设备提供总线供电和自供电两种方式。对于所需电流小于500MA,电压为5V的外设,可以采用总线供电,这样设备就不需要专门的交流电源了,从而降低了这些设备的成本,减小了外设体积,提高了性价比。(4)抗干扰性强。由于USB外设放置在计算机机箱外,不受机箱内的板间电磁干扰。如在电磁干扰比较严重的环境下,可以很容易设计屏蔽方案。(5)USB设备不涉及主机中断
20、请求(IRQ)冲突问题。USB口单独使用自己的保留中断,不会同其它设备争用PC机有限的资源,同样为用户省去了硬件配置的烦恼。(6)另外,USB设备一般都比同类功能的设备成本低。1.3 国内外现状及研究目的数字通信和处理技术的发展日新月异,随着集成电路技术和软件技术的不断发展和解决复杂问题能力的不断提高,数据通信系统的概念和内涵也在不断地调整,从最初单纯的采集,到现在包括高速、复杂的运算和信号处理,可扩展性和易用性的提高。人们在不停地寻求更先进优越的数据通信方法。USB技术一出现,人们就逐渐将其应用到了工业现场的数据通信系统中。发展到今天,结构清晰、流程简洁、性能强大的数据通信系统已离不开USB
21、技术的发展。目前,USB数据采集技术在国外已处于高速发展阶段。尤其是在高数据传输速度、高实时性、高同步性等方面有雄厚的技术实力。从事USB数据采集器开发的企业公司也很多,他们投入市场上的产品得到了广大用户的认可,主要产品有DATX公司的DT9800系列产品,美国Ocean Optics公司的ADC1000-USB等。国外产品进入我国市场较早,但就当前市场而言,并没有占据市场的主要份额,主要原因是高昂的价格和非汉化的操作界面使其推广受到限制。基于USB总线的数据通信系统的设计就是在这样的背景提出来的,课题项目的研究目的就是充分认识USB总线技术,并利用其优点来有效地解决传统数据通信系统的缺陷,参
22、考市场情况和智能仪器的设计要求,设计出一种较传统方式更有效、更经济、点数更多的实时数据通信系统。第二章 USB数据采集系统的设计方案本章介绍了基于USB总线的数据通信系统的总体设计方案,包括数据通信系统各部分的构成,要求达到的性能指标参数,以及设计时必须要解决的技术难点等内容。2.1 USB数据采集系统的总体设计方案对于任何一个数据通信系统来说,其设计的主要工作是系统结构的选择、进行硬件和软件的功能合理分配。数据通信系统设计的基本原则如下:(1)充分考虑系统输入信号的特性,确保性能指标能够完全实现;(2)对系统结构进行合理的选择,其中包括硬件、软件功能的合理分配,系统采用何种布局和接口方式;(
23、3)采用科学的方法设计应用软件;(4)保证在规定的工作环境下,系统能稳定、可靠地工作。2.2 硬件系统构成好的数据通信系统必须有好的硬件系统,才能够现场完成数据采集、存储、显示和分析。USB多路数据采集系统硬件部分的总体设计首先应选好系统的中央处理系统CPU,然后在其基础上扩展,选择其他的元器件,设计出与其相配套的电路部分,经调试后组成硬件系统。其中,在元器件选择和方案设计过程中应遵循以下原则:(1)数据采集系统在满足需要的前提下,选择低功耗、小体积的元器件,以延长使用时间、缩小仪器的体积。(2)电路设计力求简洁、可靠,尽量采用集成度高的芯片,减少外围元器件的数量。(3)设计中应预留进一步开发
24、的空间。(4)适当的价格,包括元器件价格和开发系统的一次性投资,降低成本。一个实用的USB数据通信系统包括微控制器以及USB通信接口。本设计选用Silicon Laboratories公司的高性能微控制器芯片C8051F320,简化了硬件部分的设计。因为C805IF320是带USB接口(符合USB2.0协议)的单片机,所以整个硬件部分是一般单片机应用系统的开发,仅需要外加输入信号处理电路就可实现。这在一定层次上缩小了数据采集系统的体积,并降低了成本。图2.1为该数据采集系统的系统原理图。图2.1系统框图2.3 软件系统的构成开发一个USB设备,软件设计是必不可少的。USB应用系统软件设计分为三
25、部分:USB外设端的单片机固件(Firmware)程序、主机操作系统上的客户驱动程序以及主机应用软件。单片机固件则响应各种来自系统的USB标准请求,完成各种数据的交换工作和事件处理;而客户驱动程序则让主机可以识别USB设备,并通过应用软件来存取USB设备,完成通信功能。主机应用软件通过客户驱动程序与系统USBI(USB Device Interface)进行通信,由系统产生USB数据的传送动作,可用Visual Basic、visua1C+或Delphi等软件来开发并生成采集应用软件及其相关使用说明,方便用户快捷地使用本数据通信系统。整个软件系统的组成如图2.2所示。图2.2 软件系统组成2.
26、4 USB数据采集系统的性能指标该基于USB总线的数据通信系统的基本性能指标确定如下:(1)接口方式:USB总线(支持USB2.0接口标准,可热拔插、即插即用);(2)输入通道:17个通道(11个单端输入通道和6个双端输入通道);(3)测量信号:工业现场各类传感器的输出电压和电流信号;(4)量程:0V5V,0V10V,士5V,士10V,4mA20mA;(5)每通道最高采样频率100Ksps;(6)A/D分辨率:10Bit;(7)触发方式:定时器触发,软件触发;(8)FIFO存储器:3KB。第三章 系统硬件设计在生产工程中,应用此系统可对生产现场的工艺参数进行采集、监视和记录,为提高产品质量、降
27、低成本提供信息的手段。其与上位计算机的数据传输是采用带USB2.0接口的单片机作为接收控制板的核心芯片,以解决当前笔记本电脑不提供RS-232接口的问题。数据通过接于RS-232串口的数传输模块传送到上位机处的接收控制模块中,模块通过USB口将数据传送到上位计算机中,计算机中的应用程序经过数据分析和处理得出相应数据。系统框图如图2.1所示。3.1 单片机的选择本设计采用了Silicon Laboratories公司的片上系统级单片机C8051F320作为控制采集板的核心芯片,这是因为它具有以下特点。C8051F系列单片机具有与MCS-51内核及指令集完全兼容的微控制器,除了具有标准8051的数
28、字外设部件之外,片内还集成了数据采集和控制系统中常用的模拟部件和其它数字外设及功能部件。C8051F系列单片机的功能部件包括模拟多路选择器、可编程增益放大器、ADC、DAC、电压比较器、电压基准、温度传感器、SMBus/I2C、UART、SPI、可编程计数器/定时器阵列(PCA)、定时器、数字I/O端电源监视器、看门狗定时器(WDT)、和时钟振荡器等。所有器件都有内置的FLASH存储器和256字节的内部RAM,有些器件还可以访问外部数据存储器RAM,即XRAM。C8051F320是Silabs公司的C8051F系列单片机中的一款,它除了具备上述强大功能外,它还带有USB控制处理器,完全遵循US
29、B协议2.0,支持12Mbps的全速传输或1.5Mbps的低速传输,可时钟恢复,不需额外的晶振,其提供端点(Endpoint)数为8个,且每个端点的传输类型、传输方向均可由设计者自由配置。另外,它的内部还集成有1kbyte的USBSRAM和USB收发器。(1)功能部件 模拟外设10位的ADC(士1LSB INL):其最大可编程转换速率可达200ksps;可多达17个外部输入;可编程为单端输入或差分输入;内置一个温度传感器(士3);2个模拟比较器;2.4V的内部电压基准;精确的VDD监视器和欠压检测器。 USB功能控制模块满足USB2.0协议:可在全速(12Mbps)或低速(1.5Mbps)下运
30、行;集成有一个时钟恢复源,对于全速或低速传输均可不用外部晶振;支持8个灵活通用的端点;内置一个IK的USB专用缓冲存储器;集成了一个USB接收器,不需要外部电阻。 片内调试模块片内调试电路提供全速、非侵入式的在系统调试(不需仿真器);支持端点、单步、观察点、堆栈监视器;可以观察/修改存储器和寄存器;比使用仿真芯片、目标仿真头和仿真插座的仿真系统有更好的性能。工作温度范围:0-0 高速8051微控制器内核采用流水线指令结构,其70%的指令的执行时间为一个或两个系统时钟周期;速度可达25MIPS(时钟频率为25MHZ时)。 存储器1280字节的内部数据RAM(IK+256);16K字节的可以在系统
31、编程的FLASH闪速存储器。 数字外设25个字节宽的端点I/O;所有口线均耐5V电压;可同时使用UART串口、硬件SMBusTM、SPITM;带有4个可编程的16位技术器/定时器阵列;带有5个捕捉/比较模块的通用16位计数器/定时器。 时钟源内部晶振的精度为0.25;支持所有USB和UART模式;外部晶振器:晶体、RC、C或外部时钟;内置一个针对与USB控制器的片上时钟乘法器。 供电电压片上的参考电源校准器支持USB总线电源操作;校准器的Bypass模式支持USB内部电源操作。(2)性能特点C805lF320在保持CISC结构及指令系统不变的情况下,对指令运行实行流水业,推出了CIP一51的C
32、PU模式,从而大大提高了指令运行速度,使8051兼容机系列进入了8位高速单片机行列。传统的单片机I/O端口大都是固定为某个特殊功能的输入/输出口,可以是单功能或多功能,I/O端口可编程选择为单向/双向以及上拉、开漏等。这种固定方式既占用较多引脚,配置又不够灵活。C8051F320采用开关网络以硬件方式实现I/O端口的灵活配置,如图3.1所示。在这种通过交叉开关配置的I/O端口系统中,单片机外部为通用I/O口,如P0口、P1口和P2口。内有输入/输出的电路单元通过相应的配置寄存器控制的交叉开关配置到所选择的端口上。图3.1 C8051F320的I/O端口配置 C8051F320还提供了一个完整而
33、先进的时钟系统,如图3.2所示。在这个系统中,片内设置有一个可编程的时钟振荡器(无需外部器件),可提供2、4、8和16MHz时钟的编程设定。外部振荡器可选择4种方式。当程序运行时,可实现内外时钟的动态切换。编程选择的时钟输出CYSCLK除供片内使用外,还可从随意选择的I/O端口输出。图3.2 C8051F320的时钟系统C8051F320在8位单片机中率先配置了标准的EC2接口(IEEEll49.l)。在上位机软件支持下,通过串行的EC2接口直接对产品系统进行仿真调试。C8051F的EC2接口不仅支持FlashROM的读/写操作及非侵入式在系统调试,还为在系统测试提供边界扫描功能。通过边界寄存
34、器的编程控制,可对所有器件引脚、SFR总线和I/O口弱上拉功能实现观察和控制。C805lF320把8051单一的外部复位发展成多源复位:上电复位、掉电复位、外部引脚复位、软件复位、时钟检测复位、比较器0复位和引脚配置复位。众多的复位源为保障系统的安全、操作的灵活性以及零功耗系统设计带来极大的好处。(3)引脚及封装图3.3 C8051F320的封装具体引脚如图3.3所示:VDD数字电源;GND模拟地;REGIN5V校准器的输入端;/RST/C2CK设备的复位引脚或EC2调试接口的时钟信号;P3.0/C2D端口3.0或EC2调试接口的双向信号引脚;VBUSUSB总线输入脚;D+USB的D+;D-U
35、SB的D-;P0.2/XTAL1端口0.2或外部晶振输入;P0.3/XTAL2端口0.3或外部晶振输出;P0.6/CNVSTR端口0.6或ADC0外部转换开始输入脚;P0.7/VRFF端口0.7或外部参考电源的输入端或输出端;P0.0、P0.1、P0.4、P0.5、Pl.0Pl.7、P2.0P2.7均为相应的端口引脚。综上所述,选用Silicon Laboratories公司的C8051F320单片机硬件设计电路比较简单,设计的芯片体积较小,功耗低,可以在系统调试,软件环境集成化,省去了许多麻烦。3.2 系统与主机连接的设计USB传送信号和电源是通过一种四线的电缆,图3.5的两根线是用于发送信
36、号。图3.5 USB的电缆电缆中包括VBUS、GND二条线,向设备提供电源 。VBUS使用+5V电源。USB对电缆长度的要求很宽,最长可为几米。通过选择合适的导线长度以匹配指定的IR drop和其它一些特性,如设备能源预算和电缆适应度。为了保证足够的输入电压和终端阻抗,重要的终端设备应位于电缆的尾部。在每个端口都可检测终端是否连接或分离,并区分出高速,或低速设备。综上所述,相对于工业上数据通信在以前常采用的PCI总线、ISA总线或者RS-232总线作为采集方式,USB总线具有支持热拔插、即插即用、支持共享式接口且体积小巧、节省系统资源、成本低廉性能可靠等等诸多优点。USB总线支持低速、全速、高
37、速三种传输速率,并且支持控制传输、批量传输、同步传输、中断传输四种传输类型,这使得它能支持多种外设的需要,成为一种高效灵活的数据传输方式。C8051F320提供的通用串行总线控制器(USB0)符合USB2.0规范,可以全速或低速工作,集成了收发器和端点FIFO RAM。共有8个端点:一个双向控制端点(端点0)和三对输入/输出端点(端点1-3输入/输出)。XRAM中有1KB的存储块被专门用作USB FIFO空间。该FIFO空间被分配给端点0-3;端点1-3的FIFO可以被配置为输入(IN)、输出(OUT)或输入/输出(分内割模式)。最大的FIFO大小为512字节(端点3)。USB2.0可以工作在
38、全速或低速方式。片内4倍时钟乘法器和时钟恢复电路允许使用内部高精度振荡器作为USB时钟源,实现全速和低速通信。外部振荡器也可以与4倍时钟乘法器配合使用来产生USB时钟。CPU时钟源与USB时钟相互独立。USB收发器符合USB2.0规范,并包含内部匹配和上拉电阻。上拉电阻可以被用软件使能/禁止,可以根据软件选择的速度设置(全速或低速)出现在D+或D-引脚。图3.6 USB控制器原理框图USB接口分为A、B型接口和Mini型接口等,本文实际电路中采用了标准A型USB接口,其封装图如图3.7所示。图3.7 USB的A型接口封装图一个带有USB接口的系统,如果相具有USB功能必须选择合适的USB控制器
39、,市场上供应的USB控制器主要有带USB接口的单片机或纯粹的USB接口两种芯片。在此选用的是Silabs公司的C8051F320。C8051F320本身集成了全速/低速USB功能,用于实现USB接口的外部设备(但是C8051F320不能被用作USB主设备),它完全符合通用串行总线规范2.0版。USB功能控制器(USB0)由串行接口引擎(SIE)、USB收发器。1KBFIFO存储器和时钟恢复电路组成,并包含内部匹配电阻和上拉电阻。上拉电阻可以被软件使能/禁止,可以根据软件选择的速度设置(全速或低速)出现在D+或D-引脚。可以不需要外部元件就能完成数据的传输,它提供8个端点,且每个端点的传输类型、
40、传输方向均可由设计者自由配置。所以设计这部分硬件电路时,只要把单片机的GND、D+、D-、VBUS四根线连接到J3上即可。J3是设计的电路板上USB连接接口,通过它就可将USB接口和C8051F320芯片连接起来。将USB电缆的一端接J3,另一端接在计算机的USB端口上,这样就能完成数据传输任务。3.3 USB接口电路由于C8051F320微控制器具有简单易用的特点,因此用C8051F320进行USB接口的硬件设计也显得十分简单,主要包括两部分的内容,一是接口转换模块供电方式的选择,二是USB引脚的连接,图3.8是其USB接口电路图。由于整个模块的功率估计在3W左右,USB总线的供电量适合小功
41、率模块的供电,最大有500mA,所以模块可选择自供电模式或外部5V电源供电。由于C8051F320中的USB收发器内部集成了上拉电阻,因而不需要任何外部器件便可直接与USB接口相连。如图3.8所示,J3为USB接口,采用插针J2配合跳线来转换系统的供电模式,当跳线将J2的1、2脚接通时REGIN与外部5V电源接通,由外部电源供电;当跳线将J2的2、3脚接通时REGIN与VBUS接通,可由USB总线供电。C8051F320器件内部包含一个5V至3V的稳压器(REG0)。当被使能时,REG0输出连到VDD引脚,并可为外部器件提供电源。可以用软件通过寄存器REG0CN中的REGEN位使能/禁止REG
42、0。当在USB网络中使用C8051F320器件时,VBUS信号必须被连到VBUS引脚。当器件工作在总线供电方式时,VBUS信号只应连接到REGIN引脚。图3.8 USB接口电路图3.4 系统复位电路系统中采用的外部复位按键电路如图3.9所示,外部/RST引脚提供了使用外部电路强制MCU进入复位状态的手段。在/RST引脚上加一个低电平有效信号将导致MCU进入复位状态。尽管在内部有弱上拉,但提供一个外部上拉和对/RST引脚去耦可以以防止强噪声引起复位,提高了抗干扰能力。C8051F320提供了上电复位、掉电复位、外部复位、时钟丢失监测器复位、比较器0复位、PCA看门狗定时器复位、FLASH错误复位
43、、软件复位、USB复位9种复位源。在进入复位状态时,将发生以下过程: CIP-51停止程序执行;特殊功能寄存器(SFR)被初始化为所定义的复位值;外部端口引脚被置于一个已知状态;中断和定时器被禁止。图3.9复位电路所有的SFR都被初始化为预定值,SFR中各位的复位值在SFR的详细说明中定义。在复位期间内部数据存储器的内容不发生改变,复位前存储的数据保持不变。但由于堆栈指针SFR被复位,堆栈实际上已丢失,尽管堆栈中的数据未发生变化。端口I/O锁存器的复位值为0xFF(全部为逻辑1),处于漏极开路方式。在复位期间和复位之后弱上拉被使能。对于VDD监视器和上电复位,/RST引脚被驱动为低电平,直到器
44、件退出复位状态。在退出复位状态时,程序计数器(PC)被复位,MCU使用内部振荡器作为默认的系统时钟。看门狗定时器被使能,使用系统时钟的12分频作为其时钟源。程序从地址0x0000开始执行。3.5 系统晶振电路在本系统数据通信板上选择的外部晶体振荡器的谐振频率为22.1184MHz,与芯片的连接原理图如图3.10所示。系统在正常运行期间可以使用外部高频率高精确度的时钟,在系统休眠或者特殊功能场合将时钟切换到内部低频率时钟,以便降低功耗。同时当使用外部晶振的时候需要将P0SKIP寄存器设为0x30,使P0.2和P0.3引脚跳过交叉开关。C8051F320有一个可编程内部振荡器、一个外部振荡器驱动电
45、路和一个4倍时钟乘法器。可以通过对OSCICN和OSCICL寄存器编程来使能/禁止内部振荡器和调节其输出频率(如图3.10所示)。外部振荡器电路可以驱动外部晶体、陶瓷谐振器、电容或RC网络。也可以使用一个外部CMOS时钟提供系统时钟。对于晶体和陶瓷谐振器配置,晶体/陶瓷谐振器必须并接到XTAL1和XTAL2引脚。外部振荡器由外部振荡器控制寄存器OSCXCN来进行配置。系统时钟(SYSCLK)可以来自内部振荡器、外部振荡器电路或4倍时钟乘法器二分频。寄存器CLKSEL中的CLKSL1:0位选择用作系统时钟的振荡源。当选择外部振荡器作为系统时钟时,CLKSL1:0必须被设置为01b。当选择内部振荡
46、器作为系统时钟时,外部振荡器仍然可以给外设(定时器、PCA、USB)提供时钟。系统时钟可以在内部振荡器、外部振荡器和4倍时钟乘法器之间自由切换,只要所选择的振荡器被使能并稳定运行。USB时钟(USBCLK)可以来自内部振荡器、外部振荡器电路或4倍时钟乘法器。寄存器CLKSEL中的USBCLK2:0位选择用作USB时钟的振荡源。USB时钟可以来自4倍时钟乘法器输出、内部振荡器分频或外部振荡器分频。当USB0工作在全速方式时,USB时钟必须是48 MHz;当USB2.0工作在低速方式时,USB时钟必须是6MHz。图3.10晶振电路图3.6 UART串口通信设计系统通过UART口与数传模块进行数据传
47、输。C8052F320提供的UART0是一个异步、全双工串口,它提供标准8051串行口的方式1和方式3。使用UART口的时候需要将端口I/O交叉开关寄存器0 XBR0的位0置“1”,从而将UART口配置到P0.4和P0.5口上。UART0具有增强的波特率发生器电路,有多个时钟源可用于产生标准波特率。UART0有两个相关的特殊功能寄存器:串行控制寄存器(SCON0)和串行数据缓冲器(SBUF0)。用同一个SBUF0地址可以访问发送寄存器和接收寄存器。写SBUF0时自动访问发送寄存器;读SBUF0时自动访问接收寄存器,不可能从发送数据寄存器中读SBUF0时自动访问接收寄存器,不可能从发送数据寄存器中读数据。UART电路图如图3.11所示。图3.11 UART电路图3.7 调试电路如图3.13所示是系统JTAG口与单片机连接原理图,J4为JTAG口。C8051F320器件具有片内Silicon Labs 2线(C2)接口调试电