基于 ARM 的远程数字 EDA 实验研究.doc

上传人:sccc 文档编号:5191304 上传时间:2023-06-12 格式:DOC 页数:7 大小:1.19MB
返回 下载 相关 举报
基于 ARM 的远程数字 EDA 实验研究.doc_第1页
第1页 / 共7页
基于 ARM 的远程数字 EDA 实验研究.doc_第2页
第2页 / 共7页
基于 ARM 的远程数字 EDA 实验研究.doc_第3页
第3页 / 共7页
基于 ARM 的远程数字 EDA 实验研究.doc_第4页
第4页 / 共7页
基于 ARM 的远程数字 EDA 实验研究.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《基于 ARM 的远程数字 EDA 实验研究.doc》由会员分享,可在线阅读,更多相关《基于 ARM 的远程数字 EDA 实验研究.doc(7页珍藏版)》请在三一办公上搜索。

1、精品论文基于 ARM 的远程数字 EDA 实验研究腾李强,黄建明(北京邮电大学电子工程学院)5摘要:常规数字 EDA 实验只能为在校学生提供实验条件,不仅限制了用户的实验时间和地 点,同时不能满足更多的人参与实验。本文提出一种远程 EDA 数字实验的设计方法,该方 法采用 B/S(Browse/Server)架构,引入 ARM 芯片作为远程硬件平台控制中心与服务器通信 传递 jam 文件,并利用 ARM 的 GPIO 口模拟 JATA TAP 状态机下载 jam 文件的时序实现远10程实验数字 EDA 实验的程序下载。该方法的实现能让更多的人可以灵活安排时间,通过网 络进行 EDA 实验。关键

2、词:远程实验;CPLD;ARM;EDA 实验;中图分类号:TP3115Study of remote digital EDA experiment based on ARMTeng Liqiang, Huang Jianming(School of Electronic Engineering, Beijing University of Posts and Telecommunications, Beijing100876)Abstract: Conventional digital EDA experiment can only provided experimental conditio

3、ns for20shool students.And it limited the users experiment time and place, and at the same time it could not meet more people to participate in the experiment. This paper presented a remote EDA digitalexperiment design method.This method adopted B/S (Browse/Server) structure,and introduced the ARM c

4、hip as the remote hardware platform control center to receive jam files by communicating with the server.The ARM GPIO port can download the jam file to the digital EDA board by the25simulating the sequence of JATA TAP state machine downloading jam file. The realization of this method can let more pe

5、ople easily arrange their time to complish the EDA experiment through the network .Key words: remote laboratory;CPLD;ARM;EDA experiment300引言随着技术的发展,远程实验数字 EDA 实验打破常规的实验思路,提出新的实验理念。通 过网络远程的方式为在校学生,在职学生或者是非在校学生提供真实的硬件实验平台。用户可以不受时间和地点限制,通过远程网络进行数字 EDA 实验并能通过视频实时查看实验效 果。 目前,国内外对远程数字 EDA 实验平台的研究未有统一标准,常用

6、的设计模型为 B/S35设计模型,在该设计模型下,每一套远程实验硬件平台需要配备一台设备服务器工作站1-3, 或者加入其他中间设备实现对硬件平台的控制管理4。对实验程序的远程下载多采用由主机到 EDA 实验板的传统模式。按这种设计模型一个远程 EDA 实验室通常需要布置一个远程 EDA实验硬件平台群,需要管理多个设备服务器或者工作站,不仅不方便管理,还会占用较多的 空间,增加设备成本,从而减弱远程教育的优势5。本研究在远程 EDA 实验平台上加入了 ARM40芯片,用 ARM 芯片替代设备工作站,同时采用 B/S 架构方式,从而实现一台远程服务器管理一个远程实验平台硬件群的功能。给数字实验板下

