FreeARM7 IP核的微处理器逻辑扩展及验证

发布于:2024-07-17 编辑:匿名 来源:网络

摘要:介绍了FreeARM7 IP核的基本概述及其接口特性,并基于LPC对IP核进行了扩展。

结合USB 1.1设备控制器IP核和定制硬件逻辑,构建了微控制器功能验证环路。

开发了主机端的验证程序、驱动程序和通信软件。

下载并执行验证程序的结果表明,功能验证回路工作正常,微处理器工作稳定。

  关键字:FteeARM7;液化石油气;微处理器; USB  1 FreeARM7 IP核简介  ARM7系列FreeARM微处理器(简称FreeARM7)首次发布于社会主义。

com,由Free-arm和其他ARM爱好者基于ARMv4架构开发。

整个  IP核代码由可综合的Verilog HDL描述。

界面简单,描述简洁,整个代码不超过一行。

整体设计上,采用三级流水线和哈佛结构,完全兼容各种中断和操作指令(Thumb和协处理器指令除外)。

经过评估可以看出,该IP核基于FPGA和SMIC工艺库具有良好的实现效果。

  FreeARM7接口定义如表1所示,可归纳为4类:   ◆系统接口,提供系统控制信号;   ◆中断源,提供ARM架构所需的5个中断信号;   ◆ROM接口,与提供指令的ROM的接口;   ◆单口RAM接口,单口RAM与外设进行数据交换的接口。

  其中,单口RAM接口可以达到两个目的:一是连接单口RAM,使FreeARM7能够正确读写数据;二是连接单口RAM。

其次,连接外设,使FteeARM7能够正确操作外设。

  2 微处理器改进和逻辑扩展   基于FreeARM7的微处理器改进和逻辑扩展的结构如图1所示。

预期目标是在上位机上编写嵌入式程序,并将其汇编成机器代码,然后通过USB 1.1设备控制器将其传输到双端口RAM。

在微处理器代码下载模式下,代码下载控制逻辑将代码传输到双端口RAM中。

将机器代码加载到ROM中,然后开始微处理器的正常工作模式。

微处理器执行ROM中嵌入的代码,接收主机通过USB传输来的参数值,并将运行结果通过USB返回给主机。

  基于Cyclone II FPGA实现时,ROM、RAM和双口RAM均使用Quartus II软件中的MegaWizardPlug-In。

Manager工具实例化相应的存储模块,其他硬件逻辑扩展以IP核的形式出现(Verilog描述)。

  2.1 微处理器IP核改进   FreeARM7 IP核是微处理器的核心部分,不能直接作为微处理器使用。

原因是数据总线需要读取ROM中的数据。

本文选择Philips公司的32位ARM7微处理器LPC作为原型。

LPC具有适当的存储资源,内嵌2 KB片上静态RAM和8 KB Flash存储器,具有良好的软件移植性和运行可靠。

参考LPC的工作原理,当FreeARM7的输出信号ram_addr的最高4位为4'b0时,表示数据总线需要读取ROM数据。

为了解决这个问题,一个新的包装文件lpc_arm. v 完成该功能。

其作用是:当ram_addr[31:28]==4'b0时,逻辑直接从rom_en、rom_addr、rom_data接口读取ROM数据并发送给ram rdata。

  2.2 USB1.1设备控制器  本文选用的USB设备控制器是课题组早期的项目之一。

它是在 Opencores 网站提供的主要开源版本的基础上进行改进的。

其结构如图2所示。

该IP核支持低速和全速模式,共有1个控制传输端点(EP0),7个其他可配置端点,无需微处理器即可响应主机对设备的枚举。

收发电路主要完成模拟/数字信号转换,即在OUT事务中,将模拟信号D+和D-转换为串行接口引擎模块可以识别的数字信号rxd、rxdp和rxdn,并在在事务中,数字信号txdp和  txdn在使能信号txoe的控制下转换为模拟信号D+和D-;串行接口引擎模块主要完成数据包的发送和接收,根据传输方向可分为接收和发送,主要包括总线检测、同步检测、时钟恢复、不归零反向编解码、位填充和位去除、数据的串行/并行转换;协议层包括协议引擎状态机、分组、拆包、FIFO控制器;端点O控制器主要负责响应主机标准请求;描述符RAM存储设备的各种描述符;其他端点控制器和FIFO提供配置接口,预留给开发者移植IP核。

  2.3 代码下载控制逻辑   该逻辑的主要功能是在代码下载模式下将双口RAM中的汇编程序传输到ROM中。

其主要任务是产生读双口RAM的使能信号和地址信号,以及写ROM的使能信号和地址信号。

通过硬件逻辑中的计数器实现。

当系统复位或退出代码下载模式时,计数器:rom_wr_cnt 被清零。

否则,USB接收到一个数据包(64字节)后,计数器使能信号cnt_vld置为有效,rom_wr_cnt开始计数。

