电子发烧友网 > 接口/总线/驱动 > 正文

专用USB通信控制芯片USBN9604的特点及实现USB接口的软硬件设计

2020年04月09日 09:56 次阅读

1、引言

USB通用串行总线是近年兴起的一种通信方式。USB协议1.1版规定了低速(1.5Mb/s)和全速(12Mb/s)两种速率,目前大部分USB器件支持该协议。2000年USB2.0白皮书出台后,其速度最高可达480Mb/s。该总线是由Compaq、IntelMicrosoft、NEC四公司共同提出,并得到了众多厂商的支持。USB接口具有安装方便、高速、灵活、低成本、易扩展,支持热插拔等优点,已经逐渐成为现代数据传输的发展趋势。

2 、USBN9604

专用USB通信控制芯片USBN9604的特点及实现USB接口的软硬件设计

USBN9604是NatiONalSemiconductor公司设计生产的一款较新型的专用USB通信控制芯片,是US-BN9602的改进产品,同时在时钟产生电路的复位机制上又较USBN9603有所改进。USBN9604支持全速传输,可满足USBl.0和1.1协议。它具有8位并行接口,可支持DMA、MICROWIRE/PLUS。图1是US-BN9604的结构框图。其主要特点如下:

工作频率为48MHz,但外部只需接24MHz晶振,因为芯片内部有倍频电路,因而可得到48MHz时钟。

可由编程时钟发生器编程产生不同的频率时钟,以作为外部器件(如CPU)的时钟信号。

带有串行引擎接口(SⅢ),可实现USB物理层和信号层协议的转换,主要有CRC校验/产生、PID校验/产生、位填充/解除填充、地址识别、握手评估/产生、并串转换等。

带有7个端点的USB功能控制器,每个端点对应一个FIFO。其中端点0是双向控制端点(FIFO 8字节深),另有3个发送端点:EPl(16)、EP3(16)和EP5(64)以及3个接收端点EP2(16)、EP4(16)和EP6(64)。

USBN9604内部有64个映射到内存的寄存器,主要有主控制寄存器(MCNTRL)、时钟配置寄存器(CCONF)、主事件寄存器(MAEV)、转换事件寄存器ALteV)、接收发送事件寄存器(RXEV、TXEV)以及各端点的控制寄存器和收发数据及状态寄存器等。固件的大部分功能就是完成对此寄存器组的读写,实现对接口的配置、接口状态的转换以及数据在外设和计算机之间的传输等。

3、 USB接口的硬件实现

