电子发烧友网 > 存储技术 > 正文

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

2020年04月04日 18:14 次阅读

引言

如果把PC机作为控制系统的操作平台,PCI总线作为一种先进的高性能32/64位局部总线正迅速取代原来的ISA总线的主导地位,以用于高速外设,并成为微型计算机系统的主流系统,因而也成为工程开发人员用于工业控制的首选。为了缩短开发周期,一般都采用专用的接口器件。本文就是采用PLX公司的PCI9052来把PCI总线上的操作转换为对局部总线的操作,同时通过双口RAM实现和下位机的存储转接。针对一般PCI总线开发时由于软硬件分离使开发的软硬件不能很好结合的现象,本文结合实例介绍了应用程序并给出了如何通过DriverStudio开发的PCI设备驱动程序来访问PCI设备卡硬件资源的具体程序。

1、 PCI的配置空间及其配置

PCI总线支持存储器地址空间、I/O地址空间和配置空间等三个物理空间。其中,配置空间是PCI总线所特有的一个空间,PCI总线能实现即插即用的功能,正是通过它特有的配置空间来实现的。PCI配置空间的大小为256字节,分为头标区和设备有关区。直接影响设备特性的配置寄存器在头标区,其他部分则因设备而异。PCI总线的配置空间通常与PCI接口芯片相关。该配置空间包括一系列的PCI配置寄存器。本文采用的PCI9052芯片的配置寄存器分为PCI配置寄存器和局部配置寄存器,二者都可以由PCI总线和串行EEPROM访问。

在PCI配置寄存器中的设备ID、制造商ID、版本号、首区类代码、类别代码、指令寄存器和状态寄存器等寄存器在所有的PCI设备中都必须实现,通常情况下,操作系统可使用这些寄存器的内容来决定该PCI设备的加载其驱动程序。

PCI总线最重要的功能之一是通过基地址寄存器和局部配置寄存器在地址空间重定位PCI设备。系统上电时,通过上层应用软件能判断系统中存在那些设备,并建立协调的地址映射。所以,基地址寄存器和局部配置寄存器是实现驱动程序的关键。

PCI配置寄存器提供有6个基地址寄存器(BASE0~BASE5)这些基地址都是系统中的物理地址,其中BASE0和BASE1是用来访问局部配置寄存器的基地址,BASE0是映射到内存的基地址,BASE1是映射到I/O的基地址,可用于通过内存和I/O来访问局部配置寄存器。这两个基地址可固定用于PCI9052芯片的寄存器操作。

通过BASE2~BASE5四个空间最多可以访问局部端所接的4个芯片,实现4个局部地址空间(局部空间0~3)的PCI总线访问。PCI总线对局部端所接芯片的局部地址映射是通过4个寄存器组(PCI基地址寄存器,局部范围寄存器,局部基地址寄存器,局部总线区域描述符)来实现的。这个组定义了每个空间以及相应局部空间的特性。它们将局部端的芯片通过局部端地址(在局部配置寄存器中设置)翻译成PCI总线地址,也就是将本地的芯片映射到系统的内存或I/O口。而片选信号寄存器则是用来选定这些局部端所接的芯片的。这样,用程序操作这一段内存(或I/O)实际上就是对本地芯片的操作。其映射关系如图1所示。这些寄存器的内容必须在芯片复位时通过串行E2PROM进行加载,而正确配置E2PROM的内容则是使用PCI9052的关键。

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

本设计选取LAS0(Local Address Space 0)来访问局部端的双口RAM芯片中的2 KB寻址空间,与其有关的寄存器有四个:LAS0范围寄存器、LAS0局部基址寄存器、LAS0局部总线区域描述符和片选0基址寄存器。LAS0范围寄存器规定了地址空间的大小。由于需要2 KB的内存空间,而计算机预留了32 KB空间(即8000H),所以其寄存器值为0xFFFF8000H,而类型则是不可预取的;LAS0局部基地址寄存器定义了设备卡资源上所占用的基地址,它的最终目的是将这个基地址重新映射到PCI地址空间。由于基地址必须是32KB的整数倍,因此,为方便起见,可以将基地址定为00000000H,又由于位0为空间使能位,所以,寄存器的值为00000001H;LAS0局部总线区域描述符用来定义地址空间0的具体工作特性。

该总线采用16位总线宽度,工作方式定义为不使能突发和不预取,因此,该寄存器的数值初步确定为4043A1C0H,最终的值则需要不断测试才能确定;片选0基址寄存器使用PCI9052的CS0#作为双口RAM的片选信号,CS0#片选信号的起始地址和地址范围由片选0基址寄存器设置,局部总线的容量是2 KB,第11位为1,基地址是该范围的16倍,一般将倍数放置在范围位之后,所以寄存器值设置为0xO008401。当从局部空间0基址开始的2 KB空间范围落在CS0基地址寄存器所设置的范围内,CS0端有效,这种方式可减少地址译码得到的片选逻辑。

用PLX9052可将PCI总线上的操作转换为对局部总线的操作,即通过LAD0~LAD7、RD、WR、CS等对局部端芯片访问。如果系统分配给本卡的存储空间为FFFF0000H~FFFF7FFFFH。那么,当系统通过PCI总线访问这个区域时,PLX9052就会应答,并将其转换为局部地址0x0000H~0x07FFH,另外,PLX9052自身也有一些内部寄存器,它们被自动映射到另一片内存区域,可通过PCI总线直接访问。

PCI9052提供了两种类型的中断源(硬件中断和软件中断)。中断可通过PCI9052中断控制/状态寄存器来(INTCSR)允许和禁止。PCI9052通过2个局部中断引脚来实现硬件中断,它们支持边缘和电平触发中断,可以通过对INTCSR寄存器的编程来实现局部中断,然后产生PCI中断(INTA),并生成PCI中断INTA#方式。PCI9052可以软件方式产生中断,设计时只需要将INTCSR寄存器的软件中断位设置为1即可。

2、 驱动程序的开发

在开发PCI板卡功能驱动程序之前,首先要明白所需的PCI硬件资源,并针对设备卡的硬件资源来处理PCI设备的内存、端口的读写,以及中断处理,从而实现PCI设备功能。

2.1 驱动程序在操作系统体系结构中的位置

操作系统结构可分为五层模型:

(1)用户应用程序;

(2)IO管理层;

(3)驱动程序;

(4)HAL(硬件抽象层);

(5)硬件。

图2给出了Windows2000操作系统驱动程序开发者所关心的特征,一般情况下,软件要么在用户模式中执行,要么在内核模式下执行。从驱动开发的角度上看,WDM模型为存在于Win-dows2000系统中的驱动程序提供了一个参考框架。作为Windows2000系统结构开发人员,由于操作系统为应用程序,而在驱动程序和硬件之间提供有系统服务接口和平台相关操作,因此,设计时只需要关注应用程序和设备驱动程序的开发。

2.2 设备资源

PCI设备的硬件资源分配与管理是驱动程序很重要的部分,设备的硬件资源包括内存空间、I/O空间和中断。由于PCI总线为PnP总线,PCI设备的硬件资源是由PCI配置机构动态分配给PCI配置寄存器的,因此,驱动程序首先需要取得这些资源才能操作硬件。当PnP管理器检测到PCI设备时,系统就会发送IRP_MN_START_DEVICE的IRP给驱动程序,驱动程序调用OnStartDevice以启动例程处理,并在启动例程里获取该IRP栈,同时把它包含的系统分配给该设备的资源信息。

