CN101980179B - 一种用于片上系统在线串行数据读写的方法 - Google Patents

一种用于片上系统在线串行数据读写的方法 Download PDF

Info

Publication number
CN101980179B
CN101980179B CN2010105219248A CN201010521924A CN101980179B CN 101980179 B CN101980179 B CN 101980179B CN 2010105219248 A CN2010105219248 A CN 2010105219248A CN 201010521924 A CN201010521924 A CN 201010521924A CN 101980179 B CN101980179 B CN 101980179B
Authority
CN
China
Prior art keywords
module
data
isp
program memory
writing
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.)
Expired - Fee Related
Application number
CN2010105219248A
Other languages
English (en)
Other versions
CN101980179A (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.)
Shandong University
Original Assignee
Shandong University
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 Shandong University filed Critical Shandong University
Priority to CN2010105219248A priority Critical patent/CN101980179B/zh
Publication of CN101980179A publication Critical patent/CN101980179A/zh
Application granted granted Critical
Publication of CN101980179B publication Critical patent/CN101980179B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Abstract

一种用于片上系统在线串行数据读写的方法,属集成电路技术领域。用可综合的硬件描述语言编写出一个ISP模块,嵌入带有程序存储器的片上系统中,实现对程序存储器的在线串行数据读写。ISP模块包含控制器模块,状态寄存器模块,SPI模块,数据通路模块,计时器模块,地址生成器模块和控制信号生成器模块。控制器模块与SPI模块、状态寄存器模块、数据通路模块、计时器模块、地址生成器模块和控制信号生成器模块相连接,计时器模块与控制信号生成器模块相连接,控制信号生成器模块与地址生成器模块相连接。本方法模块划分清晰、实现简单、可靠性高,易于在不同的片上系统中移植,便于片上系统的开发和调试,缩短片上系统的开发周期。

Description

