一种信号转换装置、方法及通信设备.pdf

上传人:00062****4422 文档编号:1277376 上传时间:2018-04-12 格式:PDF 页数:22 大小:651.33KB
返回 下载 相关 举报
摘要
申请专利号:

CN200910161051.1

申请日:

2009.08.05

公开号:

CN101989244A

公开日:

2011.03.23

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 13/38申请日:20090805|||公开

IPC分类号:

G06F13/38

主分类号:

G06F13/38

申请人:

华为技术有限公司

发明人:

朱晓明

地址:

518129 广东省深圳市龙岗区坂田华为基地总部办公楼

优先权:

专利代理机构:

北京三友知识产权代理有限公司 11127

代理人:

任默闻

PDF下载: PDF下载
内容摘要

本发明实施例提供了一种信号转换装置、方法及通信设备。所述包括:LPC总线接口单元、寄存器配置单元、UART单元;所述LPC总线接口单元,用于对来自LPC总线的信号进行协议解析,并通过本地总线输出本地信号,所述本地信号包括控制信号、地址信号及数据信号;所述寄存器配置单元,用于根据所述本地信号配置UART单元的寄存器;所述UART单元的寄存器分配在内存地址空间和I/O地址空间;所述UART单元,用于根据所述本地信号以及配置后的UART单元的寄存器的值将来自所述LPC总线上的数据转换成串口数据后通过UART接口输出或将从所述UART接口接收的串口数据根据所述本地信号输出到所述LPC总线。本发明实施例可以简化对UART单元的寄存器的配置过程。

权利要求书

1: 一种信号转换装置, 其特征在于, 所述信号转换装置包括 : LPC 总线接口单元、 寄存 器配置单元、 UART 单元 ; 所述 LPC 总线接口单元, 用于对来自 LPC 总线的信号进行协议解析, 并通过本地总线输 出本地信号, 所述本地信号包括控制信号、 地址信号及数据信号 ; 所述寄存器配置单元, 用于根据所述本地信号配置 UART 单元的寄存器 ; 所述 UART 单元 的寄存器分配在内存地址空间和 I/O 地址空间 ; 所述 UART 单元, 用于根据所述本地信号以及配置后的 UART 单元的寄存器的值将来自 所述 LPC 总线上的数据转换成串口数据后通过 UART 接口输出或将从所述 UART 接口接收的 串口数据根据所述本地信号输出到所述 LPC 总线。
2: 如权利要求 1 所述的信号转换装置, 其特征在于, 所述寄存器配置单元, 还用于通过 所述本地信号获取寄存器读写方式信息, 当所述寄存器读写方式为内存读写时, 对分配在 内存地址空间的 UART 单元的寄存器进行操作 ; 当所述寄存器读写方式为 I/O 读写时, 对分 配在 I/O 地址空间的 UART 单元的寄存器进行操作 ; 所述寄存器读写方式信息由所述 LPC 总线接口单元根据寄存器读写指令判断得出 : 当所述寄存器读写指令为 I/O 读写指令时, 所述 LPC 总线接口单元输出寄存器读写方 式为 I/O 读写 ; 当所述寄存器读写指令为内存读写指令时, 所述 LPC 总线接口单元输出寄存器读写方 式为内存读写。
3: 如权利要求 1 所述的信号转换装置, 其特征在于, 所述信号转换装置还包括 : 系统存储单元, 用于存储系统操作系统 OS 和 / 或基本输入输出系统 BIOS ; 所述系统存 储单元与所述 LPC 总线接口单元相连, 通过接收来自 LPC 总线接口单元的所述本地信号, 并 根据所述本地信号对存储在里面的数据进行读写操作。
4: 如权利要求 1 所述的信号转换装置, 其特征在于 : 所述 LPC 总线接口单元, 还用于与至少一个外围设备进行相连, 并通过所述本地信号 与所述外围设备进行通信。
5: 如权利要求 4 所述的信号转换装置, 其特征在于 : 所述本地总线为 Local Bus 总线, 所述系统存储单元为具有 Local Bus 总线接口的 NOR flash。
6: 如权利要求 1 所述的信号转换装置, 其特征在于, 所述 UART 单元包括 : 寄存器阵列, 用于存储接收到的所述数据信号, 或根据所述数据信号对所述寄存器阵 列中的至少一寄存器进行配置 ; 第一 FIFO 存储器, 用于存储待发送的数据 ; 第二 FIFO 存储器, 用于存储待读取的数据 ; 发送单元, 用于监测所述第一 FIFO 存储器的状态, 当所述状态为有效时读出所述第一 FIFO 存储器中的待发送的数据, 并将所述待发送的数据转换成串行格式后, 基于通用异步 串行通信协议发送 ; 接收单元, 用于接收串行数据, 将所述串行数据转换成并行数据后写入到第二 FIFO 存 储器中, 并触发所述寄存器阵列中至少一寄存器的状态发生变化。
7: 一种信号转换方法, 其特征在于, 所述信号转换方法包括 : 2 对来自 LPC 总线的信号进行协议解析, 并通过本地总线输出本地信号, 所述本地信号 包括地址信号、 数据信号及控制信号 ; 根据所述本地信号配置 UART 单元的寄存器 ; 所述 UART 单元的寄存器分配在内存地址 空间和 I/O 地址空间 ; 根据所述本地信号以及配置后的 UART 单元的寄存器的值将来自所述 LPC 总线上的数 据转换成串口数据后通过 UART 接口输出, 或者将从所述 UART 接口接收的串口数据根据所 述本地信号输出到所述 LPC 总线。
8: 如权利要求 7 所述的信号转换方法, 其特征在于, 所述对来自 LPC 总线的信号进行协 议解析的步骤包括 : 接收来自 LPC 总线的帧数据 ; 根据所述帧数据中的寄存器读写标识判断对所述 UART 单元的寄存器的寄存器读写方 式是内存读写还是 I/O 读写 ; 当所述寄存器读写方式为内存读写时, 对分配在内存地址空间的 UART 单元的寄存器 进行访问 ; 当所述寄存器读写方式为 I/O 读写时, 对分配在 I/O 地址空间的 UART 单元的寄存器进 行访问。
9: 如权利要求 7 所述的信号转换方法, 其特征在于, 还包括 : 通过所述本地信号与至少一个外围设备进行通信。
10: 如权利要求 7 所述的信号转换方法, 其特征在于, 还包括 : 接收来自 LPC 总线的接口的所述本地信号, 并通过所述本地信号对存储单元进行读写 操作。
11: 如权利要求 10 所述的信号转换方法, 其特征在于 : 所述本地总线为 Local Bus 总线 ; 所述存储单元为具有 Local Bus 接口的 NOR flash。
12: 如权利要求 7 所述的信号转换方法, 其特征在于, 所述根据所述本地信号以及配置 后的 UART 单元寄存器的值将来自所述 LPC 总线上的数据转换成串口数据后通过 UART 接口 输出, 或者将从所述 UART 接口接收的串口数据根据所述本地信号输出到所述 LPC 总线的步 骤包括 : 监测存储发送数据的 FIFO 存储器的状态, 当所述状态为有效时, 读出所述存储发送数 据的 FIFO 存储器中的待发送的数据, 并将所述待发送的数据转换成串行格式, 基于通用异 步串行通信协议发送 ; 或者, 接收串行数据, 将所述串行数据转换成并行数据后写入存储待读取数据的 FIFO 存储 器中, 并触发相关寄存器状态发生改变, 以使得所述并行数据能够输出到所述 LPC 总线。
13: 一种通信设备, 其特征在于, 所述通信设备包括 : CPU、 南桥、 信号转换装置及外围 设备 ; 所述 CPU 用于通过南桥的 LPC 接口向所述信号转换装置和 / 或外围设备发送信号 ; 所述信号转换装置为权利要求 1-6 中任一项权利要求所述的信号转换装置, 用于对 LPC 接口的数据和 UART 数据进行转换, 并将所述 CPU 发送的信号向所述外围设备发送或接 收来自所述外围设备的信号以向所述 CPU 反馈。

说明书