cnt_vld直接作为读双口RAM的使能信号,cnt_vld在两级cache之后作为写ROM的使能信号。

同时,rom_wr_cnt的低8位直接作为读双口RAM的地址信号,rom_wr_cnt计算结果经过两级缓存后作为写ROM的地址信号。

当64字节传输完成后,cnt_vld被设置为无效。

此时,rom_wr_cnt 锁存当前值。

等待接收到下一个数据包后,cnt_vld 再次设置为有效。

代码下载控制逻辑将下一个数据包的数据附加到ROM,并重复该过程。

完成的代码通过USB接口下载到ROM中。

  3 嵌入式代码开发   3.1 uVision3.63环境设置    使用μVision3.63新建一个工程,选择设备类型为NXP(飞利浦创立)系列LPC,设置基本使确认以下信息:   ① 在“输出”选项卡中选择“创建 HEX Flie”,以确保生成可供下载的机器代码。

  ② 在“Target”选项卡中选择Code Generation为“ARM-Mode”,以确保机器代码是基于ARM指令集生成的。

  ③分别在“C/C++”和“Asm”选项卡中选择“EnableARM/Thumb Interworking”,以确保生成的代码仅包含ARM指令。

  3.2 Bootloader 设置   Bootloader 启动一般分为两个阶段。

第一阶段主要包含依赖于微处理器架构硬件初始化、设置堆栈和跳转到第二阶段的C程序入口点的代码,通常用汇编语言实现。

FreeARM7 IP核的微处理器逻辑扩展及验证

第二阶段通常用C语言完成,以实现更复杂的功能,使程序更具可读性和可移植性。

在μVision3.63软件自带的示例项目“Hello”中,通过以下三行代码实现了两阶段工作切换:    由于本文讨论的微处理器仅基于FreeARM7做了一些基础工作扩展来说,微处理器架构硬件单一,因此第一阶段主要是设置堆栈位置和大小。

USB接口的初始化在第二阶段C程序中进行。

初始化程序如下:   4 微处理器的功能验证   完成前面的工作后,借助FPGA对微处理器进行功能验证。

选择Altera的DE2开发板作为硬件逻辑实现载体。

微处理器IP核工作时钟为开发板上输入的27 MHz晶振,USB控制器IP核工作时钟为27 MHz晶振乘以48 MHz。

功能验证流程如图3所示。

在主机上使用μVision 3.63编写并编译验证程序后,微处理器进入下载模式接收主机对器件的代码下载,然后进入用户模式接收验证主机传送的程序参数。

值,运行代码后,将执行结果返回给主机,通过与主机软件仿真结果进行比较,达到验证微处理器运算结果的目的。

  4.1 验证程序开发   数据加密标准(DES)是一种众所周知的对称密钥分组密码,由美国标准FIPS 46-2定义。

基于ARM7指令系统,DES的C语言实现并不困难,但却是对IP核工作能力的综合考验。

DES算法分解为密钥生成算法和加解密算法,分别对应验证程序中的两个子功能。

最终的代码实现框架如下:   4.2 主机驱动及通信软件开发   Windows 驱动模型(Windows Driver Model (WDM))旨在提供灵活的方式来简化各种驱动的开发,实现对新硬件,降低驱动开发复杂度。

使用Driver Studio开发基于WDM的USB驱动,会自动生成驱动框架,在此基础上添加读写管道即可完成驱动开发。

软件是用MFC编写的,其主要功能是: 将hex文件以十六进制形式发送到USB,并以十六进制形式接收并显示DES程序标准测试向量。

