广州周立功单片机发展有限公司 Tel,(020)38730976 38730977 Fax,38730925 http://www.zlgmcu.com
1
PDIUSBD12常见问题解答
1,普通产品信息
1.1 PDIUSBD11和PDIUSBD12之间的区别是什么
PDIUSBD11为MCU提供了I
2
C接口I2C接口的最高速度可达1Mbit/sec PDIUSBD11共有4个端点包括默认的端点0每个端点都是双向带8字节缓冲区8字节的缓冲区和I
2
C的连接使它适用于不限定例如多功能键盘高级操纵杆力反馈监视器控制和其它基于HID的系统
PDIUSBD12为MCU提供一个通用的并行接口可以实现更快的高达2Mbit/sec的访问速度
PDIUSBD12包含默认端点0在内共有3个双向端点端点0和1缓冲区的大小为16字节端点2为双缓冲64字节双向模式端点还可配置工作在仅为IN或仅为OUT模式此外端点2可用于同步批量或中断操作D12适用于扫描仪打印机数码相机调制解调器和电话
1.2 PDIUSBD12消耗的电流为多大
在正常的操作中PDIUSBD12消耗15mA电流挂起模式下PDIUSBD12关闭不必要的模块使得挂起时的操作电流仅为15uA这对于总线供电的系统尤其重要因为USB规范要求挂起电流不能大于500uA
还可参阅3.1
1.3 PDIUSBD12兼容USB规范1.0还是1.1版
USB规范1.1版发布于1998年9月23号正如意料中的USB规范1.1仅对USB1.0作出解释其中包括了大量有关协议层时序的信息这可能影响到MCU的固件但不会影响到D12对1.1版规范的兼容所有的物理层都重新检测过以确保对USB1.1版的兼容
2 关于上电
2.1 上电时挂起输出状态是什么
在PDIUSBD12上电后挂起引脚为低
2.2 上电时的默认时钟输出频率是多少
默认输出频率是4MHz
2.3 上电复位
2.31 PDIUSBD12提供的上电复位是怎样的
PDIUSBD12具有内置的上电复位电路所以RESET_N脚可直接连到Vcc但是在例如PDA和数码相机这样的应用中设备由电池供电PDIUSBD12即使在不用的时候也是打开的在操作或存储时可能产生的静电放电ESD可以导致PDIUSBD12进入不确定的状态为了避免这种情况出现建议使用外部控制源例如微控制器或微处理器提供PDIUSBD12的复位信号而不是将RESET_N脚直接连到Vcc
另外有个好处就是复位变得较为容易例如在PDA中的PDIUSBD12在数据传输请求时可随时复位
2.32 PDIUSBD12的复位脉宽是多少
复位后等待至少3ms再对PDIUSBD12寄存器进行访问这将使晶振有足够的时间稳定下来
3,挂起
3.1 PDIUSBD11挂起电流的额定值是多少
USB规范要求总线供电设备在挂起模式下的电流小于500uA为了符合这个严格的要求PDIUSBD12
广州周立功单片机发展有限公司 Tel,(020)38730976 38730977 Fax,38730925 http://www.zlgmcu.com
2
在挂起模式下关闭了不必要的内部模块这样就显著地降低了额定电流最大仅为15uA这样在一个典型的总线供电系统中就为其它硬件提供了更多的电流余量以满足500uA的要求
此外PDIUSBD12 D12支持远程唤醒外设使用D12同样可以初始化系统的唤醒
注15uA不包括D+线上的强制上拉电阻所消耗的它对整个USB设备增加了200uA的电流因此总体来说使用PDIUSBD12作为USB前端在挂起模式下将会消耗最大为215uA的电流实际的测量值为
202uA
3.2 系统什么时候进入挂起
主机要求进入挂起状态或者当主机本身处于挂起状态那么USB线处于空闲模式该模式中D+线为高而D-线为低前提是设备已通过D+线的上拉电阻连接到总线
此外当设备没有连接时如果D+线为高而D-线为低设备也会进入空闲模式这意味着USB总线上没有活动这种情况下PDIUSBD12检测到连续3次没有帧起始SOF就将挂起脚置高在中断寄存器中对应的挂起位也将置位
3.3 系统怎样退出挂起
有两种方法使USB设备退出挂起主机初始化或设备初始化
主机初始化
当主机从挂起状态恢复时USB通信通过每个毫秒的SOF重新激活PDIUSBD12的中断线变成低有效以指示挂起的状况已经有了改变这可以用来对MCU产生一个唤醒信号
设备初始化
要使用PDIUSBD12唤醒系统可以使用发送恢复命令这将触发D+/D-线向主机发送一个恢复信号
3.4 在挂起状态下Vout3.3的输出是多少
挂起状态下V
out3.3
的值降到2.0V但是它仍然有10mA的驱动能力
3.5 在挂起状态下CLKOUT的频率是多少
输出时钟是通过配置字节的配置决定的可使用设置模式命令0xF3写入
配置字节
No Lazy Clock 时钟运行
CLKOUT
0 0 CLKOUT在挂起时切换到Lazy Clock输出频率从18KHz
到48KHz PLL时钟关闭以降低电流消耗
1 0 CLKOUT在挂起时切换到Lazy Clock输出频率从18KHz
到48KHz PLL时钟仍然打开
0 1 该配置下挂起状态不影响CLKOUT的频率
1 1 挂起时CLKOUT停止
3.6 为什么在USB-EPP演示套件中需要1M?的电阻
在自供电系统中当USB电缆断开与主机的连接时D+和D-分别为悬浮状态在噪声环境下例如在扫描仪中有许多高电流的元件D+和D-的状态可能由于感应噪声而发生变化SIE有时会误以为是主机产生的恢复信号从而使PDIUSBD12错误的退出挂起状态将D+接一个1M?的下拉电阻
D-接一个1M?的上拉电阻需要注意的是在EPP套件中是错误的应当以此处说明为准
3.7 挂起脚作为输入也作为输出请解释其状态
挂起脚是一个双向口
作为输入当PDIUSBD12处于挂起模式时内部寄存器不能被访问如果需要对设备进行访问将
PDIUSBD12的挂起脚拉低唤醒设备然后进行访问这是挂起脚如何作为输入用
广州周立功单片机发展有限公司 Tel,(020)38730976 38730977 Fax,38730925 http://www.zlgmcu.com
3
作为输出PDIUSBD12设备还可以如下方式进入挂起主机要求进入挂起状态或者当主机本身处于挂起状态那么USB线处于空闲模式该模式中D+线为高而D-线为低前提是设备已通过D+线的上拉电阻连接到总线此外当设备没有连接时如果D+线为高而D-线为低设备也会进入空闲模式这意味着USB总线上没有活动这种情况下PDIUSBD12检测到连续3次没有帧起始SOF就将挂起脚置高这是挂起脚如何作为输出用
4,时钟
4.1 可实现的时钟输出频率有哪些
时钟输出频率可使用设置模式命令(0xF3)通过时钟分频系数寄存器进行设置
时钟输出频率的计算公式如下
CLKOUT 48/(N+1)MHz,此处N为时钟分频系数
N时钟分频系数 CLKOUT
0x00 48MHz(PDIUSBD12的最大时钟频率)
0x01 24MHz
0x02 16 MHz
0x23 12 MHz
0x04 9.6 MHz
..,,
0x0A 4.36 MHz
0x0B 4MHz(上电值默认CLKOUT频率最小时钟频率)
4.2 挂起状态的CLKOUT频率是多少
参见挂起章节
4.3 CLKOUT的启动时间是多少
CLKOUT频率来自振荡器XTAL1 XTAL2脚CLKOUT的启动时间取决于晶振的启动时间经过测量典型值小于2ms由于一些MCU例如8051系列采用同步复位复位电路必须设计成2ms有效以确保正确的复位
4.4 PDIUSBD12晶振电路所用的无源元件是什么
减小C2 22pF可以加快时钟的启动但是会增加不稳定性使用两个22pF到68pF的电容
4.5 输入XTAL1脚的时钟Vpeak-to-peak值是多少
时钟电压只能取峰峰值3.3V是因为内部振荡器的核心电压是3.3V因此要使用5V的外部振荡器需要在XTAL1脚上接一个1K的电阻
5,接口
5.1 在并口上可实现的最大传输速率是多少
两个连续读或写阶段之间最小的延时是500ns RD_N和WR_N对每个单独的读/写至少要保持20ns
低电平这在DMA模式和非DMA模式中都有效的
并行接口上的传输速率应当比一个普通微控制器的传输速率大得多
对于一个符合T
WL
Wr_N低脉冲宽度和T
RL
Rd_N低脉冲宽度的高速RISC或微控制器必须小心以确保500ns的T
WC
写周期时间可以在固件中两个连续读/写之间加入NOP延时来实现
5.2 当数据从主机发送到器件时DMA是怎样工作的
当PDIUSBD12设置为DMA模式时从端点2接收一个满数据包后DMReq被激活以允许DMA控制器从PDIUSBD12内部缓冲区收取数据PDIUSBD12的Read_N由DMA控制器进行激活PDIUSBD12
广州周立功单片机发展有限公司 Tel,(020)38730976 38730977 Fax,38730925 http://www.zlgmcu.com
4
没有内部缓冲区可以用来记录通过DMA传输的字节数
5.3 当数据从器件发送到主机时DMA是怎样工作的
当PDIUSBD12设置为DMA模式时有两种情况会在IN标志出现时从器件向主机传送数据
当端点2的内部数据缓冲区(64字节)已满或者EOT_N信号在DMA所传输的上一个包时被激活
当内部缓冲区为空且DMA使能寄存器已设置时DMReq被激活当有WR_N信号且DMACK_N和
DMREQ都有效时数据送往内部缓冲区
当数据计数为零时由外部DMA控制器产生EOT_N信号这种情况如果没有出现EOT_N信号推荐由外部计数器在上一个包产生EOT_N
5.4 突发DMA模式和单DMA传输模式的区别是什么
DMREQ和DMACK_N在单个和突发模式中的状态是不同的PDIUSBD12的器件手册中给出了一个关于单个和突发模式的图表
在单DMA传输模式中DMREQ在每个RD_N或WR_N选通信号时被激活因此传输的字节数可通过DMREQ的下降沿进行计数
在突发DMA模式中DMREQ通过脉冲串长度被激活此长度由设置DMA命令0xFB给出的DMA突发信息定义
DMA控制字节
位1 位0
备注
0 0 单DMA传输模式
0 1 突发DMA模式在被EOT_N终止之前每个DMREQ激活时传输4个字节数据
1 0 突发DMA模式在被EOT_N终止之前每个DMREQ激活时传输8个字节数据
1 1 突发DMA模式在被EOT_N终止之前每个DMREQ激活时传输16个字节数据
5.5 DMA时序
名称 最小 最大 单位
tSHAH 130 ns
tRHSH 120 ns
tAHRH 330 ns
tEL 10 ns
5.6 PDIUSBD12采用5V还是3.3V输入电压
PDIUSBD12既可以使用5V也可以使用3.3V输入电压要使器件工作在5V将5V只接到Vcc脚而将Vout3.3脚空出接去耦电容要使器件工作在3.3V将3.3V电压同时接到Vcc和Vout3.3脚
5.7 输出电压的漂移是多少
DREQ
DACK_N
RD_NVWR_N
tRHSH
tSHAH
tAHRH
tEL
EOT_N
广州周立功单片机发展有限公司 Tel,(020)38730976 38730977 Fax,38730925 http://www.zlgmcu.com
5
PDIUSBD12有两个典型的输出类型开漏输出和正常驱动输出它们分别的驱动能力见器件手册开漏输出的电压漂移取决于所接的上拉电阻对于其它的输出脚见下表
PDIUSBD12采用5V供电
管脚名称 类型 描述 电压漂移
数据<0..7> IO2 输入/输出驱动能力为2mA 5V
挂起 OD4 开漏灌电流能力4mA 取决于上拉电阻
CLKOUT O2 输出驱动能力2mA 5V
INT_N OD4 开漏灌电流能力4mA 取决于上拉电阻
GL_N OD8开漏灌电流能力8mA NA
DMREQ O4 输出驱动能力4mA 5V
PDIUSBD12采用3.3V供电
管脚名称 类型 描述 电压漂移
数据<0..7> IO2 输入/输出驱动能力为2mA 3.3V
挂起 OD4 开漏灌电流能力4mA 取决于上拉电阻
CLKOUT O2 输出驱动能力2mA 3.3V
INT_N OD4 开漏灌电流能力4mA 取决于上拉电阻
GL_N OD8开漏灌电流能力8mA NA
DMREQ O4 输出驱动能力4mA 3.3V
注当PDIUSBD12的Vcc采用3.3V供电时内部电压调整器关闭所有的电压调整都得由外部完成因此Vcc和Vout3.3都应当接3.3V电压源
5.8 可以用Vout3.3来驱动其它部分的电路吗
Vout3.3脚提供1.5K电阻的上拉电压但是用户也可以选择使用内部SoftConnect电阻不建议将
Vout3.3脚与该电阻分离
5.9 CS_N和DACK_N可以同时有效吗
当DACK_N有效时在DMA中用户不应通过激活CS_N进行读/写
5.10 对PDIUSBD12应当使用电平触发还是边沿触发
只要中断寄存器非零PDIUSBD12的中断脚就保持低因此MCU应当配置为电平触发中断
5.11 EOT_N应当怎样配置以实现Vbus检测功能
在一个自供电系统中当移去USB的连接时将不会对MCU发出任何指示为了检测这种情况
EOT_N具有双重功能以检测Vbus Vbus是USB连接器的5V供电脚是否存在这样EOT_N通过一个1K的电阻连到Vbus可能需要一个1M的放电电阻用来减弱充电以确保当Vbus移开时EOT_N变为低
当设备处于自供电模式中且主机关闭时即使连接了USB电缆设备仍将检查到Vbus不可用通过
EOT_N脚并关闭SOFTCONNECT电阻这确保了PDIUSBD12断开连接并不再向D+进行不必要的供电
5.12 怎样使用PDIUSBD12的ALE脚
当D12的ALE连到MCU的ALE且数据地址总线复用时该脚通过内部逻辑产生选通信号以区别并行总线上的是命令还是数据因此与PDIUSBD12的通信采用这样的方式一个偶数地址表示送往D12
的是读/写数据一个奇数地址表示往D12 CS_N在正常数据通信时必须拉低写入一个命令
在这种情况下没有用到A0应将其接高电平
5.13 PDIUSBD12的CS_N脚是否可以一直接地
广州周立功单片机发展有限公司 Tel,(020)38730976 38730977 Fax,38730925 http://www.zlgmcu.com
6
PDIUSBD12可以像其它任何基于MCU的器件一样进行处理连接CS_N可以使PDIUSBD12与其它设备共享系统总线在某些情况下CS_N可以一直接地例如当D12是系统总线上的唯一器件如果系统总线是共享的而CS_N接地那么需要增加额外的电路通过RD_N/WR_N将PDIUSBD12与其它信号源隔开
例如要将MC68331与PDIUSBD12连接CS输出的Trhch/Twhch时序需要延时以符合D12的时序在这种情况下CS_N可以接地而RD_N/WR_N可满足需要为了与共享总线的其它设备隔离开在
RD_N/WR_N上实现与D12的连接逻辑
6,PDIUSBD12的编程
6.1 什么是SoftConnect
位于地址0xF3的SetMode寄存器有一个位直接和D+USB线的上拉电阻相关当该位为1时表示上拉电阻使能这样一个主机/集线器将会检测到有物件插入即使是在命令发布之前已经连接好的
使用SoftConnect的优点在于它允许MCU在向主机通知其存在之前首先完成其初始化程序这对于总线供电的设备尤其有价值因为5V电源在枚举之前需要稳定下来
为了强制主机重新枚举MCU应当通过将SetMode SoftConnect位置0重新初始化SoftConnect这样主机被强制重新装载主机设备驱动器这就使设备初始化升级而不需要将USB电缆断开和连接
6.2 设置地址/使能和SoftConnect有什么区别
设置地址/使能要求使能SIE以响应直接对预设地址的USB请求如果没有使能PDIUSBD12将不会产生ACK或NAK标志即使该请求直接指向它预设的地址
6.3 DMA寄存器应当如何配置
在上电时DMA寄存器可以用于检测读/写错误它是唯一可以进行读和写的寄存器用户需要注意的是在上电时自动重装位不会设置DMA使能位置位不会将DMA_Req脚置高
DMA寄存器在总线复位后会被清零因此DMA的初始化设定会丢失建议仅在设备配置后将DMA
寄存器设为所需要的值
7,其它
7.1 什么是双缓冲
当内部缓冲区被MCU或DMA控制器读/写时端点2上的双缓冲允许数据在USB总线上吞吐由于主机在装入或取出下一个包之前不需要等待内部缓冲区清零或装满这样就增加了整体的数据吞吐量
当数据从USB设备取出送到主机时从MCU填充的缓冲区到USB端的发送缓冲区所完成的切换对
MCU是透明的MCU不需要跟踪使用的是哪一个缓冲区因为它总是使用同一个寄存器对IN缓冲区进行访问
当USB设备接收来自主机的数据时从MCU读出的缓冲区到USB端的接收缓冲区所完成的切换对
MCU是透明的MCU不需要跟踪使用的是哪一个缓冲区因为它总是使用同一个寄存器对OUT缓冲区进行访问
7.2 PDIUSBD12内部缓冲区的大小是多少
用于USB传输的整个内部缓冲区的字节数是320
总字节数 端点0 端点1 端点2
320 = 16(IN)+16(OUT) + 16(IN)+16(OUT) + [64(IN)+64(OUT)]×2(双缓冲)
7.3 对于EMI问题应当注意些什么
EMI是一个非常大的课题无法一言以蔽之通常情况下在USB连接器输入侧的Vbus和地线上增加磁珠可选择的型号有BLM32A07
广州周立功单片机发展有限公司 Tel,(020)38730976 38730977 Fax,38730925 http://www.zlgmcu.com
7
推荐在USB屏蔽罩与地之间使用容性耦合
7.4 用于GoodLink LED GL_N的电阻值应选多大
这取决于用户想让LED所达到的亮度和LED的亮度/电流额定值从100到1K之间的任何值通常都是可行的评估套件推荐使用的值是470欧
7.5 什么是厂商ID和产品ID
厂商ID用来识别USB产品的制造商在Windows 98下它用于装载包含制造商和器件驱动器信息的INF文件
厂商ID可通过USB_IF进行注册来获得详情请访问网站WWW.USB.ORG Philips半导体的厂商ID
VID是0471产品ID PID对每个USB产品都是唯一的
改变固件上的描述符就可设置VID和PID
7.6 为什么PDIUSBD12在6MHz晶振基础上运行
采用6MHz晶振降低了产品制程中产生EMI的风险
7.7 为什么Philips的测试应用程序D12Test.exe报告了一个变化的数据传输速率
实时传输速率是以每16K字节的数据块来计算的实际使用的计算公式如下
传输速率字节/秒16×1024/所耗时间秒
此处所耗时间是完成时间减去初始化时间.Windows 98 操作系统在所耗时间上提供1ms的分辨率此外还有因为系统从用户模式到内核模式所产生的随机额外开销总之大约有2ms时间会使传输速率有
20%的变化不管报告的传输速率是多少经常出现的情况是主机是瓶颈可以使用主机所提供的CATC
分析器进行验证
7.8 同步和批量管道的分配有什么区别
同步管道保证了带宽而不管数据的完整性批量管道保证了数据的完整性但传输遵循先请求先分配的原则因此在繁忙的USB通信中批量管道可能会出现等待
7.9 PDIUSBD12演示板上附加的1M?漏电阻对信号的质量是否有影响
USB物理层上的所有信号都设计成单端终止在任意时刻只能有一个发送器和接收器发送器或驱动器需要具有28?到44?的输出阻抗在接收端接收器必须具有大于300Κ?不包括终端的输入阻抗
当PDIUSBD12处于驱动状态时输出阻抗介于29?到44?之间有效阻抗包括了D+上并接的1.5Κ
电阻并接的1M?电阻并不会对驱动阻抗产生太大影响
处于接收状态时整个阻抗即使在接有1MW漏电阻时仍然大于300K?
7.10 D+/D-线上的匹配电阻应当取多大
在D+/D-线上串接18?电阻
PDIUSBD12
18 Ohms
18 Ohms
D+
D-
1
PDIUSBD12常见问题解答
1,普通产品信息
1.1 PDIUSBD11和PDIUSBD12之间的区别是什么
PDIUSBD11为MCU提供了I
2
C接口I2C接口的最高速度可达1Mbit/sec PDIUSBD11共有4个端点包括默认的端点0每个端点都是双向带8字节缓冲区8字节的缓冲区和I
2
C的连接使它适用于不限定例如多功能键盘高级操纵杆力反馈监视器控制和其它基于HID的系统
PDIUSBD12为MCU提供一个通用的并行接口可以实现更快的高达2Mbit/sec的访问速度
PDIUSBD12包含默认端点0在内共有3个双向端点端点0和1缓冲区的大小为16字节端点2为双缓冲64字节双向模式端点还可配置工作在仅为IN或仅为OUT模式此外端点2可用于同步批量或中断操作D12适用于扫描仪打印机数码相机调制解调器和电话
1.2 PDIUSBD12消耗的电流为多大
在正常的操作中PDIUSBD12消耗15mA电流挂起模式下PDIUSBD12关闭不必要的模块使得挂起时的操作电流仅为15uA这对于总线供电的系统尤其重要因为USB规范要求挂起电流不能大于500uA
还可参阅3.1
1.3 PDIUSBD12兼容USB规范1.0还是1.1版
USB规范1.1版发布于1998年9月23号正如意料中的USB规范1.1仅对USB1.0作出解释其中包括了大量有关协议层时序的信息这可能影响到MCU的固件但不会影响到D12对1.1版规范的兼容所有的物理层都重新检测过以确保对USB1.1版的兼容
2 关于上电
2.1 上电时挂起输出状态是什么
在PDIUSBD12上电后挂起引脚为低
2.2 上电时的默认时钟输出频率是多少
默认输出频率是4MHz
2.3 上电复位
2.31 PDIUSBD12提供的上电复位是怎样的
PDIUSBD12具有内置的上电复位电路所以RESET_N脚可直接连到Vcc但是在例如PDA和数码相机这样的应用中设备由电池供电PDIUSBD12即使在不用的时候也是打开的在操作或存储时可能产生的静电放电ESD可以导致PDIUSBD12进入不确定的状态为了避免这种情况出现建议使用外部控制源例如微控制器或微处理器提供PDIUSBD12的复位信号而不是将RESET_N脚直接连到Vcc
另外有个好处就是复位变得较为容易例如在PDA中的PDIUSBD12在数据传输请求时可随时复位
2.32 PDIUSBD12的复位脉宽是多少
复位后等待至少3ms再对PDIUSBD12寄存器进行访问这将使晶振有足够的时间稳定下来
3,挂起
3.1 PDIUSBD11挂起电流的额定值是多少
USB规范要求总线供电设备在挂起模式下的电流小于500uA为了符合这个严格的要求PDIUSBD12
广州周立功单片机发展有限公司 Tel,(020)38730976 38730977 Fax,38730925 http://www.zlgmcu.com
2
在挂起模式下关闭了不必要的内部模块这样就显著地降低了额定电流最大仅为15uA这样在一个典型的总线供电系统中就为其它硬件提供了更多的电流余量以满足500uA的要求
此外PDIUSBD12 D12支持远程唤醒外设使用D12同样可以初始化系统的唤醒
注15uA不包括D+线上的强制上拉电阻所消耗的它对整个USB设备增加了200uA的电流因此总体来说使用PDIUSBD12作为USB前端在挂起模式下将会消耗最大为215uA的电流实际的测量值为
202uA
3.2 系统什么时候进入挂起
主机要求进入挂起状态或者当主机本身处于挂起状态那么USB线处于空闲模式该模式中D+线为高而D-线为低前提是设备已通过D+线的上拉电阻连接到总线
此外当设备没有连接时如果D+线为高而D-线为低设备也会进入空闲模式这意味着USB总线上没有活动这种情况下PDIUSBD12检测到连续3次没有帧起始SOF就将挂起脚置高在中断寄存器中对应的挂起位也将置位
3.3 系统怎样退出挂起
有两种方法使USB设备退出挂起主机初始化或设备初始化
主机初始化
当主机从挂起状态恢复时USB通信通过每个毫秒的SOF重新激活PDIUSBD12的中断线变成低有效以指示挂起的状况已经有了改变这可以用来对MCU产生一个唤醒信号
设备初始化
要使用PDIUSBD12唤醒系统可以使用发送恢复命令这将触发D+/D-线向主机发送一个恢复信号
3.4 在挂起状态下Vout3.3的输出是多少
挂起状态下V
out3.3
的值降到2.0V但是它仍然有10mA的驱动能力
3.5 在挂起状态下CLKOUT的频率是多少
输出时钟是通过配置字节的配置决定的可使用设置模式命令0xF3写入
配置字节
No Lazy Clock 时钟运行
CLKOUT
0 0 CLKOUT在挂起时切换到Lazy Clock输出频率从18KHz
到48KHz PLL时钟关闭以降低电流消耗
1 0 CLKOUT在挂起时切换到Lazy Clock输出频率从18KHz
到48KHz PLL时钟仍然打开
0 1 该配置下挂起状态不影响CLKOUT的频率
1 1 挂起时CLKOUT停止
3.6 为什么在USB-EPP演示套件中需要1M?的电阻
在自供电系统中当USB电缆断开与主机的连接时D+和D-分别为悬浮状态在噪声环境下例如在扫描仪中有许多高电流的元件D+和D-的状态可能由于感应噪声而发生变化SIE有时会误以为是主机产生的恢复信号从而使PDIUSBD12错误的退出挂起状态将D+接一个1M?的下拉电阻
D-接一个1M?的上拉电阻需要注意的是在EPP套件中是错误的应当以此处说明为准
3.7 挂起脚作为输入也作为输出请解释其状态
挂起脚是一个双向口
作为输入当PDIUSBD12处于挂起模式时内部寄存器不能被访问如果需要对设备进行访问将
PDIUSBD12的挂起脚拉低唤醒设备然后进行访问这是挂起脚如何作为输入用
广州周立功单片机发展有限公司 Tel,(020)38730976 38730977 Fax,38730925 http://www.zlgmcu.com
3
作为输出PDIUSBD12设备还可以如下方式进入挂起主机要求进入挂起状态或者当主机本身处于挂起状态那么USB线处于空闲模式该模式中D+线为高而D-线为低前提是设备已通过D+线的上拉电阻连接到总线此外当设备没有连接时如果D+线为高而D-线为低设备也会进入空闲模式这意味着USB总线上没有活动这种情况下PDIUSBD12检测到连续3次没有帧起始SOF就将挂起脚置高这是挂起脚如何作为输出用
4,时钟
4.1 可实现的时钟输出频率有哪些
时钟输出频率可使用设置模式命令(0xF3)通过时钟分频系数寄存器进行设置
时钟输出频率的计算公式如下
CLKOUT 48/(N+1)MHz,此处N为时钟分频系数
N时钟分频系数 CLKOUT
0x00 48MHz(PDIUSBD12的最大时钟频率)
0x01 24MHz
0x02 16 MHz
0x23 12 MHz
0x04 9.6 MHz
..,,
0x0A 4.36 MHz
0x0B 4MHz(上电值默认CLKOUT频率最小时钟频率)
4.2 挂起状态的CLKOUT频率是多少
参见挂起章节
4.3 CLKOUT的启动时间是多少
CLKOUT频率来自振荡器XTAL1 XTAL2脚CLKOUT的启动时间取决于晶振的启动时间经过测量典型值小于2ms由于一些MCU例如8051系列采用同步复位复位电路必须设计成2ms有效以确保正确的复位
4.4 PDIUSBD12晶振电路所用的无源元件是什么
减小C2 22pF可以加快时钟的启动但是会增加不稳定性使用两个22pF到68pF的电容
4.5 输入XTAL1脚的时钟Vpeak-to-peak值是多少
时钟电压只能取峰峰值3.3V是因为内部振荡器的核心电压是3.3V因此要使用5V的外部振荡器需要在XTAL1脚上接一个1K的电阻
5,接口
5.1 在并口上可实现的最大传输速率是多少
两个连续读或写阶段之间最小的延时是500ns RD_N和WR_N对每个单独的读/写至少要保持20ns
低电平这在DMA模式和非DMA模式中都有效的
并行接口上的传输速率应当比一个普通微控制器的传输速率大得多
对于一个符合T
WL
Wr_N低脉冲宽度和T
RL
Rd_N低脉冲宽度的高速RISC或微控制器必须小心以确保500ns的T
WC
写周期时间可以在固件中两个连续读/写之间加入NOP延时来实现
5.2 当数据从主机发送到器件时DMA是怎样工作的
当PDIUSBD12设置为DMA模式时从端点2接收一个满数据包后DMReq被激活以允许DMA控制器从PDIUSBD12内部缓冲区收取数据PDIUSBD12的Read_N由DMA控制器进行激活PDIUSBD12
广州周立功单片机发展有限公司 Tel,(020)38730976 38730977 Fax,38730925 http://www.zlgmcu.com
4
没有内部缓冲区可以用来记录通过DMA传输的字节数
5.3 当数据从器件发送到主机时DMA是怎样工作的
当PDIUSBD12设置为DMA模式时有两种情况会在IN标志出现时从器件向主机传送数据
当端点2的内部数据缓冲区(64字节)已满或者EOT_N信号在DMA所传输的上一个包时被激活
当内部缓冲区为空且DMA使能寄存器已设置时DMReq被激活当有WR_N信号且DMACK_N和
DMREQ都有效时数据送往内部缓冲区
当数据计数为零时由外部DMA控制器产生EOT_N信号这种情况如果没有出现EOT_N信号推荐由外部计数器在上一个包产生EOT_N
5.4 突发DMA模式和单DMA传输模式的区别是什么
DMREQ和DMACK_N在单个和突发模式中的状态是不同的PDIUSBD12的器件手册中给出了一个关于单个和突发模式的图表
在单DMA传输模式中DMREQ在每个RD_N或WR_N选通信号时被激活因此传输的字节数可通过DMREQ的下降沿进行计数
在突发DMA模式中DMREQ通过脉冲串长度被激活此长度由设置DMA命令0xFB给出的DMA突发信息定义
DMA控制字节
位1 位0
备注
0 0 单DMA传输模式
0 1 突发DMA模式在被EOT_N终止之前每个DMREQ激活时传输4个字节数据
1 0 突发DMA模式在被EOT_N终止之前每个DMREQ激活时传输8个字节数据
1 1 突发DMA模式在被EOT_N终止之前每个DMREQ激活时传输16个字节数据
5.5 DMA时序
名称 最小 最大 单位
tSHAH 130 ns
tRHSH 120 ns
tAHRH 330 ns
tEL 10 ns
5.6 PDIUSBD12采用5V还是3.3V输入电压
PDIUSBD12既可以使用5V也可以使用3.3V输入电压要使器件工作在5V将5V只接到Vcc脚而将Vout3.3脚空出接去耦电容要使器件工作在3.3V将3.3V电压同时接到Vcc和Vout3.3脚
5.7 输出电压的漂移是多少
DREQ
DACK_N
RD_NVWR_N
tRHSH
tSHAH
tAHRH
tEL
EOT_N
广州周立功单片机发展有限公司 Tel,(020)38730976 38730977 Fax,38730925 http://www.zlgmcu.com
5
PDIUSBD12有两个典型的输出类型开漏输出和正常驱动输出它们分别的驱动能力见器件手册开漏输出的电压漂移取决于所接的上拉电阻对于其它的输出脚见下表
PDIUSBD12采用5V供电
管脚名称 类型 描述 电压漂移
数据<0..7> IO2 输入/输出驱动能力为2mA 5V
挂起 OD4 开漏灌电流能力4mA 取决于上拉电阻
CLKOUT O2 输出驱动能力2mA 5V
INT_N OD4 开漏灌电流能力4mA 取决于上拉电阻
GL_N OD8开漏灌电流能力8mA NA
DMREQ O4 输出驱动能力4mA 5V
PDIUSBD12采用3.3V供电
管脚名称 类型 描述 电压漂移
数据<0..7> IO2 输入/输出驱动能力为2mA 3.3V
挂起 OD4 开漏灌电流能力4mA 取决于上拉电阻
CLKOUT O2 输出驱动能力2mA 3.3V
INT_N OD4 开漏灌电流能力4mA 取决于上拉电阻
GL_N OD8开漏灌电流能力8mA NA
DMREQ O4 输出驱动能力4mA 3.3V
注当PDIUSBD12的Vcc采用3.3V供电时内部电压调整器关闭所有的电压调整都得由外部完成因此Vcc和Vout3.3都应当接3.3V电压源
5.8 可以用Vout3.3来驱动其它部分的电路吗
Vout3.3脚提供1.5K电阻的上拉电压但是用户也可以选择使用内部SoftConnect电阻不建议将
Vout3.3脚与该电阻分离
5.9 CS_N和DACK_N可以同时有效吗
当DACK_N有效时在DMA中用户不应通过激活CS_N进行读/写
5.10 对PDIUSBD12应当使用电平触发还是边沿触发
只要中断寄存器非零PDIUSBD12的中断脚就保持低因此MCU应当配置为电平触发中断
5.11 EOT_N应当怎样配置以实现Vbus检测功能
在一个自供电系统中当移去USB的连接时将不会对MCU发出任何指示为了检测这种情况
EOT_N具有双重功能以检测Vbus Vbus是USB连接器的5V供电脚是否存在这样EOT_N通过一个1K的电阻连到Vbus可能需要一个1M的放电电阻用来减弱充电以确保当Vbus移开时EOT_N变为低
当设备处于自供电模式中且主机关闭时即使连接了USB电缆设备仍将检查到Vbus不可用通过
EOT_N脚并关闭SOFTCONNECT电阻这确保了PDIUSBD12断开连接并不再向D+进行不必要的供电
5.12 怎样使用PDIUSBD12的ALE脚
当D12的ALE连到MCU的ALE且数据地址总线复用时该脚通过内部逻辑产生选通信号以区别并行总线上的是命令还是数据因此与PDIUSBD12的通信采用这样的方式一个偶数地址表示送往D12
的是读/写数据一个奇数地址表示往D12 CS_N在正常数据通信时必须拉低写入一个命令
在这种情况下没有用到A0应将其接高电平
5.13 PDIUSBD12的CS_N脚是否可以一直接地
广州周立功单片机发展有限公司 Tel,(020)38730976 38730977 Fax,38730925 http://www.zlgmcu.com
6
PDIUSBD12可以像其它任何基于MCU的器件一样进行处理连接CS_N可以使PDIUSBD12与其它设备共享系统总线在某些情况下CS_N可以一直接地例如当D12是系统总线上的唯一器件如果系统总线是共享的而CS_N接地那么需要增加额外的电路通过RD_N/WR_N将PDIUSBD12与其它信号源隔开
例如要将MC68331与PDIUSBD12连接CS输出的Trhch/Twhch时序需要延时以符合D12的时序在这种情况下CS_N可以接地而RD_N/WR_N可满足需要为了与共享总线的其它设备隔离开在
RD_N/WR_N上实现与D12的连接逻辑
6,PDIUSBD12的编程
6.1 什么是SoftConnect
位于地址0xF3的SetMode寄存器有一个位直接和D+USB线的上拉电阻相关当该位为1时表示上拉电阻使能这样一个主机/集线器将会检测到有物件插入即使是在命令发布之前已经连接好的
使用SoftConnect的优点在于它允许MCU在向主机通知其存在之前首先完成其初始化程序这对于总线供电的设备尤其有价值因为5V电源在枚举之前需要稳定下来
为了强制主机重新枚举MCU应当通过将SetMode SoftConnect位置0重新初始化SoftConnect这样主机被强制重新装载主机设备驱动器这就使设备初始化升级而不需要将USB电缆断开和连接
6.2 设置地址/使能和SoftConnect有什么区别
设置地址/使能要求使能SIE以响应直接对预设地址的USB请求如果没有使能PDIUSBD12将不会产生ACK或NAK标志即使该请求直接指向它预设的地址
6.3 DMA寄存器应当如何配置
在上电时DMA寄存器可以用于检测读/写错误它是唯一可以进行读和写的寄存器用户需要注意的是在上电时自动重装位不会设置DMA使能位置位不会将DMA_Req脚置高
DMA寄存器在总线复位后会被清零因此DMA的初始化设定会丢失建议仅在设备配置后将DMA
寄存器设为所需要的值
7,其它
7.1 什么是双缓冲
当内部缓冲区被MCU或DMA控制器读/写时端点2上的双缓冲允许数据在USB总线上吞吐由于主机在装入或取出下一个包之前不需要等待内部缓冲区清零或装满这样就增加了整体的数据吞吐量
当数据从USB设备取出送到主机时从MCU填充的缓冲区到USB端的发送缓冲区所完成的切换对
MCU是透明的MCU不需要跟踪使用的是哪一个缓冲区因为它总是使用同一个寄存器对IN缓冲区进行访问
当USB设备接收来自主机的数据时从MCU读出的缓冲区到USB端的接收缓冲区所完成的切换对
MCU是透明的MCU不需要跟踪使用的是哪一个缓冲区因为它总是使用同一个寄存器对OUT缓冲区进行访问
7.2 PDIUSBD12内部缓冲区的大小是多少
用于USB传输的整个内部缓冲区的字节数是320
总字节数 端点0 端点1 端点2
320 = 16(IN)+16(OUT) + 16(IN)+16(OUT) + [64(IN)+64(OUT)]×2(双缓冲)
7.3 对于EMI问题应当注意些什么
EMI是一个非常大的课题无法一言以蔽之通常情况下在USB连接器输入侧的Vbus和地线上增加磁珠可选择的型号有BLM32A07
广州周立功单片机发展有限公司 Tel,(020)38730976 38730977 Fax,38730925 http://www.zlgmcu.com
7
推荐在USB屏蔽罩与地之间使用容性耦合
7.4 用于GoodLink LED GL_N的电阻值应选多大
这取决于用户想让LED所达到的亮度和LED的亮度/电流额定值从100到1K之间的任何值通常都是可行的评估套件推荐使用的值是470欧
7.5 什么是厂商ID和产品ID
厂商ID用来识别USB产品的制造商在Windows 98下它用于装载包含制造商和器件驱动器信息的INF文件
厂商ID可通过USB_IF进行注册来获得详情请访问网站WWW.USB.ORG Philips半导体的厂商ID
VID是0471产品ID PID对每个USB产品都是唯一的
改变固件上的描述符就可设置VID和PID
7.6 为什么PDIUSBD12在6MHz晶振基础上运行
采用6MHz晶振降低了产品制程中产生EMI的风险
7.7 为什么Philips的测试应用程序D12Test.exe报告了一个变化的数据传输速率
实时传输速率是以每16K字节的数据块来计算的实际使用的计算公式如下
传输速率字节/秒16×1024/所耗时间秒
此处所耗时间是完成时间减去初始化时间.Windows 98 操作系统在所耗时间上提供1ms的分辨率此外还有因为系统从用户模式到内核模式所产生的随机额外开销总之大约有2ms时间会使传输速率有
20%的变化不管报告的传输速率是多少经常出现的情况是主机是瓶颈可以使用主机所提供的CATC
分析器进行验证
7.8 同步和批量管道的分配有什么区别
同步管道保证了带宽而不管数据的完整性批量管道保证了数据的完整性但传输遵循先请求先分配的原则因此在繁忙的USB通信中批量管道可能会出现等待
7.9 PDIUSBD12演示板上附加的1M?漏电阻对信号的质量是否有影响
USB物理层上的所有信号都设计成单端终止在任意时刻只能有一个发送器和接收器发送器或驱动器需要具有28?到44?的输出阻抗在接收端接收器必须具有大于300Κ?不包括终端的输入阻抗
当PDIUSBD12处于驱动状态时输出阻抗介于29?到44?之间有效阻抗包括了D+上并接的1.5Κ
电阻并接的1M?电阻并不会对驱动阻抗产生太大影响
处于接收状态时整个阻抗即使在接有1MW漏电阻时仍然大于300K?
7.10 D+/D-线上的匹配电阻应当取多大
在D+/D-线上串接18?电阻
PDIUSBD12
18 Ohms
18 Ohms
D+
D-