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

基于PCI总线协议的FPGA驱动设计方案

2019年07月27日 09:28 次阅读

目前,许多公司都提出了新型的计算机高速总线,如Arapahoe总线标准和HyperTransport技术,但各协议互不兼容,没有形成统一标准。作为传统的通用局部总线,PCI总线仍然占据着主流个人电脑市场,具有顽强的生命力。

现在市面上存在着各种PCI接口芯片,如AMCC公司的S5933,PLX的9080系列等。专用芯片可以实现完整的PCI主设备与从设备模式的接口功能,将复杂的PCI总线接口转化相对简单的用户接口,但系统结构受接口芯片的限制,不能灵活地设计目标系统,且成本较高。本文使用符合PCI电气特性的FPGA芯片进行简化的PCI接口逻辑设计,实现了33MHz、32位数据宽度的PCI从设备模块的接口功能,节约了系统的逻辑资源,且可以将其它用户逻辑集成在同一块芯片,降低了成本,增加了设计的灵活性。另外,还给出了Windows9x系统下的设备驱动程序,可以与应用程序接口,形成一个完整的系统。目前,本系统已经被印染企业应用在数据采集和处理等方面。

1 系统构成与功能描述

系统的总体框图如图1所示。

由图1可见,系统的硬件平台为一块PCI卡。此卡的结构十分简洁,主要由FPGA芯片、RAM芯片和输出接口三部分组成。其中,FPGA芯片集成了PCI接口模块和数据处理模块。PCI接口模块实现了33MHz工作时钟、32位总线宽度的接口功能,支持I/O空间、内存空间及配置空间的读写和PCI中断功能。由于简化的PCI接口占用的逻辑资源较少,可在同一块芯片中集成其他用户逻辑。作为一个应用实例,本文加入了一个数据处理模块,对PCI接口传送来的数据进行处理,通过片外的输出接口输出到下位机。RAM芯片为数据处理提供缓存功能。

基于PCI总线协议的FPGA驱动设计方案

2 从设备模式下的简化PCI协议的实现

为了实现PCI接口的基本功能,必须完成以下几个模块:

(1)PCI配置空间设置。PCI协议支持三种地址空间:I/O空间、内存空间和配置空间。配置空间提供了支持PCI设备自动配置的机制,是必需的。

(2)PCI从设备状态机。PCI总线状态机是具有PCI总线的计算机系统状态流,是由一个已知状态到另一个状态的条件、时序的描述。这是PCI接口设计中最基本也是最重要的部分。

(3)地址译码和命令译码。地址译码用来确定PCI设备是否应当响应当前总线的操作;命令译码则用来指示PCI设备根据不同的总线命令作出相应的动作。

本文采用ALTERA公司的Max+PlusII软件平台,硬件描述语言使用ALTERA HDL语言,也可以方便地转换民VHDL或VerilogHDL语言。在此之前,先引入PCI总线信号的定义。

2.1 总线信号定义

根据PCI总线协议2.2版,从设备模式下PCI接口至少包含47根引脚。图2给出了按功能划分的引脚分布,左边是必需引脚。右边是可选引脚。为简化起见,本文采用了如下引脚,其他引脚均不使能或置为高阻态。

(1)由系统提供的33MHz的同步时钟信号CLK和复位信号RST#(#表示低电平有效);

(2)关于数据传输的核心信号:32位地址/数据复用线AD[31:0]、总线命令/字节使能复用线C/BE[3:0]#和偶校验信号PAR;

(3)接口控制信号FRAME#、TRDY#、IRDY#、STOP#、DEVSEL#和IDSEL。其中,FRAME#为数据传输起止信号,TRDY#为主设备准备好信号,IRDY#为从设备准备好信号,STOP#为从设备停止请求信号,DEVSEL#为设备选择信号,IDSEL为配置空间读写时的片选信号;

(4)中断引脚INTA#。

为简化PCI协议,本文只实现了最重要的总线命令,表1给出了所支持的总线命令对应的C/BE[3:0]#编码值。

表1 支持的总线命令

C/BE[3:0]# 命令类型说明
0010
0011
0110
0111
1010
1011
I/O读
I/O写
存储器
存储器写
配置空间读
配置空间写

 

2.2 配置空间设置

配置空间大小为256字节,前64字节必需,记录了PCI设备的基本住处,比较重要的有:

(1)VendorID、DeviceID和Class Code域:分别表示设备的生产厂商、设备编号和类型;

(2)Command和Status域:分别给出了对PCI设备的控制命令和当前状态;

(3)Base Adress Register域:指示此PCI设备按I/O方式还是内存方式进行读写以及需要的地址空间大小;

