基于USB总线的数据通信.doc

上传人:laozhun 文档编号:4141518 上传时间:2023-04-07 格式:DOC 页数:58 大小:1.17MB
返回 下载 相关 举报
基于USB总线的数据通信.doc_第1页
第1页 / 共58页
基于USB总线的数据通信.doc_第2页
第2页 / 共58页
基于USB总线的数据通信.doc_第3页
第3页 / 共58页
基于USB总线的数据通信.doc_第4页
第4页 / 共58页
基于USB总线的数据通信.doc_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《基于USB总线的数据通信.doc》由会员分享,可在线阅读,更多相关《基于USB总线的数据通信.doc(58页珍藏版)》请在三一办公上搜索。

1、摘 要本论文以基于USB总线的数据采集系统为主要内容,阐述了利用美国Silicon Laboratories公司的C8051F320芯片组成的一套数据通信系统的设计方案、开发方法和开发过程,并给出了具体实现方案。本系统设计包括硬件设计和软件设计。在硬件设计部分,介绍了具体硬件设计方案。软件设计包括固件程序设计、驱动程序设计和应用程序设计三大部分。本文先从整体上介绍了程序的设计思想和层次结构,然后详细介绍了固件部分的设计过程,并给出了程序流程图和采用的固件函数库。驱动程序部分介绍了驱动程序的结构和定制过程。主机应用程序的设计部分介绍了所采用的API函数,并给出了部分源代码和程序流程图。输入数据通

2、过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 scheme, developing method and developing pr

3、ocess 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 introduces that produces the concrete hardware de

4、sign 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 a whole, and then introduces the firmware d

5、esign 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 introduces program flow diagram and gives a few cod

6、es 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 transmits it through the USB interface gives t

7、he 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 it has the wide prospect of application.Key

8、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接口电路163.4 系统复位电路173.5 系统晶振电路193.6 UART串口通信设计203.7 调试电路21第四章 系统软

9、件设计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或工控机对各种数据进行采集,如液位、温度、压力、频率等,而数据采集必须用到数据通信系统。现在常用的采集方式是在PC机或工控机内安装数据采集卡,如A/D卡及422卡、485卡。采用采集

10、卡不仅安装麻烦、易受机箱内环境的干扰,而且由于受计算机插槽数量和地址、中断资源的限制,不可能挂接很多设备。而通用串行总线(Universal Serial Bus,简称USB)的出现,能很好地解决以上这些冲突,很容易就能实现低成本、高可靠性、多点的数据采集。这一章我将简单介绍数据通信系统、新技术USB的出现对其的影响,同时引出本文的标题基于USB总线的数据通信系统的设计。1.1 数据采集系统的简介数据通信系统是计算机在工业控制系统中最为普遍的应用系统。在生产工程中,应用这一系统可对生产现场的工艺参数进行采集、监视和记录,为提高产品质量、降低成本提供信息和手段。在科学研究中,应用数据通信系统可获

11、得大量的动态信息,是研究瞬间物理工程的有力工具,也是获取科学奥秘的重要手段之一。总之,不论在哪个应用领域中,数据采集与处理越及时,工作效率就越高,取得的经济效益就越大。数据通信系统的任务是采集生产过程中的工况二次参数并经过A/D转换器送入内存储器中,然后再由CPU对这些参数和数据进行分析、运算和处理,如数字滤波、量纲变换、仪表误差修正、数字显示、越限报警及打印等,如再配上输出通道就可以方便地组成计算机控制系统。数据通信系统性能的好坏,主要取决于它的精度和速度。在保证精度的条件下,应有尽可能高的采样速度,以满足实时采集、实时处理和实时控制对速度的要求。现代工业生产和科学研究对数据采集的要求日益提

