单片机时钟Vout怎么连线

 引言
USB是近年来应用在PC领域的新型接口技术是一些PC大厂商,如 Microsoft、Intel等为了解决日益增加的PC外设与有限的主板插槽和端口之间 的矛盾而制定的一种串行通信的标准自1995年在Comdex上煷相以来至今已广泛地为各 PC厂家所支持。
现在生产的PC几乎都配备了USB接口Microsoft 的Windows98、NT以及MacOS、Linux、FreeBSD等流行操作系统都增加了对 USB的支持。
USB的主要优点:
① 使用方便
连接外设不必再打开机箱;允许外设热插拔,而不必关闭主机电源
② 速度快。USB接口的最高传输率可达12 Mb/s;提供低速方式速率为1。5 Mb/s扣除用于总线状态控制和错误检测等数据传输,最大理论速度也能 达到1
2 Mb/s和9。6 Mb/s
③ 连接灵活。一个USB口理论上可以连接127个USB设备连接的方式也十分灵活,既可以使用串行连接也可以使用集线器Hub,把多个设备连接在一起再同PC机的USB口相接。
④ 独立供电
USB接口提供了内置电源。
现在的USB生产厂商很多几乎所有的硬件厂商都有USB 的产品。USB控制器一般有两种类型:一种是MCU集成在芯片里面的如 Intel的8X930AX、CYPRESS的EZ-USB、SIEMENS的C541U以及 MOTOLORA、National Semiconductors等公司嘚产品;另一种就是纯粹的USB接口芯片,仅处理 USB通信如PHILIPS的PDIUSBD11(I2C接口)、 PDIUSBP11A、PDIUSBD12(并行接口),National Semiconductor的USBN9602、USBN9603、USBN9604等
前一种由于开发时需要单独的开发系统,因此 开发荿本较高;而后一种只是一个芯片与MCU接口实现USB通信功能因此成本较低,而且可靠性高本文主要介绍PHILIPS公司的PDIUSBD12器件。
1 PDIUSBD12芯片特点和内部结构
PDIUSBD12是┅个性能优化的USB器件通常用于基于微控制器的系统并与微控制器通过高速通 用并行接口进行通信,也支持本地DMA传输
该器件采用模块化嘚方法实现一个 USB接口,允许在众多可用的微控制器中选择最合适的作为系统微控 制器允许使用现存的体系结构并使固件投资减到最小。這种灵活性减少了开发时间、风险和成本 是开发低成本且高效的USB外围设备解决方案的一种最快途径。
PDIUSBD12完全符合USB11规范,也能适应大多数設备类规范的设计如成像类、大 容量存储类、通信类、打印类和人工输入设备等,因此PDIUSBD12 非常适合做很多外围设备,如打印机、扫描仪、外部大容量存储器( Zip驱动器)和数码相机等
现在用SCSI实现的很多设备如果用 USB来实现可以直接降低成本。
PDIUSBD12挂起时的低功耗以及LazyClock输出符合ACPI 、OnNOW和USB电源管理设备的要求低功耗工作允许实现总线供电的外围设备。
PDIUSBD12还集成了像SoftConnect、GoodLink、可编程时钟输出、低频晶振和终端电阻等特性所 有这些特性都能在系统实现时节省成本,同时在外围设备上很容易实现更高级的 USB功能
1。
1 主要特性
◇ 符合USB 11协议规范;
◇ 集成了SIE、FIFO存储器、收发器囷电压调整器的高性能USB接口芯片;
◇ 适应大多数设备类规范的设计;
◇ 与任何微控制器/微处理器有高速(2MB/s)的并行接口;
◇ 完全自动DMA操作;
◇ 集成了320 B的哆配置FIFO存储器;
◇ 主端点有双缓存配置,增加吞吐量容易实现实时数据传输;
◇ 在块传输模式下有1MB/s的数据传输率,在同步传输模式下有 1Mb/s的数據传输率;
◇ 具有总线供电能力有非常好的EMI性能;
◇ 在挂起时有可控制的LazyClock输出;
◇ 可通过软件控制USB总线连接SoftConnect;
◇ 在USB传输时有闪亮的USB连接指示灯GoodLink;
◇ 時钟频率输出可编程;
◇ 符合ACPI、OnNOW和USB电源管理要求;
◇ 具有内部上电复位和低电压复位电路;
◇ 有SO18和TSSOP28封装;
◇ 能在-40~ 85 ℃工业级工作;
◇ 片内8kV静电保护;
◇ 双電压工作:(3。
3±03)V或扩大的5 V电压范围(3。6~55 V);
◇ 多中断模式,方便块传输和同步传输
1。2 内部结构
PDIUSBD12的内部框图如 图 1 所示
图1 PDIUSBD12内部结构框图
① 模拟收发器。
集成的收发器直接通过终端电阻与USB电缆接口
② 电压调整器。片上集成的1个33 V电压调整器为模拟收发器供电,也提供连接到外部15 kΩ上拉电阻的输出电压。作为选择,PDIUSBD12提供集成1。5 kΩ上拉电阻的SoftConnect技术
③ PLL。片上集成1个6~48 MHz的倍频PLL(锁相环)允许使用6 MHz的晶振,EMI也由于使用低频晶振而减小PLL的工作不需要外部器件。
④ 位时钟恢复位时钟恢复电路用4倍过采样原理从输入的USB 数据流中恢复时钟,能跟踪USB规范中指出的信号抖动和频率漂移
⑤ PHILIPS串行接口引擎PSIE。PHILIPS的SIE完全实现USB协议层考虑到速度,它是全硬件的 不需要固件(微程序)介入。这个模块的功能包括:哃步模式识别、并 /串转换、位填充/不填充、CRC校验、PID确认、地址识别以及握手鉴定
⑥ SoftConnect。高速设备与USB的连接是靠把D 通过1个15 kΩ的上拉电阻接到高电平来建立的。在PDIUSBD12中,这个上拉电阻是集成在芯片 内的缺省是没有连接到VDD,这个连接是靠外部 MCU发一个命令来建立的
这使得系统微處理器可以在决定建立 USB连接之前完成初始化。重新初始化USB总线连接也可以不用拔掉电缆来完成
⑦ GoodLink。GoodLink是靠一个引脚接发光二极管实现的茬 USB设备枚举时LED指示灯将立即闪亮;当PDIUSBD12被成功枚举并配置时, LED指示灯将会始终亮;经过PDIUSBD12的USB数据传输过程中 LED将一闪一闪,传输成功后LED熄灭;在挂起期间LED熄灭。
这种特性可以使我们知道 PDIUSBD12的状态方便电路调试。
⑧ 存储器管理单元MMU和集成RAMMMU和集成RAM能缓冲USB(工作在 12Mb/s)数据传输和微控制器之间並行接口之间的速度差异,这允 许微控制器以自己的速度读写USB包
⑨ 并行和DMA接口。并行接口容易使用、速度快并且能直接与主微控制器接ロ对于微控制 器,PDIUSBD12可以看成是一个有8位数据总线和1位地址线的存储设备 PDIUSBD12支持多路复用和非多路复用的地址和数据总线。
在主端点(端点 2)囷局部共享存储器之间也可使用DMA(直接存储器存取)传输它支持单周期模式和块传送模式 两种DMA传输。
2 PDIUSBD12的引脚说明及典型连接
21 PDIUSBD12引脚说明
PDIUSBD12引脚洳 图 2 所示,引脚如 表 1 所列
图2 PDIUSBD12的引脚图
表1 PDIUSBD12引脚说明
2。2 PDIUSBD12的典型连接
PDIUSBD1与80C51的连接电路如 图 3 所示
在这个例子中, ALE始终接低电平说明采用单独地址和数据总线配置。A0 脚接80C51的任何I/O引脚控制是命令还是数据输入到PDIUSBD12 。80C51的P0口直接与PDIUSBD12的数据总线相连接CLKOUT 时钟输出为80C51提供时钟输入。
图3 PDIUSBD12与80C51的连接电路图
3 软件设计
31 单片机时钟方面软件设计
对于单片机时钟控制程序,目前没有任何厂商提供自动生成固件(firmware)的工具,因此所有程序都 要由洎己手工编制
USB单片机时钟控制程序通常由三部分组成:第一、初始化单片机时钟和所有的外围电路 (包括PDIUSBD12);第二、主循环部分,其任务是可以Φ断的;第三、中断服务程序其任务是对时 间敏感的,必须马上执行根据USB协议,任何传输都是由主机(host)开始的这样,单片机时钟作它 的湔台工作等待中断。
主机首先要发令牌包给USB设备(这里是PDIUSBD12)PDIUSBD12接收 到令牌包后就给单片机时钟发中断,单片机时钟进入中断服务程序首先讀PDIUSBD12的中断寄存器,判断 USB令牌包的类型然后执行相应的操作。因此USB单片机时钟程序主要就是中断服务程序的编写。
在USB单片机时钟程序中偠完成对各种令牌包的响应其中比较难处理的是SETUP包,主要是端口0的编程
单片机时钟与PDIUSBD12的通信主要是靠单片机时钟给PDIUSBD12发命令和数据来实現的。 PDIUSBD12的命令字分为三种:初始化命令字、数据流命令字和通用命令字
PDIUSBD12给出了各种命令的代码和地址。单片机时钟先给PDIUSBD12的命令地址发命令根据不同命令的要求再发送或读出不同的数据。因此可以将每种命令做成函数,用函数实现各个命令以后直接调用函数即可。
在编寫USB的单片机时钟程序时需要注意:
① 单片机时钟的中断应设置为电平触发;中断后一定要读上次传输状态寄存器(命令40-45H),以清 除中断寄存器中的Φ断标志。
这样PDIUSBD12的中断输出才能变回高电平,这一点非常重要
② 在接收到Setup包后,一定要调用ACK set up命令重新使能端口0
③ 在向IN端点写完数据後,一定调用Val i date Buffer(命令FAH)指明缓冲区中的数据有效,可以发送到主机
④ 当读完数据后,一定调用Clear Buffer(命令F2H)以保证可以接收新的包。
⑤ 可以通过調用Read Chip ID(命令FDH)检查PDIUSBD12是否工作该命令要读两个字节数据。
USB初始化过程为:
① Set Address Enable;
② Set Endpoint Enable(此时LED亮);
③ Disconnect;
④ delay(1~2 s);
⑤ Connect(即用43h参数调用Set Mode此时LED灭);
⑥ Read Interrupt Register。
完成初始化工作后就可莋其它的前台工作了,并在前台判断是否有 Setup包(通过一个变量当中断服务程序检测到有Setup包时,设置该变量)然后执行响应的控制传输。
在調试USB单片机时钟程序时还要特别注意Win dows对USB设备的枚举顺序:
① GetDeviceDescriptor。
主机主要对Length域感兴趣发送内容一定要正确,特别是第 2字节type一定为0x01即Device;否则,主机将不响应或 者再重复2次后放弃。可检查一下对EP0的RX、TX的设置次序
② SetAddress。
一般为02或03
③ 连续3次GetDeviceDescriptor,读取全部设备描述符一般为 18 B,分为哆次传输如果不正确,主机将不响应或重复2次后放弃
④ GetConfigDescriptor。
注意第2字节一定为0x02即config 。
⑤ GetStringDescriptor(可能没有)根据在设备描述符中是否有 String索引而定。一般先读取LanguageID再读取product string。
⑥ 读取全部ConfigDescriptor次数根据描述符的大小决定(端点个数不同,描述符大小不同)如 果不正确,主机将不响应或再重复2佽后放弃
⑦ 如果以上步骤都正确,主机将找到新设备提示安装驱动程序;否则找到未知设备,不可用
安装驱动程序后,以后的每次PlugIn枚举次序与以上步骤略有不同,之后会有 SetConfiguration、GetConfiguration和GetInterface等调用
3。2 主机方面软件设计
Windows98 提供了多种USB设备的驱动程序但好像还没有一种是专门针对数據采集系统的,所 以必须针对特定的设备来编制驱动程序
尽管系统已经提供了很多标准接口函数,但编制驱动程序仍 然是USB开发中最困难嘚一件事情通常采用Windows DDK来实现。目前有许多第三方软件厂商提供了各种各样的生成工具像 Compuware的driv er works,Blue Waters的Driv er Wizard等它们能够很容易地在几分钟之内生荿高质量的USB 的驱动程序。
作为WIN98和WIN2K推荐的一项新技术来说USB的驱动程序和以往的直接跟硬件打交道的 WIN95的VXD方式的驱动程序不同。它是WDM类型的
茬调试USB设备时,可使用UsbView程序检测设备是否能被Windows枚举并配置如果成功, 还可在该程序中查看设备描述符、配置描述符和端点描述符是否正確
之后可以使用Driver Wiz ard生成一个通用驱动程序,在Windows提示安装驱动程 序时选择Driver Wizard生成的驱动程序。其实Driver Wizard生成的仅是一个Windows控制台的应用程序它会調用安装Driver Wizard时安装在系统中的通用USB驱动程序。
使用该程序就可测试设备 是否能够正确传输数据以及传输速度该程序也可作为最终产品USB传输蔀分的框架;如果不能满足 要求,也可用WDM重新编制驱动程序用调试好的USB设备来开发、调试主机软件。
4 应用实例
本文介绍一个高速数据采集系统以AD公司的ADμC812为系统控制器。
该单片机时钟本身就是高度集 成的高精度12位数据采集系统在其片内不仅组合了可重新编程非易失性闪速/电擦除程序存储器的高 性能8位(与8051兼容)MCU,还包含了高性能的自校准多通道(8个输入通道)12位ADC和两个12位 DAC且内核与8051指令集兼容。
PDIUSBD12作为 ADμC812的存储器外设接口比较简单。需要注意的地方是引脚必须接高电平否则将不能接收任何命令和数据;EOT_N必须通过电阻接到USB 的 5 V,以正确检测到USB连接;INT_N引腳加1个上拉电阻 5 V接到VDD引脚;在VOUT3。
3引脚加 1μF(电解电容)和01μF两个退耦电容。
结束语
PDIUSBD12是一个性能优化的USB器件它的SoftConnect 和GoodLink技术使开发和调试USB设备时非常方便,在性能、速度、方便性以及成本上都具有很大的优势
因此,使用PHILIPS公司的PDIUSBD12可以快速开发出高性能的 USB设备
全部
}

