CN107608927A - 一种支持全功能的lpc总线主机端口的设计方法 - Google Patents
一种支持全功能的lpc总线主机端口的设计方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000005540 biological transmission Effects 0.000 claims abstract description 24
- 230000002093 peripheral effect Effects 0.000 claims description 28
- 230000015654 memory Effects 0.000 claims description 16
- 230000003993 interaction Effects 0.000 claims description 3
- 230000002123 temporal effect Effects 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 7
- 101000890887 Homo sapiens Trace amine-associated receptor 1 Proteins 0.000 description 4
- 102100040114 Trace amine-associated receptor 1 Human genes 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
Abstract
本发明涉及计算机SOC系统设计领域,具体涉及一种支持全功能的LPC总线主机端口的设计方法。该方法包括在主机端口设置主状态机、若干个寄存器以及相应的输入输出端口,主状态机根据数据类型进行不同方式传输即可以实现APB信号到LPC信号的转换,输出符合协议标准的LPC信号,功能丰富,应用方便。
Description
技术领域
本发明涉及计算机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读写。
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)
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)
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主机控制器装置 |
-
2017
- 2017-09-22 CN CN201710868318.5A patent/CN107608927B/zh active Active
Patent Citations (6)
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)
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 |