CN107608927A - 一种支持全功能的lpc总线主机端口的设计方法 - Google Patents

一种支持全功能的lpc总线主机端口的设计方法 Download PDF

Info

Publication number
CN107608927A
CN107608927A CN201710868318.5A CN201710868318A CN107608927A CN 107608927 A CN107608927 A CN 107608927A CN 201710868318 A CN201710868318 A CN 201710868318A CN 107608927 A CN107608927 A CN 107608927A
Authority
CN
China
Prior art keywords
data
lpc
state machine
read
apb
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.)
Granted
Application number
CN201710868318.5A
Other languages
English (en)
Other versions
CN107608927B (zh
Inventor
王硕
唐涛
石广
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710868318.5A priority Critical patent/CN107608927B/zh
Publication of CN107608927A publication Critical patent/CN107608927A/zh
Application granted granted Critical
Publication of CN107608927B publication Critical patent/CN107608927B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明涉及计算机SOC系统设计领域,具体涉及一种支持全功能的LPC总线主机端口的设计方法。该方法包括在主机端口设置主状态机、若干个寄存器以及相应的输入输出端口,主状态机根据数据类型进行不同方式传输即可以实现APB信号到LPC信号的转换,输出符合协议标准的LPC信号,功能丰富,应用方便。

Description

一种支持全功能的LPC总线主机端口的设计方法
技术领域
本发明涉及计算机SOC系统设计领域,具体涉及一种支持全功能的LPC总线主机端口的设计方法。该方法包括在主机端口设置主状态机、若干个寄存器以及相应的输入输出端口,主状态机根据数据类型进行不同方式传输即可以实现APB信号到LPC信号的转换,输出符合协议标准的LPC信号,功能丰富,应用方便。
背景技术
在SOC(System on Chip,片上系统)的设计中,各个模块通常通过不同性能的总线连接,LPC(Low Pin Count)是基于Intel标准的33MHz4bit并行总线协议。由于其信号线数量低、传输速率高等特点,在SOC设计领域应用广泛。
LPC总线连接LPC主设备与外设,支持多种事务类型的操作,例如IO读写、内存读写、DMA(Direct Memory Access直接内存存取)读写和Firmware(固件)读写。一个传输周期通常包括以下流程:主机拉低lframe信号指示开始、根据类型驱动相应信息到LAD[3:0]、驱动数据或移交控制权、外设接收数据或者发送数据、外设释放总线控制权。现有LPC总线设计技术中,不同公司的设计人员根据标准协议自主设计,通常设计的LPC总线功能只包括一种类型,例如只支持IO读写或只支持内存读写,这些技术的通用性较低,进而可能影响产品的升级。
针对这种情况,本申请发明一种支持全功能的LPC总线主机端口的设计方法,该方法设计的总线主机端口能够支持LPC协议标准的所有传输类型操作,包括IO读写、内存读写、DMA读写和Firmware读写,内核端根据不同类型发送不同命令即可实现不同传输方式,有效解决LPC总线设计功能单一的问题。
发明内容
本发明的目的是提供一种支持全功能的LPC总线主机端口的设计方法。该方法通过在主机端口设置主状态机、地址计数寄存器、数据计数寄存器、数据位选择寄存器、临时数据寄存器以及相应的输入输出端口,然后根据LPC协议标准,主状态机用于实现IO、内存、DMA和Firmware这几个类型的具体传输过程;地址计数寄存器用于记录地址位数、控制主状态机操作和地址信息传输;数据计数寄存器用于记录数据位数、控制主状态机操作和数据信息传输;数据位选择寄存器用于选择数据传输位数;临时数据寄存器用于存储外设读入的数据并输出;相应的输入输出端口用于写入与读出,完成主机向外设写入数据和主机从外设读出数据的功能。
具体地,本申请请求保护一种支持全功能的LPC总线主机端口的设计方法,其特征在于,该方法具体包括如下步骤:
在LPC总线主机端口设置主状态机,地址计数寄存器,数据计数寄存器,数据位选择寄存器,临时数据寄存器,输入输出端口;
其中,主状态机用于实现总线传输各个过程的控制;
地址计数寄存器用于对IO、内存及Firmware操作中的地址传输进行计数,从而控制地址信息传输至LAD[3:0]以及状态机的跳转;
数据计数寄存器用于对所有操作中的数据传输进行计数,控制数据信息传输至LAD[3:0]以及状态机的跳转;
数据位选择寄存器用于对传输的数据位进行选择,根据pstrb的输入译码成相应的值控制数据的传输;
临时数据寄存器在主机从外设读数据过程时,暂存数据信息,进而转换成对应的prdata信号输出;
输入输出端口,包括APB标准端口和LPC必选标准端口;
在进行LPC的传输时,先确定传输类型和数据位类型,再根据APB总线的协议标准,通过APB标准端口进行读写操作,从而实现了LPC主机与外设的各种类型的交互。
如上所述的支持全功能的LPC总线主机端口的设计方法,其特征还在于,主状态机的状态包括IDLE、START、CYCTYPE、ADDR、CHAN、SIZE、H_DATA、H_TAR1、H_TAR2、SYNC、P_DATA、P_TAR1。
如上所述的支持全功能的LPC总线主机端口的设计方法,其特征还在于,当主机向外设写入时,penable、psel按照APB标准激励,pwrite为“1”,paddr、pwdata分别发送地址和数据值到主状态机,通过adr_cnt与dat_cnt二者的计数操作,生成对应的值到lad_o输出。
如上所述的支持全功能的LPC总线主机端口的设计方法,其特征还在于,当主机从外设读取时,penable、psel按照APB标准激励,pwrite为“0”,paddr发送地址,通过主状态机读取流程从机数据将由lad_i写入到临时数据寄存器lpc_dat_i中,再通过dat_cnt的计数操作输出到prdata。
如上所述的支持全功能的LPC总线主机端口的设计方法,其特征还在于,LPC主机与外设的交互类型包括IO读写、内存读写、DMA读写和Firmware读写。
附图说明
图1、本发明LPC总线主机端口设计结构示意图
图2、主状态机工作流程图
具体实施方式
本申请发明一种支持全功能的LPC总线主机端口的设计方法。该方法能够支持LPC协议标准的所有传输类型操作,包括IO读写、内存读写、DMA读写和Firmware读写,内核端根据不同类型发送不同命令即可实现不同传输方式。
下面以APB(Advanced Peripheral Bus APB总线)的内核接口为例,具体介绍LPC总线主机端口的结构以及工作流程。
一、本发明提供的LPC总线主机端口装置结构包括:
1、state,主状态机:
用于实现总线传输各个过程的控制,例如lframe的拉低、LAD[3:0]的驱动等。包含的状态有IDLE、START、CYCTYPE、ADDR、CHAN、SIZE、H_DATA、H_TAR1、H_TAR2、SYNC、P_DATA、P_TAR1。
2、adr_cnt,地址计数寄存器:
地址计数寄存器是3位寄存器,用于对IO、内存及Firmware操作中的地址传输进行计数,从而控制地址信息传输至LAD[3:0]以及状态机的跳转。
3、dat_cnt,数据计数寄存器:
数据计数寄存器是4位寄存器,用于对所有操作中的数据传输进行计数,控制数据信息传输至LAD[3:0]以及状态机的跳转。
4、xfr_len,数据位选择寄存器:
数据位选择寄存器是3位寄存器,用于对传输的数据位进行选择。根据pstrb的输入译码成相应的值控制数据的传输。
5、lpc_data_i,临时数据寄存器:
临时数据寄存器是32位寄存器,在主机从外设读数据过程时,暂存数据信息,进而转换成对应的prdata信号输出。
6、输入输出端口,包括:
1)APB标准端口:pclk、presetn、paddr、pwdata、pstrb、pwrite、penable、psel、pready、prdata、ps lverr;
2)LPC必选标准端口:lclk、lresetn、lframe、lad_i、lad_o;cycle类型选择:apb_tga;DMA功能通道:dma_chan_i,dma_tc_i。
二、工作流程
下面通过一个实施例对本发明所述的LPC总线主机端口装置的工作流程进行说明:
附图1为LPC总线主机结构示意图。其中pclk、lclk分别为APB总线和LPC总线的时钟;presetn和lresetn为对应复位信号。
在进行LPC的传输时,通过apb_tga端口输入相应值以确定是何种传输类型,通过pstrb端口输入相应值以确定数据位为BYTE、SHORT或WORD。
根据APB总线的协议标准,通过APB标准的地址、数据、控制等端口进行读写操作。
当主机向外设写入时,penable、psel按照APB标准激励,pwrite为“1”,paddr、pwdata分别发送地址和数据值到主状态机,通过adr_cnt与dat_cnt二者的计数操作,生成对应的值到lad_o输出;
当主机从外设读取时,penable、psel按照APB标准激励,pwrite为“0”,paddr发送地址,通过主状态机读取流程从机数据将由lad_i写入到临时数据寄存器lpc_dat_i中,再通过dat_cnt的计数操作输出到prdata,至此实现了LPC主机与外设的读写交互。
附图2为主状态机流程图。
主状态机的流程主要分为主体过程与分支过程,主体过程表明了LPC总线主机与外设交互的大体流程,分支过程主要是不同传输类型和读写的差异。
先对设计中的所有寄存器进行初始化;
主状态机默认进入空闲(IDLE)状态,检测psel选择信号是否被激励,是则继续进入下一状态START,否则保持当前状态;
START状态的作用是产生lframe_o信号表示传输的开始以及对Firmware类型的判断,首先拉低lframe_o,然后检测由apb_tga判断的cycle type是否为Firmware,是则跳转到ADDR,否则进入CYCTYPE;CYCTYPE状态根据不同的类型和读写驱动LAD[3:0]的编码以及分辨传输是否为DMA类型,若为DMA则进入CHAN,否则进入ADDR;ADDR进行地址的传输,地址传输结束后检测是否为Firmware,若是则进入SIZE,否则写数据进入H_DATA,读数据进入H_TAR1;H_DATA状态中主机发送数据到外设,完成后进入H_TAR1;H_TAR1是主机交换控制权1,根据协议主机驱动LAD[3:0]为4'b1111,完成后进入H_TAR2;H_TAR2是主机交换控制权2,根据协议此周期主机失去总线的控制,相应的LAD[3:0]为三态,之后进入SYNC;SYNC由外设插入等待周期,当检测到等待错误,则将pslverr信号拉高,之后进入P_TAR1;P_TAR1是外设交换控制权,之后状态机进入IDLE;P_DATA状态中外设发送数据到主机,完成后进入P_TAR1;CHAN是DMA传输类型的特殊状态,目的是为了将dma_chan_i信号的channel信息传送到LAD[3:0],完成后进入SIZE;SIZE是DMA与Firmware传输类型的特殊状态,确定数据传输位数,根据pstrb信号的输入译码为相应的xfr_len寄存器用于输出不同的LAD[3:0]值,此状态检测读写,写数据进入H_DATA,读数据则进入H_TAR1。
IO与内存的传输流程除了具体编码和地址位外是一致的,综合以上阐述,对不同类型不同读写的LPC典型传输流程总结如下:
当主机向外设写入:
1、IO/内存:IDLE→START→CYCTYPE→ADDR→H_DATA→H_TAR1→H_TAR2→SYNC→P_TAR1→IDLE。
2、DMA:IDLE→START→CYCTYPE→CHAN→SIZE→H_DATA→H_TAR1→H_TAR2→SYNC→P_TAR1→IDLE。
3、Firmware:IDLE→START→ADDR→SIZE→H_DATA→H_TAR1→H_TAR2→SYNC→P_TAR1→IDLE。
当主机从外设读取:
1、IO/内存:IDLE→START→CYCTYPE→ADDR→H_TAR1→H_TAR2→SYNC→P_DATA→P_TAR1→IDLE。
2、DMA:IDLE→START→CYCTYPE→CHAN→SIZE→H_TAR1→H_TAR2→SYNC→P_DATA→P_TAR1→IDLE。
3、Firmware:IDLE→START→ADDR→SIZE→H_TAR1→H_TAR2→SYNC→P_DATA→P_TAR1→IDLE。
显而易见地,上面所示的仅仅是本发明的一个具体实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据该实施方式获得其他的技术方案,都属于本发明保护的范围。
通过上述装置,即可以实现APB信号到LPC信号的转换,输出符合协议标准的LPC信号,且根据主状态机的工作流程,可以完整实现LPC总线所支持的IO、内存、DMA及Firmware四种传输类型。本申请所述的装置经过仿真验证证明了功能的正确性。使用这种LPC总线主机端口装置,结构清晰,状态机功能丰富,支持协议所有的传输类型,在SOC系统中的可以直接使用,应用方便,是解决LPC总线设计功能单一行之有效的方法。