一种用于片上系统在线串行数据读写的方法
技术领域
一种用于片上系统在线串行数据读写的方法,属于集成电路设计领域。
背景技术
随着专用集成电路设计技术的不断成熟,该领域将会产生越来越多的专用芯片,其中各种各样的片上系统也将会不断的出现,而程序存储器是构成片上系统的主要模块之一,如何对程序存储器进行数据读写成为了片上系统设计所需要考虑的主要问题之一。目前,对程序存储器数据读写的方法主要有以下三种:专用编程器数据读写,板级数据读写和在线串行数据读写。
专用编程器数据读写是指把程序存储器的数据读写接口引到片上系统的IO引脚上,然后使用专用编程器产生程序存储器所需要的数据读写控制信号和地址/数据信号,通过片上系统上有关程序存储器的IO数据读写接口完成程序的烧写下载。这种方法完成一次程序的烧写需要对芯片进行插拔一次,这样对芯片的损伤是比较大的,容易降低芯片的使用寿命,而且程序调试起来也是比较麻烦;另一方面该方法也占用了片上系统的大量IO引脚数量,增加了芯片的裸片面积,流片费用也将相应的会比较高。
板级数据读写是通过在PCB板上制作一个数据读写过渡接口,编程器通过转接板对片上系统进行数据读写。这种方法虽然降低了芯片因插拔而损坏的可能性,但是芯片的IO引脚数量并没有降低;另一方面,板级数据读写增加了PCB板的复杂度,同时采用转接板的方式降低了对程序存储器数据读写的可靠性。
在线串行数据读写是编程器通过串口(如SPI口)与芯片进行通信,实现对程序存储器的读写。这种方法需要在芯片内部嵌入专门的解析逻辑,用于产生程序存储器对应的读写控制信号和地址/数据信号。这种方法克服了前面两种方法的缺点,但是不同公司,不同工艺的程序存储器的读写时序是不一样的,这样芯片内部的解析逻辑也会不一样,需要针对不同的程序存储器进行解析逻辑设计。
专利号为200610166949.4,名称为<主机板在线编程系统及方法>的专利支持板级数据读写方法和在线串行数据读写方法。该专利没有采用转接板的方式,而是把编程器直接做在PCB板上,这种方式虽然克服了存在数据不可靠性的问题,但仍然没有解决专用编程器数据读写方法和板级数据读写方法存在的其它问题。该专利中支持串行数据读写方法的芯片仍需要在芯片中嵌入专门的解析逻辑。
发明内容
针对现有技术所存在的缺陷和不足,本发明提出了一种用于片上系统在线串行数据读写的方法,
本方法通过解析逻辑的模块设计方法,使得模块划分清晰、实现简单、可靠性高,易于在不同的片上系统中移植,便于片上系统的开发和调试,可缩短片上系统的开发周期。
本方法是采用可综合的硬件描述语言编写出一个ISP模块,嵌入到片上系统中,用于实现片上系统内部程序存储器的读写。
一种ISP模块,包含控制器模块、状态寄存器模块、SPI模块、数据通路模块、计时器模块、地址生成器模块和控制信号生成器模块,其特征在于控制器模块分别与SPI模块、状态寄存器模块、数据通路模块、计时器模块、地址生成器模块和控制信号生成器模块相连接;计时器模块与控制信号生成器模块相连接,控制信号生成器模块与地址生成器模块相连接;把ISP模块嵌入到片上系统中,并与程序存储器相连,实现片上系统在线串行数据读写。
编程器通过SPI总线,采用“操作码”、“操作码+数据”、“操作码+首地址”、“操作码+首地址+数据”四种二进制序列格式与ISP模块进行通信,控制器模块解析操作码执行对应的操作。“操作码”的二进制序列格式可以读取状态寄存器数据,实现程序存储器数据读写状态的查询;“操作码+数据”的二进制序列格式可以对状态寄存器写入数据,实现程序存储器的数据读写使能控制;“操作码+首地址+数据“的二进制序列格式实现对程序存储器的数据烧写;“操作码+首地址”的二进制序列格式实现对程序存储器的数据读取。
一种将上述ISP模块用于片上系统在线串行数据读写的方法,步骤如下:
(1)用硬件描述语言编写出ISP模块,然后把ISP模块嵌入到片上系统中,并与程序存储器相连;
(2)通过SPI总线,把编程器与ISP模块连接在一起;
(3)编程器传输“操作码+数据”的二进制序列格式给ISP模块,实现状态寄存器的数据写入,使能ISP模块对程序存储器进行数据烧写;
(4)编程器传输“操作码+首地址+数据“的二进制序列格式给ISP模块,实现对程序存储器的数据烧写;
(5)编程器传输“操作码+数据”的二进制序列格式给ISP模块,实现状态寄存器的数据写入,使能ISP模块对程序存储器进行数据读取;
(6)编程器传输“操作码+首地址”的二进制序列格式给ISP模块,实现对程序存储器的数据读取,然后把读取出来的数据与步骤(5)中烧写进程序存储器的数据进行对比,完成数据的校验。
上述ISP是英文In-System Programming的缩写,汉语意为在系统可编程。
ISP模块与编程器的通信是通过SPI模块的SPI总线,实现的功能有:实现对程序存储器数据读写状态的查询和数据读写使能的控制;实现对程序存储器数据的烧写;实现对程序存储器数据的读取,进行数据烧写后的校验。下面介绍一下ISP模块中各个子模块的功能。
(1)SPI模块:实现二进制序列的串并转换。SPI模块通过SCK,MOSI,MISO,SPIRST四根信号线与外部的编程器进行交互。作为输入,SPI接口在SCK上升沿的触发下,把编程器传输过来的二进制序列从MOSI读入,转换成并行二进制序列,并交付给控制器解析。作为输出,SPI接口把控制器交付过来的并行二进制序列转换成串行二进制序列,并在SCK下降沿触发下从MISO输出给编程器。编程器每发送一条操作码之前,需要复位信号SPIRST信号一个从高到低的电平变化。
(2)控制器模块:ISP模块的核心,控制着ISP模块的工作时序。该模块采用状态机方式设计。控制器根据二进制序列中的操作码进入到不同的工作状态执行对应的操作。
(3)状态寄存器模块:该模块用于控制ISP模块是否可以对程序存储器进行数据烧写或数据读取,同时编程器可以通过该模块查寻ISP模块处于写数据或读数据的状态。
(4)计时器模块:根据控制器模块的使能信号,开启关闭计时器,辅助控制信号生成器产生控制信号的时间。
(5)数据通路模块:提供读写程序存储器数据的传输通路。
(6)地址生成器模块:根据控制器提供的地址,产生读/写程序存储器的首地址,并完成地址自动加一,指向程序存储器的下一个位置。
(7)控制信号生成器模块:在控制器模块的使能下,产生读/写程序存储器的控制信号。
本方法模块结构划分清晰、实现简单、可靠性高各个子模块的硬件描述语言编写简单,容易在不同的片上系统上移植。不同的程序存储器,需要不同的控制信号和控制信号时序,只需要修改计时器模块和控制信号生成器模块,产生对应程序存储器的读写控制信号和控制信号时序,就可以实现对不同程序存储器的读写。由于模块是采用硬件描述语言实现的,所以模块适合于不同的集成电路制造工艺。本方法只需要编程器通过SPI总线就可完成对片上系统编程,因此可以减少片上系统编程接口的IO管脚数量,同时不会对PCB板的设计带来多大的复杂度。另外,编程时,不需要从板上取下芯片,可以避免因此造成对芯片损坏的可能性,同时本方法方便对片上系统的程序调试,可以缩短片上系统的开发周期。
附图说明
图1为ISP模块的结构框图。
其中:1、控制器模块,2、SPI模块,3、状态寄存器模块,4、计时器模块,5、控制信号生成器模块,6、地址生成器模块,7、数据通路模块。
图2为用于片上系统在线串行数据读写的方法的程序框图。其中(1)-(6)为其各个步骤。
具体实施方式
下面结合附图和实施例对本发明进行进一步说明,但不限于此。
实施例1:
一种ISP模块,如图1所示,包含控制器模块1、状态寄存器模块3、SPI模块2、数据通路模块7、计时器模块4、地址生成器模块6和控制信号生成器模块5,其特征在于控制器模块1分别与SPI模块2、状态寄存器模块3、数据通路模块7、计时器模块4、地址生成器模块6和控制信号生成器模块5相连接;计时器模块4与控制信号生成器模块5相连接,控制信号生成器模块5与地址生成器6模块相连接;把ISP模块嵌入到片上系统中,并与程序存储器相连,实现片上系统在线串行数据读写。
实施例2:
一种将上述ISP模块用于片上系统在线串行数据读写的方法,如图2所示,步骤如下:
(1)用硬件描述语言编写出ISP模块,然后把ISP模块嵌入到片上系统中,并与程序存储器相连;
(2)通过SPI总线,把编程器与ISP模块连接在一起;
(3)编程器传输“操作码+数据”的二进制序列格式给ISP模块,实现状态寄存器的数据写入,使能ISP模块对程序存储器进行数据烧写;
(4)编程器传输“操作码+首地址+数据“的二进制序列格式给ISP模块,实现对程序存储器的数据烧写;
(5)编程器传输“操作码+数据”的二进制序列格式给ISP模块,实现状态寄存器的数据写入,使能ISP模块对程序存储器进行数据读取;
(6)编程器传输“操作码+首地址”的二进制序列格式给ISP模块,实现对程序存储器的数据读取,然后把读取出来的数据与步骤(5)中烧写进程序存储器的数据进行对比,完成数据的校验。

