利用串口通信模拟片上系统总线的方法

文档序号:6430862阅读:317来源:国知局
专利名称:利用串口通信模拟片上系统总线的方法
技术领域
本发明涉及通信领域,尤其是指通过串口通信模拟片上系统总线的方法。
背景技术
随着集成电路设计技术的发展,目前已转向为面向应用的片上系统芯片技术。在片上系统芯片设计中,利用FPGA (可编程门阵列)验证是非常重要的一步,但是如何将计算机与FPGA中验证的芯片联系起来是一件非常困难的事情。对于串口通信而言,若只有两根线根本无法同时实现模拟数据总线、地址总线、读信号以及写信号。目前,设计工程师为验证所设计芯片的功能,最常用的方法就是要进行FPGA的验证,也就是将所设计的芯片下载到一种可编程的FPGA中来模拟芯片的功能,通过调试和验证FPGA的功能来断定所设计的芯片好坏。而在调试和验证FPGA过程中,如何便捷地读写片上系统芯片中的数据成为FPGA 调试和验证中的关键一步。由于片上系统总线包含若干个总线组成,如数据总线、地址总线等,而每个总线也包含若干个位,假设数据总线包含8位,那么输出数据时就需要8根线来与其相匹配从而输出对应的数据,若有16位或者32位的数据总线,就需要16或者32个相应的单根线与其匹配。所以现阶段,为了读取片上系统总线上的各个数据,就需要一根对一根连接从而输出相应的数据。如此以来,不但输出时需要的信号线太多,而且会导致线路复杂,系统难以处理。

发明内容
本发明实际所要解决的技术问题是如何能够通过普通的串口模拟片上系统总线实现对芯片内数据的读写操作。为了实现本发明的上述目的,本发明提供了一种利用串口通信模拟片上系统总线的方法,所述片上系统主要包括四种信号线数据总线、地址总线、读信号以及写信号,其步骤如下首先,分别规定上述四种信号线的标志位;然后,检测所述串口传输数据的标志位;最后,根据所述标志位形成系统总线信号以完成读写操作。本发明所述的利用串口通信模拟片上系统总线的方法,通过计算机就可以实现对芯片系统总线的读写操作,方法简单,而且需要的信号线数量减少,数据处理更加简单、方便。