Claims (5)

1.一种支持全功能的LPC总线主机端口的设计方法,其特征在于,该方法具体包括如下步骤:
在LPC总线主机端口设置主状态机,地址计数寄存器,数据计数寄存器,数据位选择寄存器,临时数据寄存器,输入输出端口;
其中,主状态机用于实现总线传输各个过程的控制;
地址计数寄存器用于对IO、内存及Firmware操作中的地址传输进行计数,从而控制地址信息传输至LAD[3:0]以及状态机的跳转;
数据计数寄存器用于对所有操作中的数据传输进行计数,控制数据信息传输至LAD[3:0]以及状态机的跳转;
数据位选择寄存器用于对传输的数据位进行选择,根据pstrb的输入译码成相应的值控制数据的传输;
临时数据寄存器在主机从外设读数据过程时,暂存数据信息,进而转换成对应的prdata信号输出;
输入输出端口,包括APB标准端口和LPC必选标准端口;
在进行LPC的传输时,先确定传输类型和数据位类型,再根据APB总线的协议标准,通过APB标准端口进行读写操作,从而实现了LPC主机与外设的各种类型的交互。
2.如权利要求1所述的支持全功能的LPC总线主机端口的设计方法,其特征还在于,主状态机的状态包括IDLE、START、CYCTYPE、ADDR、CHAN、SIZE、H_DATA、H_TAR1、H_TAR2、SYNC、P_DATA、P_TAR1。
3.如权利要求2所述的支持全功能的LPC总线主机端口的设计方法,其特征还在于,当主机向外设写入时,penable、psel按照APB标准激励,pwrite为“1”,paddr、pwdata分别发送地址和数据值到主状态机,通过adr_cnt与dat_cnt二者的计数操作,生成对应的值到lad_o输出。
4.如权利要求3所述的支持全功能的LPC总线主机端口的设计方法,其特征还在于,当主机从外设读取时,penable、psel按照APB标准激励,pwrite为“0”,paddr发送地址,通过主状态机读取流程从机数据将由lad_i写入到临时数据寄存器lpc_dat_i中,再通过dat_cnt的计数操作输出到prdata。
5.如权利要求4所述的支持全功能的LPC总线主机端口的设计方法,其特征还在于,LPC主机与外设的交互类型包括IO读写、内存读写、DMA读写和Firmware读写。
CN201710868318.5A 2017-09-22 2017-09-22 一种支持全功能的lpc总线主机端口的设计方法 Active CN107608927B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710868318.5A CN107608927B (zh) 2017-09-22 2017-09-22 一种支持全功能的lpc总线主机端口的设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710868318.5A CN107608927B (zh) 2017-09-22 2017-09-22 一种支持全功能的lpc总线主机端口的设计方法