Claims (2)

1.一种ISP模块,包含控制器模块、状态寄存器模块、SPI模块、数据通路模块、计时器模块、地址生成器模块和控制信号生成器模块,其特征在于控制器模块分别与SPI模块、状态寄存器模块、数据通路模块、计时器模块、地址生成器模块和控制信号生成器模块相连接;计时器模块与控制信号生成器模块相连接,控制信号生成器模块与地址生成器模块相连接;把ISP模块嵌入到片上系统中,并与程序存储器相连,实现片上系统在线串行数据读写;
其中ISP模块与编程器的通信是通过SPI模块的SPI总线,实现的功能有:对程序存储器数据读写状态的查询和数据读写使能的控制;对程序存储器数据的烧写;对程序存储器数据的读取,进行数据烧写后的校验;
ISP模块中各个子模块的功能如下:
1)SPI模块:实现二进制序列的串并转换;SPI模块通过SCK,MOSI,MISO,SPIRST四根信号线与外部的编程器进行交互;作为输入,SPI接口在SCK上升沿的触发下,把编程器传输过来的二进制序列从MOSI读入,转换成并行二进制序列,并交付给控制器解析;作为输出,SPI接口把控制器交付过来的并行二进制序列转换成串行二进制序列,并在SCK下降沿触发下从MISO输出给编程器;编程器每发送一条操作码之前,需要复位信号SPIRST信号一个从高到低的电平变化;
2)控制器模块:ISP模块的核心,控制着ISP模块的工作时序;该模块采用状态机方式设计,控制器根据二进制序列中的操作码进入到不同的工作状态执行对应的操作;
3)状态寄存器模块:该模块用于控制ISP模块是否可以对程序存储器进行数据烧写或数据读取,同时编程器可以通过该模块查寻ISP模块处于写数据或读数据的状态;
4)计时器模块:根据控制器模块的使能信号,开启关闭计时器,辅助控制信号生成器产生控制信号的时间;
5)数据通路模块:提供读写程序存储器数据的传输通路;
6)地址生成器模块:根据控制器提供的地址,产生读/写程序存储器的首地址,并完成地址自动加一,指向程序存储器的下一个位置;
7)控制信号生成器模块:在控制器模块的使能下,产生读/写程序存储器的控制信号。
2.一种将权利要求1所述ISP模块用于片上系统在线串行数据读写的方法,步骤如下:
(1)用硬件描述语言编写出ISP模块,然后把ISP模块嵌入到片上系统中,并与程序存储器相连;
(2)通过SPI总线,把编程器与ISP模块连接在一起;
(3)编程器传输“操作码+数据”的二进制序列格式给ISP模块,实现状态寄存器的数据写入,使能ISP模块对程序存储器进行数据烧写;
(4)编程器传输“操作码+首地址+数据“的二进制序列格式给ISP模块,实现对程序存储器的数据烧写;
(5)编程器传输“操作码+数据”的二进制序列格式给ISP模块,实现状态寄存器的数据写入,使能ISP模块对程序存储器进行数据读取;
(6)编程器传输“操作码+首地址”的二进制序列格式给ISP模块,实现对程序存储器的数据读取,然后把读取出来的数据与步骤(5)中烧写进程序存储器的数据进行对比,完成数据的校验。
CN2010105219248A 2010-10-27 2010-10-27 一种用于片上系统在线串行数据读写的方法 Expired - Fee Related CN101980179B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010105219248A CN101980179B (zh) 2010-10-27 2010-10-27 一种用于片上系统在线串行数据读写的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010105219248A CN101980179B (zh) 2010-10-27 2010-10-27 一种用于片上系统在线串行数据读写的方法