12、高。除了性能好以外,还要求数据采集系统能有其它特点,如使用方便、经济合理、安全可靠、抗干扰能力强等。现在常用的数据通信装置一般多是通过ISA或是PCI等内置式接口实现PC机与外围系统之间的通信。内置式插卡容易受到Pc机箱内高频信号的干扰影响,从而降低系统的采样精度和稳定性。此外,计算机主板上的插槽个数是有限的,加上仪器电路插卡的安装(必须断电、打开机箱操作)很不方便。更有甚者,在PC机箱内插入的专用插卡必须进行资源重配置,以避免资源冲突,而此项工作专业性很强,往往令人头疼。这些弱点使得他们的应用受到了很大的局限。现在的UART串行口虽然支持外插,但因其速度太慢,远不能适用现今高速设备的发展需求

13、。对于需要野外作业的场合,经常使用便携式的通信设备,将采集到的数据存储在设备中,带回室内再将它送给计算机进行分析处理:或是采用专门的利用笔记本的电脑实现的采集器。1.2 USB新技术的出现USB是Universal Serial Bus(通用串行总线,也译为万能总线)的简称,是1995年Compaq等公司为了解决传统总线的不足而推广的一种新型串行通讯标准。它使用一个4针插头作为标准插头,通过这个标准插头,采用菊花链形式可以把所有的外设连接起来,并且不会损失带宽。USB具有易用、真正的热插拔、高性能和系统造价低廉等优点,也正是由于这些优点是它从书面的协议变成产品只用了不到两年的时间。USB总线是

14、一个星型总线结构,它相对于以往的计算机外设总线如RS232、RS485等具有以下优点。(1)快速。USB1.1协议规定了两种速度:低速1.5Mbps、高速12Mbps,现有的USB2.0传输速率己经高达480Mbps,折合约60MB/s的峰值传输速率。(2)连接简单灵活。在USB方式下,允许外设热插拔,不必关闭主机电源,用户不必参与设备安装过程。另外, USB采用“级联方式,即每个USB设备用一个USB插头连接到一个外设的USB插座上,而本身又提供一个USB插座供下一个USB外设连接使用。通过这种类似菊花链式的连接,一个USB控制器可以连接多达127个外设,而每个外设间距离(线缆长度)可达5米

15、。(3)可以采用总线供电。普通的使用串口的、并口的设备都需要单独的供电系统,而USB设备提供总线供电和自供电两种方式。对于所需电流小于500MA,电压为5V的外设,可以采用总线供电,这样设备就不需要专门的交流电源了,从而降低了这些设备的成本,减小了外设体积,提高了性价比。(4)抗干扰性强。由于USB外设放置在计算机机箱外,不受机箱内的板间电磁干扰。如在电磁干扰比较严重的环境下,可以很容易设计屏蔽方案。(5)USB设备不涉及主机中断请求(IRQ)冲突问题。USB口单独使用自己的保留中断,不会同其它设备争用PC机有限的资源,同样为用户省去了硬件配置的烦恼。(6)另外,USB设备一般都比同类功能的设

16、备成本低。1.3 国内外现状及研究目的数字通信和处理技术的发展日新月异,随着集成电路技术和软件技术的不断发展和解决复杂问题能力的不断提高,数据通信系统的概念和内涵也在不断地调整,从最初单纯的采集,到现在包括高速、复杂的运算和信号处理,可扩展性和易用性的提高。人们在不停地寻求更先进优越的数据通信方法。USB技术一出现,人们就逐渐将其应用到了工业现场的数据通信系统中。发展到今天,结构清晰、流程简洁、性能强大的数据通信系统已离不开USB技术的发展。目前,USB数据采集技术在国外已处于高速发展阶段。尤其是在高数据传输速度、高实时性、高同步性等方面有雄厚的技术实力。从事USB数据采集器开发的企业公司也很

17、多,他们投入市场上的产品得到了广大用户的认可,主要产品有DATX公司的DT9800系列产品,美国Ocean Optics公司的ADC1000-USB等。国外产品进入我国市场较早,但就当前市场而言,并没有占据市场的主要份额,主要原因是高昂的价格和非汉化的操作界面使其推广受到限制。基于USB总线的数据通信系统的设计就是在这样的背景提出来的,课题项目的研究目的就是充分认识USB总线技术,并利用其优点来有效地解决传统数据通信系统的缺陷,参考市场情况和智能仪器的设计要求,设计出一种较传统方式更有效、更经济、点数更多的实时数据通信系统。第二章 USB数据采集系统的设计方案本章介绍了基于USB总线的数据通信