51单片机与USBN9604的并行连接有两种方式,即非复用方式和复用方式。它们可通过设置引脚MODE0、MODEl来选择。在非复用方式时,可用控制引脚CS、RD、WR、地址引脚A0和双向数据线D[7:0]实现相应的地址读写。而在复用方式时,则使用控制引脚CS、RD、WR、地址存信号ALE和双向数据线D[7:01实现其地址读写。本设计采用复用方式进行数据交换。

图2所示是89C51单片机和USBN9604的接口电路,该电路由一片89C51单片机、USBN9604、时钟振荡电路以及相应的外围电路组成。其中USBN9604通过外部中断INT0与89C51单片机进行通信。

4 、USB接口的软件实现

设备固件是设备运行的核心,可采用C语言设计。其主要功能是控制USBN9604接受并处理USB驱动程序的请求(如各种标准请求)、接收/_k传数据。当主程序完成CPU和USBN9604的初始化后,可用while循环等待外部中断。中断处理程序可在给出中断人口后跳出中断。所有的USB事物处理都在函数USB-ISR中完成。图3所示是USB-ISR程序框图。在USB-ISR中,通过程序可读取USBN9604中的主事件寄存器(MAEV),并判断中断原因,包括收发事件的发生、总线状态的改变以及握手信号的产生等,同时可根据不同原因进入相应函数。另外也可通过函数具体实现各种USB标准的请求、端点0的接收和发送以及其它端点的收发和总线状态的改变等。

5、 设备驱动程序

目前较流行的驱动程序编写软件主要有DDK、VtoolsD和WinDriver等,其中WinDfiver相对比较简单,并可满足开发USB驱动的需要。利用它开发设备驱动程序不需要熟悉操作系统的内核,同时整个驱动程序中的所有函数都工作在用户模式下,因而可通过与WinDriver的.Vxd或.Sys文件交互达到驱动硬件的目的。

5.1WinDriver的主要特征

WinDriver编程软件具有以下特点:

提供有从用户层直接访问硬件的方法;

无需DDK以及核心态驱动程序的开发经验;

支持I/O、DMA、中断处理,同时支持PCI、ISA、USB、PCMCIA的开发;

对于性能要求特别苛刻的部分,WinDriver提供的APl可插入到核心态模式中运行,从而提高执行效率;

可利用常见的软件开发平台(VisualC++、BorlandC++、Delphi等)。

5.2开发步骤

利用WinDriver开发驱动程序有两种方法,分别介绍如下:

第一种是利用WinDriver自带的WinDriverWizard来分析用户开发的插卡,看其能否象设计的那样正常工作,然后自动生成驱动程序的框架代码,接着再修改代码并加入定制功能,同时在用户态执行和调试代码并将性能要求苛刻的部分插入到核心态。

第二种则直接应用WinDriver提供的API函数编写驱动程序,这种方法比用Wizard生成框架代码的方法更加灵活方便。但要求编程人员对驱动程序的框架有一定的了解。

在实验中采用的是第一种方法,实验效果良好。

责任编辑:gt

下载发烧友APP

打造属于您的人脉电子圈

关注电子发烧友微信

有趣有料的资讯及技术干货

关注发烧友课堂

锁定最新课程活动及技术直播

电子发烧友观察

一线报道 · 深度观察 · 最新资讯
收藏 人收藏
分享:

评论

相关推荐

林超文PCB设计项目综合实战_第10课时:布线设计演示:以太网、天线、HDMID、USB

本例详细讲解和演示以太网模块、HDMI、USB、WIFI模块的布线设计。本课程主要讲解:1.以太网模块布线设计2.HDM
发烧友学院发表于 2018-01-03 00:00 1586次阅读
林超文PCB设计项目综合实战_第10课时:布线设计演示:以太网、天线、HDMID、USB

粤芯半导体首季度销售高出预期25% 发挥龙头带动...

被称为“广州第一芯”的粤芯半导体,拥有广州市第一条、广东省唯一一条量产的12英寸芯片生产线。面对疫情....
发表于 2020-04-09 10:07 0次阅读
粤芯半导体首季度销售高出预期25% 发挥龙头带动...

基于通用PCI接口功能芯片和热插拔控制器实现CP...

CPCI总线是一个开放式、国际性技术标准,由PCI总线工业计算机制造商组织PICMG(PCI Ind....
发表于 2020-04-09 10:05 0次阅读
基于通用PCI接口功能芯片和热插拔控制器实现CP...

接口芯片PDIUSBDl2的性能特点及实现USB...

Philps公司生产的型号为PDIUSBDl2的接口芯片是一个具有集成的SIE,FIFO存储器、发送....
发表于 2020-04-09 09:50 15次阅读
接口芯片PDIUSBDl2的性能特点及实现USB...

用户线接口芯片Am79R70的内部、引脚功能及在...

Am79R70是Legerity公司生产的一种功能较强的用户线接口芯片,它除了具有国际电信联盟组织C....
发表于 2020-04-09 09:36 17次阅读
用户线接口芯片Am79R70的内部、引脚功能及在...

基于TMS320VC5410 DSP的PCI语音...

CTI(Computer Telephone Integration)即计算机电话集成技术已经发展了....
发表于 2020-04-09 09:21 67次阅读
基于TMS320VC5410 DSP的PCI语音...

TMS320C54XX DSP和USB接口芯片A...

通用串行总线USB(Universal Serial Bus)应用由三部分组成:具有USB接口的PC....
发表于 2020-04-09 09:14 17次阅读
TMS320C54XX DSP和USB接口芯片A...

超大规模的技术革命,从半导体工业开始

与微处理器芯片并行发展的是半导体存贮器。1K位动态随机在贮器最出现于1970。所谓1K位就是1024....
发表于 2020-04-08 19:31 174次阅读
超大规模的技术革命,从半导体工业开始

LED驱动芯片有哪一些调试技术

变压器饱和时,L会变小,导致传输delay引起的峰值电流增量急剧上升,那么LED的峰值电流也跟着增加....
发表于 2020-04-08 17:34 31次阅读
LED驱动芯片有哪一些调试技术

LED照明散热技术发展的怎么样

在使用LED照明过程中,与使用传统照明方式一样,需要将电能转换为光能。
发表于 2020-04-08 17:03 24次阅读
LED照明散热技术发展的怎么样

神经拟态芯片掌握多种气味神经表征

除了会看会听,还会“闻”。近日,一直致力于模仿人类五感的人工智能又有新突破,通过神经拟态芯片,人工智....
发表于 2020-04-08 16:45 261次阅读
神经拟态芯片掌握多种气味神经表征

恒玄科技即将冲刺科创板 有望为其进一步扩大市占率...

4月7日,上海证监局披露了中信建投证券股份有限公司(以下简称“中信建投”)关于恒玄科技(上海)股份有....
发表于 2020-04-08 16:33 260次阅读
恒玄科技即将冲刺科创板 有望为其进一步扩大市占率...

每一块芯片都有一个唯一ID吗

每块芯片都有唯一id吗,不是指CPU型号
发表于 2020-04-08 16:21 183次阅读
每一块芯片都有一个唯一ID吗

华为首席技术官:美国限制华为采购全球芯片是不幸的

据路透社报道,当地时间周二,华为网络业务首席技术官保罗•斯坎伦(Paul Scanlan)表示,美国....
发表于 2020-04-08 16:14 277次阅读
华为首席技术官:美国限制华为采购全球芯片是不幸的

在硅基集成光量子芯片上实现高维量子纠缠,干涉可见...

近日,南京大学物理学院马小松教授团队在Nature合作期刊npj Quantum Informati....
发表于 2020-04-08 14:58 108次阅读
在硅基集成光量子芯片上实现高维量子纠缠,干涉可见...

国内5G手机厂商开始寻求国产化替代方案 高端进口...

中国是全球最大的电子信息产品和零部件生产国,每年生产全球70%的智能手机、80%的电脑、50%以上的....
发表于 2020-04-08 10:53 196次阅读
国内5G手机厂商开始寻求国产化替代方案 高端进口...

有关PIC12F1572的DAC输出电阻的问题

你好,我想用PIC12F1572来产生1.6V的模拟电路,使用集成DAC。我想把内部电压基准FVR_buffer2设置为2.048V...
发表于 2020-04-08 10:43 29次阅读
有关PIC12F1572的DAC输出电阻的问题

如何使用pic32mx550f256l微控制器产生usb通信和从usb读取数据的协调性

如何使用pic32mx550f256l微控制器产生usb通信和从usb读取数据的协调性,任何人都可以对此有所帮助...
发表于 2020-04-08 10:41 52次阅读
如何使用pic32mx550f256l微控制器产生usb通信和从usb读取数据的协调性

BM64的EVB开发板不能连接使用UART引脚在J6

我有一个BM64的EVB开发板。我能够使用USB端口通信,但我不能连接使用UART引脚在J6。我想知道USB电路是...
发表于 2020-04-08 10:29 27次阅读
BM64的EVB开发板不能连接使用UART引脚在J6

A/D芯片与神经元芯片的两种接口实现方法

在传统的工业控制中,现场的传感器与控制器之间总是以4~20mA的直流电流或1-5V的直流电压来传递信....
发表于 2020-04-08 10:15 70次阅读
A/D芯片与神经元芯片的两种接口实现方法

采用通用串行总线USB技术的高速数据采集卡的设计...

USB是英文Universal Serial Bus的缩写,中文含义是“通用串行总线”。它支持在主机....
发表于 2020-04-08 09:46 46次阅读
采用通用串行总线USB技术的高速数据采集卡的设计...

LM4F120H5QR的I2C程序

最近愁于I2C,例程实在太少了,,, 一个器件的I2C为: 写地址是0XA6. 初始化代码为:   ROM_Sys...
发表于 2020-04-08 09:42 19次阅读
LM4F120H5QR的I2C程序

PIC12F1840如何将RA5设置为输出?

您好,我一直在尝试将PIC12F1840的RA5(Pin 2)设置为一般的I/O输出,但没有结果。我试过设置不同的寄存器连...
发表于 2020-04-08 09:38 16次阅读
PIC12F1840如何将RA5设置为输出?

中国电信已顺利完成了Cat 1模组的测试入库

中国电信早在2016年就发布了Cat 1的商用规划,近几年,随着产业升级的需要,以及2G/3G退网的....
发表于 2020-04-08 09:34 35次阅读
中国电信已顺利完成了Cat 1模组的测试入库

寄存器注册注入不起作用

我用和谐创建了一个简单的项目。我可以使用实际的硬件在USART_1ISR中命中断点,但是使用寄存器注入时不能。我...
发表于 2020-04-08 09:32 9次阅读
寄存器注册注入不起作用

USB的特点及利用其实现机器人的上位机与下位机的...

EDUROBOT-680-II型教学机器人是上海交通大学机器人研究所采用世界银行贷款研制的一种五自由....
发表于 2020-04-08 09:30 51次阅读
USB的特点及利用其实现机器人的上位机与下位机的...

利用FPGA作为接口芯片实现DSP到SDRAM的...

在DSP应用系统中,需要大量外扩存储器的情况经常遇到。例如,在数码相机和摄像机中,为了将现场拍摄的诸....
发表于 2020-04-08 09:26 47次阅读
利用FPGA作为接口芯片实现DSP到SDRAM的...

非接触式IC卡的模拟和高频传输通路的接口电路设计

图1是一个具有逻辑加密功能的非接触式IC卡的结构方块图。对于具有逻辑加密功能的非接触式IC卡,一般包....
发表于 2020-04-08 09:19 51次阅读
非接触式IC卡的模拟和高频传输通路的接口电路设计

用于PIC32MM的MPLABX中未定义AD1CSSL

最新的MPLA1.4.4版本,并且除非我做了非常可能的错误,否则AD1CSSL寄存器不可用?这可以解释为什么我从来没...
发表于 2020-04-08 07:49 6次阅读
用于PIC32MM的MPLABX中未定义AD1CSSL

怎么将MCP25625与Raspberry Pi接口?

我一直在为我的RPi Zero开发一个扩展板,它包含一个基于降压转换器TPS62130(5V/3A)、USB集线器和CAN控...
发表于 2020-04-08 06:58 12次阅读
怎么将MCP25625与Raspberry Pi接口?

PIC32MZ USB不兼容

我目前正在开发一个简单的USB CDC设备。运行协调工具和设置USB CDC设备是没有问题的。不过,我想从头开始...
发表于 2020-04-08 06:31 9次阅读
PIC32MZ USB不兼容

给芯片上光子加车道,突破大规模集成技术瓶颈

你能否想象通过巧妙的安排,使得许多支足球队同时在同一个球场上训练阵型而互不干扰?中国一个科研团队就为....
发表于 2020-04-07 17:35 231次阅读
给芯片上光子加车道,突破大规模集成技术瓶颈

高通:芯片产业链环节较长,当前受疫情影响较小

今日,高通全球副总裁侯明娟在出席活动时透露,目前芯片产业受疫情影响相对较小。芯片产业供应链全球化水平....
发表于 2020-04-07 17:07 208次阅读
高通:芯片产业链环节较长,当前受疫情影响较小

AIDA64 6.25正式版本发布,支持AMD、...

作为最权威、最全面的PC硬件识别、测试工具,AIDA64今天迎来了6.25正式版本,更新幅度非常之大....
发表于 2020-04-07 16:23 438次阅读
AIDA64 6.25正式版本发布,支持AMD、...

中国逐步引领全球光模块市场,提前布局并发力光芯片...

2020年初,知名光通信市场调研机构LightCounting发布一份报告指出,中国的光模块供应商将....
发表于 2020-04-07 15:33 282次阅读
中国逐步引领全球光模块市场,提前布局并发力光芯片...

飞天诚信推出指纹金融IC卡,内置紫光同芯THD8...

4月7日消息,根据紫光官方的消息,紫光国微旗下紫光同芯与信息安全专家飞天诚信推出了新型支付应用—指纹....
发表于 2020-04-07 15:11 273次阅读
飞天诚信推出指纹金融IC卡,内置紫光同芯THD8...

存储器现货市场开始出现价格下滑趋势 将对存储器芯...

随着新冠病毒在全球蔓延,各国防疫措施不断升级,全球经济表现也出现急剧疲软的态势。
发表于 2020-04-07 14:20 215次阅读
存储器现货市场开始出现价格下滑趋势 将对存储器芯...

采用SED1356显示控制芯片实现液晶显示接口设...

目前,在很多嵌入式系统的设计中需要将图像数据转换成视频信号在终端上显示,这就需要设计一个基于嵌入式系....
发表于 2020-04-07 10:06 303次阅读
采用SED1356显示控制芯片实现液晶显示接口设...

采用VHDL-93语言和可编程芯片实现IIC总线...

IIC总线是PHILIPS公司开发的一种简单、双向、二线制、同步串行总线。它只需两根线(串行时钟线和....
发表于 2020-04-07 10:02 75次阅读
采用VHDL-93语言和可编程芯片实现IIC总线...

三星电子第一季度营收同比增长2.7% 芯片业务抵...

疫情全球爆发的情况下,三星第一季度的营收并不受影响,主要归功于内存等芯片价格上涨。
发表于 2020-04-07 09:54 165次阅读
三星电子第一季度营收同比增长2.7% 芯片业务抵...

ADSP-218X系列的IDMA接口引脚定义及实...

随着DSP芯片技术的发展,其种类和型号日益增多。ADI公司推出了ADSP-218X系列16位定点DS....
发表于 2020-04-07 09:38 57次阅读
ADSP-218X系列的IDMA接口引脚定义及实...

采用直接数字频率合成器实现多片AD9852芯片接...

该系统选用的数字信号处理芯片(DSP)是TI公司生产的高速浮点TMS320C6701,其内部CPU集....
发表于 2020-04-07 09:30 75次阅读
采用直接数字频率合成器实现多片AD9852芯片接...

用于多通用串行总线接口的局域网接入适配器的系统设...

目前,在局域网内部,计算机接入局域网的传统方法是通过在计算机主板上安装以太网卡来实现网络的互联。这种....
发表于 2020-04-04 18:57 38次阅读
用于多通用串行总线接口的局域网接入适配器的系统设...

基于T8503芯片实现电话机与ISDN的接口电路...

要实现普通电话机与ISDN进行连接,需要专门的接口(POTS)电路,这个接口电路应该具有馈电、过压保....
发表于 2020-04-04 18:41 242次阅读
基于T8503芯片实现电话机与ISDN的接口电路...

采用PCI9052芯片的配置寄存器及加载其驱动程...

PCI总线支持存储器地址空间、I/O地址空间和配置空间等三个物理空间。其中,配置空间是PCI总线所特....
发表于 2020-04-04 18:14 15次阅读
采用PCI9052芯片的配置寄存器及加载其驱动程...

DEI1016芯片的引脚功能、特点及应用分析

发送器电路包括一个发送缓存器和一个控制逻辑,发送缓存器是一个8×32bit的FIFO,而控制逻辑则允....
发表于 2020-04-04 18:09 244次阅读
DEI1016芯片的引脚功能、特点及应用分析

基于C8051F120的支持多协议总线集成器的设...

系统结构框图如图1所示。C8051F120是整个系统的主控制芯片,负责对数据的处理和交换,包括通过R....
发表于 2020-04-04 17:59 36次阅读
基于C8051F120的支持多协议总线集成器的设...

基于ADSP2181为主控CPU实现与液晶模块的...

字符式液晶显示模块SMC1602B由一块5x7点阵液晶屏和控制芯片HD44780及其辅助电路组成。它....
发表于 2020-04-04 17:56 24次阅读
基于ADSP2181为主控CPU实现与液晶模块的...

基于CAN现场总线和PLC芯片构建ETS系统的核...

TSI系统(汽轮机状态监视和保护系统)和ETS系统(汽轮机危机跳闸系统)是火力发电厂保证汽轮机和发电....
发表于 2020-04-04 17:39 15次阅读
基于CAN现场总线和PLC芯片构建ETS系统的核...

LXT384 PCM接口单元芯片的三种环回形式分...

LXT384是Intel公司生产的八进制短时间脉冲编码调制(PCM)线路接口单元芯片,常用于1.54....
发表于 2020-04-04 17:38 100次阅读
LXT384 PCM接口单元芯片的三种环回形式分...

IDT82P芯片的功能特点及如何实现E1模块的接...

在TDM over IP 和V5 VoIP Gateway等PSTN(公共交换电话网)应用中都涉及E....
发表于 2020-04-04 17:23 88次阅读
IDT82P芯片的功能特点及如何实现E1模块的接...

基于USB接口芯片CH371实现USB外设演示板...

在开发USB设备时最难的就是固件和驱动程序的开发,要想成功的开发这两部分必须完全熟悉USB协议,而这....
发表于 2020-04-04 17:17 29次阅读
基于USB接口芯片CH371实现USB外设演示板...

采用CY7C646xx系列实现USB接口系统的设...

UBS(Universal Serial Bus)是一种标准的计算机与外设的连接接口,1995年问世....
发表于 2020-04-04 17:13 25次阅读
采用CY7C646xx系列实现USB接口系统的设...

基于微处理器实现一对异步串口连接的接口设计

美国TI(Texas Instruments)公司的系列DSP芯片采用哈佛结构、流水线操作、专用硬件....
发表于 2020-04-04 17:07 28次阅读
基于微处理器实现一对异步串口连接的接口设计

采用HSDL7001和HSDL3201芯片实现红...

为了建立一个统一的红外数据通讯标准,1993年,由HP、COMPAQ、INTEL等二十多家公司成立了....
发表于 2020-04-04 11:07 11次阅读
采用HSDL7001和HSDL3201芯片实现红...

基于USB接口的局域网接入适配器的设计方案

目前,在局域网内部,计算机接入局域网的传统方法是通过在计算机主板上安装以太网卡来实现网络的互联。这种....
发表于 2020-04-04 10:53 97次阅读
基于USB接口的局域网接入适配器的设计方案

基于IC接口管理芯片实现读写器的软硬件设计

终端传输层根据卡片返回的过程字符和状态字节执行相应的操作,使读写器对数据的处理过程明朗清晰。卡片返回....
发表于 2020-04-04 10:40 26次阅读
基于IC接口管理芯片实现读写器的软硬件设计

基于串行接口USB技术实现激光多普勒测量数据采集...

激光多普勒测量技术(LDT)具有精度高、动态响应快、测量范围大,非接触测量的特点,成为气体、流体测量....
发表于 2020-04-04 10:33 82次阅读
基于串行接口USB技术实现激光多普勒测量数据采集...