Publications (2)

Publication Number Publication Date
CN107608927A true CN107608927A (zh) 2018-01-19
CN107608927B CN107608927B (zh) 2020-06-26

Family

ID=61057646

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710868318.5A Active CN107608927B (zh) 2017-09-22 2017-09-22 一种支持全功能的lpc总线主机端口的设计方法

Country Status (1)

Country Link
CN (1) CN107608927B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112765078A (zh) * 2021-01-20 2021-05-07 无锡众星微系统技术有限公司 支持多磁盘pio命令并发的stp传输层实现方法
CN114153768A (zh) * 2021-11-26 2022-03-08 山东云海国创云计算装备产业创新中心有限公司 一种数据传输方法、装置、设备及计算机可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1279787A (zh) * 1997-09-24 2001-01-10 英特尔公司 少引线数总线上的存储器事务处理
CN1301361A (zh) * 1997-09-24 2001-06-27 英特尔公司 在少引线数总线上的直接存储器存取(dma)事务处理
US20060095650A1 (en) * 2004-10-29 2006-05-04 Stmicroelectronics S.R.L. Flash memory device with a low pin count (LPC) communication interface
CN1818893A (zh) * 2006-03-14 2006-08-16 杭州华为三康技术有限公司 外围设备的lpc总线接口时序转换方法及转换装置
US20080270655A1 (en) * 2007-04-27 2008-10-30 Atmel Corporation Serialization of data for communication with slave in multi-chip bus implementation
CN105389276A (zh) * 2015-11-17 2016-03-09 无锡江南计算技术研究所 一种基于amba总线架构的lpc主机控制器装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1279787A (zh) * 1997-09-24 2001-01-10 英特尔公司 少引线数总线上的存储器事务处理
CN1301361A (zh) * 1997-09-24 2001-06-27 英特尔公司 在少引线数总线上的直接存储器存取(dma)事务处理
US20060095650A1 (en) * 2004-10-29 2006-05-04 Stmicroelectronics S.R.L. Flash memory device with a low pin count (LPC) communication interface
CN1818893A (zh) * 2006-03-14 2006-08-16 杭州华为三康技术有限公司 外围设备的lpc总线接口时序转换方法及转换装置
US20080270655A1 (en) * 2007-04-27 2008-10-30 Atmel Corporation Serialization of data for communication with slave in multi-chip bus implementation
CN105389276A (zh) * 2015-11-17 2016-03-09 无锡江南计算技术研究所 一种基于amba总线架构的lpc主机控制器装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112765078A (zh) * 2021-01-20 2021-05-07 无锡众星微系统技术有限公司 支持多磁盘pio命令并发的stp传输层实现方法
CN112765078B (zh) * 2021-01-20 2022-02-08 无锡众星微系统技术有限公司 支持多磁盘pio命令并发的stp传输层实现方法
CN114153768A (zh) * 2021-11-26 2022-03-08 山东云海国创云计算装备产业创新中心有限公司 一种数据传输方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN107608927B (zh) 2020-06-26