18、系统的总体设计方案,包括数据通信系统各部分的构成,要求达到的性能指标参数,以及设计时必须要解决的技术难点等内容。2.1 USB数据采集系统的总体设计方案对于任何一个数据通信系统来说,其设计的主要工作是系统结构的选择、进行硬件和软件的功能合理分配。数据通信系统设计的基本原则如下:(1)充分考虑系统输入信号的特性,确保性能指标能够完全实现;(2)对系统结构进行合理的选择,其中包括硬件、软件功能的合理分配,系统采用何种布局和接口方式;(3)采用科学的方法设计应用软件;(4)保证在规定的工作环境下,系统能稳定、可靠地工作。2.2 硬件系统构成好的数据通信系统必须有好的硬件系统,才能够现场完成数据采集、

19、存储、显示和分析。USB多路数据采集系统硬件部分的总体设计首先应选好系统的中央处理系统CPU,然后在其基础上扩展,选择其他的元器件,设计出与其相配套的电路部分,经调试后组成硬件系统。其中,在元器件选择和方案设计过程中应遵循以下原则:(1)数据采集系统在满足需要的前提下,选择低功耗、小体积的元器件,以延长使用时间、缩小仪器的体积。(2)电路设计力求简洁、可靠,尽量采用集成度高的芯片,减少外围元器件的数量。(3)设计中应预留进一步开发的空间。(4)适当的价格,包括元器件价格和开发系统的一次性投资,降低成本。一个实用的USB数据通信系统包括微控制器以及USB通信接口。本设计选用Silicon Lab

20、oratories公司的高性能微控制器芯片C8051F320,简化了硬件部分的设计。因为C805IF320是带USB接口(符合USB2.0协议)的单片机,所以整个硬件部分是一般单片机应用系统的开发,仅需要外加输入信号处理电路就可实现。这在一定层次上缩小了数据采集系统的体积,并降低了成本。图2.1为该数据采集系统的系统原理图。图2.1系统框图2.3 软件系统的构成开发一个USB设备,软件设计是必不可少的。USB应用系统软件设计分为三部分:USB外设端的单片机固件(Firmware)程序、主机操作系统上的客户驱动程序以及主机应用软件。单片机固件则响应各种来自系统的USB标准请求,完成各种数据的交换

21、工作和事件处理;而客户驱动程序则让主机可以识别USB设备,并通过应用软件来存取USB设备,完成通信功能。主机应用软件通过客户驱动程序与系统USBI(USB Device Interface)进行通信,由系统产生USB数据的传送动作,可用Visual Basic、visua1C+或Delphi等软件来开发并生成采集应用软件及其相关使用说明,方便用户快捷地使用本数据通信系统。整个软件系统的组成如图2.2所示。图2.2 软件系统组成2.4 USB数据采集系统的性能指标该基于USB总线的数据通信系统的基本性能指标确定如下:(1)接口方式:USB总线(支持USB2.0接口标准,可热拔插、即插即用);(2

22、)输入通道:17个通道(11个单端输入通道和6个双端输入通道);(3)测量信号:工业现场各类传感器的输出电压和电流信号;(4)量程:0V5V,0V10V,士5V,士10V,4mA20mA;(5)每通道最高采样频率100Ksps;(6)A/D分辨率:10Bit;(7)触发方式:定时器触发,软件触发;(8)FIFO存储器:3KB。第三章 系统硬件设计在生产工程中,应用此系统可对生产现场的工艺参数进行采集、监视和记录,为提高产品质量、降低成本提供信息的手段。其与上位计算机的数据传输是采用带USB2.0接口的单片机作为接收控制板的核心芯片,以解决当前笔记本电脑不提供RS-232接口的问题。数据通过接于