7、载程序摒弃了由主机到 EDA 实验板的传统 模式,采用 ARM GPIO 引脚模拟 JTAG 下载 jam 文件到 EDA 实验板的方式。作者简介:腾李强(1986-),男,研究生,通信集成电路设计与 MEMS 技术:通信联系人:黄建明,男,副教授,通信集成电路设计与 MEMS 技术:. E-mail: ejmhuang- 7 -1远程数字 EDA 实验平台架构451.1整体架构远程数字 EDA 实验平台总体架构采用 B/S 架构模式,即浏览器/服务器模式,这是一种 基于传统的二层 C/S 模式发展起来的网络结构模式。本研究中,web 服务器是 Tomcat6.0.28, 采用 SSH(Str

8、uts + Spring + Hibernate)框架搭建。SSH 框架是目前最常用的 Web 应用程序 开源框架:Struts 用于表示层,负责与用户交互;Spring 用于业务层,负责完成业务逻辑;50Hibernate 负责节点状态记录、保存下载文件及用户配置数据的保存。机房服务器为每个用 户请求建立一个新的线程,同时该线程连接一个特定远程实验硬件平台。服务器与硬件平台 用套接字(socket)方式通信。用户通过 Web 页面向服务器申请一个平台,服务器将当前空余 平台按照一定的算法分配给用户。用户可以在 Web 页面观看从服务器传回的实时视频。远程 数字 EDA 实验平台整体架构如图

9、1 所示。远程EDA实验机房USERInternet服务器交 换机远程EDA实验硬件设备远程EDA实验硬件设备USER远程EDA实验硬件设备55USER图 1 远程数字 EDA 实验平台架构图1.2远程 EDA 数字实验平台硬件架构由图 1 可知,远程数字 EDA 实验平台处于整个实验系统末端,属于系统最后执行部分。 用户在自己的 PC 上用 Verilog HDL 或 VHDL 编写源程序,并编译生成一个 jam 文件,通过60网络,用户将该 jam 文件传输到服务器,服务器会将 jam 文件发送给远程 EDA 实验硬件平台 上的 ARM 硬件单元并保存下来。ARM 在接受到用户下载指令后将

10、文件下载到数字实验板。远程 EDA 实验硬件部分结构如图 2 所示。外围器件ARMCPLDJTAG口外围器件外围器件数字EDA实验板结构示意图图 2 远程 EDA 实验硬件平台结构框图652远程数字 EDA 实验平台实现方法远程数字 EDA 实验平台实现方法主要包括平台接受 jam 文件、下载 jam 文件到数字 EDA实验板两个部分2.1ARM 与服务器通信接收 jam 文件本文采用华为生产 HI3512RBC100 ARM 芯片。ARM 的运行内核为 2.6.28 的 Linux 系统。70Linux 系统是一种可定制的开源操作系统,能提供丰富的网络协议栈,可以通过 socket(套 接字

11、)编程实现 ARM 与服务器的数据传输6。socket 通信是基于 TCP/IP 协议的一种可靠的网 络通信方式。Jam 文件传递流程如图 3 所示。ARM为核心的硬机房服务器接收用户web请求件平台 Socket(),创 建套接字创建新的线程建立套接字bind(),绑定 套接字与服务 器地址连接ARM连接成功发送jam文件连接硬件平台Listen(),监听连接accept(),等待连接read(),读取jam文件图 3 jam 文件传递流程图75以 ARM 为控制中心的硬件平台上电之后,首先初始化硬件平台中各个设备,然后通过socket()函数创建套接字,得到套接字描述符,再通过 bind(

12、)函数将创建的套接字与 ARM IP 地址绑定,使套接字描述符的读写操作对应到绑定的服务器地址。此后通过 listen()函数 设置监听的数目,具体大小根据服务器处理能力而定,本文将监听的大小设置为 5,即能同时允许 5 个请求连接。监听成功后 ARM 通过 accept()函数等待机房服务器连接请求,如果80没有连接请求,ARM 会一直阻塞直到收到连接请求。当服务器请求连接成功之后,通过 read()函数开始与服务器数据通信,读取 jam 文件。2.2ARM GPIO 模拟 TAP 状态机时序下载 jam 文件到 CPLD2.2.1JTAG 电路模块与 TAP 状态机JTAG(Joint T

13、est Action Group)是一种国际标准测试协议。标准的 JTAG 接口有 4 线:85TMS、TCK、TDI、TDO,即:模式选择、时钟、数据输入和数据输出线。对 FLASH 等器件进行 编程时,JTAG 编程方式是在线编程, JTAG 内部有一个状态机TAP 状态机。TAP 状态机通 过 TCK 和 TMS 进行状态的改变,实现数据和指令的输入。写入 Flash 之前,必须将其先擦除。 将 JTAG 芯片设置在 EXTEST 模式,将目标文件通过 JTAG 写入 Flash,烧写 Flash 完成后进 行校验。本文数字 EDA 实验平台采用的 CPLD 为 ALTERA 的 MAX