当您发现懂得网上存在涉嫌侵犯您合法权益的内容时您可以通过以下方式向懂得网提出诉求。

您需要提供的举证材料包括:

(1)若您的身份是个人请提供当事人姓名,手机号身份证正反面证明,其他辅助证明(包括但不限于商标 注册证书、侵权说明相关证明材料)

(2)若您的身份是企业请提供企业/機构名称,企业/机构代码统一信用码联系手机号,营业执照或组织 机构代码证原件的彩色扫描件身份证正反面证明,其他辅助证明(包括但不限于商标注册证书、侵权说明相关证明材料)

(3)请您提供要举报的内容链接选择侵权类型(泄露隐私/人身攻击/冒用抄袭)进行彡选一,描述您认为涉及隐私的内容

请将侵权链接、举证材料及说明,发送至邮箱:我们将在收到邮件的7个工作日处理您的请求。

}

单片机时钟定时器的使用可以说非常简单只要掌握原理,有一点的C语言基础就行了要点有以下几个:

1. 一定要知道英文缩写的原形,这样寄存器的名字就不用记了

理解是最好的记忆方法。好的教材一定会给出所有英文缩写的原形

2. 尽量用形像的方法记忆。

比如TCON和TMOD两个寄存器各位上的功能教程一般有個图表,你就在学习中不断回忆那个图表的形像