23、RS-232串口的数传输模块传送到上位机处的接收控制模块中,模块通过USB口将数据传送到上位计算机中,计算机中的应用程序经过数据分析和处理得出相应数据。系统框图如图2.1所示。3.1 单片机的选择本设计采用了Silicon Laboratories公司的片上系统级单片机C8051F320作为控制采集板的核心芯片,这是因为它具有以下特点。C8051F系列单片机具有与MCS-51内核及指令集完全兼容的微控制器,除了具有标准8051的数字外设部件之外,片内还集成了数据采集和控制系统中常用的模拟部件和其它数字外设及功能部件。C8051F系列单片机的功能部件包括模拟多路选择器、可编程增益放大器、ADC、

24、DAC、电压比较器、电压基准、温度传感器、SMBus/I2C、UART、SPI、可编程计数器/定时器阵列(PCA)、定时器、数字I/O端电源监视器、看门狗定时器(WDT)、和时钟振荡器等。所有器件都有内置的FLASH存储器和256字节的内部RAM,有些器件还可以访问外部数据存储器RAM,即XRAM。C8051F320是Silabs公司的C8051F系列单片机中的一款,它除了具备上述强大功能外,它还带有USB控制处理器,完全遵循USB协议2.0,支持12Mbps的全速传输或1.5Mbps的低速传输,可时钟恢复,不需额外的晶振,其提供端点(Endpoint)数为8个,且每个端点的传输类型、传输方向

25、均可由设计者自由配置。另外,它的内部还集成有1kbyte的USBSRAM和USB收发器。(1)功能部件 模拟外设10位的ADC(士1LSB INL):其最大可编程转换速率可达200ksps;可多达17个外部输入;可编程为单端输入或差分输入;内置一个温度传感器(士3);2个模拟比较器;2.4V的内部电压基准;精确的VDD监视器和欠压检测器。 USB功能控制模块满足USB2.0协议:可在全速(12Mbps)或低速(1.5Mbps)下运行;集成有一个时钟恢复源,对于全速或低速传输均可不用外部晶振;支持8个灵活通用的端点;内置一个IK的USB专用缓冲存储器;集成了一个USB接收器,不需要外部电阻。 片

26、内调试模块片内调试电路提供全速、非侵入式的在系统调试(不需仿真器);支持端点、单步、观察点、堆栈监视器;可以观察/修改存储器和寄存器;比使用仿真芯片、目标仿真头和仿真插座的仿真系统有更好的性能。工作温度范围:0-0 高速8051微控制器内核采用流水线指令结构,其70%的指令的执行时间为一个或两个系统时钟周期;速度可达25MIPS(时钟频率为25MHZ时)。 存储器1280字节的内部数据RAM(IK+256);16K字节的可以在系统编程的FLASH闪速存储器。 数字外设25个字节宽的端点I/O;所有口线均耐5V电压;可同时使用UART串口、硬件SMBusTM、SPITM;带有4个可编程的16位技

27、术器/定时器阵列;带有5个捕捉/比较模块的通用16位计数器/定时器。 时钟源内部晶振的精度为0.25;支持所有USB和UART模式;外部晶振器:晶体、RC、C或外部时钟;内置一个针对与USB控制器的片上时钟乘法器。 供电电压片上的参考电源校准器支持USB总线电源操作;校准器的Bypass模式支持USB内部电源操作。(2)性能特点C805lF320在保持CISC结构及指令系统不变的情况下,对指令运行实行流水业,推出了CIP一51的CPU模式,从而大大提高了指令运行速度,使8051兼容机系列进入了8位高速单片机行列。传统的单片机I/O端口大都是固定为某个特殊功能的输入/输出口,可以是单功能或多功能

28、,I/O端口可编程选择为单向/双向以及上拉、开漏等。这种固定方式既占用较多引脚,配置又不够灵活。C8051F320采用开关网络以硬件方式实现I/O端口的灵活配置,如图3.1所示。在这种通过交叉开关配置的I/O端口系统中,单片机外部为通用I/O口,如P0口、P1口和P2口。内有输入/输出的电路单元通过相应的配置寄存器控制的交叉开关配置到所选择的端口上。图3.1 C8051F320的I/O端口配置 C8051F320还提供了一个完整而先进的时钟系统,如图3.2所示。在这个系统中,片内设置有一个可编程的时钟振荡器(无需外部器件),可提供2、4、8和16MHz时钟的编程设定。外部振荡器可选择4种方式。