Similar Documents

Publication Publication Date Title
CN102023956B (zh) 集成电路芯片中串行外设从器件接口结构及数据读写方法
CN105051706B (zh) 用于具有pcie协议栈的低功率phy的操作的设备、方法和系统
CN103366794B (zh) 用于减少接脚数内存总线接口的装置及方法
CN105573951B (zh) 一种针对数据流传输的ahb总线接口系统
CN102622136B (zh) 一种多点触摸系统数据处理方法及装置
CN105741879B (zh) 一种模拟智能电能表存储器测试板系统及其测试方法
CN102073611B (zh) 一种i2c总线控制系统及方法
CN104217768B (zh) 一种eMMC内嵌式存储器的检测方法和装置
CN102945291A (zh) 基于pci-e的高速图像采集存储卡
CN103811080A (zh) 存储器测试系统以及存储器测试方法
CN107608927A (zh) 一种支持全功能的lpc总线主机端口的设计方法
CN103488600B (zh) 通用从机同步串行接口电路
CN104485962B (zh) 一种便携式数据采集系统及其采集方法
CN105573947B (zh) 一种基于apb总线的sd/mmc卡控制方法
CN107153412A (zh) 一种具有发送fifo的can总线控制器电路
CN102368076A (zh) 一种刷卡速度测试方法及刷卡速度测试设备
CN105117353B (zh) 带有通用数据交互模块的fpga及采用该fpga的信息处理系统
CN108255760A (zh) 一种多路i2c系统、及数据读写方法
CN112269754A (zh) 基于fpga的lpc总线emc扩展装置
CN101998135A (zh) 移动电视信号采集及播放系统、控制方法
CN101594305A (zh) 一种报文处理方法及装置
CN106502911A (zh) 多终端接入装置
CN103399839A (zh) 媒介外围接口、电子装置及通信方法
CN104572515B (zh) 跟踪模块、方法、系统和片上系统芯片
CN107870885A (zh) 通信系统、装置及方法

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
TA01 Transfer of patent application right

Effective date of registration: 20200601

Address after: 215100 No. 1 Guanpu Road, Guoxiang Street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province

Applicant after: SUZHOU LANGCHAO INTELLIGENT TECHNOLOGY Co.,Ltd.

Address before: 450000 Henan province Zheng Dong New District of Zhengzhou City Xinyi Road No. 278 16 floor room 1601

Applicant before: ZHENGZHOU YUNHAI INFORMATION TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant