单片机C8051F320及其USB接口应用
- 格式:doc
- 大小:301.00 KB
- 文档页数:7
基于C8051F320的数据采集系统USB接口设计1 引言1 随着现代工业生产和科学研究对数据采集系统的要求日益提高,传输速度、纠错能力和操作安装的简易性是人们进行采集数据时一直关注的问题,这使得数据通讯技术不可避免地成为了其中的关键技术,而数据采集系统采用何种接口进行数据通讯是影响系统整体效率的重要因素之一。
USB(通用串行总线)总线接口技术由于具有速度快、设备安装和配置容易、易于扩展、能够采用总线供电及使用灵活等优点,已逐渐成为现代数据传输的发展趋势[1- 5]。
本文给出了一种基于C8051F320 的数据采集系统USB 接口设计方案,完成了USB 接口硬件电路设计和软件程序开发,并将其应用到仓库视频监控系统中,实现了快速、方便的数据采集和传输。
2 C8051F320 单片机原理2.1 C8051F320 的主要特点C8051F320 是由美国Cygnal 公司推出的C8051F 系列单片机中的一款用于USB 设备的小型单片机。
该器件内部集成有2304 Byte RAM 和16K Byte 的Flash 存储器。
由于利用该芯片进行设计时可以不需要任何外部元件(包括电阻和晶振),因而是小型USB 应用的理想选择。
与其它同类USB 产品相比,C8051F320 主要具有如下一些特点:①满足USB2.0 协议;②可在全速(12 Mbps)或低速(1.5 Mbps)下运行;③集成有一个时钟源,对于全速或低速传输均可不用外部晶振;④支持8 个灵活通用的USB端点;⑤内置一个1K 的USB 专用缓冲存储器;⑥集成了一个USB 接收器,不需要外部电阻。
⑦具有高速增强型8051 MCU 内核,该MCU 内核采用流水线式指令结构,70%的指令执行时间为一个或两个系统时钟周期,处理速度可达25MIPS(时钟频率为25MHz 时)。
此外,C8051F320 还有许多其它特性,如支持在系统编程(ISP),带有可编程的数字I/O 和数字交叉开关,可提供全速、非侵入式的。
C8051F320-并行端口与交*开关C8051F320具有25个I/O引脚,分别为P0、P1、P2、P3.0。
为了能根据需要使用内部数字系统资源,必须利用数字交*开关将所用的资源映射到具体引脚上。
分析如下:如果没有用到任何资源,那么所有25个引脚都可以作为正常的并行引脚使用,若用到数字资源,必须牺牲一部分并行口,将引脚提供给内部资源使用。
假设有A、B、C三种资源,所需要的引脚数分别为2、1、3。
1、如果ABC都不用,那么可以正常使用P0、P1、P2以及P3.02、如果使用A资源,那么将会占用P0.0、P0.1,其余引脚照样可以作为并行口用,但是被占用的口无法控制3、如果同时使用ABC资源,则需要6个脚,故P0口只剩下P0.6、P0.7可用,其他口不受影响以上只是大概意思,不精确。
以下为详细笔记。
一、寄存器P0口有P0MDIN、P0MDOUT、P0SKIP三个控制寄存器,同理P1、P2都有,P3没有SKIPPxMDIN:设置对应并行端口是否作为模拟输入,“0”表示模拟输入。
当任意引脚作为模拟输入时,不能作为IO口受到控制PxMDOUT:设置对应并行端口为漏极开路或推挽,“0”表示开漏。
开漏时只能输出低电平或高阻,若需要输出高电平,需要另外加上拉电阻,其电流小于推挽。
不过实测还没感觉出开漏与推挽的区别,待查。
PxSKIP:用来保护特定的引脚不被内部资源使用。
为“1”时,表示该引脚被跳过。
本来内部数字资源是按照优先级列表按顺序占用并行端口,如果某个脚你希望留下来自己用,那么可以设置为“1”,那么该脚必然不被占用,可以作为正常的IO口。
二、交*开关寄存器XBR0、XBR1用来分配引脚给内部数字资源,收到PxSKIP寄存器的影响,分配优先级见下图:三、实测细节准备工作:1、P0口连接八个发光二极管,P1.0连接触点开关,P1.1~P1.7连接7个发光二极管。
BI YE SHE JI(20 届)基于C8051F320的USB数据采集系统设计所在学院专业班级自动化学生姓名学号指导教师职称完成日期年月33中文摘要随着信息技术与电子技术的迅速发展,计算机和外围设备也得到讯速发展和应用,在科学研究领域和许多生产场合中常用到数据采集技术,并且对数据采集的要求越来越高。
以前的通信方式由于传送速率慢、抗扰能弱、安装复杂麻烦等原因,严重阻碍了数据采集技术的发展,而通用串行总线USB具有传输线少、速率快、支持热插拔和易于扩展等优点,很好得解决了上述产生的问题,因而串行总线技术在计算机系统及通信设备中迅速得到广泛的使用。
本设计以USB作为总线的采集系统为主要研究内容,利用C8051F320等芯片组成的一套数据采集系统的设计方案、开发方法和开发过程,并给出了具体实现方案。
文中首先介绍了设计中所用的C8051F320芯片的性能和特点,然后给出了具体硬件设计方案,并重点介绍了设计中应该注意的问题。
整个系统包括硬件设计和软件设计两部分,实现数据高速转换和采集、数据显示、数据保存等功能。
系统硬件部分实现数据采集功能,并将采集的数据送至USB控制器,再通过USB接口将数据传送给PC机。
硬件设计部分主要包括主控制器C8051F320外围电路设计与数据采集电路选择、键输入显示电路设计等。
硬件设计中每个单元部分之间的连接主要以芯片的工作模式和系统要实现的功能来决定。
系统软件包括USB固件程序设计、驱动程序设计以及用户界面程序。
USB固件程序在keil c中实现,实现C8051F320的初始化;驱动程序为用户提供了软件和硬件平台连接的通道;用户界面程序采用VB语言完成,调用了驱动函数句柄来对硬件进行操作,完成数据的接收、保存、以及显示功能。
关键词:C8051F320,USB,数据采集技术33AbstractWith the development of information technology and the rapid development of electronic technology, the computer and peripheral equipment also gets rapid development and application in the field of scientific research, production and many occasions are commonly used in the data acquisition technique, and the data acquisition of the various requirements are also getting higher and higher. The traditional means of communication as the transmission speed is slow, weak anti-jamming ability, troublesome installation and other reasons, has seriously hindered the development of the data acquisition equipment, a new generation of universal serial bus USB transmission line having small, fast, supports hot plug and easy to extend the advantages, is a very good solution to the above problems, so the serial bus technology in the computer system and the communications equipment quickly and has been widely used.This design is based on the USB bus data acquisition system as the main research content, using a C8051F320chip consisting of a set of data acquisition system design, development method and development process, and gives the concrete realization plan. This paper first introduced the design used in the C8051F320chip performance and characteristics, and then presents the concrete hardware design scheme, and introduces the design should pay attention to the problem. The whole system includes hardware design and software design in two parts, to realize high speed data conversion and acquisition, data display, data storage and other functions.The system hardware to realize the data acquisition function, and the data will be collected and sent to the USB controller, through the USB interface transmits the data to the PC machine. The hardware design mainly includes the main controller C8051F320 peripheral circuit design and data acquisition circuit selection, key input display circuit design. The hardware design of each33unit section is connected between the main chip working mode and system to achieve the function to decide. Each unit are given a unit circuit characteristics and use.System software includes USB firmware, device driver and user interface program. USB firmware program in keil C, C8051F320initialization; device driver for the user interface program provides software and hardware platform to connect the channels; the user interface program used VB language, in VB called driving function in the handle to the hardware equipment operation, realize the data receiving, storage, and display function.Finally, through the testing of the system, in the design of the data acquisition interface shows the random input signal waveform. Proved by practice, the system design has been initially successful, can achieve USB data acquisition function.Key Word:C8051F320、USB、The data acquisition technique33目录摘要 (I)ABSTRACT (Ⅱ)目录 (Ⅳ)第一章绪论 (1)1.1课题的背景和意义 (1)1.2数据采集系统发展史 (1)1.3数据采集技术发展方向 (2)1.4设计方案的可行性分析与预期目标 (3)第二章数据采集系统的整体设计 (4)2.1硬件系统构成 (4)2.2软件系统构成 (5)第三章硬件设计模块 (6)3.1数字温湿度传感器介绍 (6)3.1.1 接口说明 (7)3.1.2 发送命令 (7)3.1.3 测量时序 (8)3.1.4 通讯复位时序 (9)3.1.5 数据物理量转化 (9)3.1.6 温湿度传感器框图 (10)3.1.7 数据采集流程图 (11)3.2数据采集系统的主控芯片 (12)3.3单片机与主机连接设备USB (14)3.3.1 USB特点 (14)3.3.2 USB与IEEE 1394比较 (15)3.3.3 USB传输类型 (15)3.4单片机键盘显示接口模块 (16)3.4.1 键输入设定 (17)333.4.2 显示器电路设定 (19)3.5单片机辅助电路 (21)3.5.1 时钟电路 (21)3.5.1 复位电路 (21)第四章软件系统设计 (22)4.1主程序设计 (22)4.2固件程序设计 (23)4.3驱动程序设计 (26)4.4用户界面程序设计 (29)结论 (31)参考文献 (32)致谢 (33)33第一章绪论1.1 课题的背景和意义数据采集系统是将现场采集的数据进行处理、传输、显示、存储等操作,基于计算机测量的软硬件产品实现灵活的、用户自定义的测量系统,它主要完成数据的采集、模数转换、压缩处理,然后通过PC接口总线将处理后的数据送入计算机作进一步处理。
USB FLASH盘设计2010年6月29日一、实验内容1.实验目的a)通过对C8051F320单片机编程与PC机通过USB通用串行通讯接口进行通讯,令PC机识别出实验板为一个USB存储设备b)通过对C8051F320单片机编程,以P2口作为PIO口控制NAND FLASH芯片的读写,并将NAND FLASH的容量大小通过USB接口发送给PC机c)通过对C8051F320单片机编程,建立NAND FLASH存储组织——FAT32文件组织之间的映射关系,以便在NAND FLASH上转储PC机上的文件2.实验器件C8051F320单片机USB接头3.实验连接一个A式插头一个B式插座二、 模块介绍1、 USB 接口通过对单片机8051f320 smbus 以及USB 的配置实现将单片机作为Nand flash 与外部设备的接口的功能。
2、Nand flash接口当前各类嵌入式系统开发设计中,存储模块是不可或缺的重要方面。
NOR和NAND是目前市场上两种主要的非易失闪存技术。
Nor-flash存储器的容量较小、写入速度较慢,但因其随机读取速度快,因此在嵌入式系统中,常应用在程序代码的存储中。
Nor-flash存储器的内部结构决它不适合朝大容量发展;而Nand-flash存储器结构则能提供极高的单元密度,可以达到很大的存储容量,并且写入和擦除的速度也很快。
Nand-flash存储器是flash存储器的-种,其内部采用非线性宏单元模式,为固态大容量存储器的实现提供了廉价有效的解决方案。
Nand-flash存储器具有容量较大,改写速度快,适用于大量资料的存储,因而在业界得到了越来越广泛的应用,如嵌入式产品中包括数码相机、MP3随身听记忆卡、体积小巧的U盘等。
本文以三星公司的K9F1208UOB 芯片为例,介绍Nand-flash存储器芯片的读写流程和时序。
Nand-Flash存储器的工作原理Nand-Flash存储器的组成结构及指令集K9F1208UOB的容量为64Mb,存储空间按128K个页(行)、每页中528 个字节(列)的组成方式构成。
单片机C8051F320及其USB接口应用
C8051F320是由美国Cygnal公司推出的C8051F系列单片机中的一款小型单片机。
它是集成的混合信号片上系统SOC(System on chip),具有与MCS-51内核及指令集完全兼容的微控制器,除了具有标准8051的数字外设部件之外,片内还集成了数据采集和控制系统中常用的模拟部件和其它数字外设及功能部件。
内部Flash存储器可实现在系统编程,既可作程序存储器也可作非易失性数据存储。
片内JTAG仿真电路提供全速的电路内仿真,不占用片内用户资源。
支持断点、单步、观察点、运行和停止等调试命令,并支持存储器和寄存器校验和修改。
C8051F320片内自带有USB收发器和控制处理器是它区别与同一系列产品的一大特点。
用C8051F320来进行USB技术开发既方便又快捷。
C8051F320单片机简介
1.功能部件及特点
(1)模拟外设10位的ADC(±1LSB INL):其最大可编程转换速率可达200kbps,可多达17个外部输入,可编程为单端输入或差分输入,内置一个温度传感器(±3℃);2个模拟比较器;2.4V的内部电压基准;精确的Vdd监视器和欠压检测器。
(2)USB功能控制模块满足USB2.0协议;可在全速(12 Mbps)或低速(1.5 Mbps)下运行;集成有一个时钟恢复源,对于全速或低速传输均可不用外部晶振;支持8个灵活通用的端点;内置一个1K的USB专用缓冲存储器;集成了一个USB接收器,不需要外部电阻。
(3)片内调试模块片内调试电路提供全速、非侵入式的在系统调试(不需仿真器);支持端点、单步、观察点、堆栈监视器;可以观察/修改存储器和寄存器;比使用仿真芯片、目标仿真头和仿真插座的仿真系统有更好的性能。
(4)工作温度范围:0~70℃
(5)高速8051微控制器内核采用流水线指令结构,其70%的指令的执行时间为一个或两个系统时钟周期;速度可达25 MIPS(时钟频率为25MHz时)。
(6)存储器1280字节的内部数据RAM(1K+256);16K字节的可以在系统编程的Flash闪速存储器。
(7)数字外设25个字节宽的端点I/O;所有口线均耐5V电压;可同时使用UART串口、硬件SMBusTM、SPITM;带有4个可编程的16位计数器/定时器阵列;带有5个捕捉/比较模块的通用16位计数器/定时器。
(8)时钟源内部晶振,精度为0.25;支持所有USB和UART模式;外部晶振器:晶体、RC、C或外部时钟;内置一个针对USB控制器的片上时钟乘法器。
(9)供电电压片上的参考电源校准器支持USB总线电源操作;校准器的Bypass模式支持USB内部电源操作。
(10)性能特点C8051F320在保持CISC结构及指令系统不变的情况下,对指令运行实行流水作业,推出了CIP-51的CPU模式,从而大大提高了指令运行速度,使8051兼容机系列进入了8位高速单片机行列。
传统的单片机I/O端口大都是固定为某个特殊功能的输入/输出口,可以是单功能或多功能,I/O端口可编程选择为单向/双向以及上拉、开漏等。
这种固定方式既占用较多引脚,配置又不够灵活。
C8051F320采用开关网络以硬件方式实现I/O端口的灵活配置,如图1所示。
在这种通过交叉开关配置的I/O端口系统中,单片机外部为通用I/O口,如P0口、P1口和P2口。
内有输入/输出的电路单元通过相应的配置寄存器控制的交叉开关配置到所选择的端口上。
C8051F320还提供了一个完整而先进的时钟系统,如图2所示。
在这个系统中,片内设置有一个可编程的时钟振荡器(无需外部器件),可提供2、4、8和16 MHz时钟的编程设定。
外部振荡器可选择4种方式。
当程序运行时,可实现内外时钟的动态切换。
编程选择的时钟输出CYSCLK除供片内使用外,还可从随意选择的I/O端口输出。
C8051F320在8位单片机中率先配置了标准的EC2接口(IEEE1149.1)。
在上位机软件支持下,通过串行的EC2接口直接对产品系统进行仿真调试。
C8051F 的EC2接口不仅支持Flash ROM的读/写操作及非侵入式在系统调试,还为在系
统测试提供边界扫描功能。
通过边界寄存器的编程控制,可对所有器件引脚、SFR 总线和I/O口弱上拉功能实现观察和控制。
C8051F320把80C51单一的外部复位发展成多源复位:上电复位、掉电复位、外部引脚复位、软件复位、时钟检测复位、比较器0复位和引脚配置复位。
众多的复位源为保障系统的安全、操作的灵活性以及零功耗系统设计带来极大的好处。
2.引脚及封装
图3为其引脚图。
其中,Vdd为数字电源;GND为模拟地;REGIN为5V 校准器的输入端;RST/C2CK为设备的复位引脚或EC2调试接口的时钟信号;P3.0/C2D为端口3.0或EC2调试接口的双向信号引脚;VBUS为USB总线输入脚;D+为USB的D+;D-为USB的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、P1.0~P1.7、P2.0~P2.7 均为相应的端口引脚。
3.电气特性
校准器的输入电压(REGIN引脚)为4.0~5.25V;Vdd(电压校准器的输出)为3.0~3.6V(通常取3.3V);VREG偏流(电压校准器有效时)为70μA;CPU 和USB运行时的供给电流为18mA(CPU时钟为24MHz,USB时钟为48MHz 时)或9mA(CPU时钟为12MHz,USB时钟为6 MHz时);内部晶振频率为12.0MHz;USB时钟频率为48.0MHz(全速)、6.0MHz(低速)。
典型的USB应用
C8051F320是一款完全集成的混合信号系统级芯片,片内集成了数据采集和控制系统中常用的模拟部件和其它数字外设及功能部件。
其中值得我们注意的是,它集成有一个USB接口,所以我们也可将其看成是一款带USB接口的微处理器。
C8051F320与市场上同类带USB接口的微处理器相比较,它内部强大的功能模块大大简化了USB技术的开发,还能很好地缩短开发周期。
下面介绍它的一个典型的USB技术应用。
在这个应用中,主机通过C8051F320芯片中USB接口与C8051F320通讯,
来控制信号灯的状态,检测开关按钮的状态,并采集分压器和片内温度传感器中的数据。
在整个通讯中,我们还要使用EC2适配器来进行系统调试。
系统的电路原理图见图4。
在该应用系统中,SW1按钮开关连接到C8051F320的复位引脚。
按一下SW1,设备将进入硬件复位状态。
将J15跳线的两引脚连接上后,C8051F320就
在外部电源的模式下开始工作。
如果要让320在自己供电的模式下运行,就需在断开J15的同时,连接上J12的两个引脚。
J4是该应用系统的调试接口。
将串行适配器EC2通过该接口连接到C8051F320,可实现在线调试和Flash编程的写入和擦除(EC2的说明和使用请参见Cygnal公司的产品数据手册)。
J14是USB(通用串行总线)连接器,通过它就可将USB接口和C8051F320芯片连接起来。
我们常将USB电缆的一端接上J14,另一端接在计算机的USB通讯口上。
这样就能实现数据传输任务。
将J12跳线的两引脚连接上后,外部电容就连接到了C8051F320的P0.7脚。
C8051F320的P1.7引脚上连接有一个滑动电阻,只要将J13接上,C8051F320就可从P1.7脚采集到逻辑信号。
实际应用中,我们要进行USB技术开发和应用,其硬件部分可在图4的基础上根据需要进行扩展。
完整的USB应用系统除了必要的硬件部分,还包括软件部分,图5、图6为主程序流程图及USB中断服务程序流程图。
软件部分分为三大块:在C8051F320设备上运行的固件程序,在主机上运行的USB设备驱动程序,一个主机应用程序。
主机应用程序通过USB接口与C8051F320通讯,允许用户观察并改变C8051F320设备上的I/O外设的状态。
在运行主机应用程序前,我们要先安装设备的USB驱动程序。
当设备通过USB接口与主机连接好后,应用程序就开始枚举,并通过端点0、1和2来完成设备与主机之间的数据传输。
在USB协议中,端点0数据包被定义为控制数据包,端点1和2分别用来输入数据和输出数据。
数据包用来显示各个端口引脚上的逻辑值。
在上述应用系统中,P1.7脚上分压器的输出逻辑值就通过应用程序中的端点1数据包来传输到主机,从而主机读出数据并在用户界面上显示出来。
在本刊的网站上给出了源程序,供读者参考。
C8051F320是一款性能优化的SOC高速单片机,也是一个功能强大的USB 接口器件。
在开发和应用其USB技术时,与同类产品相比,它在性能、速度、方便性以及成本等方面都具有很大的优势。