(4)Interrupt Line和Interrupt Pin域:分别指明了设备使用的断号和中断引脚。

在对配置空间的访问中,用AD[7:2]寻址一个双字DWORD。在本设计中,配置空间设置如表2所示。

2.3 简化的从设备状态机

在PCI协议中,标准的从设备状态机包含五种状态,而且各状态的跳转条件比较复杂。本文在不违反PCI协议的前提下,简化了从设备的状态机,如图3所示。

图3中,状态转移条件信号a、b、c定义如下:a代表配置空间访问条件,b代表I/O空间或内存空间访问条件,c代表总线传输开始条件。这三个条件的实现由后面的命令译码模块给出。

表2 配置空间设置(均为十六进制)

字 段 值或含义 字段 值或含义
VendorID 1172 Class Code 040000,即视频卡
DeviceID 8901 Base Adress Register 映射到I/O空间
Command 0082 Interrupt Line 中断号A
Status 0400 Interrupt Pin 使用INTA中断引脚

 

IDLE是系统的缺省状态,表示总线当前空闲。通常,设备处在IDLE状态时,要检测来自PCI总线和后级设备的信号,便设备作出合适的响应。设备处于S_DATA状态时完成第一次数据传输,直接无条件跳到BACKOFF状态。设备在BACKOFF状态时进行多个数据传输,直到主设备断开访问。需要注意的是:任何对I/O空间、配置空间以及内存空间的突发传输的地址超过了设备映射地址的范围时,从设备要在此状态建立STOP信号,断开访问。当帧信号无效或主设备终止传输时,设备回到初始的IDLE状态。BUS_BUSY状态时总线忙,表示总线正在被其它设备使用。有两条转移路径,若总线仍然被占用,则停留在BUS_BUSY状态,否则返回空头状态IDLE。

2.4 地址译码和命令译码模块

地址译码模块主要检测PCI地址与本PCI卡的基地址是否匹配,可以通过AD[31:00]信号线上的值与设备的基地址作比较判断。如果PCI地址落在设置的基地址范围内,则PCI卡响应当前的总线操作。

命令译码模块指示PCI卡响应不同的总线命令,通过检测C/BE[3:0]#信号线上的值,与表1列出的总线命令作比较,完成命令译码。

基于PCI总线协议的FPGA驱动设计方案

3 Windows9x系统下驱动程序的设计

对PCI设备而言,驱动程序提供了获取PCI卡的配置空间信息、勾挂PCI中断、总线数据传输等功能。本文介绍使用Numega公司的VtooIsD软件进行驱动设计的方法。

3.1 寻找PCI卡并读取配置空间信息

配置空间包含了系统初始化PCI设备所必需的信息,首先需要遍历整个硬件树结构来寻找指定的PCI设备。对于每一个设备,比较其厂商号(Vendor ID)和设备编号(Device ID),如果与设计的PCI卡的信息匹配,则读取它的配置空间信息。

3.2 I/O方式下的读写操作

I/O方式下的读写比较简单。在得到PCI设备基地址信息后,通过C++语言中的端口读写函数inpd和outpd即可完成。举例如下:

Temp=_inpd(gBaseAddresses);//Temp中得到读出的数据

_outpd(gBaseAddresses,Data);//向基地址写入数据

其中,gBaseAddresses为基地址值,Data为写操作时的数据。

3.3 内存方式下的读写

对于内存方式下的读写,一个重要问题就是地址的映射。因为硬件设备读写的是物理内存,但应用程序读写的是虚拟地址,所以存在着将物理内存地址映射到用户程序线性地址的问题。

映射功能通过调用VtoolsD软件的标准库函数完成。根据给定的物理地址和所要求的空间大小,在系统内存中分配相应空间。首先,用PageReserve函数分配当前保留页的线性地址空间,再利用PageCommitPhys函数的服务对开始的线性地址空间分配相应的物理地址空间。程序如下:

ULONG nPages=_NPAGES_(PhysAddress,SizeInByte);
Linear=PageReserve(PR_SYSTEM,nPages,PR_FIXED);
PageCommitPhys(PAGENUM(Linear),nPages,PAGENUM
(PhysAddress),PC_INCR|PC_WRITEABLE|PC_USER);
LinPageLock(PAGENUM(Linear),nPages,0);

其中,PhysAddress为给定的物理地址,SizeInBytes为需要的空间大小。

建立了物理RAM到系统内存的映射后,就可以利用C++语言中的文件操作基类CFile类完成数据的读写。首先使用CFile类的成员函数Open打开文件,为保证数据读写的准确无误,必须使用二进制方式打开;接下来使用Read和Write成员函数进行文件读写;完毕后用Close成员函数关闭文件。