图1是本发明串口模拟片上系统的流程图。
具体实施例方式芯片内片上系统总线的操作主要包括对芯片中数据的读操作和写操作。所述片上总线主要由数据总线、地址总线、读信号和写信号四种信号线构成。本发明采用在串口数据传输的过程中通过设定标志位的方法来区分不同的信号线类型,所述串口包括输入信号端和输出信号端。请参考图1所示,现以串口接收计算机上的8位数据为例具体说明如何形成片上系统总线的过程,设从串口输入信号端传输的四个数据分别为A、B、C、D,其中数据A的数值为00100001,数据B的数值为00100011,数据C的数值为01010101以及数据D的数值为 10101010。首先,分别规定所述数据总线、地址总线、读信号以及写信号的标志位,若规定所述数据总线的标志位为0010,地址总线的标志位为0011,读信号的标志位为01010101,写信号的标志位为10101010,然后检测所述串口传输数据的标志位,由于上述四个数据A、B、 C以及D中,其标志位分别为0010、0010、0101以及1010,所以通过检测标志位的方法理论上就可以区分不同的信号线。由于所述片上系统中提前设定所述数据总线的标志位是高四位为0010,那么所有串口传输的数据中,只要对于8位数据中的高四位均是0010的数据,即串口传输数据中的标志位与所述数据总线的标志位相同,那么其所有数据中的低四位将作为拼接后的数据总线。对于上述串口传输的数据A、B、C、D而言,数据A和数据B均符合数据总线标志位,因此所述数据A和B就按照规定将相应的两个低四位数据拼接形成一个新的8位数据总线00010011。也就是说,当从串口信号输入端接受到数据A=00100001时,经检测数据A的高四位为0010符合数据总线标志位,因此将数据A的低四位0001作为数据总线拼接后的高四位;继续检测从串口接收的数据B,此时由于B=00100011,所以数据B的高四位0010也符合数据总线标志位,因此将数据B的低四位0011作为数据总线拼接后的低四位,这样就由串口接收的两个8位数据A和B形成了系统总线的8位数据总线00010011, 将上述数据用寄存器进行锁存,从而实现了利用串口通信模拟片上系统中的数据总线,对数据进行读操作和写操作。在上述数据中,由于所述数据总线和所述地址总线均是8位数据,所以可以通过将符合规定标志位的两个8位数据去除标志位后的两个低四位数据拼接形成一个新的8位数据。上述将数据A中8位数据中高四位数据0010作为数据总线的标志位,同时将数据A 中8位数据中的低四位0001作为数据总线中的四位数据;将数据B中8位数据中高四位数据0010作为数据总线的标志位,同时将数据B中8位数据的低四位0011作为数据总线中四位数据;经过对上述数据A和B的低四位的组合从而形成了一个新的8为数据总线。而对于数据C和D,由于规定当标志位为01010101就激活读信号,因此在接收到数据C时,由于此时数据C与规定的读信号标志位相同,所以就可以激活读信号从而完成读操作,同理由于规定当标志位为10101010就激活写信号,而此时数据D与规定的写信号的标志位相同, 因此在接收到数据D时就激活写信号从而完成写操作。对于片上系统的地址总线,由于其规定的标志位为0011,那么所有串口信号输入端传输的8位数据中,只要高四位中的数据与其规定的地址总线的标志位相同,即均是 0011,则需要将两个数据中的低四位数据组合从而形成一个新的8位数据,并存储在寄存器中。上述通过规定所述数据总线和地址总线的标志位和规定读写信号的标志位最终实现对系统总线的模拟,从而完成相应的总线操作。所以要实现对片上系统总线的模拟,对一个所述数据总线和地址总线均是8位的数据,需要提前设定片上系统中所述数据总线和地址总线的标志位,以及读信号和写信号对应的标志位。对于所述数据总线和地址总线而言,所述的标志位就是四位数据;而对于所述读信号和写信号而言,此时标志位是特定标志数据,只是标志位的位数与所述串口传输的数据位数相同。然后经过检测串口传输的数据标志位与片上系统信号线上的标志位来最终形成系统总线信号,完成读写操作。上述标志位的检测通过FPGA编程就可以实现,在完成了系统总线的读写操作后,将片上系统芯片中的数据经由系统总线读取到计算机上,也可以将计算机的数据经由系统总线发送到片上系统芯片中。上述列举了所述系统总线是8位的情况下串口模拟系统总线的方法,对于系统总线为16位或者更多位的信号线而言,仍旧需要以4位数据设定为标志位,如需要模拟片上系统中一个16位的信号线,需要从串口输入端传输4组数据才能生成一个新的16位的数据。本发明所述的利用串口模拟系统总线的方法实现了计算机与片上系统芯片通信的过程。不但方法简单,通过计算机就可以实现对芯片系统总线的读写操作,而且大幅度减少了数据线的匹配,数据处理更加方便。
权利要求
1.一种利用串口通信模拟片上系统总线的方法,所述片上系统主要包括四种信号线 数据总线、地址总线、读信号以及写信号,其步骤如下首先,分别规定上述四种信号线的标志位;然后,检测所述串口传输数据的标志位;最后,根据所述标志位形成系统总线信号以完成读写操作。
2.如权利要求1所述的方法,其特征在于所述监测串口传输的数据标志位与所述数据总线或者地址总线的标志位相同时,所述串口传输数据标志位后的若干位数据需要重新组合从而形成一个新数据。
3.如权利要求2所述的方法,其特征在于所述标志位具有四位数据。
4.如权利要求2所述的方法,其特征在于所述新数据被存储在寄存器中,从而完成读写操作。
5.如权利要求4所述的方法,其特征在于所述数据存储在寄存器中后就完成了系统总线的读写操作,再将片上系统芯片中的数据经由系统总线读取到计算机上。
6.如权利要求1所述的方法,其特征在于所述监测串口传输的数据标志位与所述读信号或者写信号的标志位相同时,所述串口传输的数据直接对系统总线进行读操作或者写操作。
7.如权利要求5所述的方法,其特征在于所述标志位与所述串口传输的数据位数相同。
8.如权利要求1所述的方法,其特征在于所述串口传输数据的标志位通过FPGA编程实现监测。
9.如权利要求1所述的方法,其特征在于所述片上系统总线的操作主要包括对芯片中数据的读操作和写操作。
10.如权利要求1所述的方法,其特征在于所示串口包括信号输入端和信号输出端。
全文摘要
本发明涉及一种利用串口通信模拟片上系统总线的方法,所述片上系统主要包括四种信号线数据总线、地址总线、读信号以及写信号,其步骤如下首先,分别规定上述四种信号线的标志位;然后,检测所述串口传输数据的标志位;最后,根据所述标志位形成系统总线信号以完成读写操作。本发明所述方法通过计算机就可以实现对芯片系统总线的读写操作,方法简单,而且需要的信号线数量减少,数据处理更加简单、方便。
文档编号G06F13/42GK102306137SQ201110234299
公开日2012年1月4日 申请日期2011年8月16日 优先权日2011年8月16日
发明者黄新 申请人:苏州瀚瑞微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1