当前位置:首页 > 嵌入式 > 嵌入式硬件

摘 要: 基于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 板级验证

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