3.4 中断的勾挂和处理

首先在ON_DEVICE_INIT函数中完成中断的初始化。即通过前面读取的PCI设备的中断号,使用VPICD_Virtualize_IRQ函数进行中断勾挂,外调用VPICD_Physically_Unmask函数开中断。

RTCIRQHandle=VPICD_Virtualize_IRQ(&IRQdesc);

VPICD_Physically_Unmask(RTCIRQHandle);

然后在RTCInt_Handler函数中进行中断处理,可以进行各种操作,例如向应用程序发送自定义的消息来通知中断的发生。

基于PCI总线协议的FPGA驱动设计方案

3.5 与应用程序的通信

一般地,应用程序通过CreateFile函数调用VxD驱动程序,得到一个VxD的文件句柄。使用如下的语句可以打开一个名为mydriver.VXD的文件,得到的句柄保存在hVxD中。

hVxD=CreateFile(.mydriver.VXD,0,0,0,CREATE-NEW,FILE-FLAG-DELETE-ON-CLOSE,0);

通过句柄hVxD和DeviceIoControl函数就可以与驱动程序进行数据传输。

本文采用ALTERA公司的FLEX6000系列芯片,型号为EPF6016TC144-3,实现了简化的从设备模式PCI协议,并在Windows9x系统下实现驱动程序的设计。整个系统工作良好。资源占用情况如下:可用I/O引脚113根,占用51根,占用率45%;可用逻辑单元数1320个,占用151个,占用率11%。

简化的PCI协议的实现占用较少的逻辑资源,可以灵活方便地进行功能添加和改进,同时可以在同一块芯片中集成其他用户模块,实现不同功能,以降低成本。目前,本系统已经应用在数据采集处理、图像处理等方面。

下载发烧友APP

打造属于您的人脉电子圈

关注电子发烧友微信

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

关注发烧友课堂

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

电子发烧友观察

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

评论

相关推荐

小梅哥FPGA设计思想与验证方法视频教程

刚刚录制了一个fpga开发流程的视频,该视频为投石问路,主要是想听听大家对于小梅哥在录制视频时需要注意的内容以及希望系列

发烧友学院 发表于 2016-03-24 00:00 37952次阅读
小梅哥FPGA设计思想与验证方法视频教程

用Cyclone IV EP4CE6系列做串口通信仿真结果,计数和晶振不匹配

发表于 2019-07-26 19:35 83次阅读
用Cyclone IV EP4CE6系列做串口通信仿真结果,计数和晶振不匹配

关于AD9826的使用问题

发表于 2019-07-26 16:18 39次阅读
关于AD9826的使用问题

电路板功能测试系统的测试对象及特点是什么

电路板功能测试系统通过软件自定义功能和灵活的硬件配置使用户可自定义测试步骤测试,适用于对电路板电压、...

发表于 2019-07-26 15:11 74次阅读
电路板功能测试系统的测试对象及特点是什么

FPGA设计代码整洁之道2

发表于 2019-07-26 08:50 143次阅读
FPGA设计代码整洁之道2

FPGA和DSP在无线基站中的组合

发表于 2019-07-26 07:49 16次阅读
FPGA和DSP在无线基站中的组合

Cortex-M1微控制器和FPGA问答

发表于 2019-07-26 07:46 85次阅读
Cortex-M1微控制器和FPGA问答

基于微捷码的超低功耗FPGA优化

发表于 2019-07-26 07:29 13次阅读
基于微捷码的超低功耗FPGA优化

ARINC 429 IP核通过Barco DO-254认证

发表于 2019-07-26 07:14 38次阅读
ARINC 429 IP核通过Barco DO-254认证

Spartan-6 FPGA功能

发表于 2019-07-26 06:47 12次阅读
Spartan-6 FPGA功能

软件无线电结构设计的器件选择方法

发表于 2019-07-26 06:09 11次阅读
软件无线电结构设计的器件选择方法

FPGA怎么改变系统设计未来

发表于 2019-07-26 06:00 20次阅读
FPGA怎么改变系统设计未来

一文看懂fpga和plc的区别

PLC的程序是由计算机编译完加载至PLC固件内,由PLC固件执行。FPGA的程序是由自己开发工具生成...

发表于 2019-07-25 10:06 210次阅读
一文看懂fpga和plc的区别

高云半导体设立俄罗斯销售代理,进一步完善欧洲销售...

全球发展最快的FPGA公司——广东高云半导体科技股份有限公司(以下简称“高云半导体”)宣布任命两家领...

