当前位置:首页 > 工业控制 > 电子设计自动化
[导读] 摘 要: 基于MV10微处理器设计了一个简单可靠的在线编程IP核,可以将BIN文件直接写入其片上SRAM进行程序调试。该IP核嵌入在MV10中 0.35 ?滋m工艺线上流片成功并通过了板级验证。 关键词: MV10; 在线编程; 高采样

 

摘 要: 基于MV10微处理器设计了一个简单可靠的在线编程IP核,可以将BIN文件直接写入其片上SRAM进行程序调试。该IP核嵌入在MV10中 0.35 ?滋m工艺线上流片成功并通过了板级验证。
关键词: MV10; 在线编程; 高采样精度; 错误检测; 上位机程序

一般而言,在线编程ISP(In System Programming)是指依靠某种外部工具(除了常规的并行编程器以外)直接给处理器内部集成的程序存储器编程[1-2]。随着片上系统(SoC)设计的流行,IP核复用逐渐成为研究的重点[3-4]。为SoC配置在线编程IP核,将极大方便系统的调试与运行。MV10微处理器是本课题组自主开发,拥有完全知识产权的专用集成电路芯片[5],它适用于汽车电子领域,主要用于汽车车身的控制。该芯片具有INTEL8051指令架构内核,并且嵌入了PWM、ADC、CAN等IP核,具有数模混合功能的SoC系统。本文以MV10片上系统为目标对象,给出了一种在线编程的IP核实现方案。
1 MV10微处理器
MV10微处理器已通过硅验证,使用GLOBAL FOUNDRY公司的0.35 μm、2层多晶硅、4层金属混合信号工艺,3.3 V电源,运行频率可达24 MHz,具有64 KB存储器寻址空间,8 KB×8片内OTP程序存储空间,256 B的内部数据存储器,内置4个模拟量输入的10位模数转换通道,1个单独的UART通信模块,5个16位的定时器计数器,11个两级优先级中断源,支持睡眠空闲模式,复位可从睡眠模式中唤醒芯片,采用DIP52封装。
2 在线编程IP核设计
MV10片上系统嵌入在线编程IP核,上位机通过串口对其片上SRAM进行程序烧写,使MV10具有在线调试、编程的功能,图1为在线编程系统结构图。

2.1 顶层设计
在线编程IP核包含了时序控制模块、位流接收模块、位流发送模块及SRAM接口管理模块。图1中,pc_data_in是一个接收上位机数据的串行端口,pc_data_out是一个向上位机返回数据帧验证信息的串行端口。通过Start口切换MV10的状态(0为程序烧写模式,1为正常工作模式)。
2.2 时序控制模块
时序控制模块采用了两级同步、逐帧校正及中间采样三种方法,保证了数据采样的高精确性。
如图2所示,上位机发送的数据流pc_data_in经过两级同步产生了稳定的数据流pc_data_in_reg,有效地避免了亚稳态的传播。第三级同步产生的pc_data_in_reg_reg信号用以检测数据帧起始位。

2.3 位流接收模块
在线编程模块中设定的数据帧格式为:1位起始位,8位数据位,1位校验位与1位停止位。
位流接收模块的主要功能:
(1)根据数据帧的打包格式对时序控制模块采样到的位流进行解包,提取每一帧中的串行数据转换为并行数据写入内部寄存器,再由SRAM接口管理模块将其写入片上SRAM。
(2) 对每一帧数据进行奇校验与帧校验,产生校验标志。
错误检验机制RTL实现:
If(bit_cnt==4’d11)
error<=(parity_error|frame_error)
else
error<=1’b0;
其中bit_cnt是数据流位计数器,当检测到数据起始位时从“0”开始计数,一帧数据从“0”计到“10”,“11”时返回错误标志,即写入一帧数据实际需要12个采样周期。parity_error为奇校验错误标志,“1”表示有奇校验错误;frame_error为帧错误校验标志,“1”表示有帧错误;error是总校验标志,“1”表示此帧数据错误,使发送数据模块向上位机发送00H,SRAM接口管理模块在检测到error信号为“1”时地址位不增加。
2.4 位流发送模块
位流发送模块的主要功能:
(1)MV10上电或者复位后,该模块自动向上位机发送55H以检测MV10与上位机之间的通信是否正常。如上位机显示55H,即表示下位机已准备好接收上位机发送的数据。如果无法显示55H,则需要检查上位机是否配置正确、下位机是否切换到程序烧写模式以及它们之间的连接是否正确。
(2)位流接收模块接收到一帧数据后,会对该帧数据进行校验,并发送校验标志。位流发送模块根据校验标志作出判断,若校验正确,则向上位机发送FFH,否则发送00H。
2.5 SRAM接口管理模块
参考Memory Compiler生成的RA_512x8模型设计SRAM写操作时序。其中addr[8:0]为9位地址信号,CEB为片选信号(低电平有效),WEB为读写选择信号(高读低写),data_final[7:0]为8位数据信号。如图4所示。