Publications (2)

Publication Number Publication Date
CN101980179A CN101980179A (zh) 2011-02-23
CN101980179B true CN101980179B (zh) 2012-08-08

Family

ID=43600681

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010105219248A Expired - Fee Related CN101980179B (zh) 2010-10-27 2010-10-27 一种用于片上系统在线串行数据读写的方法

Country Status (1)

Country Link
CN (1) CN101980179B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103744009B (zh) * 2013-12-17 2016-12-07 记忆科技(深圳)有限公司 一种串行传输芯片测试方法、系统及集成芯片
CN104239247B (zh) * 2014-09-04 2017-04-19 成都锐成芯微科技有限责任公司 一种基于spi接口的寄存器快捷读写方法
CN114265561B (zh) * 2021-12-24 2024-08-20 上海集成电路装备材料产业创新中心有限公司 一种数据读取控制方法、芯片和介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101201742A (zh) * 2006-12-13 2008-06-18 英业达股份有限公司 主机板在线编程系统及方法
CN101751364A (zh) * 2010-01-25 2010-06-23 成都优博创技术有限公司 一种spi总线接口的固件isp烧录器和烧录方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101201742A (zh) * 2006-12-13 2008-06-18 英业达股份有限公司 主机板在线编程系统及方法
CN101751364A (zh) * 2010-01-25 2010-06-23 成都优博创技术有限公司 一种spi总线接口的固件isp烧录器和烧录方法

Also Published As

Publication number Publication date
CN101980179A (zh) 2011-02-23

Similar Documents

Publication Publication Date Title
CN102087606A (zh) 一种fpga配置文件更新装置
CN103744009A (zh) 一种串行传输芯片测试方法、系统及集成芯片
CN109542478A (zh) 一种更新SPI Flash内FPGA程序的系统及方法
US20120146658A1 (en) Debug state machine cross triggering
CN105335548B (zh) 一种用于ice的mcu仿真方法
CN102520961B (zh) 片外在线可编程的soc系统及其控制方法
CN101706762A (zh) 一种智能型信号转接系统
CN105550119A (zh) 一种基于jtag协议的仿真装置
CN114333962A (zh) 闪存芯片的测试方法、装置、系统、电子设备及存储介质
CN105095040A (zh) 一种芯片调试方法与装置
CN115184781B (zh) 一种芯片测试方法及系统
CN101102566B (zh) 一种手机jtag调试接口信号设计方法及其调试方法
CN105741879A (zh) 一种模拟智能电能表存储器测试板系统及其测试方法
CN108519889A (zh) 一种基于jtag标准的fpga程序远程升级系统及方法
CN103149468A (zh) 一种电子元器件参数测试装置
CN101980179B (zh) 一种用于片上系统在线串行数据读写的方法
CN203250312U (zh) 一种接口形式可扩展的通用核心处理子板
CN105446937A (zh) 基于可编程芯片的电路板及其控制方法
CN216901630U (zh) 接口转换电路及芯片烧录装置
CN101788946B (zh) Cpld上连接有e2prom设备的固件烧结方法及装置
CN112187341B (zh) 一种基于fpga的数据模拟源及其搭建与控制方法
CN111060807B (zh) 基于SoC的高速集成电路测试平台及其测试方法
CN201667071U (zh) 一种信号转接系统
CN115691647A (zh) 一种基于FPGA的多通道Flash存储器性能测试系统
CN103984263B (zh) 一种兼容isa、pci总线接口的通用dsp模块和配置方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120808

Termination date: 20181027

CF01 Termination of patent right due to non-payment of annual fee