用DriverStudio开发驱动程序时,应在Wizard中设置好PCI设备的资源。对于实际的PCI9052设备卡,其基地址寄存器0和1分别固定用于PCI9052局部寄存器的内存映射地址和I/O映射地址,基地址寄存器2则用于设备卡的内存映射地址,并使用局部中断引脚来产生PCI中断,以分别生成对应的KIoRange类、KMemoryRange类和KInterrupt类。这些配置信息由配置管理器发送到OnStartDevice中重载该成员函数,而开发者则不必再处理。在一般情况下,驱动程序无需再访问PCI设备的配置空间,如果需要访问,则可通过类KPciConfiguration,该类包含了通过向PCI总线发送渎写配置空间的IRP操作。也可定义类KRe-sourceAssignment来获取PCI的端口地址和中断号以及内存地址和大小,并把得到的资源放在用户自己定义的变量中。

2.3 WDM驱动程序对硬件资源的访问

获取设备的硬件资源以后,就可以对硬件资源进行访问了。对硬件的访问一般包括I/O端口访问和内存访问,它们分别对应PCI配置空间的I/O空间和内存空间。从图2可以看出,当应用程序需要访问设备时,它就会调用Win32API函数(如ReadFile)。Win32子系统模块通过调用平台相关的系统服务接口实现该API,而平台相关的系统服务则调用内核模式来支持例程。即在调用ReadFile函数时,首先到达系统的人口点,然后调用系统服务接口,最后由系统调用内核模式的服务例程。执行时首先检查传递给它们的参数,然后创建一个“I/O请求包(IRP)”的数据结构,并把这个数据结构送到某个驱动程序的入口点执行IRP设备驱动程序,最后再访问硬件。对于PIO方式的设备,一个IRP_MJ_READ操作将直接读取设备的端口或设备的内存寄存器。一般会使用硬件抽象层(HAL)来访问硬件。IRP贯穿于驱动程序之间,它在应用程序、驱动程序和设备之间起着桥梁作用,可称之为内核态的“消息”。驱动程序完成一个I/O操作后,可通过调用一个特殊内核模式服务例程来完成该IRP,完成操作时再处理IRP的最后工作,以它使等待的应用程序恢复运行。

用DriverStudio开发驱动程序时,可根据配置声明KIoRange类、KMemoryRange类和KInterrupt类来实现对内存空间、I/O空间、中断的操作。在本例中,基地址寄存器0和1固定用于PCI9052芯片的操作寄存器内存映射地址和I/O映射地址,基地址寄存器2则用于双口RAM的内存映射。通过一个外部引脚即可产生中断。标识两个KMem-oryRange类实例、一个KIoRange类实例和一个KInterrupt类实例的具体实现细节如下:

(1) I/O端口的访问

I/O端口的访问流程如图3所示,应用程序通过API函数DeviceIoControl的调用,并调用驱动程序的分发例程DeviceControl,同时通过KIoRange类来实现对I/O映射空间的访问。需要注意的是,当DeviceloControl异步调用的时候,必须在驱动程序中添加取消例程,并在DeviceControl例程中阻止一个应用程序对其的多次调用。KIoRange类的成员函数outb、inb、outw、inw、ind、outd可分别用于从端口读或写一个字节、字和双字数据。在WDM中,对于I/O端口,系统可将其看成寄存器,一般用于数字传输量比较小的地方。在对PCI设备的访问中,I/O端口的访问通常比较频繁。

(2) 内存的访问

在基于DriverStudio开发的驱动程序中,向存储器空间读写大量数据一般选用Write/Read函数,但对于一个实际存在的物理设备的访问,在某一时刻只能进行一个操作,因而在访问内存对象的时候,一般都要求一个IRP排队的队列,可通过设备类的成员函数QueueIrp将IRP插入队列。DriverWorks提供有KDeviceQueue类,其成员函数StarTIo用于处理设备对象的IRP队列。具体的操作是通过KMemoryRange类来实现对设备内存映射空间的访问。其访问流程见图4所示。需要注意的是,当IRP队列为空时,调用QueueIrp时,系统将同步调用StarTIo函数。

(3) 中断处理