一种信号转换装置、 方法及通信设备

    【技术领域】
     本发明涉及通信领域, 具体地涉及一种 LPC 总线转 UART 接口的装置、 方法及通信设备。 背景技术
     串行通信接口协议提供了一种用于数据通信的最简单的标准串行接口, 因此在很 多设备上都得到了广泛的应用。电子设计工程师在对复杂嵌入式系统进行调试时, 经常会 涉及到人机交互, 在人机交互过程中需要利用嵌入式系统的串口作为控制台 (console), 以便上位机通过串口来控制该嵌入式系统, 例如通过串口打印信息, 因此几乎所有的嵌入 式系统需要串口。在电信领域的应用中, 串口除了用于本地的调试, 同时 BMC(Baseboard Management Controller, 基板管理控制器 ) 也通过串口对嵌入式系统进行通讯和控制。
     X86 架构处理器主要的应用场景为微型计算机、 服务器或工作站, 并已经开始应 用于嵌入式、 通信领域, 但 X86 架构处理器厂商已经渐渐不再在南桥 (South Bridge) 提供 UART(Universal Asynchronous Receiver and Transmitter, 通用异步收发器 ) 接口, 而是 利用南桥的 LPC 总线 (Low Pin CountBus, 低引脚数总线 ) 连接到超级 I/O 芯片 (Super I/ O ASIC), 由其提供微型计算机所需的各种低速接口 ( 例如 : 并口、 串口、 软驱、 PS2、 键盘、 鼠 标、 打印机等… )。
     请参阅图 1, 图 1 为现有技术一利用超级 I/O 芯片实现 UART 通信的硬件连接示意 图。如图 1 所示, 对于 PC 机或嵌入式系统, 直接通过 LPC 总线将超级 I/O 芯片与南桥芯片 连接, 并通过该超级 I/O 芯片提供软盘接口、 并口、 串口、 键盘控制器及 X-BUS 等。但是该超 级 I/O 芯片的管脚多达 128 个, 且体积大。同时该方案还在 LPC 总线上连接一个带有 LPC 接口的 flash, 用于存储整个软件及硬件系统的 BIOS(Basic input output system, 基本输 入输出系统 )。
     发明人在实现本发明的过程中, 发现现有技术至少存在以下不足 :
     由于超级 I/O 芯片的内部实现多种接口 ( 包括 UART 接口 ) 与 LPC 总线通信时, 对 各个接口相关的参数配置需要通过对超级 I/O 芯片内部的 Index Port 寄存器和 Data Port 寄存器进行操作, 才能完成配置。在系统启动时, 如果要使用串口通信, 首先需要 BIOS 对超 级 I/O 芯片内部进行配置, 进入超级 I/O 芯片的配置状态, 将对 Index Port 寄存器和 Data Port 寄存器进行写操作。只有先将串口接口作为逻辑器件分配给内部总线, 然后才能通过 访问串口寄存器的 I/O 地址, 并对串口控制器进行读写操作, 因此, 配置过程比较复杂。 发明内容
     本发明实施例提供了一种信号转换装置、 方法及通信设备。
     一方面, 本发明实施例提供了一种信号转换装置, 所述装置包括 : LPC 总线接口单 元、 寄存器配置单元、 UART 单元 ; 所述 LPC 总线接口单元, 用于对来自 LPC 总线的信号进行 协议解析, 并通过本地总线输出本地信号, 所述本地信号包括控制信号、 地址信号及数据信号; 所述寄存器配置单元, 用于根据所述本地信号配置 UART 单元的寄存器 ; 所述 UART 单元 的寄存器分配在内存地址空间和 I/O 地址空间 ; 所述 UART 单元, 用于根据所述本地信号以 及配置后的 UART 单元的寄存器的值将来自所述 LPC 总线上的数据转换成串口数据后通过 UART 接口输出或将从所述 UART 接口接收的串口数据根据所述本地信号输出到所述 LPC 总 线。
     另一方面, 本发明实施例的提供了一种信号转换方法, 所述方法包括 : 对来自 LPC 总线的信号进行协议解析, 并通过本地总线输出本地信号, 所述本地信号包括地址信号、 数 据信号及控制信号 ; 根据所述本地信号配置 UART 单元的寄存器 ; 所述 UART 单元的寄存器 分配在内存地址空间和 I/O 地址空间 ; 根据所述本地信号以及配置后的 UART 单元的寄存 器的值将来自所述 LPC 总线上的数据转换成串口数据后通过 UART 接口输出, 或者将从所述 UART 接口接收的串口数据根据所述本地信号输出到所述 LPC 总线。
     还一方面, 本发明实施例提供了一种通信设备, 所述通信设备包括 : CPU、 南桥、 本 发明实施例的信号转换装置及外围设备 ; 所述 CPU 用于通过南桥的 LPC 接口向所述信号转 换装置和 / 或外围设备发送信号 ; 所述信号转换装置用于对 LPC 接口的数据和 UART 数据进 行转换, 并将所述 CPU 发送的信号向所述外围设备发送或接收来自所述外围设备的信号以 向所述 CPU 反馈。
     本发明实施例的装置与方法, 通过利用可编程逻辑器件的内部逻辑电路实现了从 LPC 总线协议到 UART 串口通信的信号转换功能, 避免了使用现有技术中的超级 I/O 芯片, 达 到了简化配置、 节约成本、 节省电路板空间、 降低电路复杂度的有益技术效果。
     本发明实施例的通信设备, 可以将低引脚数 LPC 总线接口单元解析出的数据通过 UART 单元发送出去, 同时可以读写与该通信设备相连的外围设备。 附图说明
     图 1 为现有技术一利用超级 I/O 芯片实现 UART 通信的硬件连接图 ; 图 2 为本发明实施例 1 的一种信号转换装置的结构示意图 ; 图 3 为本发明实施例 1 的 LPC 总线接口单元的状态转换图 ; 图 4 为本发明实施例 1 的 UART 单元的功能框图 ; 图 5 为本发明实施例 1 的 FIFO 存储器的接口图 ; 图 6 为本发明实施例 1 的发送子单元的发送工作原理示意图 ; 图 7 为本发明实施例 1 的接收子单元的工作原理示意图 ; 图 8 为本发明实施例 2 的一种信号转换方法的流程示意图 ; 图 9 为本发明实施例 3 一种通信系统的结构示意图。具体实施方式
     下面结合附图对本发明实施例作详细阐述, 下列示例性描述应当理解为是对本发 明权利要求的解释而不是对本发明权利要求的限制。
     实施例 1 :
     本发明实施例 1 提供了一种信号转换装置。本发明实施例 1 通过以 CPLD 或 FPGA 等可编程逻辑器件作为载体, 利用上述逻辑器件的内部逻辑资源实现该信号转换装置 . 从而简化了对该信号转换装置包含的 UART 单元的相应寄存器的配置过程。
     图 2 为本发明实施例 1 的一种信号转换装置的结构示意图。如图 2 所示, 本发明 实施例 1 的装置 20 通过 LPC(Low Pin Count, 低引脚数 ) 总线与南桥 40 连接。请参阅图 2, 本发明实施例 1 的装置包括 :
     LPC 总线接口单元 201、 寄存器配置单元 202、 UART 单元 203 ;
     所述 LPC 总线接口单元 201, 用于对来自 LPC 总线的信号进行协议解析, 并通过本 地总线输出本地信号, 所述本地信号包括控制信号、 地址信号及数据信号 ;
     所述寄存器配置单元 202, 用于根据所述本地信号配置 UART 单元 203 的寄存器 ; 所述 UART 单元 203 的寄存器分配在内存地址空间和 I/O 地址空间 ;
     所述 UART 单元 203, 用于根据所述本地信号以及配置后的 UART 单元的寄存器的值 将来自所述 LPC 总线上的数据转换成串口数据后通过 UART 接口输出或将从所述 UART 接口 接收的串口数据根据所述本地信号输出到所述 LPC 总线。
     进一步地, 所述寄存器配置单元 202, 还可以用于通过所述本地信号获取寄存器 读写方式信息, 当所述寄存器读写方式为内存读写时, 对分配在内存地址空间的 UART 单元 203 的寄存器进行操作 ; 当所述寄存器读写方式为 I/O 读写时, 对对分配在 I/O 地址空间的 UART 单元 203 的寄存器进行操作 ; 所述寄存器读写方式信息由所述 LPC 总线接口单元 201 根据寄存器读写指令判断 得出 : 当所述寄存器读写指令为 I/O 读写指令时, 所述 LPC 总线接口单元输出寄存器读写方 式为 I/O 读写 ; 当所述寄存器读写指令为内存读写指令时, 所述 LPC 总线接口单元输出寄存 器读写方式为内存读写。
     进一步地, 所述信号转换装置 20 还可以包括 : 系统存储单元 204, 用于存储系统操 作系统 OS 和 / 或基本输入输出系统 BIOS ; 所述系统存储单元 204 与所述 LPC 总线接口单 元 201 相连, 通过接收来自 LPC 总线接口单元 201 的所述本地信号, 并根据所述本地信号对 存储在里面的数据进行读写操作。
     进一步地, 所述 LPC 总线接口单元 201, 还可以用于与至少一个外围设备 30 进行相 连, 并通过所述本地信号与所述外围设备 30 进行通信。所述外围设备包括下列设备中的一 个或多个 : 主备倒换设备、 上电复位设备、 时钟检测设备、 版本查询设备、 中断处理设备。
     可选地, 所述本地总线为 Local Bus 总线, 所述系统存储单元为具有 LocalBus 总 线接口的 NOR flash。
     优选地, 所述 UART 单元 203 包括 : 寄存器阵列, 用于存储接收到的所述数据信号, 或根据所述数据信号对所述寄存器阵列中的至少一寄存器进行配置 ; 第一 FIFO 存储器, 用 于存储待发送的数据 ; 第二 FIFO 存储器, 用于存储待读取的数据 ; 发送单元, 用于监测所 述第一 FIFO 存储器的状态, 当所述状态为有效时读出所述第一 FIFO 存储器中的待发送的 数据, 并将所述待发送的数据转换成串行格式后, 基于通用异步串行通信协议发送 ; 接收单 元, 用于接收串行数据, 将所述串行数据转换成并行数据后写入到第二 FIFO 存储器中, 并 触发所述寄存器阵列中至少一寄存器的状态发生变化。
     进一步地, 以下将结合图表对本发明实施例 1 的信号转换装置包含的 LPC 总线接 口单元的功能作详细阐述。
     LPC 总线, 其用于连接南桥 (South Bridge) 和周边慢速设备, 表 1 提供了 LPC 总线
     的各管脚的定义。
     表 1.LPC 总线信号定义表
     在本发明实施例 1 中, LPC 总线必须的信号为 LAD[3:0]、 /LFRAME、 /LRESET、 LCLK ; 可选信号中, 串行中断信号 /SER_IRQ, 需要使用。
     图 3 为 LPC 总线接口单元内部状态机状态转换图。如图 3 所示, LPC 总线接口单 元的内部状态机状态转换图描述了 LPC 总线接口单元的工作原理, 这里不赘述, 请参考 LPC 协议文档 《Intel Low Pin Count(LPC)InterfaceSpecification》 文档编号 : 251289-001。
     表 2 为 LPC“周期形式与方向” (Cycle type&Dir) 的第二时钟周期定义表, 如表 2 所示, 在 LPC 协议中, 当一帧数据开始后, 在第二个时钟周期 (Cycle type & Dir), 给出了该 帧数据的读写方式 : 是 memory( 内存 ) 读写, 还是 I/O 读写。根据这个信息, 来确定该帧数 据是访问 memory( 内存 ) 地址空间, 还是访问 I/O 地址空间。
     Bits[3:2] 00 00 01Bit[1] 0 1 0Definition( 定义 ) I/O Read(I/O 读 ) I/O Write(I/O 写 ) Memory Read( 内存读 )7CN 101989244 A说1 0 1 x明书5/12 页01 10 10 11
     Memory Write( 内存写 ) DMA Read( 直接内存访问读 ) DMA Write( 直接内存访问写 ) Reserved( 预留 )表 2.LPC“周期形式与方向” (Cycle type & Dir) 的第二时钟周期定义表
     进一步地, 以下将对本发明实施例 1 的 UART 单元的功能、 结构及工作原理作详细 阐述, 为了简化描述, 相同的元件采用了相同的附图标号。
     请参阅图 4, 图 4 为本发明实施例 1 的 UART 单元的功能框图。如图 4 所示, 本发明 实施 1 的 UART 单元 203 包括 :
     寄存器阵列 2031, 其可以包括接收缓存寄存器、 发送保持寄存器、 中断使能寄存 器、 中断标识寄存器、 FIFO 控制寄存器、 线控制寄存器、 Modem 控制寄存器、 线状态寄存器、 Modem 状态寄存器、 高速缓存寄存器、 除数锁存低位寄存器 (LSB) 及除数锁存高位寄存器 (MSB) ;
     第一 FIFO 存储器 2032 及第二 FIFO 存储器 2035, 用于缓存待发送或读取的数据 ; 由于 LPC 总线的速率远大于 UART 的速率, 也为了兼容后续其他设计, 本发明实施例在 UART 单元 203 内嵌入了一组 64*8(FIFO 深度 *FIFO 宽度 ) 的 FIFO(First Input First Output, 先入先出 ) 存储器, 专用于发送数据, 另一组 16*8(FIFO 深度 *FIFO 宽度 ) 的 FIFO 存储器, 专用于接收数据, 两组 FIFO 存储器分别连接到寄存器阵列 2031, 并根据寄存器阵列 2031 的 读写控制指令从寄存器阵列 2031 中读出数据或向寄存器阵列写入数据。
     图 5 为本发明实施例 1 的 FIFO 存储器的接口图。如图 5 所示, CLK 管脚为系统时 钟, RST 管脚为系统复位信号, 当写使能 wr_en 有效时, 每个时钟周期都向 FIFO 存储器中写 入一组数据, 当读使能 rd_en 有效, 每个时钟周期都从 FIFO 存储器中读出一组数据, 所以当 对 FIFO 存储器进行读写操作时, 只能在一个时钟周期中操作。当 FIFO 存储器中没有数据 时, empty 管脚输出高电平 ; 当 FIFO 存储器中数据满了之后, FULL 管脚输出高电平 ; din 为 数据输入管脚, dout 为数据输出管脚。
     发送子单元 2033, 用于监测第一 FIFO 存储器 2032 的状态, 当所述状态为有效时, 即 FULL 管脚输出高电平以表示第一 FIFO 存储器 2032 已满时, 读出所述第一 FIFO 存储器 中的数据, 并将所述数据转换成串行格式后, 基于通用异步串行通信协议发送。
     图 6 为本发明实施例 1 的发送子单元的发送工作原理示意图。 如图 6 所示, 当 FIFO 存储器读到数据之后, empty 管脚信号为低电平, 触发发送子单元去读 FIFO 存储器, 并把读 出的数据内容转换成 UART 通信格式后串行发送, 发送完成后, 继续监测发送 FIFO 存储器的 状态。
     上述发送过程进一步细化为 :
     步骤 S601、 LPC 总线接口单元解析输出的地址为 UART 通信单元的发送保持寄存器 (THR, Transmit Hold Register) 地址 ( 例如该地址可以为 0X03F8) ;
     步骤 S602、 逻辑监控 LPC 总线接口单元输出写使能 (wr_en) 信号 ;步骤 S603、 检测到 LPC 写使能信号有效时 ;
     步骤 S604、 将本地总线 Local Bus 上的数据信息发送 ( 写入 ) 至 UART 通信单元的 上述发送保持寄存器中 ;
     步骤 S605、 逻辑自动触发发送保持寄存器对第一 FIFO 存储器进行写操作, 以将发 送保持寄存器的数据内容写入到第一 FIFO 存储器中 ;
     步骤 S606、 监控该第一 FIFO 存储是否为空, 如是, 则执行步骤 S607, 如否, 则执行 步骤 S614 ;
     步骤 S607、 检测到该第一 FIFO 存储器的 Empty 管脚的状态为无效 ;
     当该第一 FIFO 存储器中被写入数据之后, 其 empty 管脚被置为低电平 ( 无效状 态 )。
     步骤 S608、 当发送子单元空闲时, 则触发发送子单元对该第一 FIFO 存储器进行读 操作, 即读取第一 FIFO 存储器中的数据 ;
     步骤 S609、 发送子单元保存欲发送数据进入 UART 转换模式 ;
     步骤 S610、 发送子单元发送欲发送数据的开始位 ;
     步骤 S611、 UART 线控制寄存器设置帧格式, 以使发送子单元将读取的数据转换为 串口数据格式后基于通用异步串行通信协议发送 ;
     本发明实施例中的串口数据格式可以包括 1 位起始位、 5-8 位的数据位、 0-1 位奇 偶校验位以及 1 或 1.5 或 2 位的停止位。
     步骤 S612、 发送子单元对欲发送数据进行并串格式转换并发送 ;
     步骤 S613、 发送子单元进行奇偶校验计算并发送相应的奇偶校验位 ;
     步骤 S614、 发送子单元发送停止位。
     本发明实施例接收子单元 2034, 用于根据所述对应的寄存器的配置参数接收串行 数据, 并将所述串行数据转换成并行数据后写入到第二 FIFO 存储器 2035 中, 并触发所述多 个寄存器中至少一寄存器的状态发生变化。 例如触发中断标识寄存器或线状态寄存器的状 态设置发生变化。
     图 7 为本发明实施例 1 的接收子单元的工作原理示意图。如图 7 所示, 逻辑采用 串口波特率 16 倍的时钟对 UART 单元 203 的接收子单元 2033 的接收端 Rx 的输入数据进行 监测, 当 RX 有低电平输入时, 表示监测到该数据帧的开始位, 从而进入到 UART 数据帧的解 析状态, 并将接收到的数据进行串并转换后存储在第二 FIFO 存储中, 当检测到停止位时, 将根据 UART 通信单元的配置寄存器 4037 的配置项, 将这帧数据的数据位、 奇偶校验位及停 止位等数据进行检测和存储, 并判断是否奇偶校验错误、 溢出错识或帧错误, 以根据上述判 断结果改变线状态寄存器的状态设置。
     具体应用中, 本发明实施例 1 的 UART 单元 203 还可以包括 : 中断子单元 2036, 用 于监测所述多个寄存器中至少一寄存器的状态变化, 例如监测线状态寄存器的状态变化, 以产生中断信号, 并将所述中断信号上传到与所述装置相连接的主机, 以触发所述主机读 取所述待读取的数据, 例如可以通过 SERIRQ 向主机上报中断。
     进一步地, 以下将对本发明实施例 1 的寄存器配置单元 202 的功能及工作原理作 详细阐述 :
     本发明实施例对 UART 单元的各寄存器既在 I/O 地址空间分配又在 Memory( 内存 )地址空间分配。本发明实施例 1 的寄存器配置单元根据 UART 通信单元包含的寄存器的 I/ O 地址或内存地址, 将所述本地信号分配至 UART 通信单元, 并根据所述本地信号配置所述 UART 单元包含的相应寄存器。
     可 选 地, 可 以 预 先 在 I/O 地 址 空 间 分 配 UART 单 元 的 各 寄 存 器 的 地 址 范 围 为 0X03F8 ~ 0X03FF。可选地, 还可以预先在 Memory( 内存 ) 地址空间分配 UART 单元的各寄 存器的地址范围为 0X F00003F8 ~ 0X F00003FF。
     在 I/O 地址空间, 将 I/O 地址 0X03F8 共同分配给接收缓存寄存器和发送保持寄存 器, 并当除数锁存器访问位 DLAB = 0 时, 可以对上述寄存器进行访问。接收缓存寄存器与 发送保持寄存器的 Bit0 ~ Bit7 均为数据位, 用于存储数据。
     在 IO 地址空间, 将 I/O 地址 0X03F8 共同分配给除数锁存低位寄存器和除数锁存 高位寄存器, 当除数锁存器访问位 DLAB = 1 时, 可以对上述寄存器进行访问, 除数锁存低位 寄存器的 Bit0 ~ Bit7 存储的低 8 位数据和除数高位寄存器的 Bit0 ~ Bit7 存储的高 8 位 数据用于配置串口通信的波特率。
     在 I/O 地址空间, 将 I/O 地址 0X03FB 分配给线控制寄存器, 其 Bit0 ~ Bit1 用于 配置串口通信的字长度, Bit2 用于配置串口通信的停止位的个数, Bit3 用于配置串口通信 是否奇偶校验使能, Bit4 用于配置校验方式为奇校验或偶校验。 在 I/O 地址空间, 将 I/O 地址 0X03FC ~ 0X03FE 分别分配给 Modem 控制寄存器、 线 状态寄存器和 Modem 状态寄存器。
     在 Memory 地址空间, 不同之处在于, 将 Memory 地址 0XF00003F8 共同分配给接收 缓存寄存器和发送保持寄存器, 并当 DLAB = 0 时, 可以对上述寄存器进行访问。将 Memory 地址 0XF00003F8 共同分配给除数锁存低位寄存器和除数锁存高位寄存器, 并当 DLAB = 1 时, 可以对上述寄存器进行访问。将 Memory 地址 0XF00003FB 分配给线控制寄存器。将 Memory 地址 0XF00003FC ~ 0X F00003FE 分别分配给 Modem 控制寄存器、 线状态寄存器和 Modem 状态寄存器。
     本发明实施例 1 的寄存器配置单元, 通过接收 LPC 总线接口单元发送的相关信号, 可以对 UART 通信子单元的各寄存器进行配置, 从而可以提供一个完整功能的 UART : 波特率 可设 50 ~ 450k ; 1bit 开始位 ; 停止位 1bit、 1.5bit、 2bit 可设 ; 奇校验、 偶校验、 无校验可 选。而这些设置的功能, 以寄存器的形式分配到各个地址。当 Host 主机需要通过与信号转 换装置进行 UART 通信或设置时, 只需对 UART 单元的相应寄存器的相应的地址进行读写即 可。例如可以在 I/O 地址空间寻址并使用 “OUT” 和 “IN” 指令进行操作, 操作指令例如可以 为:
     MOV DX, 03F8H ; UART THR register
     MOV AL, 08H ; data
     OUT DX, AL
     也可以在内存地址空间寻址, 并直接使用 MOV 指令进行读写操作, 操作指令例如 可以为 :
     MOV AL, byte ptr DS : [UART_THR_ADD]。
     进一步地, 本发明实施例的信号转换装置还系统存储单元, 用于存储系统操作系 统 OS 和 / 或基本输入输出系统 BIOS ; 所述系统存储单元与所述 LPC 总线接口单元相连, 通
     过接收来自 LPC 总线接口单元的所述本地信号, 并根据所述本地信号对存储在里面的数据 进行读写操作。可选地, 所述本地总线为 Local Bus 总线, 所述系统存储单元为具有 Local Bus 总线接口的 NOR flash。
     BIOS 被分配在 FF00_0000 ~ FFFF_FFFF 的内存地址空间。当 CPU 通过南桥的 LPC 总线访问存放 BIOS 的 NOR flash 时, 用最高 8 位的地址线产生 flash 的片选信号, 访问该 flash。LPC 总线以 memory 方式访问从设备时, 读 / 写帧中包括了 8 个地址周期, 每个地址 周期传送 4bit 数据, 总共传送 32 位地址数据, 其中 23、 22、 21、 19 位分别对应 Device ID( 设 备标识 ) 的 3 ~ 0 位, 地址数据的 0 ~ 18 位对应 Local Bus 总线地址的 0 ~ 18 位。通过 LPC 总线接口单元的解析, 将来自 LPC 总线的帧信息转换为 flash 所需要的 Local Bus 的读 写时序, 从而可以对 BIOS 中存储的数据进行读写操作。
     本发明实施例中还通过使用本地总线与外围设备进行管理, 如使用 LocalBus 总 线对外围设备进行管理。当所有外围以及 flash 存储器都使用同一本地总线进行管理时, 可以对系统进行有效地整合, 提高了系统简洁度, 方便对软件代码进行编写。
     综上所述, 本发明实施例 1 的有益技术效果在于 :
     本发明实施例 1 通过以 CPLD 或 FPGA 等可编程逻辑器件作为载体, 利用上述逻辑 器件的内部逻辑电路实现 LPC 总线协议到 UART 串口通信 . 从而避免了使用现有技术中的 额外的硬件芯片来实现串口功能, 从而降低了成本、 节省了电路板空间、 降低了电路的复杂 度与冗余度, 简化了对 UART 串口的配置过程。 本发明实施例 1 的信号转换装置在进行串口通信之前, 可以非常方便地根据 LPC 总线接口单元解析的本地信号对 UART 单元的各寄存器进行配置, 以便通过配置好的 UART 单元进行串口通信。本发明实施例 1 的信号转换装置, 由于将 UART 单元的寄存器既分配在 I/O 地址空间, 又分配在内存 (Memory) 地址空间, 所以无论是 I/O 访问还是 Memory 访问, 都 可以访问到 UART 单元的各个寄存器。因此, 在配置过程中, 既可以使用 “OUT” 、 “IN” 等指令 对编址于 I/O 地址空间的 UART 单元的相应寄存器进行配置, 也可以使用 MOV 指令对编址于 Memory 地址空间的 UART 单元的相应寄存器进行配置, 从而大大简化了对 UART 单元的各寄 存器的配置过程。本发明实施例 1 可以应用于 CISC 体系 CPU 的 I/O 读写方式和 memory 读 写方式, 使得 X86 架构的 CPU 可以如同 RISC 体系 CPU 的读写一样, 访问串口或者其他外部 接口与访问内存空间无差异。
     本发明实施例使用普通的 NOR flash 而不是 LPC 接口的 flash 来存储 BIOS 代码。 LPC 接口的 flash 是 4 位或 8 位位宽的, 用普通 NOR flash 的数据位宽可以设置为 16 位和 32 位。 使用普通的 NOR flash 拥有独立的数据总线和地址总线, 能快速随机读取, 允许系统 直接从 flash 中读取代码执行。并且使用 NOR flash, 可以使用 JTAG 在线高速升级 flash。 同时通过将 OS flash( 操作系统 flash) 与 BIOS flash, 合并成一片 flash 中, 从而节省了 硬件资源。现有技术中采用 LPC 接口的 flash, 只能通过 LPC 的仿真器进行加载, 如果直接 挂在南桥则不方便实现 JTAG(Joint Test Actions Group, 联合测试行动组 ) 加载, 即使勉 强实现了 JTAG 加载, 其加载时间也非常长, 例如 4Mbit 的 flash 的加载达到数小时, 不实 用。 如果通过本发明实施例的 JTAG 控制 CPLD 的管脚来加载 NOR flash, 就可以实现系统在 线快速升级, 例如在本发明实施例中, 4Mbit 的 flash 加载的时间大约是几分钟。
     实施例 2 :
     本发明实施例 2 提供了一种信号转换方法。 图 8 为本发明实施例 2 的一种信号转换方法的流程图。如图 8 所示, 所述方法包括: 步骤 S801、 对来自 LPC 总线的信号进行协议解析, 并通过本地总线输出本地信号, 所述本地信号包括地址信号、 数据信号及控制信号 ;
     所述本地信号包括地址信号、 数据信号及控制信号 ; 所述控制信号包括片选信号、 读使能信号及写使能信号。
     所述对来自 LPC 总线的信号进行协议解析的具体过程可以包括 :
     接收来自 LPC 总线的帧数据 ; 根据所述帧数据中的寄存器读写标识判断对所述 UART 单元的寄存器的寄存器读写方式是内存读写还是 I/O 读写 ; 当所述寄存器读写方式为 内存读写时, 对分配在内存地址空间的 UART 单元的寄存器进行访问 ; 当所述寄存器读写方 式为 I/O 读写时, 对分配在 I/O 地址空间的 UART 单元的寄存器进行访问。
     步骤 S802、 根据所述本地信号配置 UART 单元的寄存器 ; 所述 UART 单元的寄存器 分配在内存地址空间和 I/O 地址空间 ;
     所述 UART 单元的寄存器至少包括下列寄存器中的一个 : 接收缓存寄存器、 发送保 持寄存器、 中断使能寄存器、 中断标识寄存器、 FIFO 控制寄存器、 线控制寄存器、 Modem 控制 寄存器、 线状态寄存器、 Modem 状态寄存器、 除数锁存低位寄存器及除数锁存高位寄存器。
     需要强调的是, UART 单元的各寄存器, 既在内存地址空间编址, 又在 I/O 地址空 间编址, 无论是 I/O 访问还是 Memory 访问, 都可以访问到 UART 通信单元的各寄存器。该 逻辑既可以应用于 CISC(Complex Instructions Set Computer, 复杂指令架构计算机 ) 体 系 CPU 的 I/O 读写方式和 memory 读写方式, 使得 X86 架构的 CPU 可以如同 RISC(Reduced Instructions Set Computer, 精简指令架构计算机 ) 体系 CPU 的读写一样, 访问串口或者 其他外部接口与访问内存空间无差异。
     所述根据本地信号配置 UART 单元的寄存器的过程具体可以包括 :
     配置线控制寄存器的 bit0 ~ bit1, 以配置串行通信的有效子符长度为 5 ~ 8bit ; 配置线控制寄存器的 bit2, 以配置串行通信的停止位的个数为 1bit、 1.5bit 或 2bit ; 配置 线控制寄存器的 bit3, 以配置串行通信是否有校验 ; 配置线控制寄存器的 bit4, 以配置采 用的校验方式为奇校验或偶校验。配置除数锁存低位寄存器的 bit0 ~ bit7 及除数锁存高 位寄存器的 bit8 ~ bit15, 以配置串行通信的波特率 ; 以上仅为示例性说明, 而不应当理解 为对本发明的限制。
     步骤 S803、 根据所述本地信号以及配置后的 UART 单元的寄存器的值将来自所述 LPC 总线上的数据转换成串口数据后通过 UART 接口输出, 或者将从所述 UART 接口接收的串 口数据根据所述本地信号输出到所述 LPC 总线。
     上述过程可以进一步细化为 : 监测存储发送数据的 FIFO 存储器的状态, 当所述状 态为有效时, 读出所述存储发送数据的 FIFO 存储器中的待发送的数据, 并将所述待发送的 数据转换成串行格式, 基于通用异步串行通信协议发送 ; 或者, 接收串行数据, 将所述串行 数据转换成并行数据后写入存储待读取数据的 FIFO 存储器中, 并触发相关寄存器状态发 生改变, 以使得所述并行数据能够输出到所述 LPC 总线。
     进一步地, 所述的信号转换方法, 还包括 : 通过所述本地信号与至少一个外围设备
     进行通信。
     进一步地, 所述的信号转换方法, 还包括 : 接收来自 LPC 总线的接口的所述本地信 号, 并通过所述本地信号对存储单元进行读写操作。所述本地总线可以为 Local Bus 总线 或其他总线 ; 所述存储单元为具有 Local Bus 接口的 NOR flash 或者与具有其他总线对应 接口的 flash ; 当本地总线与 flash 总线接口不一致时, 也可以将两种总线进行转换后对 flash 进行管理。
     本发明实施例 2 的方法与现有技术的利用超级 I/O 器件实现 LPC 转换 UART 接口的 方案相比, 简化了对 UART 单元的相应寄存器的配置过程, 并降低硬件成本和电路冗余度 ; 由于对 UART 单元的各寄存器, 既在内存地址空间编址, 又在 I/O 地址空间编址, 无论是 I/O 访问还是 Memory 访问, 都可以访问到 UART 通信单元的各寄存器, 本发明实施例 2 的方法既 可以应用于 CISC 体系 CPU 的 I/O 读写方式和 Memory 读写方式, 使得 X86 架构的 CPU 可以 如同 RISC 体系 CPU 的读写一样, 访问 UART 串口或者其他外部接口与访问内存空间无差异。
     本发明实施例 2 的一种信号转换方法, 可以通过 CPLD 或者 FPGA 作为载体来实现, 以逻辑来实现对来自 LPC 总线的信号进行协议解读, 对 LPC 协议可裁减或增加, LPC 总线协 议能支持 DMA(Direct Memory Access, 直接内存访问 )、 Memory、 firmware HUB 等读写方式, 可以根据使用的需求进行裁减。
     实施例 3 :
     参见图 9, 本发明实施例 3 提供了一种通信设备 90, 所述通信设备包括 : CPU901、 南 桥 902、 本发明实施例 1 的信号转换装置 903 及外围设备 904 ; 所述 CPU901 用于通过南桥 902 的 LPC 接口向所述信号转换装置 903 和 / 或外围设备发送信号 904 ; 所述信号转换装置 903 用于对 LPC 接口的数据和 UART 数据进行转换, 并将所述 CPU901 发送的信号向所述外围 设备 904 发送, 或接收来自所述外围设备 904 的信号以向所述 CPU901 反馈。
     本发明实施例 3 将超级 I/O 功能和系统管理监控功能都利用 CPLD 来完成, 对信号 转换装置、 NOR flash 接口、 检测监控等功能进行整合或融合。在不增加器件的前提下, 仅 利用大约 280 个逻辑单元资源和最多 10 个管脚完成串口功能, 大大节省了 PCB 电路板的空 间和成本, 并且简化了软件对 UART 串口的配置流程。将串口的功能与系统管理功能融合之 后, 大大提高了单板的简洁度, 软件编写更加便利。
     本发明实施例 3 的通信设备能识别 LPC 总线的读写方式, 以对逻辑实现的 UART 通 信单元进行配置。为了便于嵌入式软件编写, 本发明实施例 3 以 CPLD 为载体提供了一个完 整功能的 UART 串口 : 其波特率可设为 50 ~ 450k ; 1bit 开始位 ; 停止位可选为 1bit、 1.5bit 或 2bit ; 奇校验、 偶校验或无校验可选。可以采用串行中断的方式, 并且中断模块可以根据 系统需要进行裁减。所有的 UART 串口寄存器既可以在内存地址空间访问, 又可以在 I/O 地 址空间访问。
     本发明实施例的通信设备将所述 CPU 发送的信号向所述外围设备发送, 或接收来 自所述外围设备的信号以向所述 CPU 反馈。 所述外围设备包括 : 主备倒换设备、 上电复位设 备、 时钟检测设备、 版本查询设备、 中断处理设备。 以下将以上电复位设备为例, 说明本发明 实施例的通信设备接收上电复位设备的信号以向 CPU 反馈的工作过程。本领域技术人员应 当理解, 下述实例性描述仅用于说明本发明实施例, 而非用地限制本发明。
     例如 : 可以预先设定复位模块的复位寄存器地址如下 :当 CPU 通过南桥控制 LPC 总线, 对内存空间的 0xF000, 001C 地址进行读写时。本 地总线输出地址对应到 0xF000, 001C, 信号转换装置中的 LPC 总线接口单元将数据总线连 接到上电复位装置的复位寄存器的输入。当写使能有效时, 寄存器锁存数据总线。上电复 位装置工作时, 其根据复位寄存器的内容, 控制系统的外围设备的复位 ; 当本地总线输出的 地址为 0xF000, 03F8 ~ 0xF000, 03FF 范围之内时, 信号转换装置中的 LPC 总线接口单元将 数据总线连接到 UART 单元的相应寄存器的输入, 再根据控制信号的内容, 对 UART 单元进行 操作, 以使 UART 通信单元, 根据所述本地信号和所述相应寄存器的配置参数, 实现数据的 串行通信。
     本发明实施例 3 的通信设备的有益技术效果在于 :
     1、 本发明实施例的通信设备, 可以将低引脚数 LPC 总线接口单元解析出的数据通 过 UART 单元发送出去, 同时可以读写与该通信设备相连的外围设备。
     2、 使用可编程逻辑器件作为载体, 利用 CPLD 或 FPGA 内部逻辑电路实现 LPC 总线 协议到 UART 串口通信功能 ;
     3、 UART 单元的寄存器, 既在内存地址空间分配, 又在 I/O 地址空间分配, 无论是 I/ O 访问还是 Memory 访问, 都可以访问到 UART 模块的寄存器。该逻辑既可以应用于 CISC 体 系 CPU 的 I/O 读写方式和 memory 读写方式, 使得 X86 架构的 CPU 可以如同 RISC 体系 CPU 的读写一样, 访问串口或者其他外部接口与访问内存空间无差异。
     4、 利用逻辑实现 LPC 信号的协议解读, 对 LPC 协议可裁减, 增加, 按照使用者需求 进行改动。利用逻辑实现, 以 CPLD 或者 FPGA 作为载体, 实现功能可以很灵活, LPC 协议能
     支持 DMA、 Memory、 firmware HUB 等读写方式, 可以根据使用的需求进行裁减。
     以上所揭露的仅为本发明的实施例而已, 不能以此来限定本发明之权利范围, 因 此依本发明权利要求所作的等同变化, 仍属本发明所涵盖的范围。