14、II EPM1270T144C5N 芯片。CPLD90JTAG 与 ARM GPIO 连接电路如图 4 所示。将图中的 0 欧姆电阻焊掉,便可以通过上位机用传 统的下载方式对 CPLD 下载程序,这样设计优点在于方便对数字 EDA 实验板前期功能的测试。95100图 4 ARM 与 CPLD JTAG 电路图CPLD 上电后时,TAP 自动进入 Test-Logic Reset(TLR)状态。在该状态下,测试部分的 逻辑电路全部被禁用,以保证芯片核心逻辑电路的正常工作。通过 TRST 信号也可以对测试 逻辑电路进行复位,使得 TAP进入 Test-Logic Reset 状态。同样在 TMS

15、上连续加 5 个TCK 脉冲宽度的 1 信号也可以对测试逻辑电路进行复位,使得 TAP 进入 Test-Logic Reset 状态。在该状态下,如果 TMS 一直保持为 1,TAP 将保持在 Test-Logic Reset 状态下;如果 TMS 由 1 变为 0,将使 TAP 进入 RIT 状态。从初始状态开始根据 TMS 的电平由的不同图可 以得到不同的状态关系。图 5 为 TAP 状态转换图。1TLR0RIT01Select-DR_Scan001Capture-DR0Shift-DR011Exit-DR0Pause-DR01Exit2-DR1Update-DR1Select-IR_Sc

16、an01Capture-IR0Shift-IR011Exit-IR0Pause-IR010Exit2-IR1Update-DR1010Current StateTarget State图 5 JTAG TAP 状态机1051101151202.2.2 ARM(HI3512RBC100)GPIO 驱动模块不同生产厂商生产的 ARM 芯片寄存器地址不尽相同,在用 ARM 模拟 JTAG TAP 状态机时 序的时候需要对 ARM GPIO 进行移植7。本文需要实现华为 HI3512RBC100 ARM 芯片第三组 GPIO 的驱动。首先设置基地址,华为 HI3512RBC100 ARM 芯片第三组

17、GPIO 的基地址为0x10e7000。控制第三组 I/O 输入输出方向寄存器地址为在基地址加上 0x400。将该寄存器 中某位设为 1 则表示对应引脚输出,设为 0 则表示输入。根据 JTAG 的连接图,需要将 ARM 第三组的 4,7,6 引脚设为输出,第三组的 5 引脚设为输入。输入输出方向确定之后,需要确 定输入输出的具体电平(高或低),该功能由第三组 GPIO 的输入输出值寄存器实现,该寄存 器的地址为基地址加上 0x3f。该寄存器中的值为输入输出的值,由应用程序传递进来的参 数确定。下面为第 3 组 GPIO 驱动实现核心代码:#define GPIO_3_BASE 0x101e7

18、000;/声明第三组 GPIO 到基地址#define GPIO_3_DIR IO_ADDRESS(GPIO_3_BASE + 0x400);/声明第三组 GPIO 输入输出方 向寄存器地址#define GPIO_3_DATA_REG IO_ADDRESS(GPIO_3_BASE + 0x3fc);/声明第三组 GPIO 输入输 出值寄存器#define HW_REG(reg) *(volatile unsigned int *)(reg)/;该声明用作设置寄存器具 体的值void gpio_set_bit_value(int io_number, int value)125130135re

19、gvalue = HW_REG(GPIO_3_DIR);/得到第三组GPIO方向寄存器的值regvalue |= (1 io_number);/io_number为传递进来的参数,将第io_number引脚 设置为输出HW_REG(GPIO_3_DIR) = regvalue;regvalue = HW_REG(GPIO_3_DATA_REG);/得到输入输出值寄存器的原始值if(value)/value为用户需要设置的值0或1regvalue |= (1 io_number);/将第io_number位设为1(拉高)elseregvalue &= (1 io_number);/将第io_nu