驱动程序的中断处理编程涉及到内核机制比较多的一种驱动程序,因而相对复杂。首先用中断服务程序提升系统的IRQL,但不能进行大多数有用的内核调用。另外,提升IRQL运行代码需要尽可能快地运行。所以,中断处理一般和在DIS-PATCH_LEVEL级运行的延迟调用(DPC)例程相配合可解决以上两个问题。在DriverWorks中,通常通过KInterrupt类和KDeferredCall类来实现,并通过向导来在中断服务例程和DPC中增加功能代码。KDeferredCall类封装有DPC的操作。KInter-rupt类用于实现硬件中断的处理,其成员函数包括中断初始化,以及将一个中断服务例程连接到另一个中断和解除其连接等。在中断服务例程中把IRP交给DPC例程,可在DPC处理完后结束该IRP。需要注意的是,中断服务例程不是KInter-rupt类的成员函数,它的主要作用是减少中断延迟时间。

3、 结束语

本文主要从访问设备硬件资源的角度介绍了PCI配置空间的配置和驱动程序的开发方法。利用该方法可对PCI板卡的配置空间和所需的硬件资源进行正确设置,然后通过DriverStudio的驱动程序向导生成工具在程序框架里添加适当的代码,最后借助于DriverStudio开发包提供的调试工具SofTICE和DriverMonitor以及由Wizard产生的控制台应用程序,来快速开发出基于PCI总线的设备驱动程序。

责任编辑:gt

下载发烧友APP

打造属于您的人脉电子圈

关注电子发烧友微信

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

关注发烧友课堂

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

电子发烧友观察

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

评论

相关推荐

第二期:J1939通信数据链路层(上)

主题简介及亮点:J1939通信是商用车,军工,船舰 ,农机,发电机,特种设备等上面的常用通信标准,这两年在新能源车上应用
发烧友学院发表于 2019-03-07 00:00 2003次阅读
第二期:J1939通信数据链路层(上)

采用TMS320VC5402作主控制器芯片实现U...

USB把所有的输入和输出外设都置于机箱之外,而不用任何扩展槽。他是快速、双向、同步、动态连接且价格低....
发表于 2020-04-09 10:19 22次阅读
采用TMS320VC5402作主控制器芯片实现U...

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

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

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

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

专用USB通信控制芯片USBN9604的特点及实...

USBN9604是NatiONalSemiconductor公司设计生产的一款较新型的专用USB通信....
发表于 2020-04-09 09:56 24次阅读
专用USB通信控制芯片USBN9604的特点及实...

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

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

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

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

基于TMS320VC5410 DSP的PCI语音...

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

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

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

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

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

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 265次阅读
神经拟态芯片掌握多种气味神经表征

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CompactPCI热插拔单板的结构、连接过程...

热插拔即允许带电拔插工作单板,其最基本的目的是要求带电拔插单板而不影响系统运行,以便维修故障板或重新....
发表于 2020-04-08 10:07 39次阅读
 CompactPCI热插拔单板的结构、连接过程...

利用硬件监听总线状态的方法实现CSMA/CD的多...

以工作模式来说,一般的RS485总线工作在主从模式下。整个通信总线系统由一个主节点、若干个从节点组成....
发表于 2020-04-08 09:50 40次阅读
利用硬件监听总线状态的方法实现CSMA/CD的多...

LM4F120H5QR的I2C程序

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

PIC12F1840如何将RA5设置为输出?

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

采用RS-485总线实现对多台测试装置进行土工膜...

根据国标GB/T17642-1998规定,有效渗流面积A≥200cm2。把高低压仓的口径及网络的有效....
发表于 2020-04-08 09:36 41次阅读
采用RS-485总线实现对多台测试装置进行土工膜...

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

中国电信早在2016年就发布了Cat 1的商用规划,近几年,随着产业升级的需要,以及2G/3G退网的....
发表于 2020-04-08 09:34 38次阅读
中国电信已顺利完成了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

战舰板LWIP发送音频数据不能正确读取vs1053寄存器值

我在LWIP TCP 服务端的情况下与电脑的服务器建立连接,希望能通过TCP发送VS1053采集的音频数据,但是发送...
发表于 2020-04-08 04:35 14次阅读
战舰板LWIP发送音频数据不能正确读取vs1053寄存器值

使用W5500时遇到Socket打开不成功

使用W5500时遇到Socket打开失败 * 函数名  : Detect_Gateway * 描述    : 检查网关服务器 ...
发表于 2020-04-07 22:28 7次阅读
使用W5500时遇到Socket打开不成功

TFT 0号寄存器是读取TFT的ID吗?

这个0号寄存器是读取TFT的ID的吧 这个是原子哥的代码,这个寄存器可以控制扫描方向吗? 我以前抄的代码...
发表于 2020-04-07 21:03 12次阅读
TFT 0号寄存器是读取TFT的ID吗?

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

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

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

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

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

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

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

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

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

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

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

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

I2c通信怎么设置寄存器地址?

tm4c123 launchpad作为master时 i2c写操作要先输出device address,再给一个Register  Address,然后才能...
发表于 2020-04-07 13:17 21次阅读
I2c通信怎么设置寄存器地址?

单总线器件DS2438的特点及实现微网测控系统的...

在数字化测控系统中,由于单总线微网仅使用1根导线进行双向数据传送,并同时为远端器件提供电源,既降低了....
发表于 2020-04-07 10:24 62次阅读
单总线器件DS2438的特点及实现微网测控系统的...

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

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

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

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

采用WISHBONE总线有效地解决IP核可移植性...

清华大学嵌入式微处理器芯片设计为国家重点863项目,单芯片多处理器设计为项目的一个延伸。单芯片多处理....
发表于 2020-04-04 18:19 54次阅读
采用WISHBONE总线有效地解决IP核可移植性...

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

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

采用总线式拓扑结构实现液压支架电液系统的设计

CAN(Controller Area Network)即控制器局域网络,是一种标准的现场总线。由于....
发表于 2020-04-04 18:02 23次阅读
采用总线式拓扑结构实现液压支架电液系统的设计

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

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

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

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

基于RS-485总线实现智能断路器控制系统的设计

随着输配电自动化程度越来越高,传统的输配电操作和控制方式已不再适应当今的发展要求,自动化控制系统得到....
发表于 2020-04-04 17:50 19次阅读
基于RS-485总线实现智能断路器控制系统的设计

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

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

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

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

EIB协议原理、实现的功能与应用实例分析

EIB是一种标准的总线控制系统,控制方式为对等控制方式,不同于传统的主从控制方式,总线采用四芯屏蔽双....
发表于 2020-04-04 17:30 31次阅读
EIB协议原理、实现的功能与应用实例分析

基于PC104总线的板载支持包的设计与开发

在PC/104总线设备上使用的数据存储设备通常有硬盘和基于闪存技术的固态电子盘。由于嵌入式系统工作环....
发表于 2020-04-04 17:26 15次阅读
基于PC104总线的板载支持包的设计与开发

PIC9054 PCI总线主控I/O加速器的性能...

PCI9054有M、C、J三种工作模式,可通过模式选择控制引脚MODE[1:0]进行控制。当MODE....
发表于 2020-04-04 17:25 35次阅读
PIC9054 PCI总线主控I/O加速器的性能...

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 33次阅读
基于USB接口芯片CH371实现USB外设演示板...

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

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

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

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

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

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

SoC上常用三种片上总线标准的对比分析

嵌入式系统是当今计算机工业发展的一个热点。随着超大规模集成电路的迅速发展,半导体工业进入深亚微米时代....
发表于 2020-04-04 10:39 2次阅读
SoC上常用三种片上总线标准的对比分析

PCI局部总线的性能特点及实现通用信号处理系统的...

数字信号的处理离不开算法和实现手段。数字信号处理器(digital signal processor....
发表于 2020-04-04 10:29 0次阅读
PCI局部总线的性能特点及实现通用信号处理系统的...