一种信号转换装置、方法及通信设备.pdf_第1页
第1页 / 共22页
一种信号转换装置、方法及通信设备.pdf_第2页
第2页 / 共22页
一种信号转换装置、方法及通信设备.pdf_第3页
第3页 / 共22页
点击查看更多>>
资源描述

《一种信号转换装置、方法及通信设备.pdf》由会员分享,可在线阅读,更多相关《一种信号转换装置、方法及通信设备.pdf(22页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN101989244A43申请公布日20110323CN101989244ACN101989244A21申请号200910161051122申请日20090805G06F13/3820060171申请人华为技术有限公司地址518129广东省深圳市龙岗区坂田华为基地总部办公楼72发明人朱晓明74专利代理机构北京三友知识产权代理有限公司11127代理人任默闻54发明名称一种信号转换装置、方法及通信设备57摘要本发明实施例提供了一种信号转换装置、方法及通信设备。所述包括LPC总线接口单元、寄存器配置单元、UART单元;所述LPC总线接口单元,用于对来自LPC总线的信号进行协议解析,并。

2、通过本地总线输出本地信号,所述本地信号包括控制信号、地址信号及数据信号;所述寄存器配置单元,用于根据所述本地信号配置UART单元的寄存器;所述UART单元的寄存器分配在内存地址空间和I/O地址空间;所述UART单元,用于根据所述本地信号以及配置后的UART单元的寄存器的值将来自所述LPC总线上的数据转换成串口数据后通过UART接口输出或将从所述UART接口接收的串口数据根据所述本地信号输出到所述LPC总线。本发明实施例可以简化对UART单元的寄存器的配置过程。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书12页附图7页CN101989244A1/2页21一种。

3、信号转换装置,其特征在于,所述信号转换装置包括LPC总线接口单元、寄存器配置单元、UART单元;所述LPC总线接口单元,用于对来自LPC总线的信号进行协议解析,并通过本地总线输出本地信号,所述本地信号包括控制信号、地址信号及数据信号;所述寄存器配置单元,用于根据所述本地信号配置UART单元的寄存器;所述UART单元的寄存器分配在内存地址空间和I/O地址空间;所述UART单元,用于根据所述本地信号以及配置后的UART单元的寄存器的值将来自所述LPC总线上的数据转换成串口数据后通过UART接口输出或将从所述UART接口接收的串口数据根据所述本地信号输出到所述LPC总线。2如权利要求1所述的信号转换。

4、装置,其特征在于,所述寄存器配置单元,还用于通过所述本地信号获取寄存器读写方式信息,当所述寄存器读写方式为内存读写时,对分配在内存地址空间的UART单元的寄存器进行操作;当所述寄存器读写方式为I/O读写时,对分配在I/O地址空间的UART单元的寄存器进行操作;所述寄存器读写方式信息由所述LPC总线接口单元根据寄存器读写指令判断得出当所述寄存器读写指令为I/O读写指令时,所述LPC总线接口单元输出寄存器读写方式为I/O读写;当所述寄存器读写指令为内存读写指令时,所述LPC总线接口单元输出寄存器读写方式为内存读写。3如权利要求1所述的信号转换装置,其特征在于,所述信号转换装置还包括系统存储单元,用。

5、于存储系统操作系统OS和/或基本输入输出系统BIOS;所述系统存储单元与所述LPC总线接口单元相连,通过接收来自LPC总线接口单元的所述本地信号,并根据所述本地信号对存储在里面的数据进行读写操作。4如权利要求1所述的信号转换装置,其特征在于所述LPC总线接口单元,还用于与至少一个外围设备进行相连,并通过所述本地信号与所述外围设备进行通信。5如权利要求4所述的信号转换装置,其特征在于所述本地总线为LOCALBUS总线,所述系统存储单元为具有LOCALBUS总线接口的NORFLASH。6如权利要求1所述的信号转换装置,其特征在于,所述UART单元包括寄存器阵列,用于存储接收到的所述数据信号,或根据。

6、所述数据信号对所述寄存器阵列中的至少一寄存器进行配置;第一FIFO存储器,用于存储待发送的数据;第二FIFO存储器,用于存储待读取的数据;发送单元,用于监测所述第一FIFO存储器的状态,当所述状态为有效时读出所述第一FIFO存储器中的待发送的数据,并将所述待发送的数据转换成串行格式后,基于通用异步串行通信协议发送;接收单元,用于接收串行数据,将所述串行数据转换成并行数据后写入到第二FIFO存储器中,并触发所述寄存器阵列中至少一寄存器的状态发生变化。7一种信号转换方法,其特征在于,所述信号转换方法包括权利要求书CN101989244A2/2页3对来自LPC总线的信号进行协议解析,并通过本地总线输。

7、出本地信号,所述本地信号包括地址信号、数据信号及控制信号;根据所述本地信号配置UART单元的寄存器;所述UART单元的寄存器分配在内存地址空间和I/O地址空间;根据所述本地信号以及配置后的UART单元的寄存器的值将来自所述LPC总线上的数据转换成串口数据后通过UART接口输出,或者将从所述UART接口接收的串口数据根据所述本地信号输出到所述LPC总线。8如权利要求7所述的信号转换方法,其特征在于,所述对来自LPC总线的信号进行协议解析的步骤包括接收来自LPC总线的帧数据;根据所述帧数据中的寄存器读写标识判断对所述UART单元的寄存器的寄存器读写方式是内存读写还是I/O读写;当所述寄存器读写方式。

8、为内存读写时,对分配在内存地址空间的UART单元的寄存器进行访问;当所述寄存器读写方式为I/O读写时,对分配在I/O地址空间的UART单元的寄存器进行访问。9如权利要求7所述的信号转换方法,其特征在于,还包括通过所述本地信号与至少一个外围设备进行通信。10如权利要求7所述的信号转换方法,其特征在于,还包括接收来自LPC总线的接口的所述本地信号,并通过所述本地信号对存储单元进行读写操作。11如权利要求10所述的信号转换方法,其特征在于所述本地总线为LOCALBUS总线;所述存储单元为具有LOCALBUS接口的NORFLASH。12如权利要求7所述的信号转换方法,其特征在于,所述根据所述本地信号以。

9、及配置后的UART单元寄存器的值将来自所述LPC总线上的数据转换成串口数据后通过UART接口输出,或者将从所述UART接口接收的串口数据根据所述本地信号输出到所述LPC总线的步骤包括监测存储发送数据的FIFO存储器的状态,当所述状态为有效时,读出所述存储发送数据的FIFO存储器中的待发送的数据,并将所述待发送的数据转换成串行格式,基于通用异步串行通信协议发送;或者,接收串行数据,将所述串行数据转换成并行数据后写入存储待读取数据的FIFO存储器中,并触发相关寄存器状态发生改变,以使得所述并行数据能够输出到所述LPC总线。13一种通信设备,其特征在于,所述通信设备包括CPU、南桥、信号转换装置及外。

10、围设备;所述CPU用于通过南桥的LPC接口向所述信号转换装置和/或外围设备发送信号;所述信号转换装置为权利要求16中任一项权利要求所述的信号转换装置,用于对LPC接口的数据和UART数据进行转换,并将所述CPU发送的信号向所述外围设备发送或接收来自所述外围设备的信号以向所述CPU反馈。权利要求书CN101989244A1/12页4一种信号转换装置、方法及通信设备技术领域0001本发明涉及通信领域,具体地涉及一种LPC总线转UART接口的装置、方法及通信设备。背景技术0002串行通信接口协议提供了一种用于数据通信的最简单的标准串行接口,因此在很多设备上都得到了广泛的应用。电子设计工程师在对复杂嵌。

11、入式系统进行调试时,经常会涉及到人机交互,在人机交互过程中需要利用嵌入式系统的串口作为控制台CONSOLE,以便上位机通过串口来控制该嵌入式系统,例如通过串口打印信息,因此几乎所有的嵌入式系统需要串口。在电信领域的应用中,串口除了用于本地的调试,同时BMCBASEBOARDMANAGEMENTCONTROLLER,基板管理控制器也通过串口对嵌入式系统进行通讯和控制。0003X86架构处理器主要的应用场景为微型计算机、服务器或工作站,并已经开始应用于嵌入式、通信领域,但X86架构处理器厂商已经渐渐不再在南桥SOUTHBRIDGE提供UARTUNIVERSALASYNCHRONOUSRECEIVE。

12、RANDTRANSMITTER,通用异步收发器接口,而是利用南桥的LPC总线LOWPINCOUNTBUS,低引脚数总线连接到超级I/O芯片SUPERI/OASIC,由其提供微型计算机所需的各种低速接口例如并口、串口、软驱、PS2、键盘、鼠标、打印机等。0004请参阅图1,图1为现有技术一利用超级I/O芯片实现UART通信的硬件连接示意图。如图1所示,对于PC机或嵌入式系统,直接通过LPC总线将超级I/O芯片与南桥芯片连接,并通过该超级I/O芯片提供软盘接口、并口、串口、键盘控制器及XBUS等。但是该超级I/O芯片的管脚多达128个,且体积大。同时该方案还在LPC总线上连接一个带有LPC接口的F。

13、LASH,用于存储整个软件及硬件系统的BIOSBASICINPUTOUTPUTSYSTEM,基本输入输出系统。0005发明人在实现本发明的过程中,发现现有技术至少存在以下不足0006由于超级I/O芯片的内部实现多种接口包括UART接口与LPC总线通信时,对各个接口相关的参数配置需要通过对超级I/O芯片内部的INDEXPORT寄存器和DATAPORT寄存器进行操作,才能完成配置。在系统启动时,如果要使用串口通信,首先需要BIOS对超级I/O芯片内部进行配置,进入超级I/O芯片的配置状态,将对INDEXPORT寄存器和DATAPORT寄存器进行写操作。只有先将串口接口作为逻辑器件分配给内部总线,然。

14、后才能通过访问串口寄存器的I/O地址,并对串口控制器进行读写操作,因此,配置过程比较复杂。发明内容0007本发明实施例提供了一种信号转换装置、方法及通信设备。0008一方面,本发明实施例提供了一种信号转换装置,所述装置包括LPC总线接口单元、寄存器配置单元、UART单元;所述LPC总线接口单元,用于对来自LPC总线的信号进行协议解析,并通过本地总线输出本地信号,所述本地信号包括控制信号、地址信号及数据信说明书CN101989244A2/12页5号;所述寄存器配置单元,用于根据所述本地信号配置UART单元的寄存器;所述UART单元的寄存器分配在内存地址空间和I/O地址空间;所述UART单元,用于。

15、根据所述本地信号以及配置后的UART单元的寄存器的值将来自所述LPC总线上的数据转换成串口数据后通过UART接口输出或将从所述UART接口接收的串口数据根据所述本地信号输出到所述LPC总线。0009另一方面,本发明实施例的提供了一种信号转换方法,所述方法包括对来自LPC总线的信号进行协议解析,并通过本地总线输出本地信号,所述本地信号包括地址信号、数据信号及控制信号;根据所述本地信号配置UART单元的寄存器;所述UART单元的寄存器分配在内存地址空间和I/O地址空间;根据所述本地信号以及配置后的UART单元的寄存器的值将来自所述LPC总线上的数据转换成串口数据后通过UART接口输出,或者将从所述。

16、UART接口接收的串口数据根据所述本地信号输出到所述LPC总线。0010还一方面,本发明实施例提供了一种通信设备,所述通信设备包括CPU、南桥、本发明实施例的信号转换装置及外围设备;所述CPU用于通过南桥的LPC接口向所述信号转换装置和/或外围设备发送信号;所述信号转换装置用于对LPC接口的数据和UART数据进行转换,并将所述CPU发送的信号向所述外围设备发送或接收来自所述外围设备的信号以向所述CPU反馈。0011本发明实施例的装置与方法,通过利用可编程逻辑器件的内部逻辑电路实现了从LPC总线协议到UART串口通信的信号转换功能,避免了使用现有技术中的超级I/O芯片,达到了简化配置、节约成本、。

17、节省电路板空间、降低电路复杂度的有益技术效果。0012本发明实施例的通信设备,可以将低引脚数LPC总线接口单元解析出的数据通过UART单元发送出去,同时可以读写与该通信设备相连的外围设备。附图说明0013图1为现有技术一利用超级I/O芯片实现UART通信的硬件连接图;0014图2为本发明实施例1的一种信号转换装置的结构示意图;0015图3为本发明实施例1的LPC总线接口单元的状态转换图;0016图4为本发明实施例1的UART单元的功能框图;0017图5为本发明实施例1的FIFO存储器的接口图;0018图6为本发明实施例1的发送子单元的发送工作原理示意图;0019图7为本发明实施例1的接收子单元。

18、的工作原理示意图;0020图8为本发明实施例2的一种信号转换方法的流程示意图;0021图9为本发明实施例3一种通信系统的结构示意图。具体实施方式0022下面结合附图对本发明实施例作详细阐述,下列示例性描述应当理解为是对本发明权利要求的解释而不是对本发明权利要求的限制。0023实施例10024本发明实施例1提供了一种信号转换装置。本发明实施例1通过以CPLD或FPGA等可编程逻辑器件作为载体,利用上述逻辑器件的内部逻辑资源实现该信号转换装置从说明书CN101989244A3/12页6而简化了对该信号转换装置包含的UART单元的相应寄存器的配置过程。0025图2为本发明实施例1的一种信号转换装置的。

19、结构示意图。如图2所示,本发明实施例1的装置20通过LPCLOWPINCOUNT,低引脚数总线与南桥40连接。请参阅图2,本发明实施例1的装置包括0026LPC总线接口单元201、寄存器配置单元202、UART单元203;0027所述LPC总线接口单元201,用于对来自LPC总线的信号进行协议解析,并通过本地总线输出本地信号,所述本地信号包括控制信号、地址信号及数据信号;0028所述寄存器配置单元202,用于根据所述本地信号配置UART单元203的寄存器;所述UART单元203的寄存器分配在内存地址空间和I/O地址空间;0029所述UART单元203,用于根据所述本地信号以及配置后的UART单。

20、元的寄存器的值将来自所述LPC总线上的数据转换成串口数据后通过UART接口输出或将从所述UART接口接收的串口数据根据所述本地信号输出到所述LPC总线。0030进一步地,所述寄存器配置单元202,还可以用于通过所述本地信号获取寄存器读写方式信息,当所述寄存器读写方式为内存读写时,对分配在内存地址空间的UART单元203的寄存器进行操作;当所述寄存器读写方式为I/O读写时,对对分配在I/O地址空间的UART单元203的寄存器进行操作;0031所述寄存器读写方式信息由所述LPC总线接口单元201根据寄存器读写指令判断得出当所述寄存器读写指令为I/O读写指令时,所述LPC总线接口单元输出寄存器读写方。

21、式为I/O读写;当所述寄存器读写指令为内存读写指令时,所述LPC总线接口单元输出寄存器读写方式为内存读写。0032进一步地,所述信号转换装置20还可以包括系统存储单元204,用于存储系统操作系统OS和/或基本输入输出系统BIOS;所述系统存储单元204与所述LPC总线接口单元201相连,通过接收来自LPC总线接口单元201的所述本地信号,并根据所述本地信号对存储在里面的数据进行读写操作。0033进一步地,所述LPC总线接口单元201,还可以用于与至少一个外围设备30进行相连,并通过所述本地信号与所述外围设备30进行通信。所述外围设备包括下列设备中的一个或多个主备倒换设备、上电复位设备、时钟检测。

22、设备、版本查询设备、中断处理设备。0034可选地,所述本地总线为LOCALBUS总线,所述系统存储单元为具有LOCALBUS总线接口的NORFLASH。0035优选地,所述UART单元203包括寄存器阵列,用于存储接收到的所述数据信号,或根据所述数据信号对所述寄存器阵列中的至少一寄存器进行配置;第一FIFO存储器,用于存储待发送的数据;第二FIFO存储器,用于存储待读取的数据;发送单元,用于监测所述第一FIFO存储器的状态,当所述状态为有效时读出所述第一FIFO存储器中的待发送的数据,并将所述待发送的数据转换成串行格式后,基于通用异步串行通信协议发送;接收单元,用于接收串行数据,将所述串行数据。

23、转换成并行数据后写入到第二FIFO存储器中,并触发所述寄存器阵列中至少一寄存器的状态发生变化。0036进一步地,以下将结合图表对本发明实施例1的信号转换装置包含的LPC总线接口单元的功能作详细阐述。0037LPC总线,其用于连接南桥SOUTHBRIDGE和周边慢速设备,表1提供了LPC总线说明书CN101989244A4/12页7的各管脚的定义。00380039表1LPC总线信号定义表0040在本发明实施例1中,LPC总线必须的信号为LAD30、/LFRAME、/LRESET、LCLK;可选信号中,串行中断信号/SER_IRQ,需要使用。0041图3为LPC总线接口单元内部状态机状态转换图。如。

24、图3所示,LPC总线接口单元的内部状态机状态转换图描述了LPC总线接口单元的工作原理,这里不赘述,请参考LPC协议文档INTELLOWPINCOUNTLPCINTERFACESPECIFICATION文档编号251289001。0042表2为LPC“周期形式与方向”CYCLETYPEDIR的第二时钟周期定义表,如表2所示,在LPC协议中,当一帧数据开始后,在第二个时钟周期CYCLETYPEDIR,给出了该帧数据的读写方式是MEMORY内存读写,还是I/O读写。根据这个信息,来确定该帧数据是访问MEMORY内存地址空间,还是访问I/O地址空间。0043BITS32BIT1DEFINITION定义。

25、000I/OREADI/O读001I/OWRITEI/O写010MEMORYREAD内存读说明书CN101989244A5/12页8011MEMORYWRITE内存写100DMAREAD直接内存访问读101DMAWRITE直接内存访问写11XRESERVED预留0044表2LPC“周期形式与方向”CYCLETYPEDIR的第二时钟周期定义表0045进一步地,以下将对本发明实施例1的UART单元的功能、结构及工作原理作详细阐述,为了简化描述,相同的元件采用了相同的附图标号。0046请参阅图4,图4为本发明实施例1的UART单元的功能框图。如图4所示,本发明实施1的UART单元203包括0047寄。

26、存器阵列2031,其可以包括接收缓存寄存器、发送保持寄存器、中断使能寄存器、中断标识寄存器、FIFO控制寄存器、线控制寄存器、MODEM控制寄存器、线状态寄存器、MODEM状态寄存器、高速缓存寄存器、除数锁存低位寄存器LSB及除数锁存高位寄存器MSB;0048第一FIFO存储器2032及第二FIFO存储器2035,用于缓存待发送或读取的数据;由于LPC总线的速率远大于UART的速率,也为了兼容后续其他设计,本发明实施例在UART单元203内嵌入了一组648FIFO深度FIFO宽度的FIFOFIRSTINPUTFIRSTOUTPUT,先入先出存储器,专用于发送数据,另一组168FIFO深度FIF。

27、O宽度的FIFO存储器,专用于接收数据,两组FIFO存储器分别连接到寄存器阵列2031,并根据寄存器阵列2031的读写控制指令从寄存器阵列2031中读出数据或向寄存器阵列写入数据。0049图5为本发明实施例1的FIFO存储器的接口图。如图5所示,CLK管脚为系统时钟,RST管脚为系统复位信号,当写使能WR_EN有效时,每个时钟周期都向FIFO存储器中写入一组数据,当读使能RD_EN有效,每个时钟周期都从FIFO存储器中读出一组数据,所以当对FIFO存储器进行读写操作时,只能在一个时钟周期中操作。当FIFO存储器中没有数据时,EMPTY管脚输出高电平;当FIFO存储器中数据满了之后,FULL管脚。

28、输出高电平;DIN为数据输入管脚,DOUT为数据输出管脚。0050发送子单元2033,用于监测第一FIFO存储器2032的状态,当所述状态为有效时,即FULL管脚输出高电平以表示第一FIFO存储器2032已满时,读出所述第一FIFO存储器中的数据,并将所述数据转换成串行格式后,基于通用异步串行通信协议发送。0051图6为本发明实施例1的发送子单元的发送工作原理示意图。如图6所示,当FIFO存储器读到数据之后,EMPTY管脚信号为低电平,触发发送子单元去读FIFO存储器,并把读出的数据内容转换成UART通信格式后串行发送,发送完成后,继续监测发送FIFO存储器的状态。0052上述发送过程进一步细。

29、化为0053步骤S601、LPC总线接口单元解析输出的地址为UART通信单元的发送保持寄存器THR,TRANSMITHOLDREGISTER地址例如该地址可以为0X03F8;0054步骤S602、逻辑监控LPC总线接口单元输出写使能WR_EN信号;说明书CN101989244A6/12页90055步骤S603、检测到LPC写使能信号有效时;0056步骤S604、将本地总线LOCALBUS上的数据信息发送写入至UART通信单元的上述发送保持寄存器中;0057步骤S605、逻辑自动触发发送保持寄存器对第一FIFO存储器进行写操作,以将发送保持寄存器的数据内容写入到第一FIFO存储器中;0058步骤。

30、S606、监控该第一FIFO存储是否为空,如是,则执行步骤S607,如否,则执行步骤S614;0059步骤S607、检测到该第一FIFO存储器的EMPTY管脚的状态为无效;0060当该第一FIFO存储器中被写入数据之后,其EMPTY管脚被置为低电平无效状态。0061步骤S608、当发送子单元空闲时,则触发发送子单元对该第一FIFO存储器进行读操作,即读取第一FIFO存储器中的数据;0062步骤S609、发送子单元保存欲发送数据进入UART转换模式;0063步骤S610、发送子单元发送欲发送数据的开始位;0064步骤S611、UART线控制寄存器设置帧格式,以使发送子单元将读取的数据转换为串口数。

31、据格式后基于通用异步串行通信协议发送;0065本发明实施例中的串口数据格式可以包括1位起始位、58位的数据位、01位奇偶校验位以及1或15或2位的停止位。0066步骤S612、发送子单元对欲发送数据进行并串格式转换并发送;0067步骤S613、发送子单元进行奇偶校验计算并发送相应的奇偶校验位;0068步骤S614、发送子单元发送停止位。0069本发明实施例接收子单元2034,用于根据所述对应的寄存器的配置参数接收串行数据,并将所述串行数据转换成并行数据后写入到第二FIFO存储器2035中,并触发所述多个寄存器中至少一寄存器的状态发生变化。例如触发中断标识寄存器或线状态寄存器的状态设置发生变化。。

32、0070图7为本发明实施例1的接收子单元的工作原理示意图。如图7所示,逻辑采用串口波特率16倍的时钟对UART单元203的接收子单元2033的接收端RX的输入数据进行监测,当RX有低电平输入时,表示监测到该数据帧的开始位,从而进入到UART数据帧的解析状态,并将接收到的数据进行串并转换后存储在第二FIFO存储中,当检测到停止位时,将根据UART通信单元的配置寄存器4037的配置项,将这帧数据的数据位、奇偶校验位及停止位等数据进行检测和存储,并判断是否奇偶校验错误、溢出错识或帧错误,以根据上述判断结果改变线状态寄存器的状态设置。0071具体应用中,本发明实施例1的UART单元203还可以包括中断。

33、子单元2036,用于监测所述多个寄存器中至少一寄存器的状态变化,例如监测线状态寄存器的状态变化,以产生中断信号,并将所述中断信号上传到与所述装置相连接的主机,以触发所述主机读取所述待读取的数据,例如可以通过SERIRQ向主机上报中断。0072进一步地,以下将对本发明实施例1的寄存器配置单元202的功能及工作原理作详细阐述0073本发明实施例对UART单元的各寄存器既在I/O地址空间分配又在MEMORY内存说明书CN101989244A7/12页10地址空间分配。本发明实施例1的寄存器配置单元根据UART通信单元包含的寄存器的I/O地址或内存地址,将所述本地信号分配至UART通信单元,并根据所述。

34、本地信号配置所述UART单元包含的相应寄存器。0074可选地,可以预先在I/O地址空间分配UART单元的各寄存器的地址范围为0X03F80X03FF。可选地,还可以预先在MEMORY内存地址空间分配UART单元的各寄存器的地址范围为0XF00003F80XF00003FF。0075在I/O地址空间,将I/O地址0X03F8共同分配给接收缓存寄存器和发送保持寄存器,并当除数锁存器访问位DLAB0时,可以对上述寄存器进行访问。接收缓存寄存器与发送保持寄存器的BIT0BIT7均为数据位,用于存储数据。0076在IO地址空间,将I/O地址0X03F8共同分配给除数锁存低位寄存器和除数锁存高位寄存器,当。

35、除数锁存器访问位DLAB1时,可以对上述寄存器进行访问,除数锁存低位寄存器的BIT0BIT7存储的低8位数据和除数高位寄存器的BIT0BIT7存储的高8位数据用于配置串口通信的波特率。0077在I/O地址空间,将I/O地址0X03FB分配给线控制寄存器,其BIT0BIT1用于配置串口通信的字长度,BIT2用于配置串口通信的停止位的个数,BIT3用于配置串口通信是否奇偶校验使能,BIT4用于配置校验方式为奇校验或偶校验。0078在I/O地址空间,将I/O地址0X03FC0X03FE分别分配给MODEM控制寄存器、线状态寄存器和MODEM状态寄存器。0079在MEMORY地址空间,不同之处在于,将。

36、MEMORY地址0XF00003F8共同分配给接收缓存寄存器和发送保持寄存器,并当DLAB0时,可以对上述寄存器进行访问。将MEMORY地址0XF00003F8共同分配给除数锁存低位寄存器和除数锁存高位寄存器,并当DLAB1时,可以对上述寄存器进行访问。将MEMORY地址0XF00003FB分配给线控制寄存器。将MEMORY地址0XF00003FC0XF00003FE分别分配给MODEM控制寄存器、线状态寄存器和MODEM状态寄存器。0080本发明实施例1的寄存器配置单元,通过接收LPC总线接口单元发送的相关信号,可以对UART通信子单元的各寄存器进行配置,从而可以提供一个完整功能的UART波。

37、特率可设50450K;1BIT开始位;停止位1BIT、15BIT、2BIT可设;奇校验、偶校验、无校验可选。而这些设置的功能,以寄存器的形式分配到各个地址。当HOST主机需要通过与信号转换装置进行UART通信或设置时,只需对UART单元的相应寄存器的相应的地址进行读写即可。例如可以在I/O地址空间寻址并使用“OUT”和“IN”指令进行操作,操作指令例如可以为0081MOVDX,03F8H;UARTTHRREGISTER0082MOVAL,08H;DATA0083OUTDX,AL0084也可以在内存地址空间寻址,并直接使用MOV指令进行读写操作,操作指令例如可以为0085MOVAL,BYTEPT。

38、RDSUART_THR_ADD。0086进一步地,本发明实施例的信号转换装置还系统存储单元,用于存储系统操作系统OS和/或基本输入输出系统BIOS;所述系统存储单元与所述LPC总线接口单元相连,通说明书CN101989244A8/12页11过接收来自LPC总线接口单元的所述本地信号,并根据所述本地信号对存储在里面的数据进行读写操作。可选地,所述本地总线为LOCALBUS总线,所述系统存储单元为具有LOCALBUS总线接口的NORFLASH。0087BIOS被分配在FF00_0000FFFF_FFFF的内存地址空间。当CPU通过南桥的LPC总线访问存放BIOS的NORFLASH时,用最高8位的地。

39、址线产生FLASH的片选信号,访问该FLASH。LPC总线以MEMORY方式访问从设备时,读/写帧中包括了8个地址周期,每个地址周期传送4BIT数据,总共传送32位地址数据,其中23、22、21、19位分别对应DEVICEID设备标识的30位,地址数据的018位对应LOCALBUS总线地址的018位。通过LPC总线接口单元的解析,将来自LPC总线的帧信息转换为FLASH所需要的LOCALBUS的读写时序,从而可以对BIOS中存储的数据进行读写操作。0088本发明实施例中还通过使用本地总线与外围设备进行管理,如使用LOCALBUS总线对外围设备进行管理。当所有外围以及FLASH存储器都使用同一本。

40、地总线进行管理时,可以对系统进行有效地整合,提高了系统简洁度,方便对软件代码进行编写。0089综上所述,本发明实施例1的有益技术效果在于0090本发明实施例1通过以CPLD或FPGA等可编程逻辑器件作为载体,利用上述逻辑器件的内部逻辑电路实现LPC总线协议到UART串口通信从而避免了使用现有技术中的额外的硬件芯片来实现串口功能,从而降低了成本、节省了电路板空间、降低了电路的复杂度与冗余度,简化了对UART串口的配置过程。0091本发明实施例1的信号转换装置在进行串口通信之前,可以非常方便地根据LPC总线接口单元解析的本地信号对UART单元的各寄存器进行配置,以便通过配置好的UART单元进行串口。

41、通信。本发明实施例1的信号转换装置,由于将UART单元的寄存器既分配在I/O地址空间,又分配在内存MEMORY地址空间,所以无论是I/O访问还是MEMORY访问,都可以访问到UART单元的各个寄存器。因此,在配置过程中,既可以使用“OUT”、“IN”等指令对编址于I/O地址空间的UART单元的相应寄存器进行配置,也可以使用MOV指令对编址于MEMORY地址空间的UART单元的相应寄存器进行配置,从而大大简化了对UART单元的各寄存器的配置过程。本发明实施例1可以应用于CISC体系CPU的I/O读写方式和MEMORY读写方式,使得X86架构的CPU可以如同RISC体系CPU的读写一样,访问串口或。

42、者其他外部接口与访问内存空间无差异。0092本发明实施例使用普通的NORFLASH而不是LPC接口的FLASH来存储BIOS代码。LPC接口的FLASH是4位或8位位宽的,用普通NORFLASH的数据位宽可以设置为16位和32位。使用普通的NORFLASH拥有独立的数据总线和地址总线,能快速随机读取,允许系统直接从FLASH中读取代码执行。并且使用NORFLASH,可以使用JTAG在线高速升级FLASH。同时通过将OSFLASH操作系统FLASH与BIOSFLASH,合并成一片FLASH中,从而节省了硬件资源。现有技术中采用LPC接口的FLASH,只能通过LPC的仿真器进行加载,如果直接挂在南。

43、桥则不方便实现JTAGJOINTTESTACTIONSGROUP,联合测试行动组加载,即使勉强实现了JTAG加载,其加载时间也非常长,例如4MBIT的FLASH的加载达到数小时,不实用。如果通过本发明实施例的JTAG控制CPLD的管脚来加载NORFLASH,就可以实现系统在线快速升级,例如在本发明实施例中,4MBIT的FLASH加载的时间大约是几分钟。0093实施例2说明书CN101989244A9/12页120094本发明实施例2提供了一种信号转换方法。0095图8为本发明实施例2的一种信号转换方法的流程图。如图8所示,所述方法包括0096步骤S801、对来自LPC总线的信号进行协议解析,并。

44、通过本地总线输出本地信号,所述本地信号包括地址信号、数据信号及控制信号;0097所述本地信号包括地址信号、数据信号及控制信号;所述控制信号包括片选信号、读使能信号及写使能信号。0098所述对来自LPC总线的信号进行协议解析的具体过程可以包括0099接收来自LPC总线的帧数据;根据所述帧数据中的寄存器读写标识判断对所述UART单元的寄存器的寄存器读写方式是内存读写还是I/O读写;当所述寄存器读写方式为内存读写时,对分配在内存地址空间的UART单元的寄存器进行访问;当所述寄存器读写方式为I/O读写时,对分配在I/O地址空间的UART单元的寄存器进行访问。0100步骤S802、根据所述本地信号配置U。

45、ART单元的寄存器;所述UART单元的寄存器分配在内存地址空间和I/O地址空间;0101所述UART单元的寄存器至少包括下列寄存器中的一个接收缓存寄存器、发送保持寄存器、中断使能寄存器、中断标识寄存器、FIFO控制寄存器、线控制寄存器、MODEM控制寄存器、线状态寄存器、MODEM状态寄存器、除数锁存低位寄存器及除数锁存高位寄存器。0102需要强调的是,UART单元的各寄存器,既在内存地址空间编址,又在I/O地址空间编址,无论是I/O访问还是MEMORY访问,都可以访问到UART通信单元的各寄存器。该逻辑既可以应用于CISCCOMPLEXINSTRUCTIONSSETCOMPUTER,复杂指令。

46、架构计算机体系CPU的I/O读写方式和MEMORY读写方式,使得X86架构的CPU可以如同RISCREDUCEDINSTRUCTIONSSETCOMPUTER,精简指令架构计算机体系CPU的读写一样,访问串口或者其他外部接口与访问内存空间无差异。0103所述根据本地信号配置UART单元的寄存器的过程具体可以包括0104配置线控制寄存器的BIT0BIT1,以配置串行通信的有效子符长度为58BIT;配置线控制寄存器的BIT2,以配置串行通信的停止位的个数为1BIT、15BIT或2BIT;配置线控制寄存器的BIT3,以配置串行通信是否有校验;配置线控制寄存器的BIT4,以配置采用的校验方式为奇校验或。

47、偶校验。配置除数锁存低位寄存器的BIT0BIT7及除数锁存高位寄存器的BIT8BIT15,以配置串行通信的波特率;以上仅为示例性说明,而不应当理解为对本发明的限制。0105步骤S803、根据所述本地信号以及配置后的UART单元的寄存器的值将来自所述LPC总线上的数据转换成串口数据后通过UART接口输出,或者将从所述UART接口接收的串口数据根据所述本地信号输出到所述LPC总线。0106上述过程可以进一步细化为监测存储发送数据的FIFO存储器的状态,当所述状态为有效时,读出所述存储发送数据的FIFO存储器中的待发送的数据,并将所述待发送的数据转换成串行格式,基于通用异步串行通信协议发送;或者,接。

48、收串行数据,将所述串行数据转换成并行数据后写入存储待读取数据的FIFO存储器中,并触发相关寄存器状态发生改变,以使得所述并行数据能够输出到所述LPC总线。0107进一步地,所述的信号转换方法,还包括通过所述本地信号与至少一个外围设备说明书CN101989244A10/12页13进行通信。0108进一步地,所述的信号转换方法,还包括接收来自LPC总线的接口的所述本地信号,并通过所述本地信号对存储单元进行读写操作。所述本地总线可以为LOCALBUS总线或其他总线;所述存储单元为具有LOCALBUS接口的NORFLASH或者与具有其他总线对应接口的FLASH;当本地总线与FLASH总线接口不一致时,。

49、也可以将两种总线进行转换后对FLASH进行管理。0109本发明实施例2的方法与现有技术的利用超级I/O器件实现LPC转换UART接口的方案相比,简化了对UART单元的相应寄存器的配置过程,并降低硬件成本和电路冗余度;由于对UART单元的各寄存器,既在内存地址空间编址,又在I/O地址空间编址,无论是I/O访问还是MEMORY访问,都可以访问到UART通信单元的各寄存器,本发明实施例2的方法既可以应用于CISC体系CPU的I/O读写方式和MEMORY读写方式,使得X86架构的CPU可以如同RISC体系CPU的读写一样,访问UART串口或者其他外部接口与访问内存空间无差异。0110本发明实施例2的一种信号转换方法,可以通过CPLD或者FPGA作为载体来实现,以逻辑来实现对来自LPC总线的信号进行协议解读,对LPC协议可裁减或增加,LPC总线协议能支持DMADIRECTMEMORYACCESS,直接内存访问、MEMORY、FIRMWAREHUB等读写方式,可以根据使用的需求进行裁减。0111实施例30112参见图9,本发明实施例3提供了一种通信设备90,所述通信设备包括CPU901、南桥902、本发明实施例1的信号转换装置903及外围设备904;所述CPU901用于通过南桥902的LPC接口向所述信号转换装置903和/或外围设备发送信号904;所述。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1