基于FPGA的UltraDMA写控制器的实现_李晓娟
基于FPGA的UPFC控制系统设计的开题报告
基于FPGA的UPFC控制系统设计的开题报告一、选题背景和意义随着电力系统的规模越来越大和电力负荷的不断增加,电能质量问题越来越受到电力行业的重视。
其中,电压和电流波形的失真、电压闪变和频率偏差等问题,对于电力系统运行的稳定性和可靠性产生直接影响。
针对上述问题,目前已经提出了许多电力系统补偿技术,其中最具代表性的就是柔性交流输电技术(FACTS)。
柔性交流输电技术是指通过电力电子器件对交流电的电压、电流、功率、相位等进行控制,从而实现电力系统谐波滤波、电压调节、无功补偿和功率控制等多种功能。
在FACTS技术中,统一功率流控制器(UPFC)是一种功能强大的电力电子装置,它能够同时对电力系统的负荷电流和电压进行控制,并能够实现电力系统的无功补偿和有功流量控制。
本课题的研究目的就是通过开发基于FPGA的UPFC控制系统,实现对电力系统的无功补偿和有功流量控制,并提高电力系统的稳定性和可靠性。
FPGA作为一种高速可编程逻辑设备,在数字信号处理和控制系统设计方面具有很强的优势,因此本研究选择采用FPGA来实现UPFC控制系统的设计。
二、研究内容和技术路线本研究的主要研究内容包括:(1)UPFC电路的建模与分析,包括UPFC中的电压源逆变器、直流侧逆变器和串联变压器的建模和参数计算。
(2)UPFC的控制算法设计,包括电压控制和有功控制算法的设计和优化。
(3)FPGA的硬件设计和编程,包括数字信号处理器和控制器的设计和优化,并且实现UPFC电路的控制和调节。
(4)系统的仿真和实验验证,验证设计的UPFC控制系统的可行性和有效性。
为了实现上述研究内容,我们将采用以下技术路线:(1)电路建模和控制算法设计:采用MATLAB/Simulink软件进行建模和仿真分析,在此基础上设计UPFC控制算法。
(2)FPGA硬件设计和编程:采用Verilog HDL语言进行FPGA硬件设计和编程,包括数字信号处理器和控制器的设计和优化,并且实现UPFC电路的控制和调节。
基于FPGA的高效率SDRAM读写双口控制器设计
S D R A M
P
! h
G A \ r — — 1 / l 始
控 割
系
统
指 仲 令 裁
发 生
器
二
A d d 。卜、、
, L 一 ! 塑卜
A d d r a s  ̄ jL
— — — — — — 、 /
(
R ∞ l
}
i 》 ^ A k
t
一
一 、
,
》 > c
。 一 .
j <
-
啦s :
/
一 l
< } ^ 《 o
n 3 )
I 一 !\
D i 国 【 , ∽ 一 > l 茎
关键 词 :F P GA;S D R AM;V e r i l o g
中图分类号 :T P 3 3 2
文献标识码 :A
文章编号 :1 0 0 9 —0 1 3 4 ( 2 0 1 3 ) 1 O ( 下) 一 0 1 1 5 — 0 3
D o i :1 0 . 3 9 6 9 / J . i s s n . 1 0 0 9 - 0 1 3 4 . 2 0 1 3 . 1 0 ( 下) . 3 4
c k, RD a c k, WT a c k , c l k 2,
_
图4 总 体 结 构 框 图
a c k , REF
_
a
_
2 . 1 初 始 化
S DR A M在 上 电 1 0 0 u s 一 2 0 0 u s 后 必须 要经 历一 个
o u t p u t r e g [ 3 : l 】 C MD, i n p u t , c l k l , R E S , R E F , R D _ r e
基于FPGA的DMA控制器设计
图3 D M A写操 作 流 程 图 ( 二 )D M A读 操 作 当主机 向压缩模块传输数据 时,接收引擎解析 内存读 T L P s
一
的信息。该信息给出了 目 标地址 、数据大 小、有效负载 内容、
发送 T L P的个数“ 。 第 一个 T L P的地址 由寄存器 R D K  ̄ T L P A( R e a d D i A T L P A d d r e s S )给 出。其他 的 T L P在传输时的地址 由寄存器 R D M A T L P A的值 加上寄存器 R D M A T L P S( R e a d D M A T L P S i z e )的值给出。T L P的标 签的值 由 0开始增加 ,保证每个数据包对应一个编号。在响应 内存读后会收到完成包。发送引擎会监控数据的完成情况 ,并 计算接 收数据总数 。当接收到数据与请求数据 的大小一致时 , 产生中断 ,上传提示 D M A传输结束 。此外,在发送引擎里执行 错误检查 。完成负载的值必须与寄存器 R D  ̄, T L P P( R e a d D M A T L P P a t t e r n )的值匹配。有效负载 总数为 R D M A T L P C( R e a d D M A T L P C o u n t )的值乘 以 R D M A T L P S的值 。图 4是一个 D M A读操作 的操作
一
、
图1 D M A系统 平 台 1 D M A工 作 原 理
D M A方式数据传送工作流程 图如图 2 所示 。 首先 , I / 0设备 向D M A控制器发出请求 。D M A控制器接 到 I / 0设备的请求后 , 向C P U发 出总线请求 ,请求 C P U脱离对总线的控 制。C P U响应 后 ,D M A控制器接管总线,控制存储器与 i / o设备之间的数据 传输 。当预设数据传输完毕后 ,D M A控制器将总线请求信 号设 成无效 ,脱离对总线的控制 。C P U 检测到总线请求信号为无效 后,将总线响应信号设成无效 ,恢复对 系统总线的控制,继续 流 程 。 执行被 D M A中断的当前指令的当前总线周期 。 D M A操作分为 D M A写操作和 D M A读操作 ,下文将介绍读写 操作 的工作过程 o n s u me r E l e c t r o n i c s Ma g a z i n e 2 0 1 3年 3月 下
一种DMA数据传输方法及DMA控制器[发明专利]
专利名称:一种DMA数据传输方法及DMA控制器专利类型:发明专利
发明人:李晓强
申请号:CN200810118230.2
申请日:20080811
公开号:CN101339541A
公开日:
20090107
专利内容由知识产权出版社提供
摘要:本发明提供的一种DMA数据传输的方法及DMA控制器,是通过在现有技术的基础上,增加地址绕回步骤,在向内存读/写数据到达内存终止地址时,交替根据两个地址绕回使能状态寄存判断是否将读/写地址绕回到内存起始地址。
由于其中一个地址绕回使能状态值在另一个地址绕回使能状态值在被使用时已经被设置好,因此在完成一次数据传输能够及时找到下次传输的地址,无需再次启动DMA,从而避免出现由于上一次传输结束中断和启动DMA存在时间间隔,而导致数据丢失的问题。
申请人:北京中星微电子有限公司
地址:100083 北京市海淀区学院路35号世宁大厦15层
国籍:CN
更多信息请下载全文后查看。
基于FPGA可重构的通用密码算法平台设计
基于FPGA可重构的通用密码算法平台设计
李瑞娟
【期刊名称】《广西民族大学学报(自然科学版)》
【年(卷),期】2014(020)004
【摘要】针对数据加密和安全通信的大量应用,提出了基于FPGA可重构的通用密码算法平台设计方案,通过设计可重构基本算法单元,实现对多种常用密码算法可重构设计.重点研究了可重构密码算法平台的设计方法、实现过程以及组成结构.应用AES、RSA等典型密码算法进行测试,结果表明可重构密码算法具有较强通用性,综合资源利用率可提升大约27%.
【总页数】4页(P68-71)
【作者】李瑞娟
【作者单位】柳州职业技术学院电子信息工程系,广西柳州 545006
【正文语种】中文
【中图分类】TP332
【相关文献】
1.基于USB+FPGA技术的密码算法硬件实现平台设计 [J], 袁益民;盛利元;赵国栋
2.基于FPGA的密码算法测试平台设计与实现 [J], 李雪梅;陈亚云;王若鑫
3.基于UVM的FPGA通用接口测试平台设计 [J], 王涛; 黄坤超; 李晨阳
4.基于FPGA的光纤传输板卡通用平台设计 [J], 刘川辉;张小辉;史晓杰
5.基于Labview和FPGA的国产化ADC\DAC通用测试平台的设计与实现 [J], 钱宏文;李小虎;杨文豪;郝刘周
因版权原因,仅展示原文概要,查看原文内容请购买。
基于FPGA的HDLC设计实现
基于FPGA的HDLC设计实现
李晓娟;黄翌
【期刊名称】《现代电子技术》
【年(卷),期】2007(30)6
【摘要】根据某雷达的实际要求在FPGA中设计了HDLC协议处理器,并详述了该协议器的设计构想及具体功能模块的实现.该设计采用分块处理的方法使设计简单灵活,适合于系统移植和借用.试验结果证明设计可行有效,可以满足系统要求.同时对主要功能模块进行了仿真和测试,提供了关键结点仿真波形图及部分原代码.
【总页数】3页(P35-37)
【作者】李晓娟;黄翌
【作者单位】中国电子科技集团第38研究所,安徽,合肥,230031;中国电子科技集团第38研究所,安徽,合肥,230031
【正文语种】中文
【中图分类】TN95
【相关文献】
1.基于FPGA技术的异步转同步HDLC通信卡实现方法 [J], 王琼;李增有
2.基于FPGA平台的HDLC协议的应用与研究 [J], 黄致绮
3.基于S3C4510B和uClinux的HDLC接口设计实现 [J], 刘朋;金野
4.基于S3C4510B和uClinux的HDLC接口设计实现 [J], 刘朋;金野
5.基于CSoC的HDLC设计实现 [J], 贾华忠;陈晓曙
因版权原因,仅展示原文概要,查看原文内容请购买。
基于FPGA的Ultra DMA写控制器的实现
第 7卷
第1 5期 2 0 0 7年 8月
科
学
技
术
与
工
程
V 1 7 No 1 o . .5
Au .2 0 g 07
17 —89 2 0 ) 53 4 —5 6 11 1 (0 7 1 —7 6 0
S i n e T c n l g n n i e rn c e c e h o o y a d E gn e i g
省数据经过操作系统 和内存 的时间 , 提高数据传输 速率 , 减小系统体积 , 高灵活性。硬盘驱动器普 提
遍采 用 的就 是遵 从 A A 协议 的 IE接 口。除 了 充 T D
1 FG P A与硬盘的连接
I E接 口有 4 D 0根 线 , 中有 7根 地线 、6根 双 其 1 向数据 总线 ( D - D 5 ,0根 输 入 到 硬 盘 的控 制 D OD 1 ) 1
20 年 3 1 07 月 2日收到 国家 自然科学基金 (0 30 0 资助 6 52 7 )
专用 排线 , 8 0针排 线 比 4 0针 的 多 了 4 0条 地 线 , 用
以保证在高速数据传 输 中降低相邻信 号线 间的干 扰, 发挥高速的优势。 信号线相互连接 时也要遵守协议 要 求 , , 如 除
CO、 S 、 E E , 根 从 硬 盘 输 出 的 控 制 线 S C 1 R S T) 6 ( M R IR Y、N R D S 、O S6 P IC) D A Q、O D IT Q、 A P IC 1 、 DA ,
1 根空线 ( 2 脚) 第 0 。如此只要按照 4 根信号线 的 0 方向, 采用不超过 4 m 的电缆将 F G 6c P A与硬盘相
基于FPGA的DMA控制器设计
基于FPGA的DMA控制器设计作者:董乾刘勇史曙光来源:《消费电子·理论版》2013年第03期摘要:本文介绍了DMA的工作原理和读写操作过程,分析了DMA控制器设计中各子模块划分的功能,并列出了读写操作的功能仿真验证结果。
实现了基于FPGA的DMA设计,并且应用在硬件压缩系统中。
关键词:DMA;FPGA;压缩中图分类号:TP273 文献标识码:A 文章编号:1674-7712 (2013) 06-0042-03随着计算机技术的发展,主机与外设间的数据传输速度越来越高。
主机与外设间的数据传输在CPU的管理下进行,这种管理方式称为I/O同步控制方式。
这实际上也是指CPU和接口间的信息传送方式。
常用的I/O同步控制方式包括:程序控制、中断控制、直接存储器存取(DirectMemoryAccess,即DMA)。
一般的数据传送方式(程序控制、中断控制)是在CPU控制下进行的,即CPU向地址总线和控制总线发出双方的地址和控制信息,再将数据传输到数据总线并经过CPU的累加器转送到存储单元或外设端口。
因为每次传送的位数有限(不超过CPU数据线宽度),数据传送速率比内存存储速率低得多。
因此,频繁经CPU进行大量数据传送是很低效的,尤其不适用于实时传送数据。
而DMA方式允许外部设备和存储器之间直接读写数据,而不经过CPU暂存。
DMA方式数据传输仅由DMA控制器控制经过系统总线来完成,不受CPU干预和限制,数据传送速率大幅提高。
极适用于海量、高速数据传输。
本文将介绍一种已应用于硬件压缩卡的DMA控制器模块。
其控制硬件压缩卡与主机间的数据传输,提高了传输速率,降低了CPU资源消耗。
硬件压缩卡如图1所示,由三部分组成,分别为PCIE[1]模块、DMA模块和压缩模块。
其中PCIE模块是Xilinx的IP核,DMA模块控制主机与压缩模块间的数据传输。
硬件压缩卡基于XilinxV6ML605开发板设计测试。
下文主要对DMA模块的设计实现进行论述。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第7卷 第15期 2007年8月1671-1819(2007)15-3746-05科 学 技 术 与 工 程Science T echno logy and Eng i neeringV o.l 7 N o .15 A ug .2007 2007 Sc.i T ech .Engng.基于FPGA 的U ltra D MA 写控制器的实现李晓娟1,2刘学斌2胡炳樑2程海波2(中国科学院研究生院1,北京100039;中国科学院西安光学精密机械研究所2,西安710119)摘 要 对ATA 协议中的U ltra DMA 部分进行研究,在Q ua rt us Ⅱ开发平台上使用VHDL 语言对现场可编程逻辑阵列(FPGA,A ltera 公司的Ep1c6系列)进行编程,实现了脱离主机的U ltra DM A 写控制器。
该控制器可以直接应用于数据记录系统。
由于不需要主机控制,从而具有体积小、灵活性高、速度快的优点。
适用于机载、雷达等场合的数据记录系统。
关键词 ATA 协议 现场可编程逻辑器件 寄存器传输 DMA 突发传输中图法分类号 TP273.6; 文献标识码A2007年3月12日收到 国家自然科学基金(60532070)资助第一作者简介:李晓娟,(1982)),陕西西安人,中国科学院西安光学精密机械研究所硕士生,研究方向:硬件接口及基于FPGA 设计。
E-m ai:l li_x i ao j uan1234@hot m ai.l co m 。
通常情况下,CPU 的软件控制和主板上的硬件电路构成主机方的I DE 接口控制器,每个I D E 设备内有自己的I D E 控制器,它们按照协议要求协同工作,完成对I DE 设备的控制。
如果只把主机中实现ATA 控制的部分提取出来,而对主机实现的其他功能不予考虑,再针对具体的应用,对ATA 协议功能模块进行组合,就有可能实现一种脱离主机的记录系统。
这样可以充分利用性价比高的I D E 设备,节省数据经过操作系统和内存的时间,提高数据传输速率,减小系统体积,提高灵活性。
硬盘驱动器普遍采用的就是遵从ATA 协议的I DE 接口。
除了充分利用硬盘这种数据传输速度快、性价比高的存储介质外,为了达到更高的数据记录速度,选用ATA 协议中的U ltra DMA 方式。
要实现U ltra DMA 控制需要的命令主要有:读/写寄存器、读数据、写数据、D MA 读写。
通过这几个命令的有效组合,就可以形成ATA 协议的几个模块化过程:初始化、擦除、DMA 读写过程[1]。
对命令的组合是实现记录系统的关键和难点。
采用VHDL 语言对现场可编程门阵列(FPGA )进行软件设计,VHDL 具有很强的行为描述能力,有丰富的仿真语句和库函数;而且VHDL 对设计的描述具有相对独立性,可以说VHDL 是系统设计领域最佳的硬件描述语言。
FPGA 的优点是它的设计开发方便灵活,内部资源丰富,信号路径时间可以估算,而且成本不高,可扩展性好。
所以选用VHDL 对FPGA 进行设计。
1 FPGA 与硬盘的连接I D E 接口有40根线,其中有7根地线、16根双向数据总线(DD0-DD15),10根输入到硬盘的控制线(DA0、DA1、DA2、D I O W 、D I O R 、DAM ck 、CSEL 、CS0、CS1、RESET ),6根从硬盘输出的控制线(DMARQ 、I ORDY 、I NTRQ 、DASP 、I O CS16、PD I A C ),1根空线(第20脚)。
如此只要按照40根信号线的方向,采用不超过46c m 的电缆将FPGA 与硬盘相连即可。
值得注意的是,当FPGA 以ATA 协议中的U ltra DMA m ode3及以上模式运行时,要用80针的专用排线,80针排线比40针的多了40条地线,用以保证在高速数据传输中降低相邻信号线间的干扰,发挥高速的优势。
信号线相互连接时也要遵守协议要求,如,除DASP 、PD I A G 、I O CS16和SPSYNC :PSEL 信号外所有信号都使用TTL电平电路收发器。
在选用信号的驱动方式时,也要注意有的信号如RESET_、D MACK_、DA(2:0)、CS0_和CS1_需要推挽式驱动, DASP_需要OC门输出,而其他的信号则用三态输出即可,有的信号还需要上拉下拉电阻。
一般的FPGA管脚支持多种电平,管脚上有可编程的上拉电阻,输出驱动器还可以控制驱动电流强度,漏集开路输出等。
所以FPGA的可编程输入输出管脚大大方便了控制器与硬盘的连接设计[2]。
2软件设计2.1与U ltra D MA有关的ATA协议ATA定义了主机系统和存储设备互联的物理、电气、信号传输和命令规范[3]。
协议的内容可以分以下几个部分:首先协议规定了接口的物理特性和电气特性,以及接口信号;其次协议对各种情况下设备和主控制器可以执行什么样的命令进行了规定,比如在U ltra D MA情况下,主控制器使可以执行RE AD D MA,WR I T E DMA,RE AD DMA QUE UED, W RI TE D MA QUE UED或者P ACKET命令。
协议的工作原理是:I DE硬盘中的控制器在硬盘内是命令的发出者,但它对主控制器来说实际上是一种任务寄存器,主控制器对硬盘的输入输出操作都是通过对相应寄存器的读写来完成的。
主控制器发出命令,通过对命令寄存器组写命令参数及命令,实现命令的执行[4],然后实现数据的传输。
主控制器通过接受来自硬盘的信号以及读取状态寄存器中的信息决定下一步的动作。
这样在写命令、读状态、数据传输的循环操作中实现了对硬盘的操作过程。
整个对硬盘的状态控制和得到硬盘的交换状态信息的过程都是通过对寄存器组的操作来实现的[4]。
2.2寄存器传输协议中关键的动作是对寄存器的读写。
如上所述,命令及命令参数的传递、设备状态信息的传递都是通过寄存器的读写来完成的。
而且ATA协议中寄存器传输实际上是遵守PI O传输模式的,所以寄存器传输很重要也很有代表性。
寄存器传输时序要求如图1所示:主控制器需要把待访问的寄存器的地址发送到CS1_,CS0_和DA2-DA0几个信号组成的地址线上,设置读写信号D I O R_/D I O W_。
同时控制器或硬盘把待传送的数据放到数据总线上,根据数据传送的方向,控制器或硬盘读取总线上的数据,操作完成后,释放数据线、地址线。
利用状态机产生满足时序要求的D I O R_/D I O W_。
图1寄存器读写时序图要实现对硬盘的U ltra DMA控制,常用的寄存器如表1所示。
辅助状态寄存器(只读):该寄存器中保存的信息与状态寄存器中的相同,并且对该寄存器操作不会清除未被中断请求。
状态寄存器(只读):与命令寄存器复用,该寄存器反映了硬盘执行一个命令后的状态。
不同的位可以表示不同的硬盘状态,如BSY可表示硬盘是否忙,DRDY表示硬盘是否准备好接受命令。
设备控制寄存器(只写):该寄存器的第1位是中断使能位nI EN,-0.表示开中断。
命令寄存器(只写):该寄存器接收并保存发送来的命令。
特性寄存器(只写):当命令写入命令寄存器时,该寄存器的内容将成为命令参数,而且针对不同的命令,该寄存器的内容将有不同的含义。
设备寄存器(可读可写):其中的DEV位用于设备被选中,-0.表示零号硬盘被选中。
374715期李晓娟,等:基于FPGA的U ltra DM A写控制器的实现表1I DE 硬盘接口寄存器地址CS0_CS1_DA 2DA 1DA 0读操作写操作10110辅助状态寄存器设备控制寄存器01001错误寄存器特性寄存器01110状态寄存器命令寄存器01000数据寄存器01010扇区计数寄存器01011LBA [7:0]地址寄存器01100LBA [15:8]地址寄存器01101LBA [23:16]地址寄存器0111设备寄存器,其低四位为LB A [27:24]地址2.3 FPGA 控制硬盘进行U ltra D MA 方式数记据录FPGA 控制硬盘进行数据记录的方法如下。
(1)选择硬盘(SELECT DEV I CE )将设备寄存器的地址送到CS1_、CS0_、和DA2-DA0信号线上,将数据总线的第4位即设备寄存器对应的DE V 位置0或1(使用0号硬盘还是1号硬盘),并使写信号DI O W _有效。
(2)开中断将设备控制寄存器的地址送到CS1_、CS0_、和DA2-DA 0信号线上,将数据总线的第1位即设备寄存器对应的nI E N 位置为0(开中断),并使写信号DI O W _有效。
(3)设置接口特性(SET FEATURE ,命令码EFh)在选好要操作的硬盘后,向特性寄存器写03h,图2 硬盘初始化参数设置阶段仿真结果告诉硬盘主控制器开始设置传输模式。
向扇区计数寄存器的高5位写01000,表示设置U ltra D MA 传输模式;向低3位写010,表示采用U ltra DMA 方式中的模式2,即主控制器与硬盘之间数据最高传输速度为33MB /s ;向低3位写100,表示采用U ltra DMA 方式中的模式4,即主控制器与硬盘之间的数据最高传输速度为66.6M B /s ;最后向命令寄存器写命令码EFh,即向硬盘发送设置传输模式命令。
(4)D MA 写(W RI TE D MA,命令码CAh)在设置完与硬盘之间的数据传输模式后,主控制器通过该命令启动DMA 突发数据输出。
首先设置命令参数:向扇区计数寄存器写本次写硬盘总的扇区数,向LB A H i g h 、LBA M id 、LBA Lo w 写本次写硬盘的起始扇区地址(即LB A 地址)。
最后向命令寄存器写命令码CAh ,启动DMA 数据输出。
2.4 时序验证结果在Quaturs 平台下进行了时序仿真,仿真结果如图2,图3,图4所示。
图2是硬盘初始化参数设置阶段:DD0上的数据在D I O W _n 的下降沿送入各个寄存器,随着CS0_n 、CS1_n 、DA 地址线上地址的变化依次设置特性寄存器、扇区计数寄存器及命令寄存器。
当这几个寄存器设置完成后,需要等待来自硬盘的中断,并检查硬盘的状态,看硬盘是否准备好以及硬盘是否处于空闲状态。
在硬盘初始化时U ltra DMA 传输模块是处于空闲状态的,这在图2中显示为:dm a _curr_state :dm a_i d le 。
图3是U ltra DMA 传输前的参数设置阶段,在FI FO 半满信号有效后开始依次设置:设备寄存器(0040h)表示地址以LBA 方式;LB A 地址寄存器指示起始地址;扇区计数寄存器指示一次传输的数据量(00h 表示一次3748科 学 技 术 与 工 程7卷图3 U ltra DMA传输命令参数及命令设置阶段仿真结果图4 U ltra DMA 数据传输阶段仿真结果传输256个扇区数据),参数设置完成后传送命令码。