发表于 2019-07-23 10:38 61次阅读
高云半导体设立俄罗斯销售代理,进一步完善欧洲销售...

莱迪思全新CrossLink参考设计连接更多工业...

莱迪思半导体(Lattice)日前宣布推出一系列采用Lattice CrossLink FPGA进行...

发表于 2019-07-22 10:18 227次阅读
莱迪思全新CrossLink参考设计连接更多工业...

基于fpga的图像处理

图像处理简而言之就是对图像进行操作从而得到自己想要的结果,它是一个非常广义的概念,包含图像增强、图像...

发表于 2019-07-21 11:05 74次阅读
基于fpga的图像处理

什么是PROFIBUS总线简介及应用

PROFIBUS 是一个用在自动化技术的现场总线标准,常用于 PLC 与现场设备的数据通信和控制。目...

发表于 2019-07-21 10:27 75次阅读
什么是PROFIBUS总线简介及应用

TTE和TSN业务的保障方式及分析问题

欢迎FPGA工程师加入官方微信技术群第一次看到以太网物理地址格式时,感觉很平淡。像看到IPV4和IP...

发表于 2019-07-19 10:16 142次阅读
TTE和TSN业务的保障方式及分析问题

TTE和TSN业务的保障方式及分析问题

在本文章中,曾经提到过,TSN(Time Sensitive Networking,TSN)和TTE...

发表于 2019-07-19 10:07 266次阅读
TTE和TSN业务的保障方式及分析问题

全球FPGA市场规模为60亿美元左右,逐步展开有...

FPGA是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物,它由输入/输出块、可配置逻...

发表于 2019-07-18 09:45 505次阅读
全球FPGA市场规模为60亿美元左右,逐步展开有...

冲击3000万美元 上海安路科技有望迎来增长爆发

FPGA是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物,它由输入/输出块、可配置逻...

发表于 2019-07-17 22:36 63次阅读
冲击3000万美元 上海安路科技有望迎来增长爆发

Microchip推出全新低功耗FPGA智能嵌入...

随着基于视觉的计算密集型系统在网络边缘的集成度越来越高,现场可编程门阵列(FPGA)正迅速成为下一代...

发表于 2019-07-17 11:43 137次阅读
Microchip推出全新低功耗FPGA智能嵌入...

静态功耗的定义及FPGA设计中常用降低功耗的方法

静态功耗是指一个电路维持在一个或另一个逻辑状态时所需的功率。可以通过观察电路中每个电阻元件的电流I和...

发表于 2019-07-16 14:41 345次阅读
静态功耗的定义及FPGA设计中常用降低功耗的方法

贸泽与Xilinx签订全球分销协议,Xilinx...

专注于引入新品并提供海量库存的电子元器件分销商贸泽电子 (Mouser Electronics) 今...

发表于 2019-07-16 10:21 100次阅读
贸泽与Xilinx签订全球分销协议,Xilinx...

干货 | 机器学习加持,基于FPGA的高性能视觉...

介绍 ML 处理的要求,以及为何 FPGA 能解决许多性能问题。

发表于 2019-07-16 09:28 248次阅读
干货 | 机器学习加持,基于FPGA的高性能视觉...

硬件设计中教你如何正确的约束时钟

发表于 2019-07-15 15:35 155次阅读
硬件设计中教你如何正确的约束时钟