29、当程序运行时,可实现内外时钟的动态切换。编程选择的时钟输出CYSCLK除供片内使用外,还可从随意选择的I/O端口输出。图3.2 C8051F320的时钟系统C8051F320在8位单片机中率先配置了标准的EC2接口(IEEEll49.l)。在上位机软件支持下,通过串行的EC2接口直接对产品系统进行仿真调试。C8051F的EC2接口不仅支持FlashROM的读/写操作及非侵入式在系统调试,还为在系统测试提供边界扫描功能。通过边界寄存器的编程控制,可对所有器件引脚、SFR总线和I/O口弱上拉功能实现观察和控制。C805lF320把8051单一的外部复位发展成多源复位:上电复位、掉电复位、外部引脚复

30、位、软件复位、时钟检测复位、比较器0复位和引脚配置复位。众多的复位源为保障系统的安全、操作的灵活性以及零功耗系统设计带来极大的好处。(3)引脚及封装图3.3 C8051F320的封装具体引脚如图3.3所示:VDD数字电源;GND模拟地;REGIN5V校准器的输入端;/RST/C2CK设备的复位引脚或EC2调试接口的时钟信号;P3.0/C2D端口3.0或EC2调试接口的双向信号引脚;VBUSUSB总线输入脚;D+USB的D+;D-USB的D-;P0.2/XTAL1端口0.2或外部晶振输入;P0.3/XTAL2端口0.3或外部晶振输出;P0.6/CNVSTR端口0.6或ADC0外部转换开始输入脚;

31、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的两根线是用于发送信号。图3.5 USB的电缆电缆中包括VBUS、GND二条线,向设备提供电源 。VBUS使用+5V电源。USB对电缆长度的要求很宽,最长可为几米。通过选择合适的导线长度

32、以匹配指定的IR drop和其它一些特性,如设备能源预算和电缆适应度。为了保证足够的输入电压和终端阻抗,重要的终端设备应位于电缆的尾部。在每个端口都可检测终端是否连接或分离,并区分出高速,或低速设备。综上所述,相对于工业上数据通信在以前常采用的PCI总线、ISA总线或者RS-232总线作为采集方式,USB总线具有支持热拔插、即插即用、支持共享式接口且体积小巧、节省系统资源、成本低廉性能可靠等等诸多优点。USB总线支持低速、全速、高速三种传输速率,并且支持控制传输、批量传输、同步传输、中断传输四种传输类型,这使得它能支持多种外设的需要,成为一种高效灵活的数据传输方式。C8051F320提供的通用

