一种用于打印BOOT信息的UART仿真模型及其工作方法技术

技术编号:37136039 阅读:25 留言:0更新日期:2023-04-06 21:35
一种用于打印BOOT信息的UART仿真模型包括:BUS总线模块、SOC内部集成UART控制器、GPIO模块和UART仿真模型;所述BUS总线模块用于主机对所述SOC内部集成UART控制器发起读写操作,传递读写数据;所述SOC内部集成UART控制器,用于将总线数据和外围UART接口的数据转换;UART控制器内部输出线路由相应的GPIO模块连接到外部;所述UART仿真模型用于接收所述SOC内部集成UART控制器内部UART所发送的串行数据,并由内部逻辑转化成并行数据供用户使用。本发明专利技术具有复杂度低、灵活性高、兼容性好、降低编码难度,提高验证效率等多方面的综合技术优势。术优势。术优势。

【技术实现步骤摘要】
一种用于打印BOOT信息的UART仿真模型及其工作方法


[0001]本专利技术公开一种用于打印BOOT信息的UART仿真模型及其工作方法,属于芯片验证的


技术介绍

[0002]在芯片上电后要经过一系列的初始化过程,这个过程称之为BOOT,而且BOOT过程中的一些信息对于系统的使用者来说是至关重要的,该信息可以帮助User初步判断系统的工作模式及其他的应用参数,对于系统的正确应用有一定的指导作用,而打印BOOT的信息则需要片内UART接口模块来传递。
[0003]在芯片验证阶段,需要验证UART打印BOOT信息,但是内部UART输出的是串行信号,在芯片验证过程中,只能通过看波形来推测BOOT信息,非常不便。

技术实现思路