K=1A(20DEC46,明文P=02CD,密文C=DDOCFEBCF3FDE。

通讯软件中的代码下载和验证数据发送接收如图4所示。

根据上述原理,还编写并下载了其他几个验证程序写入ROM,单片机的执行结果全部正确。

FreeARM7 IP核的微处理器逻辑扩展及验证

站长声明

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

标签:

相关文章

  • “安芯网盾”完成过亿元A轮融资,高瓴创投领投

    “安芯网盾”完成过亿元A轮融资,高瓴创投领投

    安芯网盾宣布完成超亿元A轮融资。 本轮融资由高瓴创投领投,云晖资本、招商创投跟投,老股东兰驰创投跟投。 广源资本担任财务顾问本轮融资合作伙伴。

    06-18

  • 2023年2月融资月报

    2023年2月融资月报

    【概览】2月份国内投融资(截至2.28 24:00)“融资24小时”统计了2月份国内市场投融资事件总计,其中包括中小大型企业融资活动。 IPO上市/退市事件4起。 从领域维度分析中小企业融资事件领域分布,排名前三的分别是先进制造()、医疗健康(61)、企业服务(44)。 其中,本月

    06-18

  • 星巴克将与美团达成业务合作

    星巴克将与美团达成业务合作

    据报道,星巴克将与美团达成业务合作,在其中国门店提供送货服务和私人预订服务。

    06-18

  • 商用清洁机器人“启博科技”获数千万元Pre-A轮融资,金沙江联合资本领投

    商用清洁机器人“启博科技”获数千万元Pre-A轮融资,金沙江联合资本领投

    投资界(ID:pedaily)4月24日消息,据36氪报道,商用清洁机器人“启博科技”获数千万元Pre-A轮融资,金沙江联合资本领投清洁机器人厂商“启博科技”宣布获得数千万元Pre-A轮融资。 本轮融资由金沙江联合资本领投,阿玛拉投资跟投,其他老股东也将跟进。 资金将用于产品研发、

    06-18

  • 百亚股份为LP,温氏投资投资2000万

    百亚股份为LP,温氏投资投资2000万

    据投资界3月29日消息,百亚股份公告称,公司拟与温氏投资签署《温润佳品贰号(珠海)股权投资基金合伙企业(有限合伙)合伙协议》协议参与认购温润佳品二号(珠海)股权投资基金合伙企业拟认购投资基金出资总额为2.5亿元人民币,公司拟以自有资本认购投资基金份额1万元。 温氏投

    06-17

  • 青少年儿童体育教育品牌宾果体育获数千万元Pre-A轮融资

    青少年儿童体育教育品牌宾果体育获数千万元Pre-A轮融资

    3月3日消息,青少年儿童体育教育品牌宾果体育获得Pre-A轮融资融资数千万元。 投资方为杭州本地一家家族基金,涉及行业包括进出口贸易、母婴教育、互联网等。 本轮融资获得的资金将用于开发和拓展线下场景、提升线上数字化能力、优化人才和组织。 宾果体育成立于2006年,是国

    06-17

  • 全球首款顶级Hi-Fi芯片:vivo X6Plus上市

    全球首款顶级Hi-Fi芯片:vivo X6Plus上市

    随着全国首发,vivo刚刚发布的X6成为目前最畅销的智能手机,席卷整个线下市场,引发热销。 。 据人士相关信息显示,目前X6在全国每天的销量接近10万辆,这个数字相当夸张。 够快够流畅的升级版vivo X6Plus今日也全国首发,售价千元起。 它或将延续快快乐乐X6的销售神话,占领

    06-18

  • 惠美科技完成3000万美元C轮融资,启明创投领投

    惠美科技完成3000万美元C轮融资,启明创投领投

    据投资界8月30日消息,北京惠美云科技有限公司(以下简称“惠美科技”),深耕医疗人工智能领域的药明康德宣布完成1万美元C轮融资,由中国创投行业知名的启明创投领投,药明康德创业投资基金、汇美资本跟投。 据悉,汇美科技的早期投资者是专注于长期价值投资的高瓴资本。 此

    06-17

  • 首次发布 -方源资本收购猫眼娱乐重要投资,猫眼CEO郑志昊参与后续投资

    首次发布 -方源资本收购猫眼娱乐重要投资,猫眼CEO郑志昊参与后续投资

    据投资界1月15日消息,互联网娱乐服务平台猫眼娱乐(以下简称“猫眼”)今日发布公告亚洲私募股权投资机构方源资本收购其骨干,猫眼娱乐CEO郑志昊参与投资。 据周三发布的公告,方源资本(亚洲)有限公司的一名代表已被猫眼姚俱乐部任命为董事非执行董事,任命自2020年1月15

    06-17

  • 2023年AI制药“死亡名单”

    2023年AI制药“死亡名单”

    必须承认,目前还没有AI研发的药物能够成功跨越临床二期试验的“死亡之谷”,仍需面临在人体的监管挑战body*测试证明其先进性。 据智药监不完全统计,全球至少有6个进入临床阶段的AI药物管线已停止研发,且全部已陷入关键的临床二期。 这些管道从公司官网上消失,也没有公开

    06-17

  • 看看乐视20亿美元收购VIZIO背后的野心

    看看乐视20亿美元收购VIZIO背后的野心

    乐视很忙。 继昨晚被央视点名“一分钱会员骗局”后,北京时间7月27日凌晨2点,乐视在美国洛杉矶宣布以20亿美元收购美国电视制造商VIZIO,被认为是“一分钱会员骗局”。 行业将成为全球电视行业历史上最大的收购计划。 此次收购将以全现金方式进行,预计交易将在6个月内完成。

    06-18

  • 突破瓶颈,易鑫科技完成近2亿元B1轮融资

    突破瓶颈,易鑫科技完成近2亿元B1轮融资

    据投资界(ID:pedaily)9月28日消息,近日,北京易鑫科技有限公司(以下简称易鑫科技)完成近2亿元B1轮融资< titlesplit >如:易鑫科技)完成B1轮融资近2亿元。 本轮融资由启迪新基建、正奇控股、中电拓方等知名机构和产业资本共同完成。 老股东中海创投追加投资。 B1轮融资

    06-17