定时器/计数器模式控制寄存器TMOD是一个逐位定义的8位寄存器,但只能使用字节寻址其字節地址为89H。其格式为:其中低四位定义定时器/计数器C/T0,高四位定义定时器/计数器C/T1各位的说明:

当INT0引脚为高电平时TR0置位,启动定时器T0;

当INT1引脚為高电平时TR1置位启动定时器T1。

(2)C/T——功能选择位

C/T=0时为定时功能C/T=1时为计数功能。

置位时选择计数功能清零时选择定时功能。

(3)M0、M1——方式選择功能

由于有2位因此有4种工作方式:

M1M0 工作方式 计数器模式 TMOD(设置定时器模式)

单片机时钟定时器0设置为工作方式1为TMOD=0x01

这里我们一定要知道,TMOD的T昰TIMER/COUNTER的意思MOD是MODE的意思。至于每位上的功能你只要记住图表,并知道每个英文缩写的原型就可以了

在程序中用到TMOD时,先立即回忆图表並根据缩写的单词原形理出每位的意义,如果意义不是很清楚就查下手册,几次下来TMOD的图表就已经在脑子里了。

8位 GATE位本身是门的意思。

TMOD分成2段TCON控制更加精细,分成四段在本文中只要用到高四段。

TF0(TF1)——计数溢出标志位当计数器计数溢出时,该位置1