20、mber位设置为0(拉低) HW_REG(GPIO_3_DATA_REG) = regvalue;/将输入输出寄存器的值改为设置的值;即实现第3组第5引脚的拉高、拉低的功能最后编译驱动生成.ko 文件,然后加载到 ARM 中;加载驱动之后,上层应用调用该驱动, 控制 GPIO 的电平,模拟下载时序。1401452.2.3 移植 ARM(HI3512RBC100)GPIO 应用实现 jam 程序下载本文采用移植定制 Altera 公司提供的 Jam Player 源程序文件包实现下载 jam 文件应用 8。Jam Player 的定制需要根据操作系统平台和实际硬件修改 Jam Player 源程

21、序文件包中 jbistub.c 文件中的函数。将 Jam Player 移植到本文所使用的嵌入式 Linux 系统中,主要 进行下面 4 个步骤的定制:1. 更改平台预定义环境,添加预处理语句,去除不必要的源代码;2. 将 JTAG 信号映射到本文所使用的四个具体的 GPIO 引脚;3. 定制错误信息输出方式,以方便调试;1504. 根据本文所使用的 ARM 的性能,定制延时函数,延时太长或太短都不能正常下载 jam文件;第 4 步延时函数的制定直接影响到下载的时间长短。Jam Player 将调用在 2.2.2 中实现的 GPIO 驱动,用 ARM 的 GPIO 引脚模拟实现 JTAG TA

22、P状态机时序下载 jam 文件到 CPLD 中。所经历的步骤如图 6 所示:开始 擦出芯片烧写程序校验烧写的内容 结束3测试实例1)演示步骤如图 7 所示:图 6GPIO 下载 jam 程序流程图155通过Web页面申 请实验平台在本机编写CPLD源码在本机编译生 成jam文件上传到服务器下载jam文件 到远程数字板图 7 实验步骤图2)演示实际效果图如图 8、9、10 所示:160165170175图 8 下载前页面截图图 9 下载中页面截图图 10 下载成功后页面截图以上视频用户从均可以从自己的 web 页面观看,每次远程下载时间在 165 秒左右,其中 传输 jam 文件的网络延时根据具

23、体的网络环境而定,本测试的网络环境下延时在 2 秒左右。提高下载时间可以优化 Jam Player 延时程序或使用更高性能的 CPU。4 结论本文将 ARM 芯片作为数字远程 EDA 实验硬件平台的控制中心已经在北京邮电大学电路中 心成功运行,并即将开放给学生远程做实验。本文的实现体现出以下几个方面的优点:(1) 在 B/S 架构下,将 ARM 作为远程数字 EDA 实验硬件平台的控制中心,使得一台服务器变可 以管理多套远程 EDA 硬件平台,减少了传统远程实验所用到的硬件平台工作站或其它中间控 制模块,结构简洁,便于系统的管理,降低了成本。(2)远程数字 EDA 平台的实现使得用户 可以根据

24、自身的时间安排参与实验。也使得更多的人通过网络的方式参与到数字 EDA 实验中 成为可能。同时本方案需要在下载时间上进行改进,在最大程度上提高效率,满足用户的体验。参考文献 (References)1 Santana I,Ferre M, Izaguirre E, Aracil R, Hernandez L. Remote Laboratories for Education and ResearchPurposes in Automatic Control SystemsJ. IEEE Transactions on Industrial Informatic, 2013, 9(1): 54

25、7-556.2 Rajasekhar Y, Kritikos W V, Schmidt A G, Sass R. Teaching FPGA system design via a remote laboratory facilityA.International Conference on Field Programmable Logic and ApplicationsC, Heidelberg,2008:687-6901801853 王华忠, 程 华 ,姚俊. 基于 PAC 的 BS 结构远程实验系统开发J.自动化仪表,2009,30(10):9-15.4 Jan Baca, Milan

26、 Haulis, Stanislav Suba. Remote Laboratory for Digital SystemsA.Conference on InteractiveCollaborative LearningC. Piestany,2011:620-6255 EI Medany W M.FPGA Remote Laboratory for Hardware E-Learning CoursesA.International Conference onComputational Technologies in Electrical and Electronics EngineeringC. Novosibirsk,2008:106-1096 王崇文,找翼.基于 socket 的 IPC 消息平台设计J.小型微型计算机系统,2011,32(4):588-593.7 李涛,胡荣强,张亦敏.嵌入式 Linux 中 GPIO 驱动程序开发J.仪表技术,2009,(6):12-14.8 Altera Corporation. Altera Application Note 111 Embedded Programming Using the 8051 & JamByteCodeR.USA:Altera Corporation, 2005.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号