1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
我的第一篇USB日志从硬件下手,至于基本的一些概念当然是要先了解的,但是我以为学习应该以实践为主,以练带学,从中不断积累。所以,在了解了一些基本的USB的概念和PDIUSBD12芯片以后,应该着手实践了。其实如果你不是做USB的芯片开发,对于那一大堆理论也不是必须完全领会的,我也是带着似懂非懂的状态来操控PDIUSBD12的,对于它的一些寄存器的控制是重点,掌握了这个基本算是入了门,至于其它的一些时序上的读写操作什么的我想对于有基础的人不是难点。
先来看一下PDIUSBD12的引脚配置和引脚分配: 圈圈的原理图我就不贴了(不好截图,有点乱,呵呵~~)。D0-D7口接单片机的P0口,因为实验中不使用DMA传输,所以与DMA传输有关的DMREQ,DMACK_N,EOT_N几个引脚被悬空或者接地了。CLKOUT,VOUT3.3和SUSPEND三个引脚由于不使用就悬空或者接地了。GL_N接一个电阻和LED指示灯用于指示通信状态,INT_N接单片机的一个中断口,D+和D-两个差分信号是接标准USB接口的,XTAL1和XTAL2之间接16MHz的晶振,另外VCC,GND自不必说。最后来看下几个可以有不同接法的引脚:ALE,RD_N,WR_N,CS_N,其实这几个引脚的不同接法是普遍性的,也就是说你可以把这几个脚接成单片机时序控制数据地址的读写操作,也可以把PDIUSBD12的寄存器接成单片机的外部RAM,这样对寄存器的寻址就和RAM一样了,可以免去复杂的时序操作。而我们看到圈圈的电路里采用了前者,也就是用时序来读写D12的寄存器,因此它的电路接法是:把ALE接地,CS_N接地(片选有效),WR_N,RD_N接单片机的专用读写口P3.6和P3.7(采用时序读写操作这两个口其实不一定非得接这两个口,接其它任何的IO口也行),所以在程序里面我们会看到有专门的D12寄存器读写子程序。 我们再来讨论一下后者的接法实现,如图: 这种接法是把D12的ALE脚与单片机的ALE脚相接,这是专用的外部RAM扩展,详细的说明(包括RAM扩展接法的寻址和读写)在CAN学习笔记的硬件部分有介绍了。 以上两种寄存器读写方式都是很有代表性的,无所谓谁好谁坏,根据个人习惯吧。其实在RAM寻址空间允许的情况下采用后者还是比较方便的。但是圈圈采用了前者,那么在以后的程序中都以此为基础进行编程。 上面分析了D12的各个管脚的分配情况,有些脚还必须接一定的电阻,如差分信号D+和D-就必须在接1K的电阻后接VCC或者GND。USB标准接口的四个信号口,中间两个就是接差分信号的,而边上两个就是电源信号(从计算机接出的+5V,有时大家在设计时往往利用这个5V做系统电源)。 硬件电路分析到这里大概能对D12有一个初步的掌握了,下一步就应该去熟悉一下D12内部的一些寄存器以及这些寄存器在不同的配置状态下都能实现什么样工作。 |
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2568 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2361 浏览 5 评论
3208 浏览 3 评论
2836 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2787 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
663浏览 1评论
900浏览 0评论
1022浏览 0评论
666浏览 0评论
496浏览 0评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 16:09 , Processed in 1.010668 second(s), Total 46, Slave 40 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号