[0004]针对现有技术的不足,本专利技术公开一种用于打印BOOT信息的UART仿真模型。以实现便于打印系统BOOT过程中的信息,调试系统。
[0005]本专利技术还公开了上述模型的工作方法。
[0006]技术术语解释:
[0007]UART:全称是通用异步收发器,英文Universal Asynchronous Receiver/Transmitter,是实现设备之间低速数据通信的标准协议。“异步”指不需要额外的时钟线进行数据的同步传输,是一种串行总线接口,只需占用两根线就可以完成数据的收发,即一根接收数据,一根发送数据。常用的标准通信波特率有9600bps、115200bps等。
[0008]本专利技术详细的技术方案如下:
[0009]一种用于打印BOOT信息的UART仿真模型,其特征在于,包括:BUS总线模块(BUS)、SOC内部集成UART控制器(Uart_inside_system)、GPIO模块(X_GPIO)和UART仿真模型(UART SIM Model);
[0010]所述BUS总线模块用于主机对所述SOC内部集成UART控制器发起读写操作,传递读写数据;优选的,所述BUS总线模块包括APB低速总线;
[0011]所述SOC内部集成UART控制器,用于将总线数据和外围UART接口的数据转换:总线并行数据装化成UART串行数据,或者,UART串行数据转化成总线并行数据,所述数据的发送和接收分别通过TX端口和RX端口;
[0012]所述GPIO模块,用于连接UART控制器的输入输出引脚,以满足引脚复用,节约引脚资源,经过GPIO配置之后,UART控制器内部输出线路由相应的GPIO模块连接到外部;
[0013]所述UART仿真模型用于接收所述SOC内部集成UART控制器内部UART所发送的串行数据,并由内部逻辑转化成并行数据供用户使用。
[0014]本专利技术所提出的UART仿真模型兼容UART帧格式,可将UART控制器的串行数据转化为并行数据并按照所需数据格式显示出来。
[0015]根据本专利技术优选的,所述UART仿真模型还包括外部信号,包括:仿真模型输入时钟、仿真模型的复位信号和仿真模型的串行数据输入信号;
[0016]uart_clk:uart仿真模型输入时钟,该时钟来自系统内部UART;
[0017]uart_rst:uart仿真模型的复位信号,低电平有效;
[0018]uart_sin:uart仿真模型的串行数据输入信号,用于接收来自系统内部UART的串行数据;
[0019]所述UART仿真模型还包括,仿真模型并行输出数据接口和指示输出数据指示模块;
[0020]uart_dout:uart仿真模型并行输出数据接口,8位并行数据由仿真打印为字符信息;
[0021]dout_ready:指示输出数据指示模块,用于指示输出数据是否准备好:当该信号为高时,表示串行数据就绪;当该信号为低时,表示串行数据还未转化完成。
[0022]根据本专利技术优选的,所述UART仿真模型还包括接收模块,包括:UART仿真模型的接收器、波特率生成模块和两级同步器;
[0023]UART仿真模型的接收器,包括状态机,所述状态机包括串并转化模块和其他逻辑模块,所述接收器用于检测起始位,把bit流数据转化成并行数据,检测停止位;
[0024]Baud:波特率生成模块,外部输入时钟uart_clk经由所述波特率生成模块生成内部波特率时钟,供内部逻辑处理数据;
[0025]Sychronizer:两级同步器,外部uart_sin串行数据需经过所述两级同步器同步到本地时钟,以保证数据稳定性。
[0026]根据本专利技术优选的,所述串并转化模块中执行的串并转化逻辑(Serial to parallel),用于将同步后的数据进行串并转化。
[0027]根据本专利技术优选的,所述UART仿真模型还包括Bit cell计数器(Bit cell counter)和接收位计数器(Received bit counter);
[0028]所述Bit cell计数器用于生成延迟,单位为uart_clk(波特率周期/16);此为仅由cntr_reset控制的内部计数器,当该信号处于高电平有效状态时,计数器置于复位状态;当该信号处于低电平有效时,计数器允许计数+1;
[0029]所述接收位计数器用于跟踪到目前为止累积的数据位数,当此计数达到预设限制时,状态机将不再接受数据位;所述接收位计数器包括2个控制输入:count和rst_count,当前者处于高电平有效时,计数器+1;当后者处于高电平活动状态时,计数器清除为0;所述状态机是简单的5状态,Mealy类型(输出是当前状态和输入的函数)。
[0030]上述模型的工作方法,其特征在于,包括:
[0031]1)配置系统寄存器,将内部UART输出引脚正确连接到GPIO模块输出,如图1;
[0032]2)设置内部UART的时钟寄存器,以选择数据传输速率;
[0033]3)将内部UART设置为正常数据传输模式,即UART模式;
[0034]4)设置内部UART停止位;
[0035]5)使能内部UART传输;
[0036]监测仿真模型dout_ready信号,以打印uart_dout数据。
[0037]本专利技术的有益效果:
[0038]本专利技术所述模型通过固件编程控制的方式精简UART仿真模型的设计,具有复杂度低、灵活性高、兼容性好、降低编码难度,提高验证效率等多方面的综合技术优势。
[0039]本专利技术所述技术方案能由固件灵活控制仿真模型的行为,包括正常行为和异常行为,把正常行为和异常行为统一到固件编程控制之上,从而明显提高仿真模型的灵活性,提高验证的完备性。
[0040]另外,本专利技术所述模型还能兼容UART接口协议设备,具有良好的适配性。
附图说明
[0041]附图1为本专利技术UART打印BOOT信息的仿真架构图;
[0042]附图2为本专利技术UART仿真模型外部信号框图;
[0043]附图3为本专利技术UART仿真模型的接本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于打印BOOT信息的UART仿真模型,其特征在于,包括:BUS总线模块、SOC内部集成UART控制器、GPIO模块和UART仿真模型;所述BUS总线模块用于主机对所述SOC内部集成UART控制器发起读写操作,传递读写数据;优选的,所述BUS总线模块包括APB低速总线;所述SOC内部集成UART控制器,用于将总线数据和外围UART接口的数据转换:总线并行数据装化成UART串行数据,或者,UART串行数据转化成总线并行数据;所述GPIO模块,用于连接UART控制器的输入输出引脚,经过GPIO配置之后,UART控制器内部输出线路由相应的GPIO模块连接到外部;所述UART仿真模型用于接收所述SOC内部集成UART控制器内部UART所发送的串行数据,并由内部逻辑转化成并行数据供用户使用。2.根据权利要求1所述的一种用于打印BOOT信息的UART仿真模型,其特征在于,所述UART仿真模型还包括外部信号,包括:仿真模型输入时钟、仿真模型的复位信号和仿真模型的串行数据输入信号;uart_clk:uart仿真模型输入时钟,该时钟来自系统内部UART;uart_rst:uart仿真模型的复位信号,低电平有效;uart_sin:uart仿真模型的串行数据输入信号,用于接收来自系统内部UART的串行数据;所述UART仿真模型还包括,仿真模型并行输出数据接口和指示输出数据指示模块;uart_dout:uart仿真模型并行输出数据接口,8位并行数据由仿真打印为字符信息;dout_ready:指示输出数据指示模块,用于指示输出数据是否准备好:当该信号为高时,表示串行数据就绪;当该信号为...

【专利技术属性】
技术研发人员:梅绪明刘超张洪柳郭勇于秀龙司浩任勇强隋荣全罗去禧
申请(专利权)人:青岛方寸微电子科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1