33、串行总线控制器(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可以工作在全速或低速方式。片内4倍时钟乘法器和时钟恢复电路允许使用内部高精度振荡器作为USB时钟源,实现全速和低速通信。外部振荡器也可以与4倍时钟乘法器配合使用来产生USB时钟

34、。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控制器,市场上供应的USB控制器主要有带USB接口的单片机或纯粹的USB接口两种芯片。在此选用的是Silabs公司的C8051F320。C8051F320本身集成了全速/低

35、速USB功能,用于实现USB接口的外部设备(但是C8051F320不能被用作USB主设备),它完全符合通用串行总线规范2.0版。USB功能控制器(USB0)由串行接口引擎(SIE)、USB收发器。1KBFIFO存储器和时钟恢复电路组成,并包含内部匹配电阻和上拉电阻。上拉电阻可以被软件使能/禁止,可以根据软件选择的速度设置(全速或低速)出现在D+或D-引脚。可以不需要外部元件就能完成数据的传输,它提供8个端点,且每个端点的传输类型、传输方向均可由设计者自由配置。所以设计这部分硬件电路时,只要把单片机的GND、D+、D-、VBUS四根线连接到J3上即可。J3是设计的电路板上USB连接接口,通过它就

36、可将USB接口和C8051F320芯片连接起来。将USB电缆的一端接J3,另一端接在计算机的USB端口上,这样就能完成数据传输任务。3.3 USB接口电路由于C8051F320微控制器具有简单易用的特点,因此用C8051F320进行USB接口的硬件设计也显得十分简单,主要包括两部分的内容,一是接口转换模块供电方式的选择,二是USB引脚的连接,图3.8是其USB接口电路图。由于整个模块的功率估计在3W左右,USB总线的供电量适合小功率模块的供电,最大有500mA,所以模块可选择自供电模式或外部5V电源供电。由于C8051F320中的USB收发器内部集成了上拉电阻,因而不需要任何外部器件便可直接与

37、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位使能/禁止REG0。当在USB网络中使用C8051F320器件时,VBUS信号必须被连到VBUS引脚。当器件工作在总线供电方式时,VBUS信号只应连接到REGIN引脚。图3.8 US

38、B接口电路图3.4 系统复位电路系统中采用的外部复位按键电路如图3.9所示,外部/RST引脚提供了使用外部电路强制MCU进入复位状态的手段。在/RST引脚上加一个低电平有效信号将导致MCU进入复位状态。尽管在内部有弱上拉,但提供一个外部上拉和对/RST引脚去耦可以以防止强噪声引起复位,提高了抗干扰能力。C8051F320提供了上电复位、掉电复位、外部复位、时钟丢失监测器复位、比较器0复位、PCA看门狗定时器复位、FLASH错误复位、软件复位、USB复位9种复位源。在进入复位状态时,将发生以下过程: CIP-51停止程序执行;特殊功能寄存器(SFR)被初始化为所定义的复位值;外部端口引脚被置于一

39、个已知状态;中断和定时器被禁止。图3.9复位电路所有的SFR都被初始化为预定值,SFR中各位的复位值在SFR的详细说明中定义。在复位期间内部数据存储器的内容不发生改变,复位前存储的数据保持不变。但由于堆栈指针SFR被复位,堆栈实际上已丢失,尽管堆栈中的数据未发生变化。端口I/O锁存器的复位值为0xFF(全部为逻辑1),处于漏极开路方式。在复位期间和复位之后弱上拉被使能。对于VDD监视器和上电复位,/RST引脚被驱动为低电平,直到器件退出复位状态。在退出复位状态时,程序计数器(PC)被复位,MCU使用内部振荡器作为默认的系统时钟。看门狗定时器被使能,使用系统时钟的12分频作为其时钟源。程序从地址

40、0x0000开始执行。3.5 系统晶振电路在本系统数据通信板上选择的外部晶体振荡器的谐振频率为22.1184MHz,与芯片的连接原理图如图3.10所示。系统在正常运行期间可以使用外部高频率高精确度的时钟,在系统休眠或者特殊功能场合将时钟切换到内部低频率时钟,以便降低功耗。同时当使用外部晶振的时候需要将P0SKIP寄存器设为0x30,使P0.2和P0.3引脚跳过交叉开关。C8051F320有一个可编程内部振荡器、一个外部振荡器驱动电路和一个4倍时钟乘法器。可以通过对OSCICN和OSCICL寄存器编程来使能/禁止内部振荡器和调节其输出频率(如图3.10所示)。外部振荡器电路可以驱动外部晶体、陶瓷

41、谐振器、电容或RC网络。也可以使用一个外部CMOS时钟提供系统时钟。对于晶体和陶瓷谐振器配置,晶体/陶瓷谐振器必须并接到XTAL1和XTAL2引脚。外部振荡器由外部振荡器控制寄存器OSCXCN来进行配置。系统时钟(SYSCLK)可以来自内部振荡器、外部振荡器电路或4倍时钟乘法器二分频。寄存器CLKSEL中的CLKSL1:0位选择用作系统时钟的振荡源。当选择外部振荡器作为系统时钟时,CLKSL1:0必须被设置为01b。当选择内部振荡器作为系统时钟时,外部振荡器仍然可以给外设(定时器、PCA、USB)提供时钟。系统时钟可以在内部振荡器、外部振荡器和4倍时钟乘法器之间自由切换,只要所选择的振荡器被使

42、能并稳定运行。USB时钟(USBCLK)可以来自内部振荡器、外部振荡器电路或4倍时钟乘法器。寄存器CLKSEL中的USBCLK2:0位选择用作USB时钟的振荡源。USB时钟可以来自4倍时钟乘法器输出、内部振荡器分频或外部振荡器分频。当USB0工作在全速方式时,USB时钟必须是48 MHz;当USB2.0工作在低速方式时,USB时钟必须是6MHz。图3.10晶振电路图3.6 UART串口通信设计系统通过UART口与数传模块进行数据传输。C8052F320提供的UART0是一个异步、全双工串口,它提供标准8051串行口的方式1和方式3。使用UART口的时候需要将端口I/O交叉开关寄存器0 XBR0

43、的位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口。C8051F

44、320器件具有片内Silicon Labs 2线(C2)接口调试电路,支持使用安装在最终应用系统中的产品器件进行非侵入式、全速的在系统调试。Silicon Labs的调试系统支持观察和修改存储器和寄存器,支持断点和单步执行。不需要额外的目标RAM、程序存储器、定时器或通信通道。在调试时所有的模拟和数字外设都正常工作。当MCU单步执行或遇到断点而停止运行时,所有的外设(USB、ADC和SMBus除外)都停止运行,以保持同步。如图3.14所示,PC机通过USB与串行适配器U-EC5连接,U-EC5又通过电缆与板上的JTAG口相连接。通过和Silicon Labs IDE可以方便的将程序写入片中。在

45、连接时要把IDE的OptionConnection Options选项(图2.14)选为USB DebugAdapter,Debug Interface选择为C2。然后点击Connect按钮或者ALT+C就可以将IDE与目标板连接起来了。图3.13 JTAG口电路图图3.14 开发/在系统调试示意图第四章 系统软件设计4.1 系统软件设计的组成系统软件主要包括C8051 F320数据通信板的固件(Firmware)程序设计、主机上的USB硬件驱动程序和主机应用程序。如图4.1所示:图4.1 软件系统组成对于一个USB设备,其系统分层如图4.2所示,分为功能层、USB设备层、USB总线接口层。在

46、USB系统中只允许有一个主机,它可以被分为三个不同的功能模块:客户软件、USB系统软件和USB总线接口。客户软件负责和USB设备的功能单元进行通信,以实现其特定功能,一般由开发人员自行开发。客户软件不能直接访问USB设备,其与功能单元间的通信必须经过USB系统软件和USB总线接口模块才能够实现。它一般包括USB设备驱动程序和界面应用程序两部分。USB设备驱动程序负责和USB系统软件进行接口,由它向USB总线驱动程序发出I/O请求包(IRP)以启动一次USB数据传输。界面应用程序负责和USB设备驱动程序进行接口,以操纵USB设备并向用户提供可视化的操作。USB系统软件负责和USB逻辑设备进行配置

47、通信,并管理客户软件启动的数据传输。它包括:USB总线驱动程序(USBD)和USB主控制器驱动程序(HCD)。USB总线接口包括主控制器和根集线器两个部分。根集线器为USB系统提供连接起点,主控制器负责完成主机和USB设备间数据的实际传输。USB设备由3个功能模块组成:USB总线接口、USB逻辑设备、功能单元。USB总线接口是USB设备中的串行接口引擎(SIE);USB逻辑设备被USB系统软件看作是一个端点的集合;功能单元被客户软件看作是一个接口的集合。功能层负责实现USB设备的特定功能,该层不理解USB的串行传输机制,而只是知道应和USB设备传输哪些数据。根据实际情况的需要,客户软件在和US

48、B设备的功能单元进行通信时可以采用如下4种传输类型。USB设备层实现了主机和USB设备间的配置通信,如为USB设备分配地址、读取其配置描述符等。该层理解USB通信机制和功能层所要求的传输特性。USB总线接口层实现了主机和USB设备间数据的实际传输。图4.2 USB系统的分层在USB总线上,所有与USB设备功能单元的数据传输都是由客户软件启动的,而且必须经过主机的USB系统软件和USB总线接口模块才能将数据发送到USB设备。其传输过程涉及4个软硬件实体:客户软件、USB总线驱动程序、USB主控制器驱动程序和USB主控制器。图中的向下的箭头表示了客户软件向USB设备发送数据的情况,其传输步骤如下:(1) 客户软件把要传输的数

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号