当MV10模式开关Start为“0”时,MV10工作在编程模式,此时SRAM片选信号与写使能信号有效,将校验正确的一帧数据写入SRAM,地址自动加“1”(地址初始化或复位后为00H)。如数据校验错误,则数据不会被写入SRAM,地址位保持不变。
当MV10模式开关Start为“1”时,MV10工作在运行模式,此时SRAM片选信号与写使能信号无效,即使数据接收模块正确接收到数据,也不会写入到SRAM中。
3 上位机软件设计
3.1 MV_IDE概述
上海大学MV系列MCU汇编程序开发软件[6]使用Windows平台应用程序开发环境:Visual Studio 2010进行开发,采用C++语言作为主要开发语言。上海大学MV系列MCU汇编程序开发软件作为MV系列微控制器(MCU)的开发汇编程序开发平台,设计了基于INTEL8051指令的汇编程序编辑器和编译器,并针对新一代MV系列MCU中的在线编程模块,设计了相应的程序烧写功能,可将编译后的机器码烧写到MV10内部的程序SRAM中。
3.2 烧写功能程序设计
上位机程序中的烧写功能可以将MV_IDE编译后产生的BIN文件通过串口发送给MV10,MV_IDE根据在线编程模块的校验返回标志决定发送下一帧数据或者重新发送当前数据帧。
选择主界面的烧写按键打开烧写界面,在烧写文件选框选择需要烧写的BIN文件。由于BIN文件是特殊的二进制格式文件,所以在点击烧写文件确定后MV_IDE会读取BIN文件并将其转化为16进制单字节的形式,并在工程目录下保持为bin.txt文本文件,便于以单字节进行发送。
在烧写界面中,“串口号”用于选择PC机的串口,“串口设置”第一位设置波特率;第二位设置校验位,N表示没有校验位,O表示奇校验,E表示偶校验;第三位设置数据位数;最后一位设置停止位数。实际烧写时选择9600,O,8,2。串口配置界面如图5所示。

4.2 板级验证

 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

双核心 Arm Cortex-A35、图形加速、高速连接能力,及内建硬件安全功能

关键字: 微处理器 电动车充电站 智能家居

2024年3月12日,中国 -- 服务多重电子应用领域、全球排名前列的半导体公司意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)发布了新一代的STM32MP2系列工业级微处理器 (...

关键字: 微处理器 智能工厂 CPU

控制器,又称作控制单元或微处理器,是一种能够对电子设备进行控制和管理的计算机芯片。它具有很强的处理能力、高可靠性和稳定性,能够适应各种复杂的工作环境。控制器的主要特点如下:

关键字: 控制器 控制单元 微处理器

运动控制器作为自动化设备的核心部件之一,其作用和原理对于理解自动化设备的工作原理具有重要意义。本文将为您详细介绍运动控制器的工作原理。

关键字: 运动控制器 微处理器 嵌入式硬件

嵌入式控制器是一种集成了微处理器、存储器、输入输出接口以及其他外设的微型计算机系统,广泛应用于各种场合。本文将为您详细介绍嵌入式控制器的应用场合。

关键字: 嵌入式系统 嵌入式控制器 微处理器

中国上海,2023年12月20日—安富利旗下全球电子元器件产品与解决方案分销商e络盟开始发售ADI最新电源产品。这些新引进的电源管理IC和转换器采用先进的设计和封装技术,能够满足最严苛的电源要求。

关键字: 电源 转换器 微处理器

2023年12月20日,中国 - 意法半导体新软件帮助工程师把STM32微控制器应用代码移植到性能更强大的STM32MP1微处理器上,将嵌入式系统设计性能提高到一个新的水平。

关键字: 微处理器 嵌入式系统

微控制器(MCU)和微处理器(MPU)都是计算机硬件中的重要组成部分,但它们在设计、应用和功能上有一些显著的区别。以下是MCU和MPU的主要区别:

关键字: MCU MPU 微处理器 微控制器

微处理器芯片的位数是指其内部数据总线的宽度,通常以位(bit)为单位。位数越高,微处理器处理数据的能力和速度就越快。在计算机领域,常见的微处理器位数有8位、16位、32位和64位等。下面将详细介绍这些不同位数的微处理器芯...

关键字: 微处理器 芯片
关闭
关闭