当CPU采样到P3.2(P3.3)出现囿效中断请求时,此位由硬件置1在中断响应完成后转向中断服务时,再由硬件自动清0

(3)IT0(IT1)——外中断请求信号方式控制位

当IT0(IT1)=0 电平方式(低电岼有效)此位由软件置1或清0。

当计数器产生计数溢出时此位由硬件置1。当转向中断服务时再有硬件自动清0。计数溢出的标志位的使用有兩种情况:采用中断方式时作中断请求标志位来使用;采用查询方式时,作查询状态位来使用注意记忆方法,理解单词原形就绝对不會把TF和TR搞混。TF的F也就是溢出Over Flow的FTR的R就是运行Run。默认是0不运行当然要置1才运行。

延时时间要根据晶振频率计算不同板子可能有所不同。

1/時钟源晶振频率是11.0592M,那么时钟周期就是 1/秒

一般51单片机时钟是12个时钟周期也就是 12/秒

如果是16位的计数器,16位最大值是65535共可计数65536次。基本嘚常数一定要记住还要记住8位最大值是255,共可计数256次还要记住8位上每位代表的数值。

12 * 00 = 0.0711 s,也就是71 ms内的定时可以单次定时就完成。如果定時时间超过71 ms就要循环了。

一次定时需要几次机器周期:

计算公式:定时秒数/机器周期

比如要定时1秒 1/(12/)= 921600次,16位计数器最大可计数65536次921600次早僦益出了。我们可以每次定时10 ms循环100次就可以定时1秒了,1 s缩小100百倍就是10 ms, 也就是每次需要计数9216次

定时10 ms时,如果计数器从0开始计数就不知噵什么时候到了9216次。所以应该计数了9216次16位计数器最多计数95536次,然后就溢出一溢出TCON的TF位就会置1,只要经常检测TF位就可以知道什么时候完荿10ms的定时了

计算公式:计数器初始值=最大计数次数 - 需要计数次数

计算计数器的高位和低位:

16位的计数器,也就是两个8位组成8位的最大計数次数是256。所以:

计数器高位 = 初始值/256

计数器低位 = 初始值%6

}

我要回帖

更多关于 单片机时钟 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信