FPGA之Verilog HDL 的四大怪(李凡...

发表于 2019-07-15 15:35 222次阅读
FPGA之Verilog HDL 的四大怪(李凡...

跟李凡老师学FPGA扩频通信D01:串行通信基础...

发表于 2019-07-15 15:35 238次阅读
跟李凡老师学FPGA扩频通信D01:串行通信基础...

简谈 SDRAM的工作原理

发表于 2019-07-15 15:35 189次阅读
简谈 SDRAM的工作原理

FPGA市场年均增长10%,国产FPGA厂商谁有...

据MRFR统计2018年全球FPGA市场规模为60亿美元左右,随着AI+5G的应用逐步展开,其市场规...

发表于 2019-07-15 14:56 3112次阅读
FPGA市场年均增长10%,国产FPGA厂商谁有...

ARM和CPLD以及FPGA的技术特点和区别

arm(AdvancedRISCMachines)是微处理器行业的一家知名企业,设计了大量高性能、廉...

发表于 2019-07-12 17:50 168次阅读
ARM和CPLD以及FPGA的技术特点和区别

浅析FPGA的结构组成及工作原理

FPGA主要由大量的CLB来作为最小逻辑单元,使用内部连线将这些最小的逻辑单元连接,完成更大的逻辑功...

发表于 2019-07-12 15:24 153次阅读
浅析FPGA的结构组成及工作原理

关于目前FPGA主要的几个应用方向

大多数以ARM为核心的SOC芯片提供了大多数标准的接口,大量成系列的单片机/嵌入式处理器提供了相关行...

发表于 2019-07-11 15:08 178次阅读
关于目前FPGA主要的几个应用方向

单片机多机通信系统的设计

当51单片机进行多机通信时,串口要工作在方式2和方式3。假设当前多机通信系统有1个主机和3个从机,从...

发表于 2019-07-11 15:04 117次阅读
单片机多机通信系统的设计

从Agilex FPGA看英特尔如何设计产品新模...

Agilex是Agile(敏捷)和Flexible(灵活)两个词语的结合体,而这两个特点也正是现代F...

发表于 2019-07-11 15:02 59次阅读
从Agilex FPGA看英特尔如何设计产品新模...

FPGA相对DSP有什么优势以及它们的区别

FPGA可以用来做高速信号处理,一般如果AD采样率高,数据速率高,这时就需要FPGA对数据进行处理,...

发表于 2019-07-10 17:48 206次阅读
FPGA相对DSP有什么优势以及它们的区别

掌握这几步充分发挥eFPGA性能,SoC架构师都...

一个16位加法器。你关心的是它的运行速度有多快,但是如果你不小心,看到的结果可能会让你感到惊讶。

发表于 2019-07-10 15:57 1579次阅读
掌握这几步充分发挥eFPGA性能,SoC架构师都...

关于FPGA的FMC接口的详细介绍

FMC ( FPGA Mezzanine Card ) FPGA中间层板卡,整个FMC模块由子板模块...

发表于 2019-07-09 17:52 145次阅读
关于FPGA的FMC接口的详细介绍

关于嵌入式处理器的在线调试方法

在FPGA 设计中使用嵌入式处理器软核( 如MicroBlaze、PicoBlaze 等) 构成可编...

发表于 2019-07-09 11:47 98次阅读
关于嵌入式处理器的在线调试方法

基于FPGA的横向FIR滤波器设计详解

在理论的基础上详细阐述了如何基于Verilog HDL搭建的数字电路,来完成来完成FIR横向滤波器的...

发表于 2019-07-08 08:33 386次阅读
基于FPGA的横向FIR滤波器设计详解

智能家具中3种常见总线技术

总线技术是指将所有设备的通信与控制都集中在一条总线上,是一种全分布式智能控制网络技术,其产品模块具有...

发表于 2019-07-07 10:32 98次阅读
智能家具中3种常见总线技术

详解嵌入式软件开发到FPGA开发

在开始介绍FPGA之前,让我们来回顾一下简单的嵌入式软件开发吧,相信大家或多或少都接触过单片机(Mi...

发表于 2019-07-07 10:24 99次阅读
详解嵌入式软件开发到FPGA开发

采用CAN总线实现嵌入式数字控制系统设计

目前国内生产的直流电机调速控制器大多都不带通信接口,即使有带通信接口也仅为RS232或RS485串行...

发表于 2019-07-07 09:45 129次阅读
采用CAN总线实现嵌入式数字控制系统设计

基于嵌入式处理器LPC2129的矿用摄像机设计

摄像机在煤矿监控系统中使用广泛,尤其对一些重要场所更需要在集控室远程操控摄像机实现移动、调焦等功能。...

发表于 2019-07-07 09:27 107次阅读
基于嵌入式处理器LPC2129的矿用摄像机设计

采用FPGA实现图像平滑处理

在FPGA内部,采集到的视频数据先通过一个FIFO,将原本25MHz频率下同步的数据流转换到50MH...

发表于 2019-07-07 09:13 160次阅读
采用FPGA实现图像平滑处理

如何在Vivado中实现逻辑锁定和增量编译工程实...

本文针对Vivado中实现的逻辑锁定和增量编译进行的工程实例介绍,文中有对应工程的下载地址。友情提示...

发表于 2019-07-06 10:32 534次阅读
如何在Vivado中实现逻辑锁定和增量编译工程实...

安捷伦推出了用于CSI-3接口及联盟标准组织协议...

MIPI 联盟主席Joel Huloux 表示:“M-PHY 是下一代移动计算产品实现的关键,包括智...

发表于 2019-07-04 15:25 113次阅读
安捷伦推出了用于CSI-3接口及联盟标准组织协议...

微软为什么在数据中心使用FPGA代替CPU?

众所周知,通用处理器(CPU)的摩尔定律已入暮年,而机器学习和 Web 服务的规模却在指数级增长。

发表于 2019-07-03 17:30 498次阅读
微软为什么在数据中心使用FPGA代替CPU?

微软最新发布FPGA深度学习云平台

微软发布了 Project Brainwave,一个基于 FPGA 的低延迟深度学习云平台。微软官方...

发表于 2019-07-03 14:58 122次阅读
微软最新发布FPGA深度学习云平台

MCU工程师需要了解的FPGA硬件属性

事实上,MCU对有些任务来说是很适合的,但对其它一些任务来说可能做的并不好。举例来说,当需要并行执行...

发表于 2019-07-03 14:52 115次阅读
MCU工程师需要了解的FPGA硬件属性

高云半导体推出最新安全FPGA系列产品

2019年7月1日 - 全球发展最快的可编程逻辑公司广东高云半导体科技股份有限公司(以下简称“高云半...

发表于 2019-07-03 13:51 230次阅读
高云半导体推出最新安全FPGA系列产品

STM32硬件IIC接口的特性及功能解析

多主机功能:该模块既可做主设备也可做从设备 主设备功能 C地址检测 产生和检测7位...

发表于 2019-07-02 16:00 256次阅读
STM32硬件IIC接口的特性及功能解析

国产芯片的生存困境 FPGA市场分析

赛灵思、阿尔特拉、莱迪思、美高森美等公司用近9000项专利构筑的知识产权壁垒,很大程度上堵死了后来者...

发表于 2019-07-02 14:56 162次阅读
国产芯片的生存困境 FPGA市场分析

人工智能芯片百家争鸣 FPGA将突围而出

随着人工智能、深度学习等技术的兴起与成熟,起初为图像渲染而生的GPU找到了新的用武之地,以GPU驱动...

发表于 2019-07-02 14:53 254次阅读
人工智能芯片百家争鸣 FPGA将突围而出

新型FPGA服务器提供更优质的计算资源和网络资源

2019 年 7月2日 – Molex旗下BittWare公司推出 TeraBox™ 1400B 服...

发表于 2019-07-02 14:48 61次阅读
新型FPGA服务器提供更优质的计算资源和网络资源

关于PLD的分类及其优点分析

可编程逻辑器件的英文全称为:programmable logic device 即PLD。PLD是做...

发表于 2019-07-01 17:46 123次阅读
关于PLD的分类及其优点分析

FPGA上电加载时序介绍

大多数FPGA芯片是基于 SRAM 的结构的, 而 SRAM 单元中的数据掉电就会丢失,因此系统上电...

发表于 2019-07-01 17:16 1898次阅读
FPGA上电加载时序介绍

FPGA能否保持灵活性同时拥有ASIC级性能

AI语音助手和AI图像优化是离我们最近的AI应用,然而这只是AI能力比较初级的体现,未来,AI将会以...

发表于 2019-07-01 14:54 274次阅读
FPGA能否保持灵活性同时拥有ASIC级性能

FPGA或将取代CPU而成为机器人开发的新宠

FPGA这个词可能很多人都有所耳闻,尤其是理工科的同学们大多数应该都自愿或被迫被这个词刷屏过。但要真...

发表于 2019-07-01 14:49 133次阅读
FPGA或将取代CPU而成为机器人开发的新宠

5G的高效性将推动FPGA的快速增长

尽管大多数消费者今年不会急于购买5G手机,但电信运营商正加速推进5G网络建设,这对于上游的芯片厂商而...

发表于 2019-07-01 14:46 101次阅读
5G的高效性将推动FPGA的快速增长

ESIstream IP–简化确定性数据序列化的...

当使用现代宽带数据转换器时,管理产生的高速串行数据流是一个巨大的挑战。ESIstream 是一个开源...

发表于 2019-07-01 14:33 80次阅读
ESIstream IP–简化确定性数据序列化的...

HPI接口的工作模式以及与上位主机的连接方式解析

HPI 接口是TI 为处理器之间直接互连通讯定义的一种异步接口,大多数TI DSP 芯片上都有HPI...

发表于 2019-07-01 09:14 221次阅读
HPI接口的工作模式以及与上位主机的连接方式解析

FPGA对自动驾驶的发展有什么作用

现在,我们可以在家里跟我们的虚拟语音助手对话,以获取天气、播放音乐或者接听电话。拿起我们的智能手机,...

发表于 2019-06-30 11:18 678次阅读
FPGA对自动驾驶的发展有什么作用

基于PF协议的智能传感器及现场总线技术的发展研究

实际上现场总线控制系统就是以现场总线技术为核心,以基于现场总线的智能I/O或智能传感器、智能仪表为控...

发表于 2019-06-30 11:12 114次阅读
基于PF协议的智能传感器及现场总线技术的发展研究

FPGA在自动驾驶有什么作用

现在,我们可以在家里跟我们的虚拟语音助手对话,以获取天气、播放音乐或者接听电话。拿起我们的智能手机,...

发表于 2019-06-30 10:41 419次阅读
FPGA在自动驾驶有什么作用

采用I2C总线实现MPU6050模块功能

一直想自己做个四轴飞行器,却无从下手,终于狠下决心,拿出尘封已久的MPU6050模块,开始摸索着数据...

发表于 2019-06-30 10:17 182次阅读
采用I2C总线实现MPU6050模块功能

OrCAD将原理图中导出并保存至器件库的详细步骤

近期在研究FPGA System Planner的过程中,发现在调用原理图符号时需要指定一个原理图器...

发表于 2019-06-30 09:17 216次阅读
OrCAD将原理图中导出并保存至器件库的详细步骤

FPGA芯片是中国短板 国家大力支持其发展

就在传出谷歌以及英国电信商对华为釜底抽薪后,一则强力支持国产集成电路企业的重磅消息公布。据权威媒体消...

发表于 2019-06-29 11:54 328次阅读
FPGA芯片是中国短板 国家大力支持其发展

首款可用于自动驾驶的全新FPGA芯片

芯片,是最近的热门话题,我们要关注的不仅仅是手机芯片,也要关注汽车芯片,更何况智能网联汽车业需要大量...

发表于 2019-06-29 11:50 119次阅读
首款可用于自动驾驶的全新FPGA芯片

采用FPGA对VGA图形控制器的Verilog设...

VGA(视频图形阵列)作为一种标准的显示接口得到广泛的应用。依据VGA显示原理,介绍了利用FPGA实...

发表于 2019-06-29 10:05 549次阅读
采用FPGA对VGA图形控制器的Verilog设...

Intel将推出新款FPGA芯片 支持DDR5和...

Intel的最新FPGA芯片可能已经被误认能秒杀AMD的三代锐龙,其实这是不同于三代锐龙的10nm ...

发表于 2019-06-28 18:00 150次阅读
Intel将推出新款FPGA芯片 支持DDR5和...

PCI1520-EP 增强型产品 Pc 卡控制器...

德州仪器PCI1520,208端子双插槽CardBus控制器,旨在满足PCI到CardBus网桥的 PCI总线电源管理接口规范,是一款超低功耗高性能PCI-to-CardBus控制器,支持两个符合 PC卡标准(rev.7.1)的独立卡插槽。 PCI1520提供的功能使其成为笔记本电脑和台式电脑中PCI和PC卡之间桥接的最佳选择。 1997 PC卡标准保留了 PCI本地总线规范中定义的16位PC卡规范,并定义了新的32位PC卡,CardBus,能够满32-位数据传输速率为33 MHz。 PCI1520支持两个插座中的16位和CardBus PC卡的任意组合,根据需要以5 V或3.3 V供电。 PCI1520符合 PCI本地总线规范< /em>,其PCI接口可以充当PCI主设备或PCI从设备。 PCI总线主控在CardBus PC卡桥接事务期间启动。 PCI1520还符合 PCI总线电源管理接口规范(rev.1.1)。 所有卡信号均在内部进行缓冲,无需外部缓冲即可进行热插拔。 PCI1520与Intel 82365SL-DF和82365SL ExCA控制器注册兼容。 PCI1520内部数据路径逻辑允许主机使用完整的32位PCI周期访问8位,16位和32位卡,以获得最佳性能。独立缓冲和流水线架构提供无与伦比的性能水平和持续的突发...

发表于 2018-11-02 19:01 20次阅读
PCI1520-EP 增强型产品 Pc 卡控制器...

SN74LVC646A 具有三态输出的八路总线收...

SN54LVC646A八路总线收发器和寄存器设计用于2.7 V至3.6 VVCC操作,SN74LVC646A八路总线收发器和寄存器设计用于1.65V至3.6VVCC操作。 这些器件由总线收发器电路,D型触发器和控制电路组成用于直接从输入总线或内部寄存器多路传输数据。 A或B总线上的数据在适当时钟(CLKAB或CLKBA)输入的低到高转换时被输入寄存器。图1显示了使用?? LVC646A器件执行的四种基本总线管理功能。 输出使能(OE)和方向控制(DIR)输入控制收发器功能。在收发器模式下,高阻抗端口的数据存储在任一寄存器或两者中。 选择控制(SAB和SBA)输入可以复用存储的和实时(透明模式)数据。当OE \低时,DIR确定哪个总线接收数据。在隔离模式(OE \ high)中,A数据存储在一个寄存器中,B数据可以存储在另一个寄存器中。 当禁用输出功能时,输入功能仍然有效,并且可以用于存储和传输数据。一次只能驱动两条总线A或B中的一条。 输入可以从3.3 V或5 V器件驱动。此功能允许在混合的3.3 V /5 V系统环境中将这些器件用作转换器。 这些器件完全指定用于部分断...

发表于 2018-10-09 17:08 50次阅读
SN74LVC646A 具有三态输出的八路总线收...

SN74HCT652 具有三态输出的八路总线收发...

 HCT652器件由总线收发器电路,D型触发器和控制电路组成,用于直接从数据中复用数据传输总线或从内部存储寄存器。提供输出使能(OEAB和OEBA \)输入以控制收发器功能。提供选择控制(SAB和SBA)输入以选择实时或存储的数据传输。低输入电平选择实时数据;高输入级别选择存储的数据。图1显示了可以使用这些器件执行的四种基本总线管理功能。 A或B数据总线上的数据或两者都可以存储在内部D型触发器中无论选择控制端子还是输出控制端子,在适当的时钟(CLKAB或CLKBA)端子上都会发生从低到高的跳变。当SAB和SBA处于实时传输模式时,通过同时启用OEAB和OEBA \,可以在不使用内部D型触发器的情况下存储数据。在此配置中,每个输出都会增强其输入。当两组总线的所有其他数据源都处于高阻态时,每组总线保持最后状态。 为确保上电或断电期间的高阻态,OEBA \应通过上拉电阻连接到VCC,OEAB应通过下拉电阻连接到GND;电阻的最小值由驱动器的电流吸收/电流源能力决定。 特性 工作电压范围4.5 V至5.5 V 低功耗,80-μA...

发表于 2018-10-09 17:06 34次阅读
SN74HCT652 具有三态输出的八路总线收发...

TMP411 ±1°C Programmable...

TMP411设备是一个带有内置本地温度传感器的远程温度传感器监视器。远程温度传感器,二极管连接的晶体管通常是低成本,NPN或PNP型晶体管或二极管,是微控制器,微处理器或FPGA的组成部分。 远程精度为±1 °C适用于多个设备制造商,无需校准。双线串行接口接受SMBus写字节,读字节,发送字节和接收字节命令,以设置报警阈值和读取温度数据。 TMP411器件中包含的功能包括:串联电阻取消,可编程非理想因子,可编程分辨率,可编程阈值限制,用户定义的偏移寄存器,用于最大精度,最小和最大温度监视器,宽远程温度测量范围(高达150°C),二极管故障检测和温度警报功能。 TMP411器件采用VSSOP-8和SOIC-8封装。 特性 ±1°C远程二极管传感器 ±1°C本地温度传感器 可编程非理想因素 串联电阻取消 警报功能 系统校准的偏移寄存器 与ADT7461和ADM1032兼容的引脚和寄存器 可编程分辨率:9至12位 可编程阈值限...

发表于 2018-09-19 16:35 52次阅读
TMP411 ±1°C Programmable...

TMP468 具有引脚可编程的总线地址的高精度远...

TMP468器件是一款使用双线制SMBus或I 2 C兼容接口的多区域高精度低功耗温度传感器。除了本地温度外,还可以同时监控多达八个连接远程二极管的温度区域。聚合系统中的温度测量可通过缩小保护频带提升性能,并且可以降低电路板复杂程度。典型用例为监测服务器和电信设备等复杂系统中不同处理器(如MCU,GPU和FPGA)的温度。该器件将诸如串联电阻抵消,可编程非理想性因子,可编程偏移和可编程温度限值等高级特性完美结合,提供了一套精度和抗扰度更高且稳健耐用的温度监控解决方案。 八个远程通道(以及本地通道)均可独立编程,设定两个在测量位置的相应温度超出对应值时触发的阈值。此外,还可通过可编程迟滞设置避免阈值持续切换。 TMP468器件可提供高测量精度(0.75°C)和测量分辨率(0.0 625°C)。该器件还支持低电压轨(1.7V至3.6V)和通用双线制接口,采用高空间利用率的小型封装(3mm×3mm或1.6mm×1.6mm),可在计算系统中轻松集成。远程结支持-55°C至+ 150°C的温度范围。 特性 8通道远程二极管温度传感器精度:±0.75&...

发表于 2018-09-18 16:05 48次阅读
TMP468 具有引脚可编程的总线地址的高精度远...