CN115904844A - 一种用于打印boot信息的uart仿真模型及其工作方法 - Google Patents
一种用于打印boot信息的uart仿真模型及其工作方法 Download PDFInfo
- Publication number
- CN115904844A CN115904844A CN202211552427.3A CN202211552427A CN115904844A CN 115904844 A CN115904844 A CN 115904844A CN 202211552427 A CN202211552427 A CN 202211552427A CN 115904844 A CN115904844 A CN 115904844A
- Authority
- CN
- China
- Prior art keywords
- uart
- data
- simulation model
- module
- bus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Transfer Systems (AREA)
Abstract
一种用于打印BOOT信息的UART仿真模型包括:BUS总线模块、SOC内部集成UART控制器、GPIO模块和UART仿真模型;所述BUS总线模块用于主机对所述SOC内部集成UART控制器发起读写操作,传递读写数据;所述SOC内部集成UART控制器,用于将总线数据和外围UART接口的数据转换;UART控制器内部输出线路由相应的GPIO模块连接到外部;所述UART仿真模型用于接收所述SOC内部集成UART控制器内部UART所发送的串行数据,并由内部逻辑转化成并行数据供用户使用。本发明具有复杂度低、灵活性高、兼容性好、降低编码难度,提高验证效率等多方面的综合技术优势。
Description
技术领域
本发明公开一种用于打印BOOT信息的UART仿真模型及其工作方法,属于芯片验证的技术领域。
背景技术
在芯片上电后要经过一系列的初始化过程,这个过程称之为BOOT,而且BOOT过程中的一些信息对于系统的使用者来说是至关重要的,该信息可以帮助User初步判断系统的工作模式及其他的应用参数,对于系统的正确应用有一定的指导作用,而打印BOOT的信息则需要片内UART接口模块来传递。
在芯片验证阶段,需要验证UART打印BOOT信息,但是内部UART输出的是串行信号,在芯片验证过程中,只能通过看波形来推测BOOT信息,非常不便。
发明内容
针对现有技术的不足,本发明公开一种用于打印BOOT信息的UART仿真模型。以实现便于打印系统BOOT过程中的信息,调试系统。
本发明还公开了上述模型的工作方法。
技术术语解释:
UART:全称是通用异步收发器,英文Universal Asynchronous Receiver/Transmitter,是实现设备之间低速数据通信的标准协议。“异步”指不需要额外的时钟线进行数据的同步传输,是一种串行总线接口,只需占用两根线就可以完成数据的收发,即一根接收数据,一根发送数据。常用的标准通信波特率有9600bps、115200bps等。
本发明详细的技术方案如下:
一种用于打印BOOT信息的UART仿真模型,其特征在于,包括:BUS总线模块(BUS)、SOC内部集成UART控制器(Uart_inside_system)、GPIO模块(X_GPIO)和UART仿真模型(UARTSIM Model);
所述BUS总线模块用于主机对所述SOC内部集成UART控制器发起读写操作,传递读写数据;优选的,所述BUS总线模块包括APB低速总线;
所述SOC内部集成UART控制器,用于将总线数据和外围UART接口的数据转换:总线并行数据装化成UART串行数据,或者,UART串行数据转化成总线并行数据,所述数据的发送和接收分别通过TX端口和RX端口;
所述GPIO模块,用于连接UART控制器的输入输出引脚,以满足引脚复用,节约引脚资源,经过GPIO配置之后,UART控制器内部输出线路由相应的GPIO模块连接到外部;
所述UART仿真模型用于接收所述SOC内部集成UART控制器内部UART所发送的串行数据,并由内部逻辑转化成并行数据供用户使用。
本发明所提出的UART仿真模型兼容UART帧格式,可将UART控制器的串行数据转化为并行数据并按照所需数据格式显示出来。
根据本发明优选的,所述UART仿真模型还包括外部信号,包括:仿真模型输入时钟、仿真模型的复位信号和仿真模型的串行数据输入信号;
uart_clk:uart仿真模型输入时钟,该时钟来自系统内部UART;
uart_rst:uart仿真模型的复位信号,低电平有效;
uart_sin:uart仿真模型的串行数据输入信号,用于接收来自系统内部UART的串行数据;
所述UART仿真模型还包括,仿真模型并行输出数据接口和指示输出数据指示模块;
uart_dout:uart仿真模型并行输出数据接口,8位并行数据由仿真打印为字符信息;
dout_ready:指示输出数据指示模块,用于指示输出数据是否准备好:当该信号为高时,表示串行数据就绪;当该信号为低时,表示串行数据还未转化完成。
根据本发明优选的,所述UART仿真模型还包括接收模块,包括:UART仿真模型的接收器、波特率生成模块和两级同步器;
UART仿真模型的接收器,包括状态机,所述状态机包括串并转化模块和其他逻辑模块,所述接收器用于检测起始位,把bit流数据转化成并行数据,检测停止位;
Baud:波特率生成模块,外部输入时钟uart_clk经由所述波特率生成模块生成内部波特率时钟,供内部逻辑处理数据;
Sychronizer:两级同步器,外部uart_sin串行数据需经过所述两级同步器同步到本地时钟,以保证数据稳定性。
根据本发明优选的,所述串并转化模块中执行的串并转化逻辑(Serial toparallel),用于将同步后的数据进行串并转化。
根据本发明优选的,所述UART仿真模型还包括Bit cell计数器(Bit cellcounter)和接收位计数器(Received bit counter);
所述Bit cell计数器用于生成延迟,单位为uart_clk(波特率周期/16);此为仅由cntr_reset控制的内部计数器,当该信号处于高电平有效状态时,计数器置于复位状态;当该信号处于低电平有效时,计数器允许计数+1;
所述接收位计数器用于跟踪到目前为止累积的数据位数,当此计数达到预设限制时,状态机将不再接受数据位;所述接收位计数器包括2个控制输入:count和rst_count,当前者处于高电平有效时,计数器+1;当后者处于高电平活动状态时,计数器清除为0;所述状态机是简单的5状态,Mealy类型(输出是当前状态和输入的函数)。
上述模型的工作方法,其特征在于,包括:
1)配置系统寄存器,将内部UART输出引脚正确连接到GPIO模块输出,如图1;
2)设置内部UART的时钟寄存器,以选择数据传输速率;
3)将内部UART设置为正常数据传输模式,即UART模式;
4)设置内部UART停止位;
5)使能内部UART传输;
监测仿真模型dout_ready信号,以打印uart_dout数据。
本发明的有益效果:
本发明所述模型通过固件编程控制的方式精简UART仿真模型的设计,具有复杂度低、灵活性高、兼容性好、降低编码难度,提高验证效率等多方面的综合技术优势。
本发明所述技术方案能由固件灵活控制仿真模型的行为,包括正常行为和异常行为,把正常行为和异常行为统一到固件编程控制之上,从而明显提高仿真模型的灵活性,提高验证的完备性。
另外,本发明所述模型还能兼容UART接口协议设备,具有良好的适配性。
附图说明
附图1为本发明UART打印BOOT信息的仿真架构图;
附图2为本发明UART仿真模型外部信号框图;
附图3为本发明UART仿真模型的接收模块原理图;
附图4为本发明UART仿真模型的状态转移示意图。
具体实施方式
下面结合实施例和说明书附图对本发明做详细的说明,但不限于此。
实施例1、
如图1所示,图1说明了在进行BOOT打印验证时的原理。左侧是系统内部的UART模块,右侧是UART仿真模型。由于系统做了IOMUX功能,该功能用于处理芯片引脚资源不足的问题,对部分引脚采取共用IO的方式,系统可以通过配置控制选择的寄存器来将所需要的引脚连接到外部输入输出引脚。
一种用于打印BOOT信息的UART仿真模型,包括:BUS总线模块(BUS)、SOC内部集成UART控制器(Uart_inside_system)、GPIO模块(X_GPIO)和UART仿真模型(UART SIMModel);
所述BUS总线模块用于主机对所述SOC内部集成UART控制器发起读写操作,传递读写数据;优选的,所述BUS总线模块包括APB低速总线;
所述SOC内部集成UART控制器,用于将总线数据和外围UART接口的数据转换:总线并行数据装化成UART串行数据,或者,UART串行数据转化成总线并行数据,所述数据的发送和接收分别通过TX端口和RX端口;
所述GPIO模块,用于连接UART控制器的输入输出引脚,以满足引脚复用,节约引脚资源,经过GPIO配置之后,UART控制器内部输出线路由相应的GPIO模块连接到外部;
所述UART仿真模型用于接收所述SOC内部集成UART控制器内部UART所发送的串行数据,并由内部逻辑转化成并行数据供用户使用。
本发明所提出的UART仿真模型兼容UART帧格式,可将UART控制器的串行数据转化为并行数据并按照所需数据格式显示出来。
所述UART仿真模型还包括外部信号,包括:仿真模型输入时钟、仿真模型的复位信号和仿真模型的串行数据输入信号;
uart_clk:uart仿真模型输入时钟,该时钟来自系统内部UART;
uart_rst:uart仿真模型的复位信号,低电平有效;
uart_sin:uart仿真模型的串行数据输入信号,用于接收来自系统内部UART的串行数据;
所述UART仿真模型还包括,仿真模型并行输出数据接口和指示输出数据指示模块;
uart_dout:uart仿真模型并行输出数据接口,8位并行数据由仿真打印为字符信息;
dout_ready:指示输出数据指示模块,用于指示输出数据是否准备好:当该信号为高时,表示串行数据就绪;当该信号为低时,表示串行数据还未转化完成。
所述UART仿真模型还包括接收模块,包括:UART仿真模型的接收器、波特率生成模块和两级同步器;
UART仿真模型的接收器,包括状态机,所述状态机包括串并转化模块和其他逻辑模块,所述接收器用于检测起始位,把bit流数据转化成并行数据,检测停止位;
如附图4所示,状态机将前面描述的所有功能单元连接起来。系统重置时,状态机默认为START状态,在此状态下,状态机将查找起始位。此条件是通过传入数据(空闲时为逻辑1)到逻辑0的转换来检测的。一旦检测到起始位,它就会转换为CENTER状态。
在CENTER状态下,状态机等待1/2位单元以查找位单元中心。位单元是1波特时钟周期,对应16个uart_clk周期。因此,1/2位单元对应于8uart_clks。位单元格计数器用于生成此延迟。同步器处理需要2uart_clk,此外,计数器也需要2uart_clk。虽然理论上最好在其单元中心对传入数据进行采样,但允许一定的误差。找到位单元中心后(在等待4uart_clk后),如果rec_data的状态为低电平,则状态机将转换为WAIT状态。如果rec_data为高电平,状态机将转换回START状态。
WAIT状态仅等待1波特周期(16uart_clks)。请注意,上一个状态(CENTER)将传入数据对齐到起始位位单元的中心。等待1波特周期后,可以将传入的数据采样到串并转化程序中。如果所有数据位都已采样,则状态机将转换为STOP状态,否则,它将转换为SAMPLE状态。
在SAMPLE状态下,rec_data的值将采样到串并转化逻辑中。
在STOP状态下,rec_data的值将被监测是否为1。此位不会采样到串并转化逻辑中。如果预期的停止位不是高电平,则不会生成任何错误条件。在转换为START状态之前,dout_ready生成一个状态信号,以指示可以读取有效数据。
Baud:波特率生成模块,外部输入时钟uart_clk经由所述波特率生成模块生成内部波特率时钟,供内部逻辑处理数据;
Sychronizer:两级同步器,外部uart_sin串行数据需经过所述两级同步器同步到本地时钟,以保证数据稳定性。
所述串并转化模块中执行的串并转化逻辑(Serial to parallel),用于将同步后的数据进行串并转化。
所述UART仿真模型还包括Bit cell计数器(Bit cell counter)和接收位计数器(Received bit counter);
所述Bit cell计数器用于生成延迟,单位为uart_clk(波特率周期/16);此为仅由cntr_reset控制的内部计数器,当该信号处于高电平有效状态时,计数器置于复位状态;当该信号处于低电平有效时,计数器允许计数+1;
所述接收位计数器用于跟踪到目前为止累积的数据位数,当此计数达到预设限制时,状态机将不再接受数据位;所述接收位计数器包括2个控制输入:count和rst_count,当前者处于高电平有效时,计数器+1;当后者处于高电平活动状态时,计数器清除为0;所述状态机是简单的5状态,Mealy类型(输出是当前状态和输入的函数)。
实施例2、
如实施例1所述模型的工作方法,包括:
1)配置系统寄存器,将内部UART输出引脚正确连接到GPIO模块输出,如图1;
2)设置内部UART的时钟寄存器,以选择数据传输速率;
3)将内部UART设置为正常数据传输模式,即UART模式;
4)设置内部UART停止位;
5)使能内部UART传输;
监测仿真模型dout_ready信号,以打印uart_dout数据。
Claims (6)
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:指示输出数据指示模块,用于指示输出数据是否准备好:当该信号为高时,表示串行数据就绪;当该信号为低时,表示串行数据还未转化完成。
3.根据权利要求2所述的一种用于打印BOOT信息的UART仿真模型,其特征在于,所述UART仿真模型还包括接收模块,包括:UART仿真模型的接收器、波特率生成模块和两级同步器;
UART仿真模型的接收器,包括状态机,所述状态机包括串并转化模块和其他逻辑模块,所述接收器用于检测起始位,把bit流数据转化成并行数据,检测停止位;
Baud:波特率生成模块,外部输入时钟uart_clk经由所述波特率生成模块生成内部波特率时钟;
Sychronizer:两级同步器,外部uart_sin串行数据需经过所述两级同步器同步到本地时钟。
4.根据权利要求3所述的一种用于打印BOOT信息的UART仿真模型,其特征在于,所述串并转化模块中执行的串并转化逻辑,用于将同步后的数据进行串并转化。
5.根据权利要求1所述的一种用于打印BOOT信息的UART仿真模型,其特征在于,所述UART仿真模型还包括Bit cell计数器和接收位计数器;
所述Bit cell计数器用于生成延迟,单位为uart_clk;
所述接收位计数器用于跟踪到目前为止累积的数据位数。
6.如权利要求1-5任意一项所述模型的工作方法,其特征在于,包括:
1)配置系统寄存器,将内部UART输出引脚正确连接到GPIO模块输出;
2)设置内部UART的时钟寄存器,以选择数据传输速率;
3)将内部UART设置为正常数据传输模式,即UART模式;
4)设置内部UART停止位;
5)使能内部UART传输;
6)监测仿真模型dout_ready信号,以打印uart_dout数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211552427.3A CN115904844A (zh) | 2022-12-05 | 2022-12-05 | 一种用于打印boot信息的uart仿真模型及其工作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211552427.3A CN115904844A (zh) | 2022-12-05 | 2022-12-05 | 一种用于打印boot信息的uart仿真模型及其工作方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115904844A true CN115904844A (zh) | 2023-04-04 |
Family
ID=86493626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211552427.3A Pending CN115904844A (zh) | 2022-12-05 | 2022-12-05 | 一种用于打印boot信息的uart仿真模型及其工作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115904844A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117539819A (zh) * | 2024-01-10 | 2024-02-09 | 广东保伦电子股份有限公司 | 使用gpio模拟单线uart串口的方法、装置、设备及存储介质 |
-
2022
- 2022-12-05 CN CN202211552427.3A patent/CN115904844A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117539819A (zh) * | 2024-01-10 | 2024-02-09 | 广东保伦电子股份有限公司 | 使用gpio模拟单线uart串口的方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101399654B (zh) | 一种串行通信方法和装置 | |
CN102023954B (zh) | 具有多路i2c总线的装置、处理器、系统主板及工控计算机 | |
EP1825382B1 (en) | Low protocol, high speed serial transfer for intra-board or inter-board data communication | |
CN108111382B (zh) | 基于i3c总线的通信装置及其通信方法 | |
CN112564882B (zh) | 一种基于ahb总线的单线数字通讯接口 | |
CN113626360B (zh) | 一种低速mipi观测式soc芯片及其运行方法 | |
CN104901859A (zh) | 一种axi/pcie总线转换装置 | |
CN114442514B (zh) | 一种基于fpga的usb3.0/3.1控制系统 | |
CN101369948B (zh) | 一种实现低功耗的通信系统 | |
CN115904844A (zh) | 一种用于打印boot信息的uart仿真模型及其工作方法 | |
CN111352887B (zh) | 一种pci总线到可配置帧长度串行总线适配和传输方法 | |
CN112187789A (zh) | 一种数据链路协议转换系统 | |
CN105354157A (zh) | 配置iic器件的方法、装置和系统 | |
US5191655A (en) | Interface arrangement for facilitating data communication between a computer and peripherals | |
CN111026691A (zh) | 基于apb总线的owi通讯设备 | |
CN114124609B (zh) | 一种基于1553b总线的通信装置及通信方法 | |
JP2011114625A (ja) | 通信システムおよび通信装置 | |
CN210405365U (zh) | 多协议聚合传输装置及系统 | |
CN114490488A (zh) | 一种低功耗uart串口系统 | |
CN117834750B (zh) | 获取协议数据的装置、方法、系统、设备、介质及服务器 | |
CN111832047B (zh) | 一种spi数据传输方法及系统 | |
CN115202257B (zh) | 一种lpc总线协议转换及设备并行控制装置及方法 | |
CN111832049B (zh) | 一种基于spi的数据传输方法及系统 | |
CN115037809B (zh) | 一种支持多协议的工业无线网关系统 | |
CN202372977U (zh) | 基于fpga实现的usb主设备端接口结构 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |