2019年NiosII的USB接口模块设计
基于NIOSII 的 USB2.0记录仪数据采集器研制
基于NIOSII 的 USB2.0记录仪数据采集器研制
黄辉
【期刊名称】《《中国高新技术企业》》
【年(卷),期】2012(000)004
【摘要】为解决航空参数记录数据读取问题,文章提出了一种新颖的基于NIOSII 和USB2.0平台的高性能记录仪数据采集器。
系统以USB2.0作为与计算机的接口,在FPGA内建NIOSII处理器来实现NAND FLASH的控制以及与CY7C68013A USB2.0芯片接口。
实验证明,该系统在采集速率为20MByte/s,远超出了目前通用的数据采集器的性能。
【总页数】2页(P112-113)
【作者】黄辉
【作者单位】台州科技职业学院机电工程系浙江台州318020
【正文语种】中文
【中图分类】TP333
【相关文献】
1.基于USB
2.0接口的PCM数据采集器设计与实现 [J], 张莉;周雪纯;张乐
2.基于USB2.0的同步高速数据采集器的设计 [J], 林植平;倪瑛
3.基于USB2.0的高速数据采集器设计 [J], 董文信;柴克谦;张福雄
4.基于USB2.0的遥测数据采集器研制 [J], 徐旻;王洪森;谌德荣
5.基于USB2.0的GPS中频数据采集器研制 [J], 胡辉;沈翔;纪兆云;吴超;高明华
因版权原因,仅展示原文概要,查看原文内容请购买。
基于Nios Ⅱ和USB接口的工业CT数据采集模块测试系统设计
第30卷 第6期2007年12月电子器件Ch inese Jou r nal Of Elect ro n DevicesVol.30 No.6D ec.2007Design of a Test ing System f or In dustr i a l CT Data A cquisition ModuleB a se on N ios II and U SB Inter face 3GA O Fu 2qi an g13,J I A N G Ren 2qi n g 2,L U H ua 2,CA O Pen g 2,A N K an g21.I C T Research Center ,Chong qi n g Uni versi t y ,C hon gqi ng 400030,Chi na;2.Automat ion Coll ege ,Chon gqi n g Uni versi t y ,C hon gqi ng 400030,Chi naAbstract :To design a te sti ng system for indust rial C T dat a acquisition module ba sed o n Nios II soft core processor and USB i nte rface.Syst em scheme de si gni ng ,har dwa re a nd sof t ware de si gni ng a re di scussed.Desi gni ng wi t h Nios II p rocessor helps to si mplif y syst em st ruct ure ,increase flexi bilit y of design a nd im 2prove system performance.Pseudo i nt errupt which combi nes t he advanta ge s of interr upt t ra nsfer and bul k t ransf er is used to meet t he requi re me nt of mass data and real ti me.Practical application shows t hat t he system ,wit h a t ransmission byt e error rat e less t ha n 1×10-7a nd a t ransfer speed of 370kbyt e/s ,can be successf ully used to t est i ndust rial C T data acqui sition module.K ey w or ds :data acqui si tion ;i ndust rial C T ;Nio s;U SB interf ace ;pseudo i nte rrupt ;bulk t ransf er EEACC :1130B基于Nios II 和USB 接口的工业CT 数据采集模块测试系统设计3高富强13,江仁清2,卢 华2,曹 鹏2,安 康21.重庆大学ICT 研究中心,重庆400030;2.重庆大学自动化学院,重庆400030收稿日期22基金项目国家自然科学基金“基于高精度工业T 测量系统的发动机材料可靠性分析技术研究(668)资助项目”作者简介高富强(562),男,副教授,工作于重庆大学I T 研究中心,研究方向为嵌入式数据采集、射线辐射探测,f q @q 摘 要:基于Nios II 软核处理器和USB 接口设计了一种工业CT 数据采集模块测试系统.论述了系统的方案设计、硬件设计、软件设计.利用Nios II 进行设计简化了系统结构,提高了设计灵活性,优化了系统性能.在USB 传输中应用了伪中断批量传输方式,很好地满足了数据传输量和实时性的要求.实际使用结果表明,该系统数据传输字节出错率小于1×10-7,数据传输速度达370kbyte/s ,可成功地应用于工业C T 数据采集模块的测试.关键词:数据采集;工业C T;Nios ;U SB 接口;伪中断;批量传输中图分类号:TP302.1 文献标识码:A 文章编号:100529490(2007)0622096204 在工业C T 机中,测量数据通常是由多个数据采集模块产生的,只有保证每个模块采集到的数据的准确性,才能确保整个工业C T 测试系统得到的测量数据准确可靠.因此,在设计和制造好数据采集系统后,有必要使用工业C T 数据采集模块测试系统单独地对每个数据采集模块进行数据准确性测试.本文提出了一种基于Nios II 处理器和USB 接口的工业CT 数据采集模块测试系统的解决方案.根据此方案设计的工业CT 测试系统能够将一个数据采集模块中64通道中的测量数据实时地传输到上位机,并在上位机中对数据进行存储、显示、数理统计以及通过上位机应用程序的可视化界面发送自检、设置积分电容、设置积分时间、设置采集次数等:20070101:C 07209:19C gao c u.e .10个工业C T机的参数设置命令.数据采集系统设计人员利用该测试系统能方便地得到在各种参数条件下数据采集模块得到的测量数据,通过分析后纠正设计缺陷,改善数据采集系统的性能.1 Nios II处理器Nios II处理器是美国Alt era公司开发的第二代32位R ISC软核处理器[1].它是在Alt era公司的F PGA技术和AVAL ON总线技术支持下工作的新一代嵌入式软核处理器,其性能超过150D Mimp2 l ul se/s[2].使用Nios II进行嵌入式系统的开发,具有灵活、可裁剪、效率高、成本低等优点.值得一提的是,Nio s II处理器提供了硬件描述语言与C/C++语言的无缝连接,使得原先在MCU/DSP等微处理器平台下开发的C/C++语言程序能够稍做修改就能移植到Nios II中,简化了开发的过程.此外,Al2 t era SO PC Buil der提供的许多Nios II外设,如UAR T、PIO、SDRAM控制器、DMA、PLL等,极大地方便了用户使用Nios II处理器进行的SOPC 开发.2 测试系统方案设计在工业C T测试系统中,X射线对被测工件进行测量后得到的测量信号经过一系列的变换和处理后,通过I2C总线传输到测试系统中.该系统在对其进行数据格式转换后,再通过USB接口,将数据上传到上位机中进行处理和显示.由于单个模块数据采集的最大速度为335kbyte/s,而工作在闲置的全速U SB总线上的批量传输最大传输速度为1216 kbyt e/s[3].因此,采用USB总线传输测试数据即可满足传输速度要求.在此基础上,测试系统有三种不同设计方案:(1)采用C语言或汇编语言编写USB接口下位机程序,MCU/DS P作U SB通讯的下位机,并用F PGA完成输入数据转换、缓存、输出命令的处理.(2)用硬件描述语言V HDL或Verilog HDL 编写U SB接口下位机程序,由FP GA完成输入数据转换、缓存、输出命令处理以及和上位机的U SB 通讯.(3)采用C/C++语言编写U SB接口的下位机程序,Nios II处理器作USB通讯的下位机.由F PGA完成输入数据转换、缓存、输出命令的处理以及和上位机的U SB通讯在以上三种方案中,方案①接口程序编写简单,但在F G的基础上再加M U DS使系统复杂而显得冗余;方案②电路简洁,但用硬件描述语言编写U SB接口下位机程序比较复杂,无法移植在其它微处理器上开发成功的接口程序.方案③电路简洁、抗干扰、可靠性好,使用嵌入到FP GA中的Nios II处理器,能够方便地移植在MCU/DSP等处理器上开发成功的接口程序,开发过程简单,因此,选择方案(3).基于方案(3)的测试系统方案如图1.图1 工业CT测试系统方案3 硬件设计本系统的硬件主要芯片为Alt era公司的Cy2 clone EP1C3T144C8F P G A和南京沁恒公司生产的C H372U S B总线接口芯片.Cyclone EP1C3T144C8FP GA[4]具有2910个L E、59904个存储位、1个PLL以及104个最大可用I/O,另外它还支持Nios II处理器,能够满足多种不同要求的应用场合.C H372[5]具有8位数据总线和读、写、片选控制线以及中断输出,能够方便地连接到F P G A上;它内置了U S B通讯的底层协议,使用内置固件方式,并配合厂家提供的Wi ndows驱动程序和A PI应用层接口时,能极大地方便USB设备的开发.另外,它还支持全速设备接口,兼容U SB2.0协议,支持控制传输、批量传输和中断传输,能够满足各种不同U SB设备对数据传输速度的要求.图1中输入数据转换模块、输出命令处理模块均用V HDL语言编写.256kbyt e模块由Quart us II软件的Me ga Wiza rd Pl ug2in Manager生成,而Nios II处理器及其外设则由Al tera SOPC builder 创建.图中除C H372、U S B总线及上位机以外,全部嵌入在FP GA中.该系统的工作原理为:64通道20bit信号以及3个的数据校验信号通过I总线发送到测试系统中输入数据时,输入数据转换模块将的数据转换成便于N II处理器处理及U SB传输7902第6期高富强,江仁清等:基于Nios II和USB接口的工业C T数据采集模块测试系统设计.P A C/P 20bit2C.20bitios的8bit数据,并存储在作为数据缓存器的RA M中.每处理完一组64通道的信号及校验数据,输入数据转换模块便发送Data Ready信号向Nios II处理器发送中断请求.Nios II中断允许并执行对应的中断服务程序,将数据上传到U S B总线接口芯片CH372中,并通过该芯片以USB总线的方式传输给上位机应用程序处理.输入数据转换模块的时序仿真图如图2.图2 输入数据转换模块时序仿真图输出命令时,应用程序将所要输出的20bi t命令通过U S B总线下传到Nios II处理器中,再由其将数据发送到输出命令处理模块进行8bit到20bit的数据格式转换.Nios II处理器在发送完命令信号后,再发送Cmddown信号给该模块,通知其接收命令,并以I2C总线的方式将命令下传给下级电路.基于上述两种芯片的工业C T测试系统的硬件框图如图3.图3 数据采集模块测试系统硬件框图4 软件设计在USB的四种传输类型中,批量传输的传输速度最快,适用于待传输数据量大,但实时性要求不高的场合;而中断传输传输速度慢,但具有实时性好的优点.由于工业CT的数据量大,对实时性要求较高,因此,结合C H372芯片特性,可采用伪中断[5]批量传输方式,以充分发挥中断传输实时性好和批量传输方式传输数据量大的优点.伪中断批量传输,即在上传数据时,每次将最多6y的数据写入3的批量端点,随后,将预先设置好的8y的中断特征数据写入3的中断端点在中断端点写满8byte的数据后,C H372立即以中断传输方式上传中断特征数据.应用程序检测到中断特征数据便进入到伪中断服务程序中调用接收并处理批量端点中数据的子程序,完成数据的接收和处理.4.1 下位机(N ios II处理器)软件Nios II处理器和上位机的通信主要是通过Nios II处理器执行中断服务程序来完成的.在NiosII处理器中,通过在主程序中调用Nios II IDE的HAL(硬件抽象层)AP I函数al t_i rq_regi ster()[6]实现中断的注册.该函数的原型为:i nt alt_irq_regi ster(al t_u32id,voi d3cont ext,void(3i sr)(void3,alt_u32));其中,id为设备的硬件中断号,cont ext是个给中断服务程序传递上下文信息的指针,而isr为与i d对应的中断服务程序.对应于以上注册的中断服务程序的原型为:Void i sr(void3context,alt_u32i d));完成中断服务程序的注册和中断服务程序的编写后,当程序在硬件上运行时,如果有对应于i d的中断发生,则Nios II处理器自动进入中断服务程序,完成数据的传输.利用Nios II处理器实现的下位机中断服务程序流程图[7]如图4.图4 Nios II中断服务程序流程图此外,中断服务程序程序体、主程序和其它子程序都可直接使用C/C++编写或移植现有的C语言下位机接口程序.4.2 上位机软件[8]本系统上位机应用程序的任务一方面在于实现和N II处理器中的下位机程序协作实现USB传输的功能;另一方面,要完成数理统计并显示各通道8902电 子 器 件第30卷4b teCH72b teCH72.io s的数据,保存数据采集模块采集到的数据的任务.上位机程序流程图如图5.图5 上位机程序流程图应用程序启动时,首先进行初始化,其内容包括加载C H372动态链接库、打开USB设备、设定伪中断服务程序、初始化应用程序的接收数据缓冲区.随后,通过应用程序可视化界面发送自检命令,工业CT机进行自检.自检通过后,即可设置工业C T机的积分电容、积分时间、采集次数等参数.设定完参数后,应用程序向Nios II处理器发送上传数据命令,如果此时Nios II发现发送数据缓冲区中正好有数据等待发送,则进入伪中断服务程序,开始发送数据.上位机接收到数据后,将8bit数据还原为20位/通道的数据格式,用文本文件的格式保存并将其动态地显示在应用程序的可视化界面中.由于CH372批量传输时,一次最多能读取的最大长度为4096byte,因此,在需要连续传输大量的数据时候,必须每4096byt e传输完成时重新发送上传数据命令.接收完设定的数据后,即可退出程序.5 结论本文讨论的工业CT数据采集模块测试系统利用了Nios II处理器和F P G A灵活、可配置的以及USB伪中断方式的批量传输速度快、实时性好的优点,简化了工业C T数据采集系统的开发过程,提高了开发效率. 为了对该系统的性能进行量化的评估,对该测试系统数据传输出错率及数据传输速度进行以下测试. (1)由下级电路的FP GA连续发送约定的不同字节数的测试数据到该测试系统,并经其传输到上位机测试程序中.(2)测试程序将收到的数据和预先约定的测试数据进行比较,如果二者不同,则数据传输出错.(3)通过测试程序不断改变所传输的测试数据的字节数,直到出现数据传输出错.(4)将传输出错的数据的字节数和所传输的数据字节总数相比,得到传输出错率;将传输正确的数据字节数和传输这些数据所用的时间相比,得到数据传输速度.实际测试结果表明:该系统在测试工作在设计的参数范围内的数据采集模块时,数据传输出错率小于1×10-7,数据传输速度达370kbyte/s,实时性好;它能及时暴露被测模块设计和制造的不足,有助于改善设计、提高产品质量,可用于数据采集模块的设计验证以及产品制造过程检验.目前,该系统已成功地应用于工业C T数据采集模块的测试.参考文献:[1] 彭澄廉,周博.挑战SOC-基于NIOS的SO PC设计与实践[M].北京:清华大学出版社.2004.2.[2] Al tera公司.Nio s II Processo r Reference B oo k[M].NII5V225.1.15225.[3] 萧世文.USB2.0硬件设计[M].北京:清华大学出版社.2002.22250.[4] Al tera公司.Cyclone Device Han dboo k[M].Vol ume1.C5V121.9.2212222.[5] 南京沁恒公司.USB总线接口芯片CH372中文手册A3版[S].1212.[6] Al t era公司.Nios II Sof t ware Developer’s Hand2Book[M].NII5V225.1.11012114.[7] 南京沁恒公司.C H372/C H375和C H451/CH452演示板说明及应用参考[S].2C版.227.[8] 孙鑫,余安萍.VC++深入详解[M].北京:电子工业出版社.2006.6.129.9902第6期高富强,江仁清等:基于Nios II和USB接口的工业C T数据采集模块测试系统设计。
基于NIOSII的嵌入式网络接口设计
3 2006211201收到,2007201205改回33康文轩,男,1980年生,硕士研究生,研究方向:嵌入式开发。
文章编号:100325850(2007)022*******基于N I OS II 的嵌入式网络接口设计D esign of Em bedded Network I n terface ba sed on N I OS II康文轩 李 斌 屈 巍 鲍广喜(沈阳理工大学信息学院 沈阳 110168)【摘 要】阐述了基于N I O S II 软核处理器和以太网控制芯片R TL 8019A S 的网络接口设计。
简要介绍了基于FPGA 的SO PC (System O n P rogramm ab le Ch i p ,简称可编程片上系统)技术,给出了网络接口的软硬件的设计和实现。
此设计增强了系统的灵活性,并且结构简单适应于不同应用领域对接入网络的需求。
【关键词】N I O S II ,网络接口,FPGA ,SO PC中图分类号:T P 393文献标识码:AABSTRACT T h is paper expounds the netw o rk interface design of N I O S II soft co re p rocesso r and E thernet R T l 8019A S ,and gives a si m p le introducti on to FPGA -based SO PC techno logy ,and designs and i m p lem ents the netw o rk interfaces of softw are and hard 2w are ,w h ich enhances the feasibility of the system and is ted to the requirem ent of access netw o rk in different areas because of its si m p le structure .KEYWOR D S N I O S II ,netw o rk interface ,FPGA ,SO PC1 SO PC 技术与嵌入式软核处理器N I O S IISO PC 是一种基于FPGA 的可编程SOC (SystemO n a Ch i p )。
基于NIOSII 的 USB2.0记录仪数据采集器研制
FAH L S 的接 口电平 为 3 3 ,因此 可 以跟E 2 S 2 8 .v PC Q0 F G 芯片直接进行连接 ,使用过程 中,采集器通 过数 PA 据排线方式连接至数据记录仪。 ( FG 二) P A硬件程序设计
1 P A C 7 6 0 3接 口。 .F G 与 Y C 8 1A
用D P S 的串 口将 数据传至计算机 。上述系统 中,数据
的记录和读取都合并到记录仪 中,然而读取数据 部分
在系统记录过程 中是多余的,完全可将记录和读取独
立 开,以减轻记录系统的体积和 复杂度 。同时 ,大多
系统采用低速 通信接 口读取N N L S 中的数据 ,然 A D F AH 而 随着 电子技术 的发展 ,对数据记 录仪 的记录数据量 要求越来越高 ,U B . 或R 2 2 S 1 1 S 3 的通信速 率 已不能满
证数据 连续传 输过 程 中不丢 失 以及 提高传 输速 度 , 系统中加入这两个F F 。E t t l I O x C r 模式起: F F 接 口  ̄ I0 J f 逻辑控制作用 。该模块 提供 了标准 的w 、R 、D R R D I、
W F L 、R E P Y AA 1 :] 口。 R U L D M T 、D T [5 O 接
通 用的数据 采 集器的性 能 。
关键 词 : 据记 录仪 ;闪存 ; 数 采集 ; 可编程 逻辑 器件 中图分类 号 : P 3 T 33 文献标 志码 : A 文 章编 号 :10 — 3 4( 0 2) 4 0 1 — 2 09 27 2 1 0— 12 0
数据记录仪在航空 、车载、船舶等领 域 已经大量 应用 。N N L S 作为记录仪 中的存储介质 已经得到 AD FAH 普遍认可 ,如弹载数据记录仪 、机载记录仪、多通道 测试记录仪等。而记 录仪的数据读取方法 ,目前普遍 采用U B . 或R 2 2 S 1 1 S 3 等低速接 口实现 ,如 嵌入式超 载 监控记录仪采 用C 3 5 U B . 模块进行数据读取 ,采 H 7 S 1 1
Nios II的USB接口模块设计
Nios II的USB接口模块设计1. 引言随着电路规模越来越大,片上系统(SoC)已经成为IC设计的发展趋势,相应地也有了更加灵活的片上可编程系统(SOPC)。
Nios II CPU是一个基于流水线设计的通用RISC微处理器,拥有五级流水线和指令与数据内存分开的哈佛结构,具有可配置功能。
用户可以根据需求在SOPC Builder中增减IP核,从而实现资源优化。
为了构建一个更简洁高效的片上系统,用户可以自行开发IP组件,作为用户自定义逻辑添加到AVALON总线[1]。
AVALON 总线是一种结构相对简单的总线,用于连接Nios II和其他外设。
它规定了主从部件间的端口连接关系,以及部件间通信的时序关系。
AVALON总线拥有多种传输模式,以适应不同外设要求。
基本传输模式是在主从外设之间进行单字节,半字或字的传输。
AVALON总线还支持一些高级传输模式,例如支持流操作,支持延时操作,支持多个主设备同时访问。
通常来说,EDA厂商及第三方提供的IP核都是通用的,但进行SOPC设计时,用户可能有特殊需求,这时必须使用用户自定义逻辑来实现所要的功能。
SOPC Builder集成在Altera 公司的EDA工具Quartus II中。
用户可以通过SOPC Builder提供的图形用户界面从Altera 公司提供的IP库中选取一些组件,如Nios II,DMA,SRAM,FLASH等等,根据实际需要设置这些IP的配置参数。
用户还可以自己编写HDL代码模块作为用户自定义逻辑方便地添加到SOPC Builder中,设计流程如图1所示。
这里以常用的USB控制芯片SL811HS为例详细介绍如何在Nios II中添加用户自定义模块。
图2是系统结构图。
3.1 USB控制芯片介绍SL811HS 是Cypress 公司的嵌入式USB host/slave 接口芯片,支持USB1.1 的全速和低速设备。
提供USB 主机的硬件接口及总线管理机制,片内集成SIE、USB 收发器和根HUB,能够完成嵌入式USB 主机所需的功能。
基于LabVIEW和NiosⅡ的USB通信系统设计
E u p n Ma u a t n e h oo y NO. 2 0 q i me t n f cr g T c n l g i 7, 0 7
基 于 L b E 和 Nis I a VI W o I 的 USB 通 信 系 统 设 计
【
fO _ L+ () ’ 皂 R M
块
一
程0 1 一
・ E} d接 口 十一 — t l 锄
发展 到 目前 以最新版本 Lb I W . aV E 82 0为核心 ,包括控 制与仿 真、 高级 数字信号处理 、 统计 过程控制和模糊控 制等众多 附件 软件包 , 运行于各种平台的工业 标准软件 开发环境 。从简单 的
传输都是 在一个 Mat 和一个 Sae 之间进行 的, at 产生 sr e lvr Msr e
地址 和控制信号 。
—]
.
IA r G模块 l
Hd¨ |a
No n棱 i 6iBFra bibliotekn 卜 ・一 1 U T AR ・ . 一 定时器
i ’
2 基 于 L b IW 的 虚拟 仪器 a VE
新型接 口技术 , 它基于单 一的总线接 口技术来满足多种应 用领
域 的需求 ; 它的即插即用、 支持热插拔 、 易于扩展等特性极 大地
产生 。S P u dr O CB ie 产生外设的硬件代码 的同时 , l 还产生外设
的内存 映射 和驱动程序 ,换句话说 , i l外设 的驱动程序是 No I s 经过验证 的 , 软件人 员看到 的只是 一系列 函数 , 这就大大简化 了软件开发。常见 的 Nol外设包括 内部 R M(O )S R i I s A R M ,D AM 控制器 , 时器 , 定 可编程 1 U R ,P 等。 0, A T S I A a n总线是 Nol系统 的内部总线 , vln决定 Nol vl o i I s Aa o i I s
NIOSii配置及例程使用教程
NIOSii配置及例程使用教程NIOS ii 配置及例程使用教程本教程为nios ii在FPGA板上的配置入门教程,仅使用在xsyan 设计制作EP2C5/EP2C8开发板上。
下面将会详细的说明如何使用nios ii在FPGA上配置一个altera公司提供的CPU,并利用这个CPU 来调试和执行相应C程序。
并且,最后会有两个例程。
一,硬件要求:1,EP2C5/EP2C8开发板一块。
2,USB电源线一条。
3,并口线一条。
4,串口线一条。
二,软件要求:1,quartus II 7.0.2,MegaCore IP 7.0.3,Nios II EDS 7.0.三,主要步骤:1,在quartus上创建一个工程。
2,在此工程里面调用SOPC,并配置CPU。
3,创建cpu.4,定义FPGA引脚并综合。
5,调用NIOS,配置相应设置。
6,再次编译综合工程。
7,下载FPGA。
四,详细步骤:1,在quartus上创建一个工程。
a)打开quartus,选择File->New project wizard.b)在打开的窗口上选择Nextc)选择工程路径,并且指定工程名字。
d)添加文件,因为没有设计文档,所以跳过,直接Next。
e)选择器件,请根据自己的开发板选择EP2C5T144C8/ EP2C8T144C8f)然后直接点Finish,创建工程完毕。
2,用SOPC配置一个CPU。
a)在quartus里面调用SOPC。
b)在打开的SOPC里面,输入系统名字,选择HDL语言种类c)点确定后开始配置CPU,双击左边栏的Nios ii Processor.d)这里选择经济型,然后点Next,直到下个页面。
e)然后点finish,Process配置结束,双击UART,配置串口f)直接用默认配置,点Finish即可,然后双击on-chip-memory 配置memory。
g)配置如上图配一个8K内部ram后点Finish,用来存放程序代码和初始化代码,然后继续创建memory用来存放变量,再创建两个4K内部ram,步骤同上。
基于NIOS II系统多串口通讯模块的设计与实现
基于NIOS II系统多串口通讯模块的设计与实现
曹木云;邬冠华
【期刊名称】《南昌航空大学学报(自然科学版)》
【年(卷),期】2007(021)001
【摘要】介绍了基于NiosII嵌入式系统多串口通讯模块的设计方案,阐述了多串口通讯模块的设计思路及实现的体系结构,从硬件和软件两方面论述了具体设计与实现过程.
【总页数】4页(P64-67)
【作者】曹木云;邬冠华
【作者单位】南昌航空工业学院,江西,南昌,330063;南昌航空工业学院,江西,南昌,330063
【正文语种】中文
【中图分类】TN91
【相关文献】
1.基于Nios II的UHF RFID读写器设计与实现 [J], 张福洪;肖怀锋;方洪灿;邓朝日
2.基于Nios II软核的多核处理器系统的设计与实现 [J], 孔德春;施慧彬
3.基于Nios II的RFID物流管理系统设计与实现 [J], 刘铭;孙科学;王淑媛;周文斌
4.基于NIOSII指纹采集系统设计与实现 [J], 陈波;江杰
5.基于NIOSⅡ的多串口网络服务器的设计与实现 [J], 高旭;金星;黄伟
因版权原因,仅展示原文概要,查看原文内容请购买。
nios2系统添加外部接口读写总线实例
NIOS ii系统添加外部接口读写总线实例软件环境:quartus ii 11.0本实例使用quartus ii 的Qsys工具建立NIOS ii系统。
Qsys工具只提供部分标准外部存储器件的读写控制模块,如下图示:对于一般外部地址空间的访问,需要用户自定义接口控制模块,然后挂接在NIOS ii Avalon总线上,实现外部空间的读写功能。
下面通过实例演示总线的添加及使用过程。
首先建立所需的外部接口总线控制模块(verilog module),本例建立ADV212_interface模块,对应的文件名称为ADV212_interface.v,端口描述如下:定义avalon 总线和外设的互联关系,需要关注外设的总线宽度和地址空间大小,如下图:下面生成外设控制模块,首先打开component Editor窗口,如下图:弹出对话框如下,点击Add添加ADV212_interface.v,点击NextSignals选项卡定义信号接口关系。
首次定义avalon总线Interface 选择new Avalon Memory Mapped Slave…,生成avalon-slave接口,此处为s0,如下图:首次定义外部接口信号Interface选择new Conduit将产生conduit_end,然后依次选择,Signal Type选择export依次选择其他选项,最终结果如下,点击Next进入Interface选项。
如果Remove Interfaces With No Signals有效(见下图红色方框内),点击一下。
设置其他选项,关注红色区域,如下图:下拉右侧滚动条,设置总线Timing 参数:下拉右侧滚动条,设置clock,reset:下拉右侧滚动条,设置conduit_end,点击Next进入HDL Parameters选项卡,点击Next进入Library Info选项卡,设置模块名称,点击Finish此时,在左侧component library窗口将出现刚生成的user_bus1模块,将其添加进右侧System contents窗口,然后重新分配地址和中断向量,最后在点击generation,生成NIOS ii。
Niosll和USB接口的高速数据采集卡设计
Niosll和USB接口的高速数据采集卡设计引言随着现代工业生产和科学研究对数据采集的要求日益提高,在瞬态信号测量、1 系统硬件设计本系统主要是基于USB2.O 的S1ave FIFO 模式,在FPGA 控制下完成双通道、不同速率的数据的采集和发送,全兼容USB2.O 总线接口标准,其数据的采样率可高达65 Msps;适用于较高速动态信号的实时记录采集,其硬件系统总体结构框该系统主要由信号调理模块、A/D 转换模块、触发模块、基于FPGA 的主控模块、USB 收发控制模块、片外存储器及其他辅助电路组成。
调理电路与A/D 转换器,将传感器采集的模拟信号进行相关的信号调理后送入AD9244 芯片转换为数字信号。
处理后的数据送往FPGA 主控模块,根据相关的控制信息,选择通过直接传输给上位机,或者先存储在外部SDRAM,然后经过相关的数字处理后再传输给上位机。
2 系统模块介绍2.1 USB2.0 专用微处理器CY7C68013ACY7C68013A 是Cypress Semiconductor 公司生产的一款集成USB2.O 的微处理器。
它有3 种封装形式56SSOP、100TQFP 和128TQFP,其结构框CY7C68013 集成了USB2.O 收发器、SIE、增强的8051 微控制器和可编程的外围接口部件。
其SIE 可在全速(12 Mb/s)和高速(480 Mb/s)两种模式下运行,同样可以使用内部RAM 来进行程序和数据的存储。
GPIF 和Master/Slave 端口FIFO 为ATA、UTOHA、EPP、PCMCIA 和DSP 等提供了简单和无需附加逻辑的连接接口。
其编程可以根据设计的需要进行,不需要CPU 的干预,只需通过CPU 的一些标志和中断即可进行通信。
CY7C68013 共有7 个输入输出。
基于Nios II软核处理器的SD卡接口设计
基于Nios II软核处理器的SD卡接口设计杜鹏【期刊名称】《计算机技术与发展》【年(卷),期】2013(000)008【摘要】随着FPGA的低成本化和整合资源的不断增强,FPGA在整个嵌入式市场中的份额在不断增加。
基于FPGA的NiosII软核以其高度的设计灵活性和完全可定制性在现今电子产品设计及工业控制中扮演着重要的角色。
此外,以SD卡为代表的大容量存储卡成为消费电子类产品最重要的存储媒体。
基于NiosII软核处理器来读写SD卡的接口设计在诸多电子系统中的使用也愈来愈多。
文中给出了基于NiosII软核处理器的SD卡接口设计方案,并介绍了NiosII的驱动架构,给出SD存储卡在NiosII软核上的驱动程序设计。
%With low-cost FPGA and its growing integration of resources,the share of FPGA in the entire embedded market continues to increase. FPGA-based Nios II soft core for its high degree of design flexibility and full customizability plays an important role in today's electronic products and industrial control design. In addition,the SD mass storage card becomes the most important media in consumer electronics products. SD card reader interface design based on the Nios II soft core processor is more and more used in many electronic systems. In this paper,proposed the Nios II soft core processor based SD card interface design and Nios II driver architecture. In addition, presented the design of the SD memory card driver based on Nios II soft core.【总页数】4页(P149-151,156)【作者】杜鹏【作者单位】南京邮电大学自动化学院,江苏南京 210046【正文语种】中文【中图分类】TP368.1【相关文献】1.基于NiosⅡ软核处理器的嵌入式以太网接口设计 [J], 马天乙2.基于NiosⅡ软核处理器的步进电机接口设计 [J], 冯新宇;蒋洪波;栾兵3.基于Nios软核处理器的以太网接口设计 [J], 左震;邓黠;唐贵林;黄芝平4.基于NIOSII软核处理器的研究与设计 [J], 宋坚波5.32位软核处理器NIOS II的以太网接口设计与实现 [J], 陈小毛;陈尚松因版权原因,仅展示原文概要,查看原文内容请购买。
基于NiosII的图形用户接口的设计
基于NiosII的图形用户接口的设计
随着大规模集成电路技术的不断发展,嵌入式计算机系统开始从MCU逐步过渡到SOC的新阶段。
SOPC是一种灵活、高效的SOC解决方案。
其集成了处理器、存储器、各种外围设备等系统设计需要的部件,构建成一个可编程的片上系统,设计方式灵活,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能。
1 系统总体结构设计
系统主要由以下4部分组成:
(1)VGA控制器、SDRAM控制器、SRAM控制器等外设接口的设计。
(2)Nios II软核SOPC系统的配置。
(3)Nios II处理器与外设模块的融合。
基于NiosⅡ的嵌入式USB主机设计与研究
0 引 言
随着 通 用 串行 总 线 ( B 技 术 的 飞速 发 展 和 应 用 领 域 的 US )
基 于 S P 的 设 计 思 路 又 增 加 了整 个 系 统 设 计 的灵 活 、 高效 oC
性, 实现 了软硬件 协 同的设计, 加快 了整 个系统 的运行速度 ,
有效地 缩短开发周期 , 信息 安全领域具有 较好的应用前景 。 在
不断扩大, 人们完全认可它 的同时对 其期望也越来越 高, 希望
能 脱离 P C而 实 现 US B的 点 对 点 的 数 据 传 输 “ 。嵌 入 式 U B S 主机 能够脱离 P C完 成 U B的 点 对 点 的 数 据 传 输 , 的 应 用 S 它 研 究 成 为 信 息 安 全 领 域 的 一 个 新 的 兴 奋 点 。 文 提 出 的 嵌 入 本 式 US B主 机 的 设 计 方 案 是 基 于 S P ( s m o rga mal o C s t nporm be ye c i)结 构 的 , 利 用 软 核 C U ( oI 完 成 对 主 控 制 芯 片 hD P Nis ) I S 8 … 控 制 实现 US L lHS 的 I B点 对 点 的数 据传 输 。 o C是 嵌 入 SP
中图法分 类号 : P 9 T 33
文献标 识码 : A
文章 编号 :0 07 2 2 0 ) 92 0 -3 10 -0 4(0 7 0 -100
De i na dr s ac f mb d e B- o t a e n NisI sg n e e rh o e e d dUS h s s do o l b
ifr ainsc rt rs ne eal e p rme t h w ep a t ai def in y n om t e uiyi pe e td i d ti o s n , x ei nss o t rci l a f ce c . h c tn y i
Nios II与液晶显示模块的接口及应用
Nios II与液晶显示模块的接口及应用液晶显示器(LCD)由于具有工作电压低、功耗低、体积小、显示信息量大、寿命长、不产生电磁辐射污染、可以显示复杂的文字及图形等优点,液晶显示器已被广泛应用于各种仪器仪表、电子设备及控制领域中,成为测量结果显示和人机对话的重要工具。
液晶显示器按其功能可分为笔段式和点矩阵式液晶显示器,后者又可以分为字符点阵式和图形点阵式液晶显示器。
图形点阵式液晶显示器不仅可显示数字、字符等内容,还能显示汉字和任意图形。
本文是以240*128点阵型液晶显示模块MGL240128T为例。
研究嵌入式Nios II软核处理器与液晶显示模块的接口和图形显示的编程技术。
1 Nios II软核处理器和SOPC设计在2004年,Alter推出了Nios II系列32位RSIC嵌入式处理器。
Nios II软核处理器是Alter的第二代FPGA嵌入式处理器,比第一代Nios具有更高水平的效率和性能。
Nios II核平均占甩不到50%的FPGA资源,而计算性能增长了1倍。
Nios II嵌入式处理器性能超过200 DMIPS,采用32位指令、32位数据和地址、32位通用寄存器和32个外部中断源;支持用户的专用指令多达256个,这使得设计者能够细致地调整系统硬件以满足性能目标。
Nios II支持60多个外设选项,开发者能够选择合适的外设,获得最合适的处理器、外设和接口组合,而不必支付根本不使用的硅片功能。
目前。
FPGA(现场编程逻辑门阵列)芯片密度已达到百万门级,在一片FPGA芯片上可以实现如DSP、MCU、PCI总线控制和各种控制算法等复杂的功能。
由于FPGA芯片密度的不断提高和新的EDA开发工具的使用,利用FPGA器件实现SOC已成为可能,这项技术称为嵌入式SOPC(可编程单芯片系统)。
SOPC技术既具有基于模板级设计的特征,又具有基于ASIC的系统级芯片设计的特征,具有了可重构性、高效自动化的设计方法。
基于Nios Ⅱ数据采集模块控制器的设计
基于Nios Ⅱ数据采集模块控制器的设计张秀秀;王正彦【期刊名称】《太赫兹科学与电子信息学报》【年(卷),期】2012(010)006【摘要】为实现基于NiosⅡ图像识别系统的软硬件协同图像识别,基于可编程片上系统(SOPC)最新技术,结合图像识别系统的设计原理,给出了该系统中Avalon总线外设数据采集控制器的设计方法.该方法解决了系统中硬件和软件对同步动态随机存储器(SDRAM)访问冲突的问题,从而达到了软硬件协同处理图像的目的,对图像处理的速度和灵活性都有改进. 实际操作表明该方法亦适用于其他存在同类问题的系统中.%In order to achieve the synergetic image recognition of hardware and software, an Avalon bus peripheral data acquisition controller based nn the latest technologies of System On a Programmable Chip(SOPC) is designed combined with the design principles of image recognition system. The proposed method can solve the conflicting issues when the hardware and software systems access Synchronous Dynamic Random Access Memory(SDRAM), therefore it can realize the synergetic image recognition of hardware and software systems as well as improve the speed and flexibility of the image processing. The actual operation of the method indicates that it is also applicable to other systems with similar problems.【总页数】4页(P792-795)【作者】张秀秀;王正彦【作者单位】青岛大学自动化学院,山东青岛266071;青岛大学自动化学院,山东青岛266071【正文语种】中文【中图分类】TN492【相关文献】1.一种基于Nios Ⅱ/DMA的TFT-LCD控制器IP核设计 [J], 宋跃;程博;雷瑞庭2.基于Nios Ⅱ和USB接口的工业CT数据采集模块测试系统设计 [J], 高富强;江仁清;卢华;曹鹏;安康3.基于NiosⅡ的光纤捷联惯导系统数据采集模块设计 [J], 张海宏;李保国;刘思庆4.基于Nios II的AD7606控制器IP核设计 [J], 孟令进; 刘三军5.基于NIOS软核的高速串口DCS控制器的设计与实现 [J], 张景;司胜剑;王洪淼因版权原因,仅展示原文概要,查看原文内容请购买。
基于NiosⅡ的U盘安全控制器设计
基于NiosⅡ的U盘安全控制器设计目前,U 盘等USB 移动存储载体由于其容量大、价格低、携带方便、可靠性高等优点,得到了越来越广泛的应用,在生活、工作中随处可见。
然而,USB 移动存储载体的便利性及其自身安全脆弱性的矛盾十分突出。
本文针对U 盘的安全隐患,分析目前较为常见的解决方法,利用SoPC 技术,设计实现了一款基于NiosⅡ处理器的U 盘安全控制器。
该控制器位于PC 机和U 盘之间,通过对U 盘进行扇区级的加解密操作,将普通U 盘升级为安全U 盘,保证U 盘中数据的安全性。
控制器遵循USB MassStorage 类协议,无需专用驱动,即插即用,具有灵活方便、安全性高等优点[1]。
1 安全控制器的整体设计1.1 安全U 盘解决方案分析U 盘最为突出的安全问题是其内部所存储的数据都以明文形式存储,任何人得到该存储载体,即可对其中的数据进行任意的操作。
因此,普通U 盘一旦丢失,其存储的数据则毫无安全性可言。
针对这一问题,目前已经有多种解决方法,其中较为常见、安全性较高的是采用专用安全U 盘的方法。
专用安全U 盘的硬件架构如图1 所示,主要由微处理器、存储芯片(NandFlash)、USB 模块及加解密模块等组成[2]。
当U 盘和PC 机进行数据传输时,加解密模块在微处理器的控制下对数据流进行加解密操作,使得U 盘存储芯片中的数据都以密文形式存在。
当PC 机对数据进行读写时,首先需要进行身份认证,若认证不通过,则读写操作不能进行,即使攻击者将安全U 盘物理分解,直接读取存储芯片,而由于存储芯片中的数据是以密文形式存在的,攻击者也只能获得数据的密文。
安全U 盘通过加解密和认证相结合的方法,保证其存储数据的安全性。
基于NiosII软核处理器的步进电机接口设计
基于NiosII软核处理器的步进电机接口设计电子技术发展日新月异,控制技术也发生了革命性的变化,特别是SOC技术的发展,文中主要研究的是远程控制系统中步进电机控制模块设计。
首先,根据控制功能的要求设计了步进电机控制模块,该模块采用一种脉冲叠加算法,实现了对步进电机任意频率变速;然后,将该模块封装到SOPC Builder 的标准模块库中;最后,利用SOPC 技术,在Altera 公司的Cyclone II EP2C35 芯片上集成了NiosII 软核,相关的外围控制器和自定义的电机控制模块,完成了该设计的验证工作。
1 基本原理步进电机是一种把电脉冲信号变换成直线位移或角位移的执行元件。
步进电机的转子做成多极的,定子上嵌装有多相不同连接的控制绕组,有专用电源供电。
每输入一个脉冲,步进电机就前进一步,故又叫做脉冲电动机。
其角位移量与脉冲数成正比;线速度或转速与脉冲频率成正比。
本文是针对的四相反应式步进电机而设计的控制器,它的定子磁极上增加了小齿,转子也做成多极的,定、转子的齿距相同,齿数也适当的配合。
这样,在一对磁极下,定、转子齿在对正时,下一相绕组下的定转子齿错开t/m(t 为齿间距,m为相数),再下一相绕组下定、转子齿错开2t/m,并以此类推,在定子磁场的作用下,由于转子力图取最大的磁导位置,所以每一拍,转子转过相当t/m齿矩的角度(步距角):步进电机常用的有四相,也有三、五、六甚至更多相。
相数和转子齿数越多,步矩角就越小,在同样的脉冲频率下,转速越低。
2 电机控制模块结构设计2.1 概述步进电机控制主要由电机控制器和电机驱动器两部分组成,如图1 所示。
其中,电机控制器用于控制产生脉冲,电机。
基于SOPC的Nios Ⅱ与液晶模块接口及程序设计
基于SOPC的Nios Ⅱ与液晶模块接口及程序设计
侯长宏;袁慧梅
【期刊名称】《液晶与显示》
【年(卷),期】2008(23)3
【摘要】Altera SOPC Builder提供了Nios Ⅱ处理器及一些常用外设接口,但并没有提供12864液晶模块的接口及驱动.利用SOPC Builder中元件编辑器Create New Component,通过自定义逻辑的方法在SOPC设计中添加自己开发的液晶显示模块IP核,并集成到系统,实现了嵌入式Nios Ⅱ软核处理器与液晶显示模块的接口设计,并编写了驱动程序.可以和系统自带的接口组件一样,开发者利用该开发组件,不必了解液晶屏原理就可以使用标准C函数操作组件进行液晶屏显示的独立开发.【总页数】5页(P307-311)
【作者】侯长宏;袁慧梅
【作者单位】首都师范大学,信息工程学院,北京,100037;首都师范大学,信息工程学院,北京,100037
【正文语种】中文
【中图分类】TP271;TP311
【相关文献】
1.基于NiosⅡ嵌入式处理器的SOPC中精度测频电路的设计 [J], 董建树;袁晓宇;王惠;严宗瑞
2.基于NIOSⅡ的SOPC中存储器型外设接口的设计 [J], 吕游;陈文艺
3.AVR单片机与VRAM型彩色液晶模块接口电路及驱动程序设计 [J], 杨萍;刘忠超
4.基于Nios Ⅱ的 SOPC 实验教学平台设计 [J], 陈晓静;吴爱平
5.基于NiosⅡ处理器的液晶显示接口及驱动程序设计 [J], 宋泽琳;郑恩让;马令坤因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Nios II的USB接口模块设计
1. 引言
随着电路规模越来越大,片上系统(SoC)已经成为IC设计的发展趋势,相应地也有了更加灵活的片上可编程系统(SOPC)。
Nios II CPU是一个基于流水线设计的通用RISC微处理器,拥有五级流水线和指令与数据内存分开的哈佛结构,具有可配置功能。
用户可以根据需求在SOPC Builder中增减IP核,从而实现资源优化。
为了构建一个更简洁高效的片上系统,用户可以自行开发IP组件,作为用户自定义逻辑添加到AVALON总线[1]。
AVALON 总线是一种结构相对简单的总线,用于连接Nios II和其他外设。
它规定了主从部件间的端口连接关系,以及部件间通信的时序关系。
AVALON总线拥有多种传输模式,以适应不同外设要求。
基本传输模式是在主从外设之间进行单字节,半字或字的传输。
AVALON总线还支持一些高级传输模式,例如支持流操作,支持延时操作,支持多个主设备同时访问。
2.用户自定义逻辑模块设计流程
通常来说,EDA厂商及第三方提供的IP核都是通用的,但进行SOPC设计时,用户可能有特殊需求,这时必须使用用户自定义逻辑来实现所要的功能。
SOPC Builder集成在Altera 公司的EDA工具Quartus II中。
用户可以通过SOPC Builder提供的图形用户界面从Altera 公司提供的IP库中选取一些组件,如Nios II,DMA,SRAM,FLASH等等,根据实际需要设置这些IP的配置参数。
用户还可以自己编写HDL代码模块作为用户自定义逻辑方便地添加到SOPC Builder中,设计流程如图1所示。
接口模块的添加
这里以常用的USB控制芯片SL811HS为例详细介绍如何在Nios II中添加用户自定义模块。
图2是系统结构图。
USB控制芯片介绍
SL811HS 是Cypress 公司的嵌入式USB host/slave 接口芯片,支持的全速和低速设备。
提供USB 主机的硬件接口及总线管理机制,片内集成SIE、USB 收发器和根HUB,能够完成嵌入式USB 主机所需的功能。
SL811HS的地址和数据均通过ad[7..0]分时传输,通过a0(数据/地址选择线)电平的高低加以区分,当a0置为低电平时,ad[7..0]上传输的是SL811片内寄存器/缓冲区的地址;反之高电平则为数据。
nwr、nrd、ncs、nrst分别为写控制线、读控制线、片选线和复位线,均是低电平有效,Nios II通过这几根控制线完成对SL811HS片内缓冲区读写、片选和复位等操作。
intrq是中断请求信号线。
当SL811HS检测到外设插入、拔出或者数据发送错误、超时、数据溢出等异常情况时,通过将intrq置高电平通知Nios II。
USB接口模块设计
AVALON总线为用户提供了非常友好的接口,使得系统搭建时的一些细节问题得到屏蔽,大大减轻了系统搭建的工作量。
在SL811HS与AVALON总线的接口转换verilog代码中,只需建立SL811HS端口与AVALON总线端口的映射关系即可。
nios_intrq、nios_read_n、nios_write_n、nios_cs_n、nios_reset_n、nios_write_data[7..0]、nios_read_data[7..0]、nios_address分别对应NiosII中的中断、读、写、片选、复位、写数据、读数据、地址信号。
intrq、nrd、nwr、ncs、nrst、ad[7..0]、a0分别对应SL811HS的中断、读、写、片选、复位、数据/地址线、数据/地址选择信号。
如图3所示。
图3 自定义USB接口模块
在Quartus II中对模块功能进行仿真,由于SL811HS是数据/地址复用端口,Nios II 对其缓冲区写的时候,先把地址通过nios_write_data[7..0]发送到ad[7..0],然后把数据通过
nios_write_data[7..0]发送到ad[7..0]。
从SL811HS缓冲区读数据的时候,先把缓冲区地址通过nios_write_data[7..0]发送到ad[7..0],然后通过ad[7..0]读数据到nios_read_data[7..0]中。
如图4所示。
图4 接口转换模块仿真波形
添加用户自定义逻辑
在图形用户界面SOPC Builder中,左栏有一项是添加用户逻辑。
选择后,在Bus Userface Type 选中Avlaon Register Slave,设置为静态地址对齐方式。
加入用户编写的源代码文件,同时指定Verilog代码中各个信号的类型。
nios_clk指定为“clk”类型,nios_read_n等指定为“read_n ”类型,nios_write_data[7..0]指定为“writedata” 类型,nios_address指定为“address ”类型,与SL811HS直接相连信号线的都指定为“export”类型。
点击Instantiation 选择Simulate user logic。
再点击Timing,根据SL811HS的时序要求,Setup设置为2,Wait设置为65,Hold设置为5,Unit设置为ns。
点击Finish Editing之后,回到主界面,在System Generation中选择SDK和HDL,最后点击Generate。
当SOPC Builder生成一个Nios II处理器设计时,会完成以下工作:
1.系统存储器映像一致性检查。
对外设地址和中断优先级进行唯一性验证,检查其是
否在CPU的有效访问范围之内。
2.为Nios II系统生成一个定制的软件开发包SDK。
生成Nios II处理器系统的硬件设计文件*.ptf,可以用这些文件来创建Nios II系统硬件。
SL811HS读写函数的实现
读写操作是Nios II与SL811HS最基本的通信方式,Nios II读SL811HS缓冲区数据的时候,先用IOWR函数把所读缓冲区的地址发送给SL811HS,然后调用IORD函数,得到的返回值就是缓冲区的数据。
Nios II往SL811HS缓冲区写数据的时候,先发地址,然后调用IOWR函数把数据发送到SL811HS缓冲区的指定地址。
在用户工程中的inc/可以找到USB 模块对应地址,根据这个地址来实现SL811HS寄存器的读写操作。
Nios II每个寄存器占32位,而地址按字节分配,所以每个寄存器使用4个地址,USB模块对应的地址寄存器地址为0x00900c00,数据寄存器地址为0x00900c04。
#define ADDR_REG 0x00900c00
#define DATA_REG 0x00900c04
sl811_read(u8 reg)
{IOWR(ADDR_REG,0,reg);
return IORD(DATA_REG,0);
}
sl811_write(u8 reg, u8 val)
{IOWR(ADDR_REG,0,reg);
IOWR(DATA_REG,0,val);
}
4.总结
本文作者创新点:用verilog编写Nios II用户自定义逻辑模块,实现AVALON总线时序与USB控制器SL811HS的时序转换。
同时给出了该模块的底层读写函数。
本模块已成功在FPGA上实现视频传输功能。
SOPC技术利用库,可以快速生成嵌入式系统。
同时,可以方便地把用户自定义的逻辑加入到系统中,体现了用设计嵌入式系统的灵活性。
此外,还可以通过SOPC Builder向处理器中添加用户自定义的指令,扩充了Nios II指令集。
对于原型机的开发,是一种很好的开发方法,且能够快速地生成最终产品,有